A data bus is a computer subsystem that allows for the transferring of data from one component to another on a motherboard or system board, or between two computers. This can include transferring data to and from the memory, or from the central processing unit (CPU) to other components. Each one is designed to handle so many bits of data at a time. The amount of data a data bus can handle is called bandwidth.
A typical data bus is 32-bits wide. This means that up to 32 bits of data can travel through a data bus every second. Newer computers are making data buses that can handle 64-bit and even 96-bit data paths. At the same time they are making data buses to handle more bits, they are also making devices that can handle those higher bitrates.
Bus Controllers
In the early days of the personal computer, manufacturers created motherboards with data buses that were directly connected to the computer's memory and peripherals. These electrical buses were designed to run parallel to each other and had multiple connections. This direct connection was problematic for a number of reasons, but especially because all devices were forced to run at the same speed.
To eliminate this problem, developers used a bus controller to separate the CPU and memory from the peripheral devices, allowing CPU speed to be increased without requiring the same increase in peripheral speeds. This system also allowed expansion cards to speak to each other without going through the CPU, leading to quicker data transfer. All devices still must speak to each other at the same speed, however, so low bus speeds may slow an entire computer system.
Parallel and Serial Data Buses
Modern computers use both parallel and serial data buses. Parallel data buses carry data on many wires simultaneously. Each wire, or path, as they are sometimes called, carries one bit of data. The most common parallel buses found in computers today are the ATA, which stands for Advanced Technology Attachment; the PC card, which stands for personal computer and is used in laptops, and the SCSI, or Small Computer System Interface. A serial data bus has one wire or path, and carries all the bits, one after the other. The most common serial data buses include the USB, also known as the Universal Serial Bus; FireWire; Serial ATA; and Serial Attached SCSI.
Internal and External Data Buses
Nearly every computer contains internal and external data buses. The internal data bus, also known as a local bus, connects all components that are on the motherboard, like the CPU and memory. The external data bus connects all peripheral devices to the motherboard. A variety of different external data buses are available; the appropriate type of data bus depends on the peripheral being attached to the computer.