What is an IRQ?

 What is an IRQ ? 8-bit Programmable Interrupt Controller IRQ
Interrupt Request
     An IRQ is a signal from a piece of hardware (such as a keyboard or sound card) indicating that it needs the CPU to do something. The interrupt request signals run along the IRQ lines to an interrupt controller that assigns priorities to incoming IRQs and delivers them to the CPU. Since the interrupt controller expects signals from only one device per IRQ line, if you have more than one device sending IRQ signals along the same line, you get an IRQ conflict that can lock your system.
     The IRQ structure in today's PC's goes all the way back to the Intel 8086 processor and the Intel 8259 Programmable Interrupt Controller (1979). The 8259 can control eight IRQ lines. When IBM came out with the XT computer with an 8080 processor and 8-bit expansion bus, it used one 8259, the top chip. Later IBM came out with the 286 AT computer with an a 16-bit expansion bus and two 8259's. The INT signal (Interrupt--prioritized interrupt) of the second 8259 was connected to the old IRQ2 pin on the first 8259 and the IRQ 2 line was plugged into IRQ 9 on the new 8259. The old 8-bit bus lives on in the 16-bit ISA expansion slot on your PC, which is really an expanded 8-bit socket with additional pins to bring it to 16-bits in front of it. And the old 16 IRQ structure still governs those PCI slots. Of course, the functions of 8259 have long since be incorporated into the large chipsets on today's motherboards.
     IRQs are prioritized and serviced in priority order by the CPU as determined by the controller. As IRQs 8 through 15 trigger IRQ2 on the top 8259, thus, they have a higher priority than IRQs 3 through 7. Any expansion board that is set to use IRQ 2 is really using IRQ 9. Some boards lable/depict it as IRQ 2, others IRQ 9, and still others IRQ 2/9. No matter what it is called, one must not set two ISA boards to the very same IRQ.

Standard Default Assignments For Serial Ports On The IBM PC
PORT COM1 COM2 COM3 COM4
ADDRESS 3f8 2f8 3e8 2e8
IRQ 4 3 4 3

Standard IRQs And Default Or Typical Uses
IRQ0 timer tick
IRQ1 keyboard
IRQ2 I/O channel
IRQ3 COM2/COM4
IRQ4 COM1/COM3
IRQ5 LPT2, network card, sound card
IRQ6 diskette controller
IRQ7 LPT1, network card, sound card
IRQ8 real-time clock
IRQ9 software redirected to IRQ2
IRQ10 reserved
IRQ11 reserved
IRQ12 reserved
IRQ13 math coprocessor
IRQ14 primary hard disk port
IRQ15 secondary hard disk port


More on this subject
Beginner's Help
BUG Club Home

 What is an IRQ ? 8-bit Programmable Interrupt Controller IRQ