Types of Buses in Computer Architecture

Every bus has three distinct channels of communication. The address bus, which is a unidirectional pathway that allows information to travel in only one direction, carries information about where data will be stored in memory.

The data bus is a bidirectional pathway that carries the actual data (information) to and from the main memory.

The control bus carries the control and timing signals needed to coordinate the activities of the entire computer. Think of this as a traffic cop.

Table 1: Three Components of a Bus

Bus Type Description
Address bus A unidirectional pathway – information can only flow one way
Data bus A bi-directional pathway – information can flow in two directions
Control bus Carries the control and timing signals needed to coordinate the activities of the entire computer

ISA Bus

The Industry Standard Architecture (ISA) bus is one of the oldest buses still in use. Even though it’s been replaced with faster buses, ISA still has a lot of legacy devices that connect to it like cash registers, Computer Numerical Control (CNC) machines, and barcode scanners.

8 and 16-bit ISA expansion slots

Figure 1: 8 and 16-bit ISA expansion slots

ISA remains largely unchanged since it was expanded to 16 bits in 1984. To avoid performance issues, it was augmented with additional high-speed buses. ISA persists because of the enormous base of existing peripherals.

8-bit ISA board

Figure 2: 8-bit ISA board

EISA Bus

Extended Industry Standard Architecture or EISA is an upgrade to ISA. It doubled the data channels from 16 to 32 and allowed more than one CPU to share the bus. Even though it is deeper than the ISA slot, it is the same width which allows older devices to connect to it.

If you compare the pins (the gold part of the card that goes into the slot) on an ISA to an EISA card, you will see the EISA pins are longer and thinner. That is a quick way to determine if you have an ISA or an EISA card.

EISA expansion slots

Figure 3: EISA expansion slots

Devices such as SCSI Host Bus Adapters (HBAs), network cards, or cash registers connect through EISA. EISA is much better suited for bandwidth-intensive tasks such as disk access and networking and has the following characteristics:

  • Extends the ISA bus to 32 bits
  • Allows more than one CPU to share the bus
  • Bus mastering support was enhanced to provide access to 4 GB of memory

16-bit EISA card

Figure 4: 16-bit EISA card

VESA Local (VL) Bus

The ISA bus quickly became a bottleneck as graphics processors; even the 32-bit EISA was not able to help that much.

The Video Electronics Standards Association (VESA) Local bus was created to split the load and allow the ISA bus to handle interrupts and port I/O (input/output) and the VL bus to work with Direct Memory Access (DMA) and memory I/O. Because of its size and other considerations, this was only a temporary solution. The PCI bus quickly superseded the VL bus.

VL bus expansion slots

Figure 5: VL bus expansion slots

A VESA card has an additional set of pins and it is longer than ISA or EISA cards. Created in the early 90’s, it has a 32-bit bus and it was a temporary fix developed to help improve the performance of ISA.

VL bus board

Figure 6: VL bus board

PCI Bus

The PCI bus was developed to solve the issues previously discussed about ISA and VL-bus technology. PCI has a 32-bit data path and runs at half the system memory bus speed. One of its upgrades was it provided direct access to system memory for connected devices. This increased the performance of computers while eliminating the potential for interference from the CPU.

Today’s computers have mostly PCI slots.

PCI expansion slots

Figure 7: PCI expansion slots

PCI is considered a hybrid between ISA and VL-Bus which provides direct access to system memory for connected devices. It uses a bridge to connect to the front side bus and CPU and is capable of higher performance while eliminating the potential for interference with the CPU.

Also called the PCI Local Bus, this bus’s speed can be 32-bit or 64-bit. The 64-bit speed again improves the speed of moving data through the system.

A motherboard can have up to five PCI slots allowing you to connect five external components to one controller. The PCI bridge chip regulates the speed of the PCI bus independently from the CPUs speed. This provides a higher degree of reliability because PCI hardware manufacturers know what specifications have to be met.

PCI board

Figure 8: PCI board

AGP Bus

The Accelerated Graphics Bus (AGP) was created to handle the increased graphics requirements of computers. It has a 32-bit wide data path and runs at full bus speed. This doubled the bandwidth over PCI and eliminated having to share the bus with other components. This means that on a standard motherboard, AGP runs at 66 MHz instead of the PCI bus’s 33 MHz. This immediately doubles the bandwidth of the port in addition to not having to share that bandwidth with other PCI devices.

AGP expansion slots

Figure 9: AGP expansion slots

AGP has a base speed of 66 MHz which doubles the speed of PCI. In addition, you can get slots that run into 2X, 4X, and 8X speeds. This makes an 8x expansion slot have a clock speed of 533 MHz. It also uses special signaling to allow twice as much data to be sent over the port at the same clock speed.

AGP Video Card

Figure 10: AGP Video Card

PCI Express (PCIe)

The latest slot added is PCI Express (PCIe). It was created to replace the AGP and PCI buses. It has a 64-bit data path and a base speed of 133 MHz, but its real performance enhancement was the addition of full duplex architecture. This allowed the card to run at full speed in both directions at the same time.

PCI Express slots run at 1X, 4X, 8X, and 16X giving PCI the fastest transfer speed of any slot type. The multiplier indicates the maximum transfer rate.

PCI Express Slots

Figure 11: PCI Express Slots

PCI Express is backward compatible allowing a 1X card to fit inside a 16X slot.

4x PCI Express Board

Figure 12: 4x PCI Express Board

Summary

Each host is made up of two busses: a system bus and a shared bus. Each bus has three components: address bus, data bus, and control bus.

Throughout the years, the size and speed of the expansion slots that connect external cards to one of the buses have varied. Cards and their expansion slots have improved from the original ISA to EISA and VESA, to the most current PCI.