인터럽트 요청

컴퓨팅에서 인터럽트 요청, 곧 IRQ(Interrupt ReQuest)는 인터럽트 신호를 처리하는 데에 쓰이는 컴퓨터 버스 라인의 인터럽트 행위, 또는 프로그래머블 인터럽트 컨트롤러의 인터럽트 입력 라인을 가리킨다.

x86 IRQ 
일반적으로 인텔 8259를 사용하는 시스템에서 16개의 IRQ가 사용된다. IRQ 0부터 7까지는 하나의 인텔 8259 PIC에 의해 관리되며 IRQ 8부터 15까지는 두 번째 인텔 8259 PIC에서 관리된다. 처음 PIC, 즉 마스터는 유일하게 CPU에 신호를 직접 제공한다. 두 번째 PIC, 즉 슬레이브는 대신에 신호를 IRQ 2 라인의 마스터에 전달하며 마스터는 이 신호를 CPU에 전달한다. 그러므로 하드웨어에 대해 오직 15개의 인터럽트 요청 라인만이 존재한다.

인텔 APIC 아키텍처를 사용하는 더 새로운 시스템들은 24개의 IRQ를 사용할 수 있으며 추가적으로 8개의 IRQ를 사용하여 PCI 인터럽트를 라우팅함으로써 동적으로 구성되는 PCI 인터럽트와 정적으로 구성되는 ISA 인터럽트 간 충돌을 방지한다. 16개의 IRQ만을 갖추고 있거나 오직 인텔 8259 인터럽트 컨트롤러만 갖추고 있는 초기 APIC 시스템에서 PCI 인터럽트 라인들은 사우드브리지에 통합되는PIR을 사용하여 16개의 IRQ로 라우팅되었다.

마이크로소프트 윈도우에서 이러한 정보를 관찰하기 가장 쉬운 방법은 시스템 정보(msinfo32.exe)에서 장치 관리자를 사용하는 것이다. 리눅스에서 IRQ 매핑은 cat /proc/interruptes를 실행하거나 procinfo 유틸리티를 사용하여 볼 수 있다.

마스터 PIC 
 IRQ 0 - 시스템 타이머(변경 불가)
 IRQ 1 - 키보드(변경 불가)
 IRQ 2 - IRQ 8-15로부터의 층계형 신호
 IRQ 3 - COM2 및 COM4
 IRQ 4 - COM1 및 COM3
 IRQ 5 - LPT2 또는 사운드 카드
 IRQ 6 - 플로피 디스크 컨트롤러
 IRQ 7 - LPT1 또는 사운드 카드

슬레이브 PIC 
 IRQ 8 - 실시간 클럭
 IRQ 9 - 여유 / 오픈 인터럽트 / 사용 가능 / SCSI. 실제로 IRQ 2를 사용하도록 구성된 아무 장치나 IRQ 9를 사용할 수 있다.
 IRQ 10 - 여유 / 오픈 인터럽트 / 사용 가능 / SCSI.
 IRQ 11 - 여유 / 오픈 인터럽트 / 사용 가능 / SCSI.
 IRQ 12 - PS/2 커넥터 마우스. 마우스가 쓰이지 않으면 다른 주변 기기를 사용할 수도 있음.
 IRQ 13 - ISA / 산술 보조 프로세서
 IRQ 14 - 1번째 IDE
 IRQ 15 - 2번째 IDE

같이 보기 
 인텔 8529
 인터럽트 핸들러

참고 문헌 
 IRQ interrupt request
 Expansion Bus Configuration

외부 링크 
  Ralf Brown's Interrupt List

인터럽트