Hardware conflicts within a system are one of the primary reasons why
a computer ceases to function normally and throws the user into PC HELL.
The ability to resolve these conflicts is essential in keeping a computer
operating properly. This will attempt to explain what IRQ's, DMA's,
and Memory Addresses are and their function within the computer.
IRQ's are hotlines to the main computer (CPU) that allow devices connected
to the computer to signal the CPU that they need immediate attention.
If you're a Batman fan, think of IRQ's as the Batphone - getting his attention
immediately.
Not all devices require IRQ lines, which is good news because in modern
(post IBM XT) computers, we only have 16 of them.
Of those, 3 are already dedicated to the main system board itself - the system
timer, keyboard, and memory parity error signal.
That leaves only 13 for all the other devices connected to your computer.
This is why IRQ conflicts are probably the #1 problem faced by computer users
when they add hardware to their computer.
Its a general rule for ISA-type systems (the standard computer architecture
used in most IBM compatible systems)
that IRQ lines CANNOT by shared with multiple devices except under special circumstances.
For this reason, a good understanding of what IRQ's are assigned to what devices
is essential in avoiding conflicts.
The table below is a general outline for standard IRQ assignments.
IRQ DEVICE USED in 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
Depending on the computer's configuration, add-in devices such as SCSI controllers,
sound cards, modems, cd-roms, etc.
will want an IRQ line that is already used by another device, and thus we have
what is commonly referred to as an IRQ Conflict.
The most common IRQ conflicts seem to be between two COM ports, generally a
mouse and modem conflict
that ends up freezing the mouse whenever the modem is activated.
The table below explains each IRQ and the most common devices each may use.
IRQ Devices used and potential conflicts
0 This IRQ is used within the system board for system timing. If a conflict
arises with this IRQ chances are the system board is bad, use a diagnostic program
to determine
if this is the case.
1 This IRQ is assigned to the keyboard. Its never available to other
add-in cards. Again if this is the problem, its most likely a problem with the
system board.
2 This IRQ was assigned to older EGA video cards. Beware, IRQ 9 uses
IRQ to communicate with the CPU, therefore this IRQ should only be used under
extreme circumstances.
3 This IRQ is assigned to the serial ports: COM 2, and COM 4. Avoid setting
other devices
to this IRQ since mice, modems, and other devices are set to use this IRQ.
4 This IRQ is assigned to the serial ports: COM 1, and COM 3. Remember IRQ lines
for the most part cannot be
shared, so generally you can't have devices on COM 1 and COM 3 that are both
active and working.
5 This IRQ is assigned to a secondary printer port LPT2, but in the absence
of a second printer port,
it is used primarily for sound cards, or as an alternative IRQ for the COM ports.
6 This IRQ is assigned to the diskette controller. Few if any devices
leave this IRQ as an option, since most systems have a floppy drive built into
them.
7 This IRQ is assigned to the first parallel port LPT1, its also made
available to other add-in cards, but should not be used for anything except
the printer port to avoid conflicts.
8 This IRQ is reserved for the internal real-time clock. This line is
never available to other add-in cards. If there is a conflict here, its an indication
of a motherboard problem.
9 This IRQ uses IRQ 2 to talk to the CPU, so it has a high priority. Its generally
used for network cards.
10 This IRQ is left open for network cards, sound cards, SCSI host adapters.
11 This IRQ is a common one for SCSI host adapters, but can also be used for
a variety of other devices.
12 This IRQ is used for the PS/2 style mouse port included on many motherboards.
If the PS/2 mouse port is enabled in the system's setup program, and you're
using a PS/2 connection mouse,
don't use this port for anything else, otherwise its an available one.
13 This IRQ is reserved for the Numeric Processing Unit (math coprocessor).
It is never available for anything else.
14 This IRQ is assigned to the primary hard drive interface
15 This IRQ is assigned to the secondary hard drive interface.
Plug and Play systems may make their own choices concerning how DMA assignments
are made. Under Windows 9x, the only place to make PnP resource assignment may
be
under the specific device's Resource tab within Device Manager in the System
Properties
of the Control Panel. The table below shows the most common settings for Direct
Memory Access
(DMA) channels.
Devices commonly assigned:
0 Assigned internal to the system board, you shouldn't be able to use it.
1 No specific assignment, although its usually used for sound cards, or SCSI
host adapters.
2 Assigned to the diskette drives.
3 No specific assignment, although its again a common choice
for sound cards, network interface cards, or SCSI host adapters.
4 No specific assignment
5 No specific assignment, however Sound Blaster-type cards generally use this
DMA channel
6 No specific assignment
7 No specific assignment
Within the computer's memory map, certain memory addresses are generally used
for certain things.
Listed below you will see the common I/O addresses with problems, and
what hardware should be assigned to what address. These addresses are in hexadecimal
format.
I/O Address Common Device using Address
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
After the installation of most hardware, if the system starts to freeze or the
additional device does not operate properly,
its probably caused by a conflict with the IRQ, DMA, or I/O address regions
of the new card.
With a thorough understanding of which devices use which system resources,
generally a solution can be worked out to allow the new device to work properly.