What are IRQ (Interrupt Request Channels) and DMA (Direct Memory Access Channel)?

By | September 30, 2021

System Resources are components that are used to required to communicate between hardware components in a PC. They need to configure and set up properly for different devices to communicate between them. Proper allocation of system resources will avoid any hardware conflicts that would disturb the working of various devices in the system. Some are the system resources that can be configured include the-

What are Interrupt Request Channels (IRQ)?

The expansion for IRQ is Interrupt Request. Different Hardware uses IRQ signal to the processor to catch its attention. For example, whenever a key is pressed, IRQ 1 Generated. This is an indication to the processor the press of a key even occurred and data is ready to be sent to the CPU. In printers, whenever the printing job is completed in IRQ 7 signal (LPT 1) generated by the different devices cannot send to the same channel hence there are unique channels allowed for specific devices. In earlier days fro new devices introduced to the system, the user should configure IRQ channels manually. But advancements in technology concepts called plug and play emerged which permitted automatic configuration of the system resources.

There were 8 IRQ channels used in the previous XT system (before 80286), 16 IRQ channels were used. The two interrupts controller were cascaded to avoid any technical problem. The Channel 1 2 of the first interrupt controller is cascaded to channel 9 of the second interrupt controller. For example, if a hard drive raises an interrupts then it uses to second interrupt controller and used IRQ 14.

The interrupts signal is then sent to the first interrupt controller using the IRQ 9 which is linked to IRQ 2 of the first interrupt controller. The first interrupt controller then sends the interrupt signal to the CPU.

There are 16 IRQ channels numbered IRQ0 TO IRQ 15. When an interrupt signal is generated from any of the I/O devices, the CPU suspends the current operational and special routine transfers to the control of the interrupt vector table. The interrupt vector table stores the IRQ channel and memory address of the corresponding interrupt service routine.

The control is now directed to a specific Interrupt Service Routine. The ISR of the corresponding interrupt is executed and control is returned back to the CPU to execute the suspended programs. IRQ channels are associated with different devices.

IRQ Channe numberUsed BY
IRQ0System timer
IRQ1Keyboard
IRQ2Cascade Controller
IRQ3COM2 /COM4
IRQ4COM1 / COM3
IRQ5Sound Card, Parallel Port 2 LPT2
IRQ6Floppy
IRQ7LPT 1
IRQ8Real-Time Clock
IRQ9Redirected to IRQ 2
IRQ10Available for other Devices
IRQ11SCSI, Video
IRQ12Available
IRQ13Coprocessor
IRQ14Primary IDE
IRQ15Secondary IDE

What is Direct Memory Access Channels (DMA)?

Direct Memory Access is a technique where the data is transferred between the peripheral device and memory without the intervention of the CPU. This increases the speed of processing. DMA channels are used by the different devices to transfer data at high speed.

Devices connected to serial and parallel ports do not use DMA channels whereas the sound card and SCSI adapter use DMA channels for processing data. Each device should use a unique channel. For example, if the network and Tape adapter are using the same DMA channel, then it is not possible to use both devices at the same time. Hence these conflicts should take care of when configuring devices.

DMA Channels Availability
00Available
01Sound Device
02Standard Floppy Disk controller
03Available
04Direct Memory Access Controller
05Available
06Available
07Available

Leave a Reply

Your email address will not be published. Required fields are marked *