PC Hardware

Development of the Expansion Bus

As discussed earlier in Tutorial 4, "The Central Processing Unit," every device in the computer-RAM, the keyboard, network card (NIC), sound card, and so forth-is connected to the external data bus. Expansion slots on the motherboard are standardized connections that allow the installation of devices not soldered to the motherboard. The function of an expansion slot is to provide configuration flexibility when devices are added to a computer.

Whether a device is soldered to the motherboard or connected through an expansion slot, all integrated circuits are regulated by a quartz crystal. The crystal sets the timing for the system, giving all parts access to a common reference point for performing actions. Most CPUs divide the crystal speed by two. (If the CPU has a 33-MHz speed, a 66-MHz crystal is required.) Every device soldered to the motherboard-keyboard chip, memory controller chip, and so on-is designed to run at the speed (or at half the speed) of the system crystal.

CPU speeds increased as technology improved, while the speeds of expansion cards remained relatively constant. It was not practical to redesign and replace every expansion card each time a new processor was released-this would have been complicated and expensive for manufacturers. (And, of course, the additional expense would have been passed along to the consumer.) The commitment of the industry to maintain backward compatibility further complicated design tasks, because any new technology would have to run the older, slower devices.

To resolve this dilemma, designers have divided the external data bus into two parts:

  • System bus: This supports the CPU, RAM, and other motherboard components. The system bus runs at speeds that support the CPU.
  • Expansion bus: This supports any add-on devices by means of the expansion slots and runs at a steady rate, based on the specific bus design.

Dividing the bus enhances overall system efficiency. Because the CPU runs off the system clock, upgrading a CPU requires changing only the timing of the system bus, while the existing expansion cards continue to run as before. There is usually a jumper setting that changes the system clock speed to match the CPU. The ability of the motherboard to make this change sets the limit for the processor speed. Next, we take a look at the evolving types of expansion buses.