
Functional Description
5-30
82801AA and 82801AB Datasheet
5.8
Advanced Interrupt Controller (APIC) (D31:F0)
In addition to the standard ISA compatible interrupt controller (PIC) described in the previous
chapter, the ICH incorporates the Advanced Programmable Interrupt Controller (APIC). While the
standard interrupt controller is intended for use in a uni-processor system, APIC can be used in
either a uni-processor or multi-processor system.
5.8.1
Interrupt Handling
The I/O APIC handles interrupts very differently than the 8259. Briefly, these differences are:
Method of Interrupt Transmission.
The I/O APIC transmits interrupts through a three wire
bus, and interrupts are handled without the need for the processor to run an interrupt
acknowledge cycle.
Interrupt Priority.
The priority of interrupts in the I/O APIC is independent of the interrupt
number. For example, interrupt 10 can be given a higher priority than interrupt 3.
More Interrupts.
The I/O APIC in the ICH supports a total of 24 interrupts.
Multiple Interrupt Controllers.
The I/O APIC interrupt transmission protocol has an
arbitration phase, which allows for multiple I/O APICs in the system with their own interrupt
vectors. The ICH I/O APIC must arbitrate for the APIC bus before transmitting its interrupt
message.
5.8.2
Interrupt Mapping
The I/O APIC within the ICH supports 24 APIC interrupts. Each interrupt has its own unique
vector assigned by software. The interrupt vectors are mapped as shown in
Table 5-16
.
Table 5-16. APIC interrupt Mapping
I/O APIC Input
Interrupt
Comment
Interrupt 0
8259 INTR
Interrupt 1
ISA Interrupt 1
Interrupt 2
ISA Interrupt 0
Counter 0 output of 8254
Interrupts 3 - 12
ISA IRQ3-7,IRQ8#,IRQ9-12
IRQ8# is inverted internally
Interrupt 13
ISA interrupt 13
Internally generated off of FERR#
Interrupt 14 - 15
ISA Interrupt 14-15
Comes from IRQ[14:15] input signals or from
SERIRQ
Interrupt 16
PCI Interrupt A
Comes from PIRQA input signal or SERIRQ
Interrupt 17
PCI Interrupt B
Comes from PIRQB input signal or SERIRQ
Interrupt 18
PCI Interrupt C
Comes from PIRQC input signal or SERIRQ
Interrupt 19
PCI Interrupt D
Comes from PIRQD input signal or SERIRQ
Interrupt 20
IRQ20
Can come from internal modules
Interrupt 21
IRQ21
Can come from internal modules
Interrupt 22
IRQ22
Can come from internal modules
Interrupt 23
IRQ23
Can come from internal modules