The Expansion Bus
It is generally understood that the speed and capabilities of the CPU
is directly related to the
performance of the system as a whole. In fact, the CPU
is a major selling point of PCs, especially
among less-experienced users. One aspect of the machine that is less understood
and therefore less likely to be an issue is the expansion
bus.
The expansion bus, simply put, is the set of
connections and slots that enable users to add to, or expand, their system.
Although it’s not really an “expansion” of the system, you often find video
cards and hard disk controllers attached to the “expansion”
bus.
Anyone who has opened his or her machine has
seen parts of the expansion bus.
The slots used to connect cards to the system are part of this bus. Note
that people will often refer to this bus
as “the bus.” Though it will be
understood what is meant, there are other buses on the system. Just keep this in
mind as you go through this chapter.
Most people are aware of the differences in CPUs, whether the CPU
is 16, 32 or 64-bit, what the speed of the processor is, whether there is a math
co-processor, and so on. The concepts of BIOS
and interrupts are also commonly understood.
One part of the machines
hardware that is somewhat less known and often causes confusion is the
bus architecture. This is the
basic way in which the hardware components (usually on the motherboard) all fit
together. Linux will run on several different kinds of buses. The most common
are those in PCs, which I will talk about first. (Note: Here I am referring to
the main system bus, although Linux can access
devices on other buses.)
The three major types of bus
architectures used are the Industry Standard
Architecture (ISA), the Extended Industry Standard Architecture (EISA), and the
Micro-Channel Architecture (MCA). Both ISA
and EISA machines are manufactured by a wide range of companies, but
only a few (primarily IBM) manufacture MCA
machines. As of this writing, no commercial distributions
are available for MCA,
but a development project is underway.
In addition to these three
architectures, a few other bus
types can be used in conjunction with or to supplement the three,
including the Small Computer System Interface (SCSI), Peripheral Component Interconnect (PCI), and
the Video Electronics Standards Association Local Bus (VLB or VL-Bus).
Both PCI
and VLB
exist as separate buses on the computer motherboard. Expansion cards exist for both
these types of buses. You will usually find either PCI or VLB
in addition to either ISA
or EISA. Sometimes, however, you
can also find both PCI and VLB
in addition to the primary bus.
In addition, it is possible to have machines that only have PCI because it
is a true system bus and not an expansion bus
like VLB.
Because of the advantages of the PCI-Bus, some manufacturers are beginning to
manufacture machines with only the PCI-Bus. However, as of this writing, only a
few machines provide PCI-only expansion buses.
SCSI, on the other hand,
complements the existing bus architecture by adding an
additional hardware controller to the system. There are SCSI
controllers (more commonly referred to as host adapters) that fit in
ISA,
EISA,
MCA,
PCI,
or VLB
slots.