Can someone please exlpain IRQ Channel Sharing

Discussions about anything Computer Hardware Related. Overclocking, underclocking and talk about the latest or even the oldest technology. PCA Reviews feedback
Post Reply
User avatar
CaterpillarAssassin
Almighty Member
Posts: 2252
Joined: Wed Nov 22, 2000 11:29 am
Location: somewhere in N.E

Can someone please exlpain IRQ Channel Sharing

Post by CaterpillarAssassin »

And go a bit in depth as to why this is required?
Image
Jim Z
Golden Member
Posts: 969
Joined: Thu Mar 15, 2001 9:22 pm
Location: MI

Post by Jim Z »

It's part of the PCI spec. At the time PCI was released, we were still limited to dealing with 16 finite interrupts, and interrupt sharing was designed as a way to alleviate the problems with this.

With ISA, interrupts were hardwired as IRQ lines, and you could only have 1 device on an IRQ, no ifs, ands or buts. Look at an old ISA controller, souns, or modem card someday, you'll see jumpers for IRQ settings on them.

PCI, otoh, has four interrupt lines per bus. These are not hardwired to any specific IRQ, though the BIOS wil map each line to an IRQ number at boot time (which can be reassigned by ACPI operating systems like Win2k). All slots, devices, and integrated peripherals which share an interrupt line with another will be assigned the same IRQ number by the BIOS.

What usually happens is that there will be an interrupt signal detected on one line. Since there are likely to be multiple devices on the line, the OS will then go back to the interrupt controller to determine which device on that line signaled the interrupt. When it finds that device, it sends in an ACK (acknowledge) signal and services it.

Any peripheral that conforms to the PCI spec must be able to share an interrupt line without problems. If it can't, then it can't rightly be called a PCI device.

Newer chipsets (Intel 800 series, Via KT333 and newer, nforce) have an integrated APIC (Advanced PRogrammable Interrupt Controller) which can handle up to 24 interrupts.

more info on APICs and why they are good:

http://www.microsoft.com/hwdev/platform ... O-APIC.asp

Also of interest is that any PC or motherboard must have an APIC in order to be "Designed for Windows XP".
Post Reply