An interrupt request is a request made to the processor by any input device requiring its attention. For example, when we press a key on the keyboard it generates an interrupt request to the CPU asking it to read the value of the pressed key.
Processors used on the PC only have one interruption line, requiring an external circuit called interrupt controller to allow more than one input device to be connected to the computer. On the first PCs the interrupt controller was an integrated circuit called 8259, being later embedded in the chipset, in a chip called south bridge.
The interrupt lines found on the interrupt controller were physically connected to the ISA bus. Since ISA bus wasn’t Plug and Play, i.e. the bus didn’t have any information about what peripherals were connected to it, more than one device couldn’t use the same interruption line at the same time, because when this happened the interrupt controller couldn’t know which peripheral asked for the interruption. This problem was known as interrupt conflict.
ISA bus interruption lines were numbered 0 through 15.
With the adoption of the PCI bus this problem was eliminated. Since PCI bus is Plug and Play, the interrupt controller (actually a circuit called interrupt router) knows which peripheral asked an interruption, not creating a conflict when more than one peripheral is connected to the same interruption line.
PCI bus has only four interruption lines, called A#, B#, C# and D#. In the majority of motherboards alls PCI slots are connected to the same interruption line (usually A#).
Several times we see, especially on the POST configuration banner, PCI devices listed as if they were using ISA interruptions (e.g. IRQ10). This notation is still used only to keep compatibility with older programs – as we explained, PCI peripherals use a different interruption system from ISA bus.