PC上の割り込みコンポーネント
CPU
Local APIC
CPU
Local APIC
CPU
Local APIC
ICH
8259A PIC
Timer
I/O APIC
Legacy
PCI
Devices
MSI(-X)
Capable
Devices
IPI
Legacy PCI
8259A IntrMSI(-X)
PCI-LPC
bridge
SuperIO
Chip
Local APIC
CPU毎の割り込みコントローラ 割り込みを許可・マスクし
たり、EOIしたり
システム全体で一意なAPIC IDを持つ
他のLAPICへ割り込める(IPI: Inter-processor Interrupt)
CPU
Local APIC
CPU
Local APIC
CPU
Local APIC
ICH
8259A PIC
Timer
I/O APIC
Legacy
PCI
Devices
MSI(-X)
Capable
Devices
IPI
Legacy PCI
8259A IntrMSI(-X)
PCI-LPC
bridge
SuperIO
Chip
レガシデバイス
レガシデバイスからの割り込みをPCI-LPC bridgeでPCIへ変換
PCIデバイス同様にI/O APICを通じてLAPICへ割り込みメッセー
ジを送信
互換性のため8259Aにも接続されていると思われる
CPU
Local APIC
CPU
Local APIC
CPU
Local APIC
ICH
8259A PIC
Timer
I/O APIC
Legacy
PCI
Devices
MSI(-X)
Capable
Devices
IPI
Legacy PCI
8259A IntrMSI(-X)
PCI-LPC
bridge
SuperIO
Chip
8259A PIC
省略(まだ残ってますが、もう使わな
いでしょう)
MSI(-X) capable PCI devices
各デバイスが任意の数のIRQを持てる
各IRQの割り込み先LAPICはPCIデバイスのPCI
Configuration Spaceに持つ
PCIデバイスは直接LAPICへ割り込みメッセージを送信
CPU
Local APIC
CPU
Local APIC
CPU
Local APIC
ICH
8259A PIC
Timer
I/O APIC
Legacy
PCI
Devices
MSI(-X)
Capable
Devices
IPI
Legacy PCI
8259A IntrMSI(-X)
PCI-LPC
bridge
SuperIO
Chip
MSI Capability on
PCI configuration space
Device ID Vendor ID
…
Reserved Cap. Pointer
…
Capability x CAP ID(x)Next Pointer
…
Capability y CAP ID(yy)Next Pointer
…
MSICTL CAP ID(D0h)Next Pointer
MSIAR
MSIDR