System Bus or System Bottleneck?
Whatever happened to EISA and the Micro Channel?
March 1992 BYTE Pages 131-134, 136, 138
IBM has taught us that compatibility is the single most important attribute for a mass-market bus. Without compatibility, there is no incentive to produce the innovative, third-party peripherals that have largely determined what we can expect for today's personal computers.
The second most significant characteristic is speed. The bus must be fast enough to transfer data from modern high speed peripherals to the host CPU with no noticeable degradation in system performance.
The original IBM XT was shipped with a very limited 8-bit expansion bus. It was not long before add-in cards started to tax its capabilities, so, with the release of the IBM AT, this 8-bit bus was widened to 16 bits and increased functionality was added. This created a clumsy (but standard) protocol now dubbed Industry Standard Architecture (ISA).
Four years ago, IBM announced with great fanfare that it had created the most advanced bus a desktop computer would ever need. It was called the Micro Channel. Soon after, a consortium of IBM competitors announced its own "perfect" bus, dubbed EISA (for Extended ISA). Both of these buses were claimed to be extensible, to have much higher performance than ISA, and to be its obvious successor.
Yet despite the Claims (and hopes) of both EISA and Micro Channel promoters, neither architecture has managed to take a significant share of the market. Less than 5 percent of PC compatible machines sold worldwide use the EISA bus. The remainder are mostly still ISA (AT-bus) compatibles. The Micro Channel has made an impact, but primarily in applications where bus speed is not a factor, such as point-of-sale terminals and data-entry stations. Consequently, the volume of Micro Channel add-in boards sold is still small.
The XT bus was designed to complement a 4.77-MHz 8088 processor. It did that job well, delivering adequate transfer speeds for the add-in adapters of that day.
By the time the AT was released, it was becoming evident that microcomputers were soon going to catch up with the performance of the minicomputers and mainframes that still dominated computing. Consequently, the designers of the AT enhanced the XT bus by adding more DMA channels, more interrupts, and, most important, a 1 6-bit data bus. And they did this while retaining downward compatibility with the XT bus.
The AT bus proved adequate for the types of add-in adapters needed to complement the performance of an AT -class machine. The bus structure was reverse-engineered, multisourced, and dubbed the ISA bus.
Both the Micro Channel and EISA designers sought to overcome some of the limitations remaining in the ISA design. First, they provided a 32-bit data path to match the newly emerging 32-bit processors, such as the 386 and 486. Second, they paid a lot of attention to increasing the data transfer rates by more tightly specifying the bus transfer protocols. Third, they gave both buses considerable capability to support multiple bus masters.
A bus master is another, usually peripheral, processor that plugs into the bus yet can access the host processor' s memory and usually all the system peripherals as well .You need bus-master capability if your system is going to support intelligent drive controllers, such as those used in high-end network servers. It is also useful in many industrial applications, such as image grabbing and image processing.
The ISA bus can only support bus masters if they are set up as DMA controllers. This limits the data throughput to around 1.5 MBps. In addition, the host CPU is usually halted during any bus-master transaction.
A bus master should be able to, for example, transfer data from another peripheral card without affecting the control program running on the host CPU. EISA and Micro Channel both permit such concurrent processing; ISA does not.
The speed of light limits how fast signals can propagate down a bus structure. But today's buses operate nowhere near this fundamental limit, do they? On the contrary.
An electrical signal travels down a
perfect bus at about
7.86 inches per nanosecond. A 33-MHz CPU executes
instructions as fast as one
every 30 ns. Thus, if this CPU sent out a request on a
perfect bus to a perfect
pe1ipheral, you would lose one complete computational
cycle for every 20 feet
the signal had to travel. Naturally; in our imperfect
world, things are much
worse. To comprehend the fundamental performance limits
for buses, you need to
understand something about transmission-line theory (see
the text box
"Signals on the Wire" on page 132).
Signals on the
A transmission line is a wire down
which a signal from the
CPU propagates to a peripheral. The simplest case, where
terminating elements exist, is shown in figure A (see
Figure A: The electrical model of what seems like a simple line of copper on a circuit board. The input signal (in this case, a typical 0- to 4. 7-V logic transition) is modeled as the voltage source (Vs) for the transmission line. It must drive not only the relatively docile loads of pure resistance ( RS, the source resistance, and RL the load resistance) but also the more difficult reactive components Z0 (characteristic impedance of the transmission line), rL (normalized impedance of the load), and rs, (normalized source impedance).
A 5-volt source with a series damping resistance of Z0/4 ohms (Z0 is the characteristic impedance, typical of most printed circuit board conductors) feeds the bus wiring. A typical Z0 on a printed circuit board is 50 to 150 ohms (see reference 2). The peripheral terminates the bus with an effective resistance of 5 x Z0 ohms.
Due to the loss in these resistances, only 4.7 V of the 5-V TTL high level that the CPU generates will be available to drive the peripheral. Because of signal reflection, you can't decrease the series resistance to transfer more energy along the bus.
Consider an 8-inch bus. When the CPU's signal reaches its far end, some of the energy is reflected to the source, giving rise to a theoretical waveform (see figure B).
B: Waveforms At Near And Far End Of Bus
Figure 8: A logic transition occurs at the near end of a bus at time 0 and arrives at the far end at 1T, with significant overshoot. The overshoot propagates back to the near end and changes the voltage there. The reflections travel up and down, decreasing, until at 8T the bus settles near its final logic level.
The voltage on the bus oscillates
around the final value. If
the oscillation grows too great, it exceeds the threshold
value at which a
logic device (e.g., a bus receiver) is triggered to change
state. The receiver
may then change its output value based on a false input
generated by circuit
ringing. Usually, the circuitry will fail to work
properly, but sometimes the
system can read the false value as a valid bit. In the
real world, there is
capacitance, not just pure resistance, to drive.
C: Clock Waveform From A Poor PC Clone
Figure C: This oscillograph is taken from an early ISA clone. It shows the system clock (pin AXX) measured at the end of the bus and severe overshoot.
Figure C is an early ISA clone's system clock (pin AXX) measured at the end of the bus. The signal badly overshoots the 0-V level and, in fact, reaches a negative voltage of about -3 V. Then the signal "rings" back t o a level of about 0.8 V, causing most logic gates to malfunction.
On the positive transition, almost no overshoot occurs, although the peak voltage is only 3 V-much less than the theoretical 5-V maximum. The difference is due to an asymmetrical driving impedance.
The designer of the bus in figure C mistakenly used a very fast buffer device (a 74F245) to drive the clock resistor. The output impedance of this buffer (which should be greater than Z0/2 to control overshoot) is extremely low when the signal goes from high to low (the pull down cycle) but fairly high when the signal goes from low to high (the pull up cycle).
If a slower logic gate had been used, the designer would have achieved faster system operation overall, less overshoot would have occurred, and the final voltage would have been achieved more quickly. This is what happens on the positive side, which is only half as fast as the negative. On the negative side, the signal achieves the steady-state level almost instantaneously.
The oscilloscope time base was set for one horizontal division every 20 nanoseconds with the CPU speed at 50 MHz. So, here is a bus where one handshake transaction would make a modern CPU wait almost a full cycle for it to complete. ISA, Micro Channel, and EISA buses require at least three transactions in every bus transfer cycle.
Figure D: Mac
IIfx NuBus Oscillographs
(1) An oscillograph taken at the far end of a Mac IIfx NuBus, with just two cards (the test card and the video card) plugged in. A small amount of overshoot is present, but not enough to cause logic to malfunction. The rise and fall times of the signals are quite fast, and the ultimate signal levels are very close to 0 and 5 V.
(2) Another measurement from the far end of a Mac IIfx NuBus but this time every slot on the bus has been filled. The rise and fall times have now been reduced by the extra loading of the four additional peripheral cards, and the overshoot and settling are insignificant compared to the transition times. This performance is typical of a bus designed using the best technology available today.
In an optimally designed system, these transactions occur much faster. Parts 1 and 2 of Figure D are taken from a Mac IIfx NuBus. Part l was taken at the far end of the bus, with two cards (the test card and a video card) plugged in. A little overshoot exists, but not enough to cause logic to malfunction. The rise and fall times of the signals are fast, and the ultimate signal levels are close to 0 and 5 V. The two signals shown are the system clock and start.
Part 2 was taken under the same conditions, but this time with every bus slot filled. The extra loading that the four additional peripheral cards impose has reduced the rise and fall times, and the overshoot and settling are insignificant compared to transition times. This performance is typical of a bus designed using today's best technology.
So, the fastest time in which a transaction can occur seems to be 10 ns; 20 ns would be safe. So you can expect an ISA, EISA, or Micro Channel bus to manage one transaction every 30 to 60 ns using interface chips like the IIfx's. Thus, even the fastest bus transaction will take between one and two instruction cycles on a 33-MHz CPU.
Editor's note: All oscillographs reproduced here are 20 ns per division horizontally and 2 V per division vertically. Equipment used for testing bus signals was as follows: oscilloscope- 500-megasample-per-second Fluke digital scope; probes- 100x resistive probes, 1500-MHz bandwidth, Philips PM8912.
1 . Arabi, Tarif. National Semiconductor Application Note 707 .
2. Jordan, Edward, ed. Reference Data for Engineers: Radio, Electronics, Computer, and Communications, 5th ed., pp. 22-25. Indianapolis: Howard Sams, 1985.
Since bus physics fundamentally limits bus speed, the only easy way to improve the data transfer speed is to increase the width of the data bus (i.e., the number of data bits that can be exchanged for each set of bus transactions) or decrease its length. With today's driver technology, a 32-bit bus can achieve a data rate of about 60 MBps, a 16-bit bus can reach about 30 MBps, and an 8-bit bus can attain about 15 MBps.
The PCXI Consortium has been formed to define a variant of the EISA bus that is better able to serve the needs of scientific, engineering, industrial, and other power users. It has extra undefined pins capable of carrying signals between cards on high-speed local buses. These pins can also be used to carry Data Translation's (Marlborough, MA) DT-Connect bus architecture. The DT-Connect bus can transfer data at a rate of 100 MBps using standard 74FCT bus-driver ICs.
To reduce the number of signal transactions needed per data transfer, you would use so-called burst or streaming data modes. The data rates that the Micro Channel and EISA promoters quote, 40 MBps and 33 MBps respectively, are possible only with data streaming.
The problem is that for data streaming, the data needs to be of a continuous nature. Data from a drive controller is often continuous. But the speed of data being sent to a video card is more likely to be determined by CPU processing speed, and the data's transfer is usually performed in the slower single-transaction modes.
For example, a typical 8-bit ISA bus achieves a data rate of only about 1 MBps in practice- 10 percent of the theoretical maximum. Its primary limitations are the response time of the cards in the bus and the nature of the motherboard logic, which uses wait states to slow down the bus to synchronize with its own internal response times. These limitations apply equally to wider buses and to EISA and Micro Channel implementations.
I recently checked the relative speeds of a 16-bit Ethernet adapter card and an 8-bit version of the same product. The 16-bit card provided only a 20 percent performance improvement. You don't need to use an advanced EISA system when the primary limitations are still processor- and network-related.
Compatibility among the ISA, EISA, and Micro Channel systems implies, at least, that software designed to run on ISA machines will run the same way on EISA and Micro Channel systems. By and large, this has proved to be true.
In addition, compatibility implies that you can expect hardware designed for the Micro Channel to run in any Micro Channel machine and, similarly, EISA-designed hardware should run in any EISA machine. EISA promoters also claim that ISA adapter cards will run in an EISA machine (see the text box "Compatible May Not Mean Easy").
Not Mean Easy
I recently tried to install one of the new low-cost fax-modem cards into a Hewlett-Packard 486 EISA-based computer. The EISA bus is compatible with ISA, right? So you just plug in the ISA card and it should work, right? Wrong.
I plugged in the fax card and installed the BitFax software as described in the manual. When I ran the program, it informed me that no fax card was present.
A check of the manual showed that all the DIP switches were set correctly for COM3, so there shouldn't have been any clash with the hardware already installed in the computer. Then inspiration struck me. I remembered seeing a press release about EISA doing away with the need for "complex" DIP switches and replacing them with a setup program. Referring to the HP manual confirmed that the EISA machine would not recognize the ISA add-in card until it had been "installed" and that I would need an Adapter Configuration File from the add-in's manufacturer before the EISA bus could recognize the fax card.
I borrowed a copy of the EISA Programmers Reference Manual from HP and, over the course of an hour or so, learned yet another programming language, wrote the Adapter Configuration File, and got the fax card up and running. A call to HP technical support later revealed that HP could send me a file containing a set of common adapter descriptions. If a card is sufficiently similar to a "common" adapter, then that file would have worked.
But why? Why couldn't I just plug the card in and have it work?
From day 1 of the IBM announcements, I had fully understood the proprietary nature of the Micro Channel bus. It was obvious that if I chose to go the Micro Channel path to higher performance, I would have to buy specialized adapter cards, there would be fewer sources for them, and they would be more expensive. But I never anticipated that EISA would have similar barriers to the free-market economics that have made personal computer technology such a success.
Luckily, now that third-party (clone)
vendors are starting
to ship EISA machines, software has been written to ease
the installation task.
Most clones now ship with installation software that scans
the bus, looking for
I/O ports and memory maps that it recognizes, like the COM
ports on a fax
adapter. If you have a nonstandard peripheral, however,
you are still out of
However, some problems have occurred that have delayed achieving compatibility within Micro Channel systems. The early interface chip from Chips & Technologies (the 6311 ) worked fine in the IBM PS/2 Model 50, but it did not work well with the later Models 70 and 80 because the IOCHRDY signal operated incorrectly (see the text box "Which Micro Channel Is It?" on page 136).
Channel Is It?
Figure A: IBM
PS/2 Micro Channel Signals
Figure A: (1) is from a bus measurement in an IBM PS/2 Model 50, and (2) is from a test of an IBM PS/2 Model 70. The two waveforms represent measurements of the address strobe (upper trace) and command strobe (lower trace) lines and are supposed to show two distinct phases of the transaction cycle. Notice that on the Model 50 the lines actually overlap, causing a period of uncertainty that add-in card manufacturers can handle by building in bus-settling delays when designing Micro Channel cards. While the same waveforms on the Model 70 look more as they should, the quality of the signals on this bus is still nowhere near as good as that of those measured on the NuBus of the Mac IIfx.
Not all Micro Channel implementations are the same, even when they are from IBM. Figure A shows two oscillographs; part 1 was taken from an IBM PS/2 Model 50, and part 2 from an IBM PS/2 Model 70. The two waveforms, ADL (Address Latch) and CMD (Command), are supposed to delineate two different phases of the transaction cycle.
Notice that on the Model 50 the waveforms actually overlap. While the same waveforms on the Model 70 look more like the data book says they should, the quality of the signals on this bus is still nowhere near as good as those on the Mac IIfx's NuBus (see the text box "Signals on the Wire" on page 132).
Peripheral designers have to design cards that will work in all machines, both slow and fast. The only way to ensure this compatibility is to avoid the use of the advanced features that are available only on faster bus implementations.
Therefore, an add-in card designer has to use logic slow enough to accommodate the timing variations seen on the Model 50, instead of designing a card that will be upgradable to the 160-MBps peak Micro Channel data rate.
For the RISC System/6000 series of workstations, IBM introduced another version of the Micro Channel architecture, this one allowing for the use of larger option cards. The workstation version of the Micro Channel began as a 32-bit-wide bus, but there are plans to upgrade it to a 64-bit-wide revision supporting block transfers.
Thus, some manufacturers who embraced the Micro Channel early in its development had to redesign their Micro Channel products at an early stage in their life cycle. Not only did this reduce the number of available adapters, it also increased their cost. But these early problems have been overcome, and both Micro Channel and EISA have now achieved the levels of hardware compatibility expected of them.
However, with the RISC System/6000 series of RISC workstations, IBM introduced a Micro Channel with a larger physical card size (it is now almost as big as an AT ISA card) and new, higher-speed, burst-transfer modes. So is the Micro Channel add-in you are buying PS/2 Micro Channel-compatible or RS/6000 Micro Channel-compatible?
Why Buy ISA
EISA and Micro Channel machines are still considerably more expensive than their ISA counterparts. Part of this difference is due to how much the EISA chip set costs the computer manufacturer. The other part is due to a recognition that an EISA machine won't sell as well as an ISA system will. In addition, only Intel currently ships an EISA interface chip. It is expensive compared to the ISA chips, which are available from a number of vendors.
In return for the higher price of the EISA and Micro Channel systems, greater levels of system performance are expected. But in actual use, this expectation has often not been met. Meanwhile, many designers have found a better way of increasing system speed: close coupling.
RAM is the most speed-critical resource that a CPU needs. To improve system speed and bypass bus limitations, you can closely couple the main memory system to the CPU over its own dedicated bus.
Although the original XT had only 64K bytes of closely coupled (motherboard) memory and needed add-in memory cards to run any significant software, most computer systems sold today have several megabytes of high-speed, closely coupled memory on the motherboard. Add-in memory cards are rarely needed. Thus, bus-speed limitations no longer affect the CPU's ability to obtain data quickly from its main memory.
The same design methodology is now being applied to all the subsystems that make up a computer system. Vendors often claim that you need a fast bus for faster video (for applications such as multimedia). But as Nick Baran warned (see "The Bus Stops Here," February 1990 BYTE), none of these expansion buses really has enough raw bandwidth to directly transfer pixels at the rates needed for real-time video displays.
Peripherals need more local intelligence to off-load some of the host CPU's computing tasks. This is already happening in two areas: drive controllers and video display cards. The data rate of the ISA bus is slower than that of many modern hard disk systems. However, if you mount a memory cache on the drive controller, it acts as a buffer between the disk data rate and the bus data rate.
Even though the disk speed of the original AT computers was limited to around 260 KBps (the 2-to- 1 interleave data rate), most controllers now operate at the 500-KBps rate of 1 -to- 1 interleave disks. The data from a whole track is stored in memory on the drive controller. It is then available when the host CPU is ready to use it. This architecture doubles system performance without needing any changes in the bus itself.
Intel has defined a bus for closely coupling peripherals to the CPU. Called Localbus, it essentially connects peripherals directly to CPU control lines. Similar connections to VGA controller chips have yielded a significant performance improvement over the same VGA chips on either EISA or Micro Channel adapter cards.
True, there is a limit to the number of peripherals you can connect through the Local bus. However, that limit is now mainly the limit of capacitive loading. Placing the Local bus chips on the motherboard very close to the CPU has reduced the inductive (transmission-line) component.
Moving beyond Localbus performance, CPU technology is migrating toward the "PC on a chip." In that vein, the CPU is incorporating more and more of the key peripherals into itself.
RISC processors are already operating at 50-MHz and 60-MHz clock rates, requiring efficient connections between the CPU and memory and between the CPU and peripherals. The SPARC Consortium has defined a bus, called MBus, that is very similar to Localbus and incorporates several important innovations likely to be seen in the very near future.
First, the MBus emphasizes the use of surface-mount technology to achieve small size and, hence, low parasitic inductance and capacitance. Thus, the bus never really becomes a "transmission line" (for electrically oriented readers, it behaves more like distributed lumped capacitors). The maximum card size is less than 20 percent of that of a standard AT expansion card, yet, by using smaller (surface-mount) components, it has basically the same functionality.
Second, the MBus uses a wider data transfer width: 64 bits. Since the bus can operate at 40 MHz, the useful bandwidth is 80 MBps, and the peak rate is 320 MBps.
Third, you can stack multiple MBus modules. Unlike ISA, EISA, and Micro Channel buses, the MBus modules are very close together, and very close to the CPU. Thus, although transmission-line effects definitely exist, the ringing and other artifacts occur at much higher frequencies and don't affect overall system performance.
If you're planning to buy a Micro Channel machine today based on its promise of extensibility to 160 MBps, forget it. The Micro Channel may support that data rate one day, but just as you had to upgrade your CPU from 8086 to 286 to 386 to 486 to get their advantages, you will have to upgrade your system and peripherals to get that sort of data rate.
The same situation pertains to ISA or EISA. Until all manufacturers design their machines using the best technology available, the peripheral vendor will have to compromise, thus limiting the performance your system can achieve. Manufacturers are offering a lot of innovative solutions to overcome these limitations. Unless you are running a Unix or NetOS-based network (which needs blinding speeds from the drive controller), then ISA-based machines using Localbus technologies will probably do the job.
Select a system that does what you want today. The industry will provide brand-new products to choose from tomorrow.
• Trevor Marshall is a consulting editor for BYTE. You can reach him on BIX as "tmarshall"