The pathway between all components
In this section we will discuss a computer bus, what it does and what types of buses you get.
Computers are full of buses. For CPU and memory to exchange data, a bus is used. To get data to and from you hard disk, a bus is used.
PCI cards uses a bus to get the data from the peripheral to the CPU or memory.
Buses are used to transfer data between components.
Just like a normal bus caries people around in a city, so does the computer bus. Instead of transferring people around, it transfers data, or bits and bytes around your computer.
Buses are very important in the computer environment.
Buses consists of computer chips and physical connections (cables, integrated or printed circuits etc) where components communicate with each other.
For instance, if the CPU needs some data from memory, it send a request to the memory controller. This request uses a bus. On some systems it's called the System Data Controller or SDC.
When the memory controller receives the request, it does a scan of the memory for the data. Once obtained, the memory is transferred to the CPU via the data bus.
The same is true if the CPU wants information from a hard disk or some other external peripheral.
As you can see controllers plays a very important role in bus architecture design.
Below is a logical view of a typical motherboard. If you look at the CPU, it is connected via a bus called the front side bus or FSB to a controller called the north bridge.
Then there's the memory bus connecting the memory to the north bridge.
The CPU and memory talks to each other via the north bridge. You can compare a bridge to an Ethernet switch. It basically just routes the data between components. It also has ports, like a switch, but is integrated and hardwired to the chip. Motherboard logical view showing computer buses
There's also a high speed graphics bus that runs from the north bridge to a AGP or PCI express slot. This is used for 3d graphics accelerators. Used for games and CAD applications.
Then the north bridge connects a bridge called the south bridge via an internal bus.
From the south bridge there are LPC (Low Pin Count) buses, PCI buses and various buses running to external connectors or ports.
A LPC bus usually connects low speed devices such as keyboards, mouse and serial ports.
Wow, that's a lot of buses. The above example is only for PC's and laptops. Servers have many more buses cause you can connect so much more devices such as CPU, memory and disk space.
Why do I need to know about computer buses?
Well, you don't need to know buses on bit and byte level, but understanding how they work can help you.
For instance, understanding what a PCI or PCI express bus is, can help you in deciding which is the best card to purchase.
For engineers working on big servers it's essential that they understand how the bus works, because they have to populate cards in the correct slots as to not saturate a specific controller.
For PC users, understanding certain aspects of a bus, such as the PCI bus, can help when populating cards in a slot.
How does a computer bus work?
Computer buses are divided into 3 main buses.
The address bus is a bus is used when the CPU needs a piece of data. The CPU will ask for data on this bus. It could ask a memory controller or PCI bus for the data.
The data bus is used to transfer the actual data or bits to and from components. The CPU could ask for a piece of data on the address bus, when it's located, it will transfer the data on the data bus.
The control bus controls how the data is transferred from one chip to the other. It actually opens and closes ports on the bridges to allow data to pass through to the component that requested it.
There are basically 2 categories of buses. Internal bus and external bus.
The internal bus is on the motherboard and transfers data to and from components on the motherboard, such as CPU and memory.
The external bus is responsible for connecting devices like PCI cards and external hard disks and USB to the internal bus.
Buses have a width and a speed that they operate on. For instance, a 64 bit 66MHz PCI bus can transfer 528 MB/second.
How did I get there?
64 bits divided by 8, gives you the number of bytes. This equates to 8 bytes.
66MHz, means 66 million. Remember a megahertz or MHz is one million.
So, the above example says that 8 bytes can be transferred 66 million times a second. That is 528,000,000 bytes. To convert to megabytes, which is easier to read, remove the six zero's at the end. This gives you 528MB/second.
There are other iterations such as 32 bits at 33MHz or 64 bits at 133MHz and so on.
See the PCI bus page for more info on PCI.
More on FSB, PCI buses and interconnects
Front Side Bus
Get more in depth knowledge on the FSB and why you need to understand it.
Learn more about the intricacies of the normal PCI bus and what the keying system is all about.
PCI express uses lanes or paths from the device to the controller. A lane is bidirectional. Read more.
Intel Quick Path Interconnect and DMI
Get more information on these new technologies from Intel and how they work.
Return from Computer Bus to What is my computer