Interrupt request
Encyclopedia
The computing
phrase "interrupt request" (or IRQ) is used to refer to either the act of interrupt
ing the bus
lines used to signal an interrupt, or the interrupt input lines on a Programmable Interrupt Controller
(PIC). The interrupt request level (IRQL) is the priority
of an interrupt request.
Interrupt lines are often identified by an index with the format of IRQ followed by a number. For example, on the Intel 8259
family of PICs there are eight interrupt inputs commonly referred to as IRQ0 through IRQ7. In x86 based computer systems that use two of these PICs, the combined set of lines are referred to as IRQ0 through IRQ15. Technically these lines are named IR0 through IR7, and the lines on the ISA
bus to which they were historically attached are named IRQ0 through IRQ15
Newer x86 systems integrate an Advanced Programmable Interrupt Controller
(APIC) that conforms to the Intel APIC Architecture
. These APICs support a programming interface for up to 255 physical hardware IRQ lines per APIC, with a typical system implementing support for only around 24 total hardware lines.
and recognized by the operating system. These default settings can be altered by advanced users. Modern plug and play technology has not only reduced the need for concern for these settings, but has virtually eliminated manual configuration.
for a common list and discussion of hardware IRQ lines in x86 systems.
Typically, on systems using the Intel 8259
, 16 IRQs are used. IRQs 0 to 7 are managed by one Intel 8259 PIC, and IRQs 8 to 15 by a second Intel 8259 PIC. The first PIC, the master, is the only one that directly signals the CPU. The second PIC, the slave, instead signals to the master on its IRQ 2 line, and the master passes the signal on to the CPU. There are therefore only 15 interrupt request lines available for hardware.
On newer systems using the Intel APIC Architecture
, typically there are 24 IRQs available, and the extra 8 IRQs are used to route PCI interrupts, avoiding conflict between dynamically configured PCI interrupts and statically configured ISA interrupts. On early APIC systems with only 16 IRQs or with only Intel 8259
interrupt controllers, PCI interrupt lines were routed to the 16 IRQs using a PIR integrated into the southbridge.
The easiest way of viewing this information on Microsoft Windows
is to use Device Manager
or System Information (msinfo32.exe). On Linux
, IRQ mappings can be viewed by executing cat /proc/interrupts or procinfo programs.
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...
phrase "interrupt request" (or IRQ) is used to refer to either the act of interrupt
Interrupt
In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
ing the bus
Computer bus
In computer architecture, a bus is a subsystem that transfers data between components inside a computer, or between computers.Early computer buses were literally parallel electrical wires with multiple connections, but the term is now used for any physical arrangement that provides the same...
lines used to signal an interrupt, or the interrupt input lines on a Programmable Interrupt Controller
Programmable Interrupt Controller
In computing, a programmable interrupt controller is a device that is used to combine several sources of interrupt onto one or more CPU lines, while allowing priority levels to be assigned to its interrupt outputs. When the device has multiple interrupt outputs to assert, it will assert them in...
(PIC). The interrupt request level (IRQL) is the priority
Scheduling (computing)
In computer science, a scheduling is the method by which threads, processes or data flows are given access to system resources . This is usually done to load balance a system effectively or achieve a target quality of service...
of an interrupt request.
Interrupt lines are often identified by an index with the format of IRQ followed by a number. For example, on the Intel 8259
Intel 8259
The Intel 8259 is a Programmable Interrupt Controller designed for the Intel 8085 and Intel 8086 microprocessors. The initial part was 8259, a later A suffix version was upward compatible and usable with the 8086 or 8088 processor...
family of PICs there are eight interrupt inputs commonly referred to as IRQ0 through IRQ7. In x86 based computer systems that use two of these PICs, the combined set of lines are referred to as IRQ0 through IRQ15. Technically these lines are named IR0 through IR7, and the lines on the ISA
Industry Standard Architecture
Industry Standard Architecture is a computer bus standard for IBM PC compatible computers introduced with the IBM Personal Computer to support its Intel 8088 microprocessor's 8-bit external data bus and extended to 16 bits for the IBM Personal Computer/AT's Intel 80286 processor...
bus to which they were historically attached are named IRQ0 through IRQ15
Newer x86 systems integrate an Advanced Programmable Interrupt Controller
Advanced Programmable Interrupt Controller
In computing, an Advanced Programmable Interrupt Controller is a more complex Programmable Interrupt Controller than Intel's original types such as the 8259A...
(APIC) that conforms to the Intel APIC Architecture
Intel APIC Architecture
The Intel APIC Architecture is a system of advanced programmable interrupt controllers designed by Intel for use in symmetric multiprocessor computer systems. It was originally implemented by the Intel 82093AA and 82489DX, and is found in most x86 SMP motherboards...
. These APICs support a programming interface for up to 255 physical hardware IRQ lines per APIC, with a typical system implementing support for only around 24 total hardware lines.
Overview
When working with computer hardware, installing and removing devices, the system relies on interrupt requests. There are default settings that are configured in the system BIOSBIOS
In IBM PC compatible computers, the basic input/output system , also known as the System BIOS or ROM BIOS , is a de facto standard defining a firmware interface....
and recognized by the operating system. These default settings can be altered by advanced users. Modern plug and play technology has not only reduced the need for concern for these settings, but has virtually eliminated manual configuration.
x86 IRQs
See Intel 8259Intel 8259
The Intel 8259 is a Programmable Interrupt Controller designed for the Intel 8085 and Intel 8086 microprocessors. The initial part was 8259, a later A suffix version was upward compatible and usable with the 8086 or 8088 processor...
for a common list and discussion of hardware IRQ lines in x86 systems.
Typically, on systems using the Intel 8259
Intel 8259
The Intel 8259 is a Programmable Interrupt Controller designed for the Intel 8085 and Intel 8086 microprocessors. The initial part was 8259, a later A suffix version was upward compatible and usable with the 8086 or 8088 processor...
, 16 IRQs are used. IRQs 0 to 7 are managed by one Intel 8259 PIC, and IRQs 8 to 15 by a second Intel 8259 PIC. The first PIC, the master, is the only one that directly signals the CPU. The second PIC, the slave, instead signals to the master on its IRQ 2 line, and the master passes the signal on to the CPU. There are therefore only 15 interrupt request lines available for hardware.
On newer systems using the Intel APIC Architecture
Intel APIC Architecture
The Intel APIC Architecture is a system of advanced programmable interrupt controllers designed by Intel for use in symmetric multiprocessor computer systems. It was originally implemented by the Intel 82093AA and 82489DX, and is found in most x86 SMP motherboards...
, typically there are 24 IRQs available, and the extra 8 IRQs are used to route PCI interrupts, avoiding conflict between dynamically configured PCI interrupts and statically configured ISA interrupts. On early APIC systems with only 16 IRQs or with only Intel 8259
Intel 8259
The Intel 8259 is a Programmable Interrupt Controller designed for the Intel 8085 and Intel 8086 microprocessors. The initial part was 8259, a later A suffix version was upward compatible and usable with the 8086 or 8088 processor...
interrupt controllers, PCI interrupt lines were routed to the 16 IRQs using a PIR integrated into the southbridge.
The easiest way of viewing this information on Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
is to use Device Manager
Device Manager
The Device Manager is a Control Panel applet in Microsoft Windows operating systems. It allows users to view and control the hardware attached to the computer. When a piece of hardware is not working, the offending hardware is highlighted for the user to deal with...
or System Information (msinfo32.exe). On Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, IRQ mappings can be viewed by executing cat /proc/interrupts or procinfo programs.
Master PIC
- IRQ 0 — system timer (cannot be changed);
- IRQ 1 — keyboardComputer keyboardIn computing, a keyboard is a typewriter-style keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches...
controllerKeyboard controller (computing)In computing, a keyboard controller is a device which interfaces a keyboard to a computer. Its main function is to inform the computer when a key is pressed or released...
(cannot be changed); - IRQ 2 — cascaded signals from IRQs 8–15;
- — any devices configured to use IRQ 2 will actually be using IRQ 9
- IRQ 3 — serial portSerial portIn computing, a serial port is a serial communication physical interface through which information transfers in or out one bit at a time...
controllerUniversal asynchronous receiver/transmitterA universal asynchronous receiver/transmitter, abbreviated UART , is a type of "asynchronous receiver/transmitter", a piece of computer hardware that translates data between parallel and serial forms. UARTs are commonly used in conjunction with communication standards such as EIA RS-232, RS-422 or...
for COM2 (shared with COM4, if present); - IRQ 4 — serial port controller for COM1 (shared with COM3, if present);
- IRQ 5 — LPTLPTLPT is the original, and still common, name of the parallel port interface on IBM PC-compatible computers. It was designed to operate a text printer that used IBM's 8-bit extended ASCII character set. The name derives from the fact that "line printer" was a common generic term at the time for any...
port 2 or sound cardSound cardA sound card is an internal computer expansion card that facilitates the input and output of audio signals to and from a computer under control of computer programs. The term sound card is also applied to external audio interfaces that use software to generate sound, as opposed to using hardware...
; - IRQ 6 — floppy diskFloppy diskA floppy disk is a disk storage medium composed of a disk of thin and flexible magnetic storage medium, sealed in a rectangular plastic carrier lined with fabric that removes dust particles...
controllerFloppy disk controllerA floppy disk controller is a special-purpose chip and associated disk controller circuitry that directs and controls reading from and writing to a computer's floppy disk drive . This article contains concepts common to FDCs based on the NEC µPD765 and Intel 8072A or 82072A and their descendants,...
; - IRQ 7 — LPTLPTLPT is the original, and still common, name of the parallel port interface on IBM PC-compatible computers. It was designed to operate a text printer that used IBM's 8-bit extended ASCII character set. The name derives from the fact that "line printer" was a common generic term at the time for any...
port 1 or It is used for printers or for any parallel port if a printer is not present.
Slave PIC
- IRQ 8 — RTC Timer
- IRQ 9 — The Interrupt is left open for the use of peripherals. open interrupt / available or SCSISCSISmall Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most commonly used for hard disks and tape drives, but it...
host adapterHost adapterIn computer hardware, a host controller, host adapter, or host bus adapter connects a host system to other network and storage devices...
;- — any devices configured to use IRQ 2 will actually be using IRQ 9
- IRQ 10 — The Interrupt is left open for the use of peripherals. open interrupt / available or SCSI or NICNetwork cardA network interface controller is a computer hardware component that connects a computer to a computer network....
; - IRQ 11 — The Interrupt is left open for the use of peripherals. open interrupt / available or SCSI or NIC;
- IRQ 12 — mouseMouse (computing)In computing, a mouse is a pointing device that functions by detecting two-dimensional motion relative to its supporting surface. Physically, a mouse consists of an object held under one of the user's hands, with one or more buttons...
on PS/2 connectorPS/2 connectorThe PS/2 connector is a 6-pin Mini-DIN connector used for connecting some keyboards and mice to a PC compatible computer system. Its name comes from the IBM Personal System/2 series of personal computers, with which it was introduced in 1987...
; - IRQ 13 — math co-processor or integrated floating point unitFloating point unitA floating-point unit is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, subtraction, multiplication, division, and square root...
or inter-processor interruptInter-Processor InterruptAn inter-processor interrupt is a special type of interrupt by which one processor may interrupt another processor in a multiprocessor system. IPIs are typically used to implement a cache coherency synchronization point.- Windows :...
(use depends on OS); - IRQ 14 — primary ATA channel;
- IRQ 15 — secondary ATA channel;
- ATA interface usually serves hard diskHard diskA hard disk drive is a non-volatile, random access digital magnetic data storage device. It features rotating rigid platters on a motor-driven spindle within a protective enclosure. Data is magnetically read from and written to the platter by read/write heads that float on a film of air above the...
s and CD drives
- ATA interface usually serves hard disk
More information
More information on the Intel 8259 PIC and its IRQ lines can be found in the IA-32 Intel Architecture Software Developer’s Manual, Volume 3A: System Programming Guide, Part 1, freely available on the Intel website.See also
- Advanced Programmable Interrupt ControllerAdvanced Programmable Interrupt ControllerIn computing, an Advanced Programmable Interrupt Controller is a more complex Programmable Interrupt Controller than Intel's original types such as the 8259A...
(APIC) - Programmable Interrupt ControllerProgrammable Interrupt ControllerIn computing, a programmable interrupt controller is a device that is used to combine several sources of interrupt onto one or more CPU lines, while allowing priority levels to be assigned to its interrupt outputs. When the device has multiple interrupt outputs to assert, it will assert them in...
(PIC) - Intel 8259Intel 8259The Intel 8259 is a Programmable Interrupt Controller designed for the Intel 8085 and Intel 8086 microprocessors. The initial part was 8259, a later A suffix version was upward compatible and usable with the 8086 or 8088 processor...
- Interrupt handlerInterrupt handlerAn interrupt handler, also known as an interrupt service routine , is a callback subroutine in microcontroller firmware, operating system or device driver whose execution is triggered by the reception of an interrupt...
- Input/Output Base AddressInput/Output Base AddressIn the x86 architecture, an input/output base address is a base address of an I/O port. In other words, this is the first address of a range of consecutive I/O port addresses that device uses....
- Plug and play
- PollingPolling (computer science)Polling, or polled operation, in computer science, refers to actively sampling the status of an external device by a client program as a synchronous activity. Polling is most often used in terms of input/output , and is also referred to as polled or software driven .Polling is sometimes used...
- IRQ conflictIRQ conflictIn computing, an IRQ conflict is a once common hardware error, received when two devices were trying to use the same interrupt request to signal an interrupt to the Programmable Interrupt Controller ....