IRQ-Interruptions. Part I

IRQ-interruption (Interrupt Request) is a device request for data processing by a processor. If an interruption is received, the processor stops its operations, saves the current state and transfers its control to a special program (interruption handler) which contains the commands for processing the condition that caused this interruption. A system assigns a particular interruption to each device, both peripheral and internal. While using this interruption, a device informs a processor about the need to process the request for this device.

Some interruptions are strictly assigned to the particular devices while the other interruptions can be assigned according to the current requirements. There are 16 interruptions in a system: from IRQ0 to IRQ15. The interruptions IRQ0, IRQ1, IRQ8 and IRQ13 are reserved by a system (for a system timer, keyboard, clocks and mathematical co-processor) and do not take part in assigning between the rest devices and expansion cards.

How to assign interruptions? The assigning of interruptions to the system devices on a motherboard are carried out after switching on the computer and its testing, then ISA- and PCI-devices are assigned. The interruptions for ISA-devices are assigned first because not all such devices support Plug and Play technology and may need manual (for example, using some switches on a motherboard) indication of interruption number. After the assignment, the configuration of interruptions is saved in the non-volatile CMOS-memory. During the next loadings this configuration is automatically called from memory, compared with the current system state and loaded in case of no changes. But if there are some changes in a system, for example replaced or deleted expansion cards, the procedure of interruption assignment is performed again.