Bus

A bus is a communication system that transfers data between components inside a computer, or between computers.

A bus can be thought of as a kind of pipeline that allows different components of the computer to communicate with each other.

Note that the use of the word “bus” varies somewhat in points of emphasis. A bus can mean:

  • The physical wires that make up the bus
  • The communication channel that is established over those wires

Main buses

Bus typeDescription
System busThe primary pathway between the CPU and Memory. It comprises the data bus that transfers data from the memory to the CPU and the address bus which transmits requests from the CPU to memory.
Internal busConnects local devices for example the harddisk to the CPU.
External busConnects peripheral devices such as disks and printers to the motherboard
Expansion busAllows expansion boards to access the CPU and memory.
Frontside busMain computer bus that determines data transfer rate speed and is the primary data transfer path between the CPU, RAM and other motherboard devices.
Backside busTransfers secondary cache (L2 cache) data at faster speeds, allowing more efficient CPU operations

Bus standards

Parallel and serial transmission types

There is a distinction between buses that use serial and buses that use parallel transmission. They are distinguished by the way in which the bits are transferred from one point to another, along the bus.

Serial Transmission is the type of transmission in which a single communication link is used to transfer the data from an end to another. On other hand Parallel Transmission is the transmission in which multiple parallel links are used that transmit each bit of data simultaneously.

  • Serial buses are cheaper to implement than parallel buses
  • Serial buses operate at greater latency than parallel buses

Latency

Latency means delay: the delay from the time the data is requested until the time it arrives. In the context of a microprocesser and buses a key locus of latency would be between the time a request takes to travel accross the system bus from the CPU to the memory.

Bandwidth

In general, bandwidth is a measure of the capacity for a communications channel to transmit data. A bus is a channel between two components thus we can talk about the bandwidth of buses. The speed and efficiency of a bus is a function of its bandwidth, although other factors such as its length and proximity to the source and receiver are also important.

Bandwidth can be calculated in terms of how many bits can be transferred per second. The wider the bus, the more bits that can be transferred. If we have a bus that can run at 66MHz and transfer 64 bits, 64 bits is 8Mb thus the bandwidth is 8 x 66 = 528Mb.

Standards

The mode of transmission is used to distinguish the different bus standards.

SCSI (Small Computer System Interface) and ATA (Advanced Technology Attachment) are used for hard drive devices (i.e. internal buses). USB (Univeral Serial Bus) and SATA (Serial Advanced Technology Attachment) are used for peripheral devices, keyboards and modem devices (i.e external buses).