A Brief Introducti0n to BUS TYPES:

     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!