Hardware Reference
In-Depth Information
PCI Interrupts
The PCI bus supports IRQs that PCI devices can use to signal to the bus that they need
attention. The four PCI interrupts are called INTA#, INTB#, INTC#, and INTD#. These
INTx# interrupts are level sensitive , which means that the electrical signaling enables
them to be shared among PCI cards. In fact, all single-device or single-function PCI chips
or cards that use only one interrupt must use INTA#. This is one of the rules in the PCI
specification. If additional devices are within a chip or onboard a card, the additional
devicescanuseINTB#throughINTD#.BecausetherearefewmultifunctionPCIchipsor
boards, practically all the devices on a given PCI bus share INTA#.
For the PCI bus to function in a PC, the PCI interrupts must be mapped to ISA interrupts.
Because ISA interrupts can't be shared, in most cases each PCI card using INTA# on
the PCI bus must be mapped to a different nonshareable ISA interrupt. For example, you
couldhaveasystemwithfourPCIslotsandfourPCIcardsinstalled,eachusingPCIinter-
rupt INTA#. In most cases, each of these cards would be mapped to a different available
ISA interrupt request, such as IRQ9, IRQ10, IRQ11, or IRQ5.
Finding unique IRQs for each device on both the ISA and PCI buses has always been a
problem; there simply aren't enough free ones to go around. Setting two ISA devices to
thesameIRQhasneverbeenpossible(theso-called IRQ sharing ofIRQ4byCOM1/3and
IRQ3 by COM2/4 didn't allow both COM ports to work at the same time), but on most
newer systems sharing IRQsbetween multiple PCIdevices might bepossible. Newer sys-
tem BIOSs as well as plug-and-play OSs support a function known as PCI IRQ Steering .
For this to work, both your system BIOS and OS must support IRQ Steering. Older sys-
temBIOSsandWindows95or95AandearlierdonothavesupportforPCIIRQSteering.
Advanced Programmable Interrupt Controller
As a replacement for the traditional pair of 8259 interrupt controllers, Intel developed the
AdvancedProgrammable InterruptController (APIC)inthemid-1990s.Althoughallpro-
cessors since the original Pentium contain an APIC, an APIC must also be present in the
motherboard'schipset,andtheBIOSandOSmustsupportAPIC.APICsupportispresent
on most recent motherboards and has been supported in all Windows releases since Win-
dows 2000. In some systems you can enable or disable APIC support in the system BIOS,
but in most it is permanently enabled.
APIC provides support for multiple processors, but it is also used on single-processor
computers. The major benefit of APIC for a single processor is support for virtual PCI
IRQs above 15. Most APIC implementations support virtual IRQs up to 24. Although
Windows2000tendstoplacePCIIRQsintothetraditional ISArangeof0-15,evenwhen
APIC is enabled, Windows XP and later make full use of APIC services when installed
 
Search WWH ::




Custom Search