ㅇ IO-APIC Interrupts
- IO-APIC은 24개의 interrupt line을 가지고 있으며, priority를 설정할 수 있다.
- 하위 16개의 interrupt 는 XT-PIC 과 backwards compatibility를 위해서 동작한다.
- IO-APIC 은 Local-APIC에 interrupt vector를 씀. 따라서 OS는 IO-APIC과 interaction이 필요하지 않다.
EOI를 Notification 할 때만 IO-APIC과 interaction 이 존재한다.
interrupted CPU는 interrupt vector 를 받아서 ISR를 실행한다.
ㅇ Message Signaled Interrupts
- every device to write directly to the CPU's Local-APIC
- MSI model support 224 interrupts
동작 방식
1) device 가 CPU 작업이 필요할 때 MSI를 생성함. (Local APIC에 directly interrupt vector를 씀)
2) interrupt CPU는 interrupt vector를 확인하여 ISR를 수행함. (device 는 IRQ pending bit을 check & clear 할 필요가 없음)
참조) Reducing Interrupt Latency Through the Use of MSI
msg-signaled-interrupts-paper.pdf
http://www.intel.co.kr/content/dam/www/public/us/en/documents/white-papers/msg-signaled-interrupts-paper.pdf
[Lecture] Interrupt and Exception Handling on the x86
interrupt and exception handling on the x86.pdf
http://pdos.csail.mit.edu/6.828/2005/lec/lec8-slides.pdf