There are several "bus" standards, among them are:
1.Industry Standard Architecture
(ISA).
2.Micro Channel Architecture
(MCA)
3.Enhanced Industry Standard
Architecture (EISA)
4.Peripheral Component Interface
(PCI)
5.VESA Bus
6.Universal Serial Bus
The most popular in the newer models of PCs are PCI and combinations of PCI and others.
Now, bus size (number of binary bits) greatly
affects the performance of your computer. The first
microprocessors in 1971, had a 4 bit bus,
later models introduced 8, 16, 32, and 64 bit buses.
Most of the early buses had a speed of 8.25MHz,
where current buses operate at higher levels
such as 66MHz (all multiples of 8.25Hz.
Let me use an example:
1.Relate a car on a roadway
to a bit on a bus.
2.A four lane road (one
direction) is a 4 bit bus.
3.Every car on the roadway
must travel at exactly the same speed.
4.Every car must be perfectly
aligned with its companion bits.
5.Now, assume you have millions
of cars that must go down this roadway.
6.Assume that you have this
major highway with lots of cities having access to it at major
intersections
(enter and exit ramps or traffic lights).
7.You have to allow "controlled"
access to the major highway for the individual city's traffic.
8.Traffic must flow in one
direction at one time, then in the other direction at another time in
all lanes. No
two way traffic simulataneously.
Ok, if you have only 4 lanes in each direction,
it will take more time to pass 1,000,000 cars from
point A to point B than if you had 8 lanes
of traffic. Using this knowledge - if we make the
roadway (bus) wider (more lanes) we can send
more cars (bits) simultaneously along the road
(bus).
Now, there are other access roads, from which
we have to use an interrupt (traffic lights) to allow
other roadways (devices) to use the same major
roadway (BUS). We can look at "bus"
controllers as entrances from a slower speed
road to a higher speed road. My analogy would be
this:
1.A city street with a 35mph
speed limit is an ISA Bus.
2.An interstate highway
with a 70mph speed limit is a system bus.
3.We use red light (lets
say a VESA Local Bus controller) to allow the slower traffic from
the city street
to enter the higher speed roadway (system bus).
4.So, we control access
through a controller to a higher speed roadway. Since the ISA bus
is a max of
8mbps, it cannot keep the system bus fully occupied. The controller then
handles the
interfaces of devices to the higher speed bus.
BUS TYPE
NR.BITS THROUGHPUT
SPEED Nr.Connectors
ISA
8
4mb/s
8.25MHz
31 pairs
ISA
16
8mb/s ?
8.25MHz
49 pairs
MCA
32
10MHz
93
EISA
32
97
VESA Local
Bus 32
107MB/s
50MHz
49+36
PCI
32
132MB/s
33MHz
The Industry Standard Architecture (ISA) was approved in 1987
by a committee of the IEEE
(Institute of Electrical and Electronic Engineers) formally approved
the ISA standard.
The ISA bus is actually an 8 bit or 16 bit bus, and operates at 8.25
mhz, or approximately 4MB
transfer rate with the 8 bit bus, and 8 mb/s throughput maximum with
the 16-bit bus. The
expansions slots on a PC's motherboard usually allow for both a 8 or
16 bit ISA card to be connected.
This is not the most efficient size, and the ISA standard is being
replaced gradually with EISA and PCI
buses (Micronics M6Me Dual Pentium processor system for instance, which
does not have an ISA
expansion slot; its expansions slots are EISA and PCI; but it does
have a 64-bit ISA video).
You may notice that most buses operate at a sub-multiple of the actual
system clock speed.
For instance, 8.25 is one fourth the speed of a 33mhz system. The sub-multiples
of speed is how a
bus clock and system can maintain synchronous operations.
ISA expansion buses come in Plug-and-Play (PnP) versions. PnP works
without modification to an ISA
bus. However, most advanced systems with ISA will modify the configuration
by adding a single slot
specific signal to each bus connector.
The Micro Channel Architecture (MCA) was IBM's attempt to improve
the PC/XT bus and the AT
bus (also known as the ISA bus). IBM had completed its design of the
AT bus prior to 1987 when the
AT standard was approved as the Industry Standard Architecture (ISA).
So, in 1983, IBM started the
work on a total redesign of system buses even before ISA was approved.
The result was the MCA bus.
The MCA was actually a great improvement in its time, but it was developed
under numerous concepts
not shared outside IBM with the rest of the PC world. Consequently,
over time, it did not gain the
propularity of ISA and EISA.
Well, this is partly due to IBM's vision that PCs should be able to
handle multiple jobs simultaneously,
and as a platform to connect to mainframes. The MCA was technically
superior to anything available,
but not for the direction that PCs took. It had a substantial impact
on all subsequent motherboard design
throughout the industry. While millions of the MCA motherboards were
sold, it was not marketed well,
and its technologies could be used under duress of heavy licensing
fees.
Needless to say, the rest of the industry manufacturers got together
and went a different way. Please see
the "EISA" discussion.
The Enhanced Industry Standard Architecture (EISA) was developed
was developed in 1988 by a
group of nine companies including AST Research, Compaq Computer Corporation,
Epson,
Hewlett-Packard, NEC, Olivetti, Tandy, Wyse, and Zenith.
It was developed in response to the IBM efforts with the Michrochannel
Architecture (MCA). My
understanding is that MCA was technologically advanced to the point
of being far superior to the ISA
and the older XT/PC architectures. These companies could not use the
MCA technologies in their
products due to the expensive licensing fees charged by IBM. Consequently,
the group is supposed to
have implemented the MCA technologies in their designed technologies.
It was to be a 32-bit design to increace the capabilities of ISA, and
to compete with the 32-bit design of
the MCA. With this increase in bus width and using an 8.33 MHz clock,
the EISA can reach a
theoretical 33 MB/s transfer rate. MCA at this time responded with
a bus clock rate of 20Mhz and a
'potential' bus transfer of 160MB/s far outstripping the EISA. However,
the EISA development group
responded by beginning work on an EISA-2 specification that will move
data at a potential transfer rate
of 132 MB/s.
The Peripheral Component Interface (PCI). This bus was introduced
by Intel Corporation in
July 1992, a little more than a month before the VESA Local Bus specifications
were announced. It
was designed primarily for high speed operation of the expansion bus.
It was released again as PCI
Release 2.0 in May 1993. PCI is the most popular 'bus' in the mid-1990s
and is usually combined on
a motherboard with an ISA or EISA expansion bus. For example, many
motherboards have a number
of pure ISA or EISA slots, some PCI slots, and one or more PCI/ISA
combination slots.
The PCI bus was originally supposed to be a "local bus", but it is said
it is a high speed interconnection
system. However, it runs at superior speed, for instance some of the
SCSI interfaces can run up to 40
MB/S transfer rates, although some books indicate the original PCI
bus was a 32 bit, 33MHz bus,
which could move data at up to 132MBytes/sec as a theoretical maximum
- this includes overhead. The
May 1993 release broadened the data path to 64 bits to conform to the
Pentium processors release in
1993. Please note the second release of the VESA Local Bus standards
did the same.
The PCI standard provides an interface to the ISA, EISA, and MCA buses,
but PCI can replace these
older buses in a motherboard design. A pure PCI bus machine is possible,
but most motherboards for
years will still have an interface to ISA and EISA expansion slots.
Remember: Most motherboards have
both PCI and ISA, or PCI and EISA, or even PCI and MCA slots. The PCI
I/O controller will route
traffic from the CPU to the proper bus - either the PCI bus or the
ISA/EISA bus.
Some points about the PCI Bus:
1.Intel intended the PCI to be the single industry standard
for buses.
2.It was designed for CPUs from 33 MHz clock speeds and
up.
3.PCI is basically process or independent.
4.PCI is not a true "local" bus.
5.PCI has 3 flow control signals which enable it to accomodate
devices that cannot operate
at the full speed of the PCI bus.
6.The version 2.0 release is designed to work in PCs based
on the ISA, MCA, and EISA
buses.
7.The revised standard defined compatibility so that the
same board can be adapted to fit
the form factor of an ISA, EISA, or MCA system.
8.The PCI bus is ideal for the Pentium and P6 type machines
because it's speed is
theoretically 528MB/s at the 66MHz bus speed
and 64 bit bus. It appears to work also
with the 75 and 83MHz buses being introduced
in motherboards.
The PCI Bus has an I/O Controller connected to the CPU. The system is
supposed to operate
as follows:
1.Signals from the CPU go to the I/O controller for the
PCI local bus operations. The
controller is between any ISA or EISA controller.
2.The PCI controller examines all signals from the CPU
to determine their destination.
3.The PCI controller routes all signals meant for the
ISA/EISA/MCA bus to the controller
for that bus. The speeds to the ISA/EISA/MCA
bus will be at 33MHz, and then slowed
to the 8-10MHz range used by the destination
bus.
4.The PCI controller routes all signals for the PCI local
bus to the local bus adapter slots.
The data along this path travels at 33MHZ
and is 32 bits.
In effect, the traffic is routed by the I/O controller to the appropriate
type of expansion slot for
which it is destined. If it is to go to a card in a PCI slot, that
is where it is sent. All traffic going
to the CPU is collected by the PCI I/O controller and forwarded to
the CPU.
PCI buses will probably become the "de facto" bus for the industry.
PCI is designed to replace
older buses such as ISA, EISA, and MCA. However, you will see PCI/ISA
or PCI/EISA mixes
for some time - there is a large base of these cards in the world;
however, these mixes are
already falling by the wayside. PCI and EISA combinations are becoming
more common, and
even this combinations will gradually disappear.
The Video Electronics Standard Association (VESA) is a group
of PC vendors who developed
the VESA local bus. This group developed the standard for the VESA
Local BUS (VL Bus)
standard and formally announced in August 1992. It was designed to
speed up video displays,
but its specification was general enough for other high-speed data
transfers.
VESA provided a standardized connector and protocol for local bus expansion
system for PCs. VESA
also announced a second generation VL Bus standard (Version 2) in 1992.
This revision redefined the
maximum number of VL Bus slots from 3 in the original specification
to 3 slots at 40MHz and 2 slots at
50MHz in a circuit.
Its speed was originally set at up to 50MHz, and is a 32-bit card. VESA
cards have two sets of
connectors, one set is based on the 16 bit ISA slot, and a second set
of 36 pairs of connectors that
carry local bus information.
Let me make a few points about the design objectives of the VL Bus before
we discuss how it actually
works:
1.First, high resolution graphics revealed the inability
of the ISA bus to transfer data quickly enough.
2.Early design of local buses were propriatory, and were
incompatible.
3.The VESA Local Bus's design allowed other high volume
devices such as hard disk drives to use
the bus.
4.The VL Bus was designed around the Intel 486 processor's
needs.
5.The VL Bus's high speed was its primary selling point.
It's maximum speed is 66MHz.
6.At the 33MHz level, with the 32-bit design, the original
VL Bus speed was a theoretical 132
mb/s! It had burst mode or non-burst mode.
Burst mode means that the bus uses a single
address cycle followed by four data cycles.
This means it takes 5 clock cycles to transfer
four double-words of 32-bits each. So you
transfer 4x32bits (128bits) each 5 clock
cycles, which translates to about 105 MB/s
of real data. The VL Bus is slower in non-burst
mode and maxed out at about 66 mb/s because
it required an address cycle for each data
transfer of 32 bits, which takes 2 clock cycles.
7.VL Bus Version 2.0 allowed 3 40MHz slots and 2 50MHz
slots if low capacitance is maintained.
8.VL Bus Version 2.0 defined a 64 bit interface. The wider
bus and the higher clock speed will
allow for total theoretical throughput of
400MB/s. Of course there are overhead, etc.
9.Boards designed for VL Bus Version 2.0 will work in
the original VL Bus slots by specification
requirement.
10.The VESA Local Bus is ideal for 486 machines. Why? Because
it can handle about
everything the 33MHz buses in the 486 machines
can throw at it. VESA is much slower
than PCI and has trouble with the 66 MHz and
higher speed buses in Pentium and P6
type machines.
The VESA operates as follows:
1.The CPU sends signals to
the I/O Controller that handles VL-Bus operations. The signals
contains code
and destination addresses for all the signals to follow.
2.The I/O controller decodes
the addresses to determine if the signals are for any of the
local-bus adapters.
3.Signals going to non-local
bus adapters are sent to the ISA I/O controller. While the
signals were
passed at 33MHz and 32bits, the ISA controller will convert them to 16
bit, 8
MHz for the
ISA BUS.
4.If a signal is for the
VESA local bus, the VESA controller sends a signal control signal to
the adapter
in that slot, telling the adapter to execute the operation requested.
5.Once the adapter starts
the operation, the VL controller lets the data for that operation
pass directly
from the processor to the local bus slot over a 32 bit data path, and at
speeds
up to 50MHz.
The USB is a new bus (first shipped in late 1996) called the
"Universal Serial Bus" that connects to the
motherboard through a USB port, and some consider the wires between
the connector and the devices
attached to it to be the bus.
Rember, the PC's bus is the circuitry that
ties all the devices on your motherboard
together. The bus concept is to: "extend and
link the signals of your system"; however, you have
to know what it means to understand it.
Well, the motherboard supports a USB port on
the motherboard, but you must connect device to
the USB interface which is located on the
motherboard. Devices such as a USB keyboard may
have one or more ports on it to which you
connect other USB devices. On most PC's, external
devices are usually connected to a "serial"
or a "parallel" port, or to an expansion card in an
expansion slot. These ports usually take only
one device; or you have to have a "interface" card
such as a SCSI to which you can hook up to
7 devices.
These ports are relatively slow (115 Kbps with
serial ports, and about 2.5 Mbps for parallel
ports) and expansion cards are even slower
if in an 8 bit ISA slot.
With the advent of the USB concept, you now
have the ability (as soon as the devices are
commercially available) to hook up to 127
devices off the USB port - if they have USB
connections on the devices! Sounds great;
however, get realistic for just a moment.
You currently have devices that are not USB
compliant, your old motherboard does not have a
USB port, and you don't know if there are
any companies working on an interface card, with a
USB port, which will be available to you.
Even if there are companies working on an interface
card that will connect to your current
motherboard, it will not work at the speeds
envisioned by the developers of the USB
specifications. What will the USB standard
eventually allow you to do?
1.Connect up to 127 devices thru a single USB port.
2.Speed - Have a total throughput of 1.5MBPs for for some
devices such as keyboards, modems,
etc., and up to 12 Mbps for printers, monitors,
etc. over the single USB port.
3.IRQ's: a single IRQ can handle up to 127 devices through
the single USB port!
4.Cable lengths between devices may be up to 5 meters
long.
5.A USB keyboard can have multiple USB ports and act as
a USB hub.
6.Multiple devices can run at either of the above speeds
without conflicts.
7.Peripheral devices can be "hotswappable".
8.Automatic detection and loading of device drivers.
9.Two devices running at either speed can operate without
conflicts at the same time.
Well, the parallel and serial ports on a computer, are really connections
that are detriments to
performance. Their speeds are somewhat limited - 115 Kbps for serial
ports and 2.5 Mbps for parallel
ports, so the USB should give increased performance.
Larger software companies are currently working on providing drivers
for the USB ports such as
Windows95 and Windows NT.
Most manufacturers of motherboards have already incorporated USB ports
on their products, and these
motherboards began shipping in late 1996. The Micronics "Stingray"
motherboard is an example.
Just imagine, peripheral devices stacked along every wall of your office,
or room at home,
only occupying one I/O port, one IRQ, and one DMA address!