블로그 이미지
No pain, no gain!
lepoussin

Tag

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
  • total
  • today
  • yesterday
05-05 05:08

'interrupt'에 해당되는 글 1건

  1. 2009.05.03 임베디드 리눅스 - 인터럽트
2009. 5. 3. 01:42 Embedded System/Embedded Linux
모든 보드는 고유한 하드웨어 인터럽트 관리 방식을 갖는데, 이는 대부분 보드에 사용된 PIC(Programmable Interrupt Controller) 인터페이스 때문이다. 다음은 PIC의 기본 기능에 대한 설명이다.
  • 마이크로프로세서는 보통 적은 수의 인터럽트만을 처리할 수 있으므로, 보드에 인터럽트를 필요로 하는 많은 장치가 연결된 경우에는 이를 다 처리할 수 없게 된다. 이를 위해 인터럽트 컨트롤러가 사용되는데, 인터럽트 컨트롤러는 여러 개의 인터럽트를 하나의 인터럽트 라인으로 다중화(multiplexing)하여 프로세서의 인터럽트 처리 능력을 높여준다.
  • PIC는 인터럽트의 하드웨어적 우선순위를 제공한다. 이것은 프로세서가 자체적으로 하드웨어 인터럽트 우선순위를 지원하지 않는 경우에는 유용하게 사용된다. 프로세서가 높은 우선순위의 인터럽트를 처리하고 있는 동안 PIC는 프로세서에게 낮은 우선순위의 인터럽트를 보내지 않는다. 또한 두 개의 장치가 동시에 인터럽트를 발생시킨 경우 PIC는 우선 순위 레지스터를 살펴보고 어느 인터럽트가 더 높은 우선순위를 갖는지 판단하여 높은 우선순위의 인터럽트를 먼저 CPU에 전달한다.
  • 트리거(trigger) 방식을 변환한다.
    1. 에지-트리거 인터럽트
      • 신호가 어떤 상태에서 다른 상태로(보통은 하이(high)에서 로우(low)로) 넘어가는 순간 발생
      • 인터럽트 공유 못함
      • ISA 버스 구조에서 사용되는 오래된 방식
    2. 레벨-트리거 인터럽트
      • 프로세서가 처리할 때까지 인터럽트 라인을 하이(high)로 유지
      • 인터럽트 공유 가능하지만 부적절한 설계된 경우 무한 인터럽트 루프에 빠질 수 있음

※ 출처 : ITC "임베디드 리눅스 시스템 설계와 개발"
posted by lepoussin