Standard IRQ Assignments

Tips Part 7

Back Next

An IRQ (Interrupt ReQuest) is a physical connection on the motherboard through which a piece of hardware communicates with the CPU and the OS; the CPU responds through an I/O (input/output) memory address. The so-called Standard IRQ assignments date back to the early days of DOS and Windows 3.x.

In the bad old days, IRQs had to be assigned manually, either by means of physical switches, jumpers, or with software. Even now, you may occasionally have to assign an IRQ manually, although it doesn't happen often. Also, newer computers have more than 16 IRQs and the hardware and software can share IRQs without fighting. Usually.


Plug and Play, or Plug and Pray

Two things are required for PnP to work: 1) a PnP capable BIOS, and 2) a PnP capable OS.

Windows 95 was the first widely available OS with PnP capability. Certain computer hardware had been PnP capable for years before, but that's another story. PnP is supposed to make IRQ assignment automatic: Windows detects a piece of hardware (it can't do this without a PnP BIOS), and assigns it an available IRQ. Plug and Play doesn't always pay heed to the "standard" IRQs, and hardware devices can be assigned to what might be called strange IRQs. This doesn't necessarily matter, as long as everything works, but so-called non-standard IRQ assignments can confuse some programs (see below).

Plug and Pray

Plug and Play doesn't always work. An allegedly PnP compatible device may be hard-wired or software-programmed to a certain IRQ; sometimes Windows is not able to determine this, and may assign the device a different IRQ. In such cases, the device will not work, because it's trying to communicate through IRQ X, and Windows is "listening" for it on IRQ Y. Manual configuration is required. Manual IRQ configuration can be a nightmare, and is not (yet) covered in these documents. I suggest you seek outside help, starting with whoever sold you the device.


In the old days there were only 8 IRQs, numbered 0 to 7; then 8 more were added, and thus IRQ 2 became a link (or "cascade") to the second 8 IRQs. Now there are shared IRQs and "virual" IRQs. Don't be surprised to see a device on IRQ 21. Those IRQs marked with an asterisk (*) cannot be changed.


Standard IRQ Assigmnents

IRQ Assignment
0 system timer*
1 keyboard*
2 link to second IRQ controller*
3 serial port 2 (COM2; usually the modem, if present)
4 serial port 1 (COM1; usually the [serial] mouse, if present)
5 available, OR sound card (if present), OR parallel port 2 (LPT2)
6 floppy disk controller*
7 parallel port 1 (LPT1) = the printer
8 real-time clock*
9 available (may appear as IRQ 2)
10 available
11 available
12 available, OR PS/2 mouse (if present)
13 math coprocessor*
14 primary IDE controller (first/main hard drive)*
15 available, OR secondary IDE controller (other hard drives/CDROM, etc.)

IRQs that are not permanently assigned are basically interchangeable. In other words, your sound card can be on IRQ 9 and your printer (LPT1) can be on IRQ 11, but that configuration might really confuse certain programs. Most programs and games are written assuming, e.g., that your sound card is IRQ 5, your printer is IRQ 7, etc. Also, certain programs that use a modem may only give you the choice of IRQ 3 or 4 in their configuration settings; if your modem is not on IRQ 3 or 4, that program won't be able to use it.

Serial ports

Computers used to have four serial ports (usually only one now), COM1 to COM4. COM1 and COM3 share IRQ 4; COM2 and COM4 share IRQ 3. These ports are used to connect external devices to the computer. Serial port 1 (COM1) is normally the (serial) mouse; serial port 2 (COM2) is normally the modem. If you have a PS/2 mouse, it will use IRQ 12, in which case COM1 and COM3, and IRQ 4, will be available.

Other devices can also use serial ports, such as digital cameras, and very old printers.

Parallel ports

LPT1 (Line PrinTer) on IRQ 7 is normally the printer. If you install a second printer, it may try to use LPT2 and IRQ 5. If you have a sound card using IRQ 5 already, there is going to be a conflict. When you install the second printer, the operating system may be smart enough to assign it to an available IRQ, or it may not.

Other devices can also use parallel ports, such as scanners, digital cameras, external hard drives, or CDROMs.

USB and Firewire (IEEE 1394) ports

Supposedly, USB defaults to IRQ 10. I have seen many exceptions. It doesn't really matter, since USB and Firewire are cabable of IRQ sharing. As long as it works, who cares?


Back Next

Copyright © Michael Ward 1999 - 2009