Definition

interrupt request (IRQ)

What is an interrupt request (IRQ)?

An interrupt request (IRQ) is a signal sent to a computer's processor to momentarily stop (interrupt) its operations. The signal is usually sent by a hardware device to interrupt the processor so the device gets some time to run its own operation. For example, when a printer finishes printing, it sends an interrupt signal to the computer. This signal momentarily interrupts its central processing unit (CPU) so it can decide what processing to do next.

An IRQ is important when multiple devices are connected to a computer. These devices need time to run their own operations and process some data and must, therefore, ask the processor to stop. They do this with an IRQ.

Once the device sends the IRQ, the processor momentarily stops so the computer can give the device time to run its operation. Every time a user moves a mouse, an interrupt handler tells the processor that it needs to stop what it's currently doing so it can handle and interpret the mouse movements.

IRQ channels and IRQ numbers

All devices connected to the computer communicate their IRQs over a unique data line called a channel. These include disk drive controllers, sound cards, printers, keyboards and mouses. Whenever the IRQ is referenced, it happens alongside the channel number, which is also known as an IRQ number. Each device is assigned its own IRQ number. For example, IRQ 1 may be used for a printer, IRQ 4 for a keyboard and IRQ 7 for a mouse.

Devices require a unique IRQ number to provide inputs to the processor or start a particular action. This number facilitates appropriate CPU response by assigning priorities to the various devices. The lower the IRQ number, the more important the need for the input or action. the system timer is typically assigned an IRQ of 0, while a PS/2 port -- keyboard or mouse -- may have an IRQ of 1. These low numbers prioritize the system timer and PS/2 port over, say, Integrated Drive Electronics primary or IDE secondary ports, which may have high IRQs, like IRQ 14 and IRQ 15, respectively.

IRQ assignments

Usually, IRQs can go up to IRQ 15. Here are typical IRQ assignments for a PC.

IRQ # Device

0

System timer

1

Keyboard (PS/2)

2

Cascade from IRQ 9

3

COM port 2 or 4

4

COM port 1 or 3

5

Parallel (printer) port 2 or sound cards

6

Floppy drive controller

7

Parallel (printer) port 1

8

Real-time clock

9

Video

10

Open

11

Open

12

Mouse (PS/2)

13

Coprocessor

14

Primary IDE controller (hard drives)

15

Secondary IDE controller (hard drives)

IRQ and plug and play

A computer can receive multiple signals on the same interrupt line but may not understand all these signals. To facilitate understanding, a unique value must be specified to the computer for each device and its path. When Industry Standard Architecture devices were in use and before plug-and-play (PnP) devices emerged, users had to set IRQ values manually when connecting a new device to a computer. Today, most devices are PnP. So, they are configured automatically, and users don't have to worry about them.

If a user adds a device that does not support PnP, the manufacturer should have provided explicit directions on how to assign IRQ values for it. If they don't know what IRQ value to specify, they'll save time by asking the manufacturer instead of trying to figure it out themselves.

IRQ errors

IRQ errors can sometimes occur when installing new hardware or changing the settings of existing hardware (reconfiguration). Conflicts usually occur when two devices or pieces of hardware try to use the same IRQ channel for their IRQs. It is possible for multiple devices to use the same channel, but this is usually not done in practice. So, when simultaneous IRQs come in over the same channel, it results in a conflict.

One example of an IRQ error is IRQL_NOT_LESS_OR_EQUAL. This memory-related error occurs if a system process or a device driver tries to access a memory address but lacks valid access rights to do so. Thus, NOT_LESS_OR_EQUAL, sometimes known simply as IRQL, refers to an attempt to access an address that's outside a set boundary value (upper bound address). This IRQ error may occur due to corrupt system files, incompatible device drivers, faulty hardware or incomplete software installation.

When an IRQL error occurs, an operating system stop is triggered, which causes the OS to crash. If the OS is Windows, the crash triggers a blue screen of death. This is when Windows displays a stop screen with a message like the following: "Your PC ran into a problem and needs to restart. We're just collecting some error info, and then we'll restart for you." The user sees the stop screen as long as Windows is collecting the error data in the background. Once the collection phase ends, the computer reboots by default.

Usually, when an IRQ error occurs, the computer freezes up or devices may stop working. Such errors are a rarity now with PnP devices since there is no need to set IRQ channels manually. That makes it unlikely more than one device tries to use the same IRQ channel and cause a conflict.

How to view and change IRQ settings

In Windows, IRQ settings are usually visible under Device Manager. Changing the View menu option to Resources by type shows the IRQ section. Users can also use System Information. Execute the msinfo32.exe command from the Run dialog box, and navigate to Hardware Resources > IRQs.

memory range and IRQ of a device
The Resources tab in Windows lists the memory range and the IRQ that the device is using.

To change IRQ settings, go into the BIOS or open Device Manager. To change IRQ settings with Device Manager, do the following:

  • Double-click a device to open its Properties window.
  • In the Resources tab, deselect the Use automatic settings option.
  • Select the hardware configuration that should be changed from the Settings based on drop-down menu.
  • Select IRQ from the Resource settings area of the properties.
  • Edit the IRQ value from the Change Setting button.

Before changing settings, remember that, if users make errors, their computer may not function correctly. Always note the existing settings before changing anything to be able restore them if something goes wrong.

This was last updated in January 2023

Continue Reading About interrupt request (IRQ)

Networking
  • What is TCP/IP?

    TCP/IP stands for Transmission Control Protocol/Internet Protocol and is a suite of communication protocols used to interconnect ...

  • What is ICMP (Internet Control Message Protocol)?

    ICMP (Internet Control Message Protocol) is a network layer error-reporting protocol that's used to communicate data transmission...

  • What is asynchronous?

    In general, asynchronous -- from Greek asyn- ('not with/together') and chronos ('time') -- describes objects or events not ...

Security
CIO
HRSoftware
Customer Experience
Close