Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
An interrupt request (IRQ) is an asynchronous signal sent from a device to a processor indicating that in order to process a request, attention is required. A hardware IRQ is induced by a hardware peripheral or device request, whereas a software IRQ is induced by a software instruction. Both result in processor status savings, and revert to serving the IRQ using an interrupt handler routine.
Interrupts are commonly used to implement computing multitasking and effectively eliminate the requirement for the processor to sample (poll) the lines while waiting for external events.
An IRQ is served to the processor by programmable interrupt controllers (PICs), which prioritize and manage the interrupts to the processor. A well-known device in personal computer (PC) architecture is the Intel 8259A PIC, which was later supplanted by the advanced PICs (APICs) but continues to be used today.
Interrupts can be level-triggered or edge-triggered. Level-triggered interrupts indicate that the line is held by the device at an active level, triggering the interrupt until it is served. Edge-triggered interrupts indicate that the device triggers the line shortly from level 1 to 0 (or vice versa). The PIC is expected to catch this trigger and service the interrupt.
IRQ levels are allocated to devices to indicate their identities. For example, in a PC, IRQ0 through IRQ15 denote the 16 levels associated with the mouse, keyboard, serial port, sound card, floppy disk controller, and the primary/secondary advanced technology attachment (ATA) channels used for hard disk devices.
When two devices use the same level, IRQ conflicts occur. Today, USB plug and play (PnP) devices have virtually eliminated this problem.