The Bus

Now here's a topic that really can get your knickers in a twist. The problem is there is that the term bus tends to be used much too generally (and I must confess I am guilty of this myself on occasion, but only to simplify). Furthermore, many bus explanations and descriptions are downright wrong. So here I will attempt to get to the bottom of this bus matter once and for all.

The Bus

OK, firstly let's look at the generic term bus. What is a bus? Put simply, a bus is simply a collection of wires interconnecting two or more components. If you look at your motherboard, you can actually see the bus pathways on the circuit board. The purpose of each wire in a bus is to transmit pulses of current. Each pulse represents a bit and thus, a bus composed of 8 wires is described as an 8 bit bus since 8 bits of data can be transmitted along the bus at any given instant.

Bus widths, speeds and bandwidth

It is worth mentioning at this stage that a bus has an associated bus speed. The bus speed describes the number of pulses of current that can be transmitted down each wire per second. Hence a 33MHz bus actually sends 33 million bits of data a second per wire. (Note that a bit can be 1 or 0, depending on the presence or absence of current.) A related term is bus bandwidth, which is the amount of data that be transmitted by a bus in a given time. This is the product of bus speed and bus width.

Let's try a worked example. What is the bandwidth of a 32 bit bus operating at 33MHz?

Bandwidth = Bus width x Bus speed
Bus width = 32 bits = 4 bytes
Bus speed @ 33.3MHz = 33 300 000 cycles per second

Bandwidth = 4 x 33 300 000 @ 133 200 000 bytes per second @ 133 megabytes per second

Hence the bandwidth of a 32 bit bus at 33MHz bus speed is approximately 133 MB/sec.

Move on to the System Bus section.