The CPU has to be able to send various data
values, instructions, and information to all the devices and
components inside your computer as well as the different peripherals
and devices attached. If you look at the bottom of a motherboard
you'll see a whole network of lines or electronic pathways that
join the different components together. These electronic pathways
are nothing more than tiny wires that carry information, data
and different signals throughout the computer between the different
components. This network of wires or electronic pathways is
called the 'Bus'.
That's not that difficult to comprehend, but
you've probably heard mention of the internal bus, the external
bus, expansion bus, data bus, memory bus, PCI bus, ISA bus,
address bus, control bus,… it really can get quite confusing.
A computer's bus can be divided into two different
types, Internal and External.
The Internal Bus connects the different components
inside the case: The CPU, system memory, and all other components
on the motherboard. It's also referred to as the System Bus.
The External Bus connects the different external
devices, peripherals, expansion slots, I/O ports and drive connections
to the rest of the computer. In other words, the External Bus
allows various devices to be added to the computer. It allows
for the expansion of the computer's capabilities. It is generally
slower than the system bus. Another name for the External Bus,
is the Expansion Bus.
So now we know the bus is just a bunch of tiny
wires (traces and electronic pathways). One bunch carries info
around to the different components on the motherboard, and another
bunch of wires connects these components to the various devices
attached to the computer.
What kind of stuff travels on the bus? For
one thing, data. Data has to be exchanged between devices. Some
of the electronic pathways or wires of the Internal Bus or the
External Bus are dedicated to moving data. These dedicated pathways
are called the Data Bus.
Data is stored, manipulated and processed
in system memory. System memory is like a vast sea of information
full of fish (data). Your computer has to move information in
and out of memory, and it has to keep track of which data is
stored where. The computer knows where all the fishes are, but
it has to transmit that information to the CPU and other devices.
It has to keep a map of the different address locations in memory,
and it has to be able to transmit and describe those memory
locations to the other components so that they can access the
data stored there. The info used to describe the memory locations
travels along the address bus. The size, or width of the address
bus directly corresponds to the number of address locations
that can be accessed. This simply means that the more memory
address locations that a processor can address, the more RAM
it has the capability of using. It makes sense, right?
A 286 with a 16 bit address bus can access
over 16 million locations, or 16 Mb of RAM. A 386 CPU with a
32 bit address bus can access up to 4 GB of RAM. Of course,
at the present time, due to space and cost limitations associated
with the average home computer, 4GB of RAM is not practical.
But, the address bus could handle it if it wanted to! Another
name for the address bus is the memory bus.