What Is an IRQ (Interrupt Request)?

Devices send an IRQ to the processor to request access

Screenshot of IRQs in System Information in Windows 8
System Information IRQ List.

An IRQ, short for Interrupt Request, is used in a computer to send exactly that - a request to interrupt the CPU by some other piece of hardware.

An Interrupt Request is necessary for things like keyboard presses, mouse movements, printer actions, and more. When the request is made by a device to momentarily stop the processor, the computer is then able to give the device some time to run its own operation.

For example, each time you press a key on the keyboard, an interrupt handler tells the processor that it needs to stop what it's currently doing so that it can handle the keystrokes.

Each device communicates the request over a unique data line called a channel. Most of the time you see IRQ referenced, it's alongside this channel number, also called an IRQ number. For example, IRQ 4 might be used for one device and IRQ 7 for another.

Note: IRQ is pronounced as the letters I-R-Q, not as erk.

IRQ Errors

Errors related to Interrupt Request are usually only seen when installing new hardware or changing the settings in existing hardware. Here are some IRQ errors you might see:

IRQL_NOT_DISPATCH_LEVEL
IRQL_NOT_GREATER_OR_EQUAL
STOP: 0x00000008
STOP: 0x00000009

Note: See How to Fix STOP 0x00000008 Errors or How to Fix STOP 0x00000009 Errors if you're experiencing one of those stop errors.

While it's possible for the same IRQ channel to be used for more than one device (so long as both aren't actually being used at the same time), it's normally not the case. An IRQ conflict most likely occurs when two pieces of hardware are attempting to use the same channel for an interrupt request. 

Since the Programmable Interrupt Controller (PIC) doesn't support this, the computer might freeze up or the devices will stop working as expected (or stop working entirely).

Back in the early Windows days, IRQ errors were common and it took a lot of troubleshooting to fix them. This was because it was more common to set IRQ channels manually, like with DIP switches, which made it more likely that more than one device was using the same IRQ line.

However, IRQs are handled much better in newer versions of Windows that use plug and play, so you'll rarely see an IRQ conflict or other IRQ issue.

Viewing and Editing IRQ Settings

The easiest way to view IRQ information in Windows is with Device Manager. Change the View menu option to Resources by type to see the Interrupt request (IRQ) section.

You can also use System Information. Execute the msinfo32.exe command from the Run dialog box (Windows Key + R), and then  navigate to Hardware Resources > IRQs.

Linux users can run the cat /proc/interrupts command to view IRQ mappings.

You might need to change the IRQ line for a specific device if it's using the same IRQ as another, though it's usually unnecessary since system resources are automatically allocated for newer devices. It's only older Industry Standard Architecture (ISA) devices that might need manual IRQ adjustments.

You can change IRQ settings in the BIOS or within Windows via Device Manager. Here's how to change IRQ settings with Device Manager:

Important: Remember that making incorrect changes to these settings can cause problems you didn't have before. Make sure you know what you're doing and have recorded any existing settings and values so that you know what to revert back to should something go wrong.

  1. Open Device Manager.
  2. Double-click or double-tap a device to open its Properties window.
  3. In the Resources tab, deselect the Use automatic settings option.
  4. Use the "Settings based on:" drop down menu to select the hardware configuration that should be changed.
  5. Within Resource settings > Resource type, choose Interrupt request (IRQ).
  6. Use the Change Setting... button to edit the IRQ value.

Note: If there isn't a "Resources" tab, or "Use automatic settings" is greyed out or not enabled, it means that either you cannot specify a resource for that device because it's plug and play, or that the device has no other settings that can be applied to it.

Common IRQ Channels

Here are what some of the more common IRQ channels are used for:

IRQ Line Description
IRQ 0 System timer
IRQ 1 Keyboard controller
IRQ 2 Receives signals from IRQs 8-15
IRQ 3 Serial port controller for port 2
IRQ 4 Serial port controller for port 1
IRQ 5 Parallel port 2 and 3 (or sound card)
IRQ 6 Floppy disk controller
IRQ 7 Parallel port 1 (often printers)
IRQ 8 CMOS/real-time clock
IRQ 9 ACPI interrupt
IRQ 10 Peripherals
IRQ 11 Peripherals
IRQ 12 PS/2 mouse connection
IRQ 13 Numeric data processor
IRQ 14 ATA channel (primary)
IRQ 15 ATA channel (secondary)

Note: Since IRQ 2 has a designated purpose, any device configured to use it will instead use IRQ 9.