| I/O and Expansion Cards |
|
| If the brain of your computer is the CPU, its
buses are the nervous system. They are the common pathways by which the various components
of your computer send and receive data. Thinking about buses can be difficult, because
unlike many of your computer's other components, its buses are more virtual -- not having a real
physical piece of hardware to see, but rather being made up of wires and connectors. |
CPU

(Click to Enlarge) |
| There is a hierarchy of different buses in a computer, with slower ones
connecting to faster ones above them. I/O (input/output) buses connect the all the various
components of the system except RAM (sound board, graphics
board, network card, keyboard, parallel and serial ports, and so forth) to the CPU. The
system or processor bus connects the CPU to the motherboard's chip set.
A subset of the processor bus, the memory bus, connects your system's CPU with its main memory. |
RAM Module

(Click to Enlarge)
Chip Set

(Click to Enlarge) |
|
| I/O Buses
In a modern computer there are generally two or three different I/O buses: the ISA (industry
standard architecture) bus, which is an older and slower bus; the PCI (peripheral component
interconnect) bus, which is a newer and higher speed bus; and the USB (universal serial bus) bus,
which is a new, lower speed bus. A fourth type of I/O bus, the AGP (accelerated graphics
port) bus, is used exclusively for the graphics card. |
|
Buses can lead to internal or external ports (devices) or other bus controllers.
For example:
- ISA internal controller LPT1 can lead to a printer or a parallel port scanner.
- ISA internal controller COM1 can lead to a mouse, modem or other serial device.
- ISA internal controllers can also lead to a floppy drive or a keyboard.
- ISA adapters can lead to a sound card or other peripheral.
- PCI EIDE controller can lead to a hard disk, CD-ROM, or zip drive.
- PCI adapter can lead to a network card, sound card, modem, graphics accelerator, SCSI
controller, hard disk or scanner.
- USB ports can lead to a keyboard, digital camera or scanner.
|
|
| An expansion board, such as a PCI network
interface card, is used to extend the functionality of your computer. These cards provide a
link between your CPU and various peripherals. Most motherboards provide several ISA and
PCI slots for expansion boards. The different types of
I/O cards have their own slot configurations; you can not
accidentally put an ISA card in an PCI bus slot. Because
there is a limited number of each type of slot, you are limited to the number of such expansion
devices you can add to your system. The adapter card fits into the appropriate slot and it
gets connected to the I/O bus. |
PCI Board

(Click to Enlarge)
PCI Slots

(Click to Enlarge)
Configurations

(Click to Enlarge)
ISA Card

(Click to Enlarge) |
|
| Resource Conflicts
Expansion cards and the devices they support require the assignment of low-level system
resources so that they can communicate with the bus. These resources typically include the
following:
- Interrupt Request channels
- Direct Memory Access channels
- I/O Port addresses
|
|
As you add more expansion cards to your system you will find that the potential
for resource conflicts increases. And although Plug-and-Play systems should automatically
resolve resource conflicts, they sometimes do not. The most common symptom of a resource
conflict is that one of your computer's devices simply stops working. Other possible
symptoms might be:
- You can not format a floppy disk.
- Your mouse does not work.
- Your system hangs or freezes frequently.
- Your sound card does not sound right.
- Your printer prints garbage.
|
|
|
| IRQ
The IRQ (Interrupt Request) is used to regulate traffic across I/O buses. These are
sometimes called hardware interrupts. These interrupts allow the peripherals to communicate
with the CPU in an orderly fashion. Although PCI buses allow for shared IRQs, ISA buses do
not. So there is the potential for conflict between peripherals assigned the same IRQ.
A new ISA network card may have been preset by the manufacturer to have an IRQ of 9. If you
install it in your system and IRQ is already assigned to another device, you will have a conflict
and your system may not even start. |
|
| In modern systems the bus will support 16 interrupts, 15 of which are "available"
to the system. As our table of typical Interrupt Assignments
shows, the number of available interrupts is quite limited. |
|
|
| DMA
The second possible source of conflict is the DMA (Direct Memory Access) channel. This
allows an adapter to transfer data to the RAM directly, bypassing the CPU. These channels
are used by high-speed communications devices such as sound cards and SCSI adapters. |
|
| As our table of typical DMA Assignments shows, there are
eight DMA channels supported by modern systems. Typically five or six these are available.
Conflict can result if two devices request the same DMA channel. |
|
|
| I/O Ports
I/O ports enable communication between your computer's devices and software. The CPU has
assigned address "ranges" for its adapters, ports, and so forth. Driver programs are what
interact with devices via I/O ports. The driver must know what ports a device is using,
otherwise it can not work with it. Similarly, the device must know what ports the driver is
using. |
|
| As our table of commonly used I/O Port Addresses shows,
there are over 65,000 such ports (numbered using hexadecimal addresses 0000h to FFFFh).
Because there are so many ports, and because port assignments are widely standardized, I/O port
conflicts are rarer than IRQ and DMA conflicts. Motherboard and chip set devices are typically set
to use I/O port addresses from 0h to FFh; all other devices use from the 100h to FFFFh range.
Our table includes some adapter card examples. |
|
| A fourth type of resource conflict, the memory conflict, is described in the
Memory Troubleshooting section. |
|
| Device conflicts can be easily seen using Device Manager
in System Properties. Just look for yellow exclamation marks
or red "X" symbols. By
looking at the properties of a conflicted device you can tell
which resource assignment is causing the problem. |
Device Manager

(Click to Enlarge)
Conflict Symbols

(Click to Enlarge)
Properties

(Click to Enlarge) |
|
| Troubleshooting Resource Conflicts
Checking for IRQ, DMA channel, and I/O address conflicts can be difficult. Of the three,
the most common source of problems is the IRQ, because there are few of them and they are in high
demand. As we've shown, your computer has only a limited number of these resources for
use by various devices, and no two devices can use the same resource without causing conflict.
Classic signs of resource conflict are:
- System fails to boot.
- System freezes during boot.
- System freezes during operation for no apparent reason.
- Erratic device behavior.
|
|
Fortunately, resource conflicts are almost always the result of an incorrect
upgrade. If the following rules are all true, it is likely you have a resource conflict:
- A piece of hardware and/or software was recently added to the system.
- The trouble occurred after a piece of hardware and/or software was added to the system.
- The system was working fine before the hardware and/or software was added.
|
|
| If you experience such symptoms after you installed a new
expansion card, it is likely that the new card is causing the conflict.
Similarly, if the symptoms occurred after installing new software, it is probable that the
software is causing the conflict. If two similar devices are not working (like your system's
keyboard and mouse) it is likely that they are conflicting with each other. By far the most
common causes of resource conflicts are sound cards and SCSI adapters. This is because both
(especially sound cards) use an enormous amount of resources. |
Expansion Card

(Click to Enlarge) |
The following set of procedures can help you to troubleshoot such device
conflicts when they occur after installing a new expansion device. Before starting, have all
your system and adapter card manuals handy, and make sure that you write down your system's
current settings, so that you can go back to the original configuration if necessary.
Follow the cardinal rule of only making one change at a time, then testing the result.
- Some computer viruses may appear to be resource conflicts. Always run a virus check
before going on to more difficult conflict resolution steps.
- Right-click on the My Computer icon on your desktop and
go to Properties.
- Click on Device Manager and select the new device.
You may need to expand the device's entry by clicking on the [+] symbol to the left of the
component's category.
- If the new device has a yellow exclamation mark or red "X" symbol
flagging it, that means it is conflicting with another device.
- Use the Properties Resource tab to see what is causing the conflict.
- Change the conflicting resource. This change may be a hardware-based physical change
(for example, the IRQ on your new device as set by jumpers) or a software change made in the
setup program.
- Shut down your system, re-install the device, and run the setup software.
|
My Computer

(Click to Enlarge)
Device Manager

(Click to Enlarge)
Conflict Symbols

(Click to Enlarge) |
| Window's Device Manager is a good tool to
help you troubleshoot IRQ, DMA and I/O address conflicts. By double-clicking on the Computer
entry at the top of the Device Manager listing, you can View Resources
and easily see all the IRQs, I/O ports, DMA channels and memory addresses in your system, and the
devices using them. |
Device Manager

(Click to Enlarge)
View Resources

(Click to Enlarge) |
If the newly installed expansion device is a PCI adapter:
- Use Device Manager in System Properties to look for a yellow
exclamation mark or red "X" symbol indicating a device conflict.
- Use the Properties of a conflicted device to see which
type of system resource is causing the problem. For most PCI cards this will be an IRQ
conflict.
- Some motherboards let you use your CMOS BIOS to change IRQs assigned to PCI slots. If
you have a conflict between an ISA card and a PCI slot, you can try fixing it in your CMOS BIOS
Setup.
|
Conflict Symbols

(Click to Enlarge)
Properties

(Click to Enlarge) |
| A bargain-basement or non-standard PCI card
(especially in combination with a cheap motherboard) can cause problems with IRQs and lead to IRQ
conflicts. If you just can't get a new PCI controller to work on your system, you might try
it on another computer. If your problems persist, you may need to replace the PCI card. |
PCI Card

(Click to Enlarge) |
|
| Plug-and-Play
Plug-and-Play (PnP) was a real revolution in computer technology. Despite the jokes that
call it "Plug-and-Pray", it has reduced the need for computer users to mess with dip switches and
jumpers each time they add a new device to their system. Most new systems come ready to support
Plug-and-Play with PnP compatible hardware, BIOS, and operating system (all three are necessary to
full PnP compliance). |
|
But even Plug-and-Play hardware can cause IRQ conflicts. Sometimes PnP can
mis-detect, or simply not detect new hardware -- especially the first time you try to install it.
If you get a conflict during the initial install for a PnP device:
- Go to Device Manager, remove the device manually and
then try again by restarting your system and going through the device detection routine.
- Make sure you have the most current drivers for your new device. Even if you just
bought it, the box may have been sitting on the shelf for some time and chances are good that
newer drivers may be available. It is always best to use the most current device drivers
that you can obtain.
- If the new device is not automatically detected, you will need to use the Add New Hardware
wizard.
|
Device Manager

(Click to Enlarge) |
If this doesn't work you can try the following steps to change the automatically
set resource assignments to those you enter manually:
- Make sure you have the most current drivers for your new device. Even if you just
bought it, the box may have been sitting on the shelf for some time and chances are good that
newer drivers is available. It is always best to use the most current device drivers you
can obtain.
- Double-click on the new device's entry in Device Manager.
Go to the Resources tab and clear the Use Automatic Settings box. Double-click on
the IRQs, I/O ports, and UMBs (upper memory blocks) that the Device Manager says are in conflict
with other devices on your computer.
- Use the Edit Resource dialog to make new entries --
Device Manager should limit your choices to values that are supported by your device, and warn
you of further conflicts between the newly entered values and any other device assignments.
When you have successfully changed the conflicting assignments, exit out of the dialog by
clicking on "OK" and reboot your system.
|
Device Manager

(Click to Enlarge)
Edit Resource

(Click to Enlarge) |
| If you disable a PnP device in CMOS Setup and its resources are not freed.
Disabling the device in your system's CMOS Setup is not enough, you must first make sure you
disable it from Windows Device Manager: |
|
|