11
2-6 Interrupts
Because Interrupts are an important part of the motherboard, and many customers run into
trouble when adding expansion cards that need interrupts, we have added this section on
interrupts. First of all, what are interrupts?
When a device (like the Harddisk Controller) is told to provide some information it may not
be able to provide it right away. (The Harddisk needs to fist seek the location of the
information for instance). If the CPU would be forced to wait for the information
unacceptable delays would occur. That is where interrupts come in, if the device has
completed the action it was supposed to do, it will generate an interrupt. Now the CPU can
read (or write) the information it needs without any delays. While the device is performing
the requested operation the CPU is free to perform other tasks, when the device finishes the
interrupt notifies the CPU.
The original XT PC upon which many of the modern PC standards are founded had 16
interrupt lines available for devices. (Another name for interrupt is IRQ, which is short for
InterRupt reQuest). Because the Expansion Bus used on those first PCs was the ISA bus,
these interrupts are also known as ISA interrupts. As IRQ2 was used for cascading two 8
line IRQ controllers, IRQ2 was unavailable (this is true even in modern day systems, that
need to stay compatible). The following table details the standard ISA IRQ assignments:
IRQ line Assigned to
IRQ line Assigned to
0 System
Timer
8
Real Time Clock (RTC)
1 Keyboard
Controller
9 Available
2
Cascade (not available)
10 Available
3
Serial Port 1
11 Available
4
Serial Port 2
12
PS/2 Mouse Port
5
Sound Card (or LPT 2)
13 Math
Coprocessor
6
Floppy Disk Controller
14
Primary IDE Controller
7
Printerport 1 (LPT 1)
15
Secondary IDE Controller
As can be seen, many interrupts are fixed and only a few are available. The interrupts on
the ISA Bus are not shareable. That means if a device is using an interrupt, then that
interrupt can not be used by another device.
With the introduction of the PCI bus things got more complicated. The PCI Bus supports 4
Interrupts, known as INT-A, INT-B, INT-C and INT-D. The good thing about PCI interrupts
is that devices can share them, but the limitation that the driver for that device must support
interrupt sharing. If the driver does not support interrupt sharing, then other PCI devices
cannot share the PCI interrupt used by that device.