|Home > All Tips > PC Hardware
IRQs, DMA Channels and I/O Addresses
Dec. 5, 2011 - Jim Bernstein
There are many types of configurations that need to be done behind the scenes with your computer and its hardware in order to get it working correctly. Thankfully the computer and operating system take care of most of this for us but sometimes you will need to make some changes yourself in order to get things working the way they should. Knowing about IRQs, DMA Channels and I/O Addresses will give you a better understanding of what's going on with these behind the scenes configurations.
An IRQ (interrupt request line) is a hardware line which devices can send interrupt signals to the microprocessor. Think of it as an assigned location where the computer can expect a particular device to interrupt it when that device sends the computer signals about its operation.
When installing and removing hardware devices, the system relies on interrupt requests. There are default settings that are configured in the system BIOS and recognized by the operating system. Plug and Play technology has reduced the need for concern for these settings and virtually eliminated manual configuration in modern computers and operating systems. Here are the most common IRQ assignments. for AT, 386, 486, and Pentium Computers.
0 System Timer
1 Keyboard Controller
2 Tied to IRQs 8-15
3 COM 2
4 COM 1
5 LPT2 or Sound Card
6 Floppy Diskette Controller
7 LPT 1
8 Real Time Clock
9 Substitutes for IRQ 2
10 Not Assigned
11 Not Assigned
12 PS/2 Mouse Port
13 NPU (Numerical Processing Unit)
14 Primary Hard Disk Controller
15 Secondary Hard Disk Controller
DMA (direct memory access) channels are used for transferring data from main memory to a device without passing it through the CPU (processor). DMA channels allow data to be transferred much faster than devices that don’t use DMA and frees up resources for other devices. Here are some commonly assigned DMA channels.
0 Assigned internal to the system board, you shouldn't be able to use it. (8-bit transfer)
1 No specific assignment, although its usually used for sound cards, or SCSI host adapters.(8-bit transfer)
2 Assigned to the diskette drives.
3 No specific assignment. Common for sound cards, network interface cards, or SCSI host adapters.(8-bit transfer)
4 No specific assignment
5 No specific assignment. Sound Blaster cards generally use this DMA channel. (16-bit transfer)
6 No specific assignment (16-bit transfer)
7 No specific assignment (16-bit transfer)
An I/O channel is a 3 digit hexadecimal number used to identify and signal a peripheral device. They handle the transfer of data between internal memory and peripheral equipment. Here are the I/O Address of Common Devices.
130h Used for SCSI host adapters
140h Used for SCSI host adapters
170h Secondary IDE Interface
1F0h Primary IDE Interface
220h Typically used for Sound Blaster-type sound cards
240h An alternate address for sound cards
278h Assigned to LPT2 or LPT3 and generally used with IRQ 5
280h Network Interface cards or the Aria Synthesizer
2A0h An alternate address for NIC cards or the Aria Synthesizer
2E8h Assigned to COM 4 and used with IRQ 3
2F8h Assigned to COM 2 and used with IRQ 3
300h Another Network Interface Card choice
320h A good place for a Network card, unless there is a SCSI host adapter or MIDI device
330h A common place for the SCSI host adapters
340h Another good alternative for the SCSI host adapter
360h A Network card choice, but beware of the first parallel printer port, this could be a conflict.
378h The first parallel printer port (LPT 1) in color systems, commonly used with IRQ 7.
3BCh The first parallel printer port (LPT1) in monochrome systems, beware you may have problem assigning this address to a printer port in Windows 95.
3E8h Assigned to COM 3 and used with IRQ 4
3F8h Assigned to COM 1 and used with IRQ 4