Understanding PC Data Buses
By Stephen Bucaro
Physically, a "data bus" is the connection between the CPU and other devices on the
PCs motherboard. A data connection can be "serial" or "parallel". With a basic serial
connection, you need only one wire or copper trace because the data bits are sent
one at a time down the connection path. In practice a serial connection usually uses
several paths, the data on one path and control signals or power on other paths.
In early computers, we didn't call a serial data connection a "bus". When we referred
to a bus we meant a connection path with many parallel wires or copper traces. Eight
bits of data (called a "byte") where placed simultaneously on eight wires or traces.
It seemed similar to loading people on a bus and then the bus leaving, with all eight
people traveling together. As you can imagine, with eight connections you could move
data much faster.
• As a side note, today's computers are so fast that signals tend
to radiate from the wires. In a parallel bus like the hard drives ATA bus, this causes
interference between the connections, limiting the speed of the bus. For that reason,
today's hard drives use SATA, a serial data path, to achieve higher speed.
The data bus used in first-generation PCs used 8-bit architecture. In order for
expansion cards to connect to the data bus, connectors called "slots" were placed
on the motherboard. To add a peripheral device, you would open up the PC's case and
plug a card into the bus. Expansion slots are still used on motherboards today, but
most peripheral device connect outside the case via USB connections.
The 8-bit bus ran at 4.77 MHz. In 1984 IBM released a 16-bit bus and called it
the AT bus (for Advanced Technology). The AT bus ran at 6 MHz in early models and
8 MHz in later models. In 1988 IBM released a 32-bit bus running at 8 MHz. They
renamed the AT bus to "ISA" for Industry Standard Architecture, and named the
32-bit bus "EISA" for Extended Industry Standard Architecture.
In 1987, IBM replaced the AT bus with their proprietary Micro Channel Architecture
(MCA) in an effort to regain control of the PC architecture and the PC market. At
about the same time many other bus architectures were released, like the VESA Local
Bus and AGP. All these strange architectures where blown away in 1993 when Intel,
Compaq and Digital released the PCI (Peripheral Component Interconnect) bus.
The PCI bus provides 32-bit or 64-bit configurations, and by reducing the operating
voltage to 3.3 V it was able to operate at 66 MHz and 133 MHz. The PCI bus also
has other advanced features like the ability to share hardware interrupts (IRQs).
The ISA architecture did not allow the sharing of interrupts and because on a PC
there are a limited number of hardware interrupts, this caused IRQ conflicts.
Another way that PCI helps eliminate IRQ conflicts is that it has the ability to
identify circuits that need to be allocated interrupts. If a PC has a "Plug and Play"
capable operating system and BIOS, it will automatically configure IRQs and other
resources for the system.