Local Buses
The I/O buses discussed so far (ISA, MCA, and EISA) have one thing in common: relatively slow speed. The next three bus types that are discussed in the following few sections all use the local bus concept explained in this section to address the speed issue. The three main local buses found in PC systems are:
-
VL-Bus (VESA local bus)
-
PCI
-
AGP
The speed limitation of ISA, MCA, and EISA is a carryover from the days of the original PC when the I/O bus operated at the same speed as the processor bus. As the speed of the processor bus increased, the I/O bus realized only nominal speed improvements, primarily from an increase in the bandwidth of the bus.
The I/O bus had to remain at a slower speed because the huge installed base of adapter cards could operate only at slower speeds. Figure 1 shows a conceptual block diagram of the buses in a computer system.
The thought of a computer system running more slowly than it could is very bothersome to some computer users. Even so, the slow speed of the I/O bus is nothing more than a nuisance in most cases.
You don't need blazing speed to communicate with a keyboard or mouse—you gain nothing in performance. The real problem occurs in subsystems in which you need the speed, such as video and disk controllers.
The speed problem became acute when graphical user interfaces (such as Windows) became prevalent. These systems require the processing of so much video data that the I/O bus became a literal bottleneck for the entire computer system.
In other words, it did little good to have a processor that was capable of 66MHz–450MHz or faster if you could put data through the I/O bus at a rate of only 8MHz.
An obvious solution to this problem is to move some of the slotted I/O to an area where it could access the faster speeds of the processor bus—much the same way as the external cache. Figure 2 shows this arrangement.
This arrangement became known as local bus because external devices (adapter cards) now could access the part of the bus that was local to the CPU—the processor bus.
Physically, the slosts provided to tap this new configuration would need to be different from existing bus slots to prevent adapter cards designed for slower buses from being plugged into the higher bus speeds, which this design made accessible.
It is interesting to note that the very first 8-bit and 16-bit ISA buses were a form of local bus architecture. These systems had the processor bus as the main bus, and everything ran at full processor speeds.
When ISA systems ran faster than 8MHz, the main ISA bus had to be decoupled from the processor bus because expansion cards, memory, and so on could not keep up.
In 1992, an extension to the ISA bus called the VESA local bus (VL-Bus) started showing up on PC systems, indicating a return to local bus architecture. Since then, the peripheral component interconnect (PCI) local bus has supplanted VL-Bus, and the AGP bus has been introduced to complement PCI.
Local bus solutions do not necessarily replace earlier standards, such as ISA; they are designed into the system as a bus that is closer to the processor in the system architecture. Older buses such as ISA were kept around for backward compatibility with slower types of adapters that didn't need any faster connection to the system (such as modems).
Therefore, until recently a typical system might have AGP, PCI, and ISA slots. Older cards still are compatible with such a system, but high-speed adapter cards can take advantage of the AGP and PCI local bus slots as well.
With the demise of ISA slots and the movement of traditionally ISA-based motherboard devices to the LPC interface, today's motherboards essentially use other buses or dedicated interfaces for most of the connections that would have previously used ISA.
The performance of graphical user interfaces such as Windows and OS/2 have been tremendously improved by moving the video cards off the slow ISA bus and onto faster PCI and now AGP local buses.