Glossary
of
Terms

What's Inside
ESD
integrated circuits
motherboard
CPU
math coprocessor
cache
clock speed
system bus
external bus
CPU revisited
memory
hard drives
disassembly
reassembly

Expansion Bus Configuration
Bus or expansion card configuration refers to the assigning of system resources (DMA channels, IRQs, and I/O addresses) for each device that is added to your system.

When configuring a device for the computer, you have to tell it which IRQ to use when it wants to get the attention of the CPU. It has to be assigned a segment in memory (I/O address) where it can exchange information with the rest of the computer. If it has the capability of handling its own data transfers, it needs to know which DMA channel it can use. These resources used to be assigned manually, by moving an array of jumpers on the circuit board or setting DIP switches. Because of the possibility of literally hundreds, or even thousands, of different configurations, the device's manual is essential. Sometimes, the information may be silk-screened onto the board. (But I can just about guarantee it won't be, if you don't have the manual.)

It should be fairly obvious that different devices shouldn't have the same IRQ, DMA channel, or I/O address. When the computer boots up, the BIOS checks any installed card for the jumper settings and places that configuration information into a specific area in memory (the first 64K of available memory) known as the vector table. This is where the CPU looks to find configurations, and two devices with the same settings will cause problems. If two devices are configured to use the same IRQ, for example, the CPU would only get confused as to which one is requesting its attention. Then, only one of the devices may work properly, or neither may work. Your computer may freeze up, or it may not even boot properly. This is an IRQ conflict, and can be difficult to find and resolve. In a very few situations, certain, similar devices can share the same IRQ as long as they aren't used at the same time.

Each device must have its own I/O address and DMA channel (if it requires one) for the same reason, or resource conflicts will make the device unusable, or stop your computer dead in its tracks. Because these resources are limited, and some are reserved by the system, it sometimes took long sessions of trial and error and experimentation to properly configure some devices manually, using DIP switches or jumpers.

Today, configuration can be done through software programs that come with the device, or Plug And Play (which is supposed to assign these resources automatically when your computer boots up). For PNP to operate properly, your device must be PNP, your BIOS must be PNP, and your operating system must be Plug And Play compatible (Windows95+). Another problem that can arise here is when the technologies overlap. Say, the device has jumpers set, but the user is trying to configure it through software. Or maybe, the resources are allocated through software, and when you reboot your machine, PNP reconfigures the device. Problems and resource conflicts can also arise with Plug And Play when all the requirements for PNP are not met.

Any device that is not Plug And Play is now called a legacy device. When a computer boots up, the settings for these devices are allocated first (forced settings) so that the system knows what resources are left for Plug And Play devices.

continued...