What Is an IRQ (Interrupt Request)?

Devices send an IRQ to the processor to request access

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.

Purpose of IRQ

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.

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

See How to Fix a Blue Screen of Death if you're experiencing either 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 is 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.

Device Manager IRQ list

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

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

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.

How to Change IRQ Settings

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

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 to should something go wrong.

  1. Open Device Manager and double-click or double-tap a device to open its Properties window. You'll need to open that device's category first before you'll be able to see it, which you can do by double-clicking/tapping.

  2. In the Resources tab, deselect Use automatic settings.

    Keyboard IRQ properties in Device Manager

    If you can't find this tab or the option is greyed out or not enabled, it means that either you cannot specify a resource for that device or that the device has no other settings that can be applied to it.

  3. Use the Settings based on drop down menu to select the hardware configuration that should be changed.

  4. Select IRQ from the Resource settings area of the properties.

  5. Use the Change Setting button to edit the IRQ value.

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)

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

What Are Non-Maskable Interrupts?

There are also non-maskable interrupts (NMIs), which are interrupt requests that can't be blocked. A non-maskable interrupt occurs when dealing with system resets or hardware errors. The interrupt request is executed immediately.

Was this page helpful?