A+ Certification/Exam Objectives/Hardware/Basics/CPU/IRQ
Interrupt Requests (IRQ) are hardware lines which devices can send interrupt signals to the CPU. When a new device is added to a PC an IRQ number should be set manually by using a DIP switch. This specifies which interrupt line the device may use. IRQ conflicts used to be a common problem before Plug-and-Play.
- IRQ0: The interrupt reserved interrupt for the internal system timer. Used exclusively for internal operations this is not available to peripherals or other devices. A conflict on this interrupt indicates a hardware problem on the system board.
- IRQ1: This interrupt is used only for the keyboard/keyboard controller. A conflict on this interrupt indicates a hardware problem on the system board.
- IRQ2: This interrupt is a cascade for IRQs 8 to 15 allowing the use of extra IRQs 8 to 15. When used as a linkage between the two interrupt controllers, this means that IRQ2 is no longer available for typical use. Conflicts on this line come from trying to use a device on IRQ2 and another on IRQ9 at the same time.
- IRQ3: This interrupt is used for COM2 and COM4 (second serial port and fourth serial port). It is a popular option for modems and sound cards. Modems often come pre-configured to use COM2 on IRQ3. Conflicts are common on IRQ3. The two biggest problem areas are: modems that attempt to use COM2/IRQ3 and clash with the built-in COM2 port, and second systems that attempt to use both COM2 and COM4 simultaneously on the same interrupt line. The problem can be avoided by changing the conflicting device to a different interrupt.
- IRQ4: This interrupt is used for COM1 and COM3 (first and third serial port). This is also an option for modems, sound cards, and other devices. Conflicts are somewhat common on this interrupt, the biggest problems being modems that attempt to use COM3 and clash with COM1 and systems that try to use COM1 and COM3 at the same time on the same interrupt line.
- IRQ5: This interrupt is usually used for LPT2 (second parallel port) or a sound card. This interrupt is commonly the only free interrupt below IRQ9 and is the first choice for devices that would conflict with other IRQs.
- IRQ6: This interrupt is most commonly used by a floppy disk controller. Conflicts arise from an incorrectly configured peripheral card.
- IRQ7: This interrupt is usually used by LPT1 (first parallel port) which is typically used for printers. The most common conflicts arise if you are using two parallel ports and they both try to use IRQ7, but this is unusual.
- IRQ8: This interrupt is a reserved interrupt used only for the real-time clock timer. The timer is used by software programs to manage events that must be calibrated to real-world time. There is rarely a conflict in this interrupt.
- IRQ9: This interrupt is usually an open IRQ and is most often used by peripherals, specifically network cards. If you are trying to use IRQ2 then you cannot use IRQ9.
- IRQ10: This interrupt is typically used by network cards, sound cards, SCSI host adapters, secondary IDE channels, and PCI devices. This is one of the easiest IRQs to use because it is rarely contested by other devices.
- IRQ11: This interrupt can be used by network cards, sound cards, SCSI host adapters, secondary IDE channels, and PCI devices. This line is usually open and is usually not contested by many devices.
- IRQ12: This interrupt is typically used by a PS/2 mouse, but can also be used by network cards, sound cards, SCSI host adapters, VGA video cards, and PCI devices. Not contested by many devices.
- IRQ13: This interrupt is a reserved interrupt for the math coprocessor. It is used only for internal signaling and is not available for use by peripherals. Because it is a dedicated interrupt line there should never be any conflicts.
- IRQ14: This interrupt is used by the primary hard drive controller. Problems with IRQ14 are rare.
- IRQ15: This interrupt is used by the secondary hard drive controller. Problems result from assigning a peripheral to this interrupt while not disabling the secondary hard drive controller.