Micro Channel versus the AT Bus
by Kerry Newcom
Shortly after IBM introduced the PS/2s in April 1987, it stopped making the IBM PC, XT, and all but one model of the AT. The PS/2 machines offered more performance and a new, modular design.
But the most radical change was the sharp break with the hardware bus standard for expansion cards that IBM had established in 1981. Except for the lowend PS/2 models, IBM's original PC bus design is gone, replaced by the Micro Channel architecture. The MCA offers the promise of better throughput and multiprocessing, though these features have taken longer to be exploited than was expected.
Had any other company introduced them, the PS/2s would have been hailed as innovative, clever, technically progressive, and destined to fail due to lack of IBM compatibility. But IBM's marketing muscle worked to ship more PS/2s in a shorter period than any other computer ever built. Other vendors are building MCA expansion boards or adopting the MCA bus in their latest computers. For example, Dell and Tandy recently announced computers featuring an MCA-compatible expansion bus.
Meanwhile, other vendors offer microcomputers using the AT bus, the industry standard established ,by IBM and now championed by industry giants like Compaq. A multitude of expansion cards are available for the AT bus, and clever designers have worked around some of its limitations while providing high-performance processing.
So which computer architecture is best for solving today's problems? The best way to answer that question is to tackle the technical merits of the AT bus and the Micro Channel head-on.
Where's the Standard?
If you want to compare the Micro Channel with the "industry-standard" AT bus, it's necessary to define the industry standard, and that's not as easy as it sounds. The original AT has evolved into several diverse high-end computers; to figure out where the industry standard is headed, it's best to look at its roots.
The Micro Channel and the AT bus are both extensions of the local processor bus; that is, they're processor-specific and defined by the processor's signals. The original PC bus resembled the 8088 processor. The AT bus expanded the capabilities of the PC bus, in the same way the 80286 processor expanded the capabilities of the 8088. If there ever was an industry-standard bus, it stopped with the IBM Model 339: This was IBM's last AT -bus machine and was based on an 8-MHz 80286 processor. The significant thing about this industry-standard bus is that timing and mechanical specifications were never published in the IBM AT Technical Reference manual.
When IBM failed to publish timing specifications for the AT, it forced every third-party manufacturer to derive the bus timing from the schematics-a design approach with some major pitfalls. The first pitfall is that there is no guarantee that what's in the schematics matches what's in the production units.
The second pitfall has to do with the fact that to remain competitive, every clone manufacturer wants its computer to have the highest performance. The easiest way to do this is to turn up the processor clock. As the clock speed increases, the design margin (ie., the spare time that the bus has to complete an operation) decreases. If you increase the processor clock rate sufficiently, the design margin for cards built for the original AT disappears and the expansion cards begin to fail. Since the bus timings were derived from schematics, the exact margins are unknown.
At this point the manufacturer has a choice between a fast, low-cost product with potential reliability problems and a fast, costly product that will work reliably. The additional cost comes from the circuitry required to couple a high-speed processor with a slower system bus.
Most manufacturers opted for reliability and designed the AT bus to run at a slower speed than the processor. This approach maintains compatibility with existing third-party add-in cards. It also improves reliability but ignores the original need for speed. The only way to boost the computing power is to design a high-speed local memory bus that can keep pace with the processor. Fast static RAM (SRAM) or interleaved memory addressing is used to satisfy the speed requirements of the processor without wait states. Exotic support chips for numeric processing and other functions are added for additional processing power.
Just when manufacturers got their 80286 machines cranked to the max, Intel introduced the 80386. IBM kept quiet about its plans for the 80386. With no one to define a standard, the manufacturers took the worst possible action they formed a committee.
In 1986 a representative committee of several manufacturers set out to define a standard 32-bit bus for the 80386, the Personal Computer Extended Technology (PCET) bus. To keep their 80386 designs secret, none of the major players joined the committee. When the first 80386-based machines were announced in the fall of 1986, the committee disbanded and no standard was established.
Customers could always hope for a defacto standard: A standard based on largest sales or a system board that was designed into the widest variety of 80386-based machines. But no single standard has emerged. While Compaq has the largest market share for 80386 computers, Intel sells an 80386 board of its own design to a large number of system integrators. Other popular computers are based on proprietary designs different from those of both Compaq and Intel.
So what is the industry-standard AT bus that this multibillion-dollar industry is based on? It definitely isn't the old AT bus: The resemblance of this bus to the ones inside computers now blazing away at 20 MHz and 25 MHz is only superficial. As long as a computer works with most of the popular add-in cards, the industry standard is just about anything a manufacturer defines it to be. The bigger the manufacturer, the more "standard" its standard.
To reach valid conclusions, the comparisons in this article are limited to 80386-based computers. This narrows the field to the PS/2 Models 70 and 80 (which have no AT -compatible slots) and the current crop of 80386 AT -bus computers.
Basic Bus Components
An 80386-based AT -bus computer has a 20-
or 25-MHz 80386 processor, an 8-MHz system bus, one or
two 32-bit proprietary slots
(usually for processor memory),
to six 16-bit AT-style slots,
and perhaps up to three 8-bit PC
style slots. Table 1 shows the signals for a standard
AT bus and the MCA bus.
The Micro Channel has 32 address and data lines, while the AT bus has 24 address and 16 data lines. AT-bus computers compensate for the smaller address range by using a local 32-bit address and data bus for processor memory. Both the Micro Channel and the proprietary 32-bit buses use fast SRAM to closely match the 80386's speed. This fast SRAM eliminates the need for processor wait states during operation; computers using it show dramatic speed improvements.
However, this type of memory is expensive. The compromise between performance versus price is that only highend AT -bus computers (such as those from Compaq or Everex) and IBM's PS/2 Model 70 provide this type of RAM in a cache (32K to 256K bytes) that minimizes processor wait states. Despite the design differences, the performance of a top-end AT -bus PC and the top-end Micro Channel PC are quite similar (see "IBM and Tandy: Same Channel, Same Plan for Growth," September BYTE).
That's the current situation. One thing to remember is that since there is a bigger market for the 32-bit Micro Channel than for the proprietary 32-bit buses, there should eventually be a larger choice of high-speed memory boards for the Micro Channel. With proprietary buses, the only choice of memory cards is what the manufacturer offers, and if you don't like that product you're out of luck. Proprietary or not, pricing will probably remain realistic, given the intense competition in the industry.
The MCA bus is unquestionably more difficult to design for than the AT bus. It takes more hardware to design an MCA card, because more features are required and card functions must be software-configurable. The AT bus has few requirements, and it provides decoded signals (e.g., MEMRIW, IOR/W) while the Micro Channel provides raw processor signals (e.g., SO, SI, SBHE, M/-IO).
Availability of decoded signals can simplify some of the card's logic, but you're limited by the speed of the bus decode circuitry. Raw processor signals give the add-in card designer more options: He can generate his own decode signals using expensive high-speed parts for performance or use slower, inexpensive parts to reduce costs in products where speed is not a factor. The flip side of this flexibility is that it increases the complexity of the design.
If it takes more logic to design a Micro Channel card, it's logical that MCA cards are going to cost more. How much more is probably a marketing question rather than a technical one. Current MCA add-in cards are priced 10 percent to 50 percent above their AT equivalents.
The Space Squeeze
One obvious difference between AT -bus cards and Micro Channel cards is size. MCA cards are 45 percent smaller than AT cards (see figure 1), and this real estate crunch poses all kinds of problems for designers. The smaller size of the MCA cards, combined with the required additional functions, means that most AT designs simply won't fit on an MCA card.
A few companies have designed application-specific ICs for the Micro Channel to reduce the number of ICs on an MCA card. Surface-mount ICs can also ease the space squeeze, but they increase manufacturing costs. Using similar technology, it will always be possible to cram more capabilities on an AT card than on an MCA card.
Improvements in design, competition, and market size should bring more designs to the Micro Channel and bring prices down. However, at this time, the AT bus still offers far more add-in card choices and configuration options. The additional circuitry required on an MCA card could keep the cost of simple functions higher on the Micro Channel than on the AT bus. The high-end AT cards already packed with circuits face an uphill battle in their migration to the Micro Channel, with the expected increase in cost.
Direct memory access is available on both buses, allowing high-speed data transfer between memory and I/O. However, it takes more hardware to support DMA on the MCA than on the AT bus. For example, the card must arbitrate for bus ownership, and the DMA levels are programmable in software. The benefits for the MCA can be significant.
The Micro Channel supports eight DMA devices, while the AT bus supports seven. In actual practice, DMA is usually limited to three channels on the AT bus because most DMA devices can't use four of the available channels. The reasons for this originate with the original PC bus design, which supports only three DMA channels (actually four, but one is used for memory refresh).
Most vendors design their cards to work with the PC bus, which lets them sell the card to both PC and AT owners. The problem here is that the card uses only a subset of the AT -bus functions and doesn't use the additional DMA channels at all. This crunch on DMA channels in the AT bus often leads to hardware conflicts and configuration problems. The MCA automatically resolves DMA conflicts and sets DMA priority in an elegant way through a combination of hardware and software. With eight DMA channels and a maximum of seven slots, it's unlikely that DMA conflicts will occur on the Micro Channel.
Burst-mode DMA is an idea borrowed from minicomputers and officially introduced to desktops through the MCA. It is available on the AT bus as block-mode DMA but is rarely used because it isn't well documented. Burst-mode DMA gives an I/O device uninterrupted access to the computer memory and results in a 16-bit transfer every 200 nanoseconds for data rates as high as 10 megabytes per second. In contrast, the maximum DMA rate on the AT bus is less than 1 megabyte per second. Burst-mode DMA is best used in an application where the I/O device has well-defined packets of information to transfer. It offers the potential for very high speed hard disks, but so far this potential has gone untapped.
Interrupts, Multiple Processors, and Video
For AT-bus cards, there are two unsolvable interrupt problems. The first problem occurs when two cards share the same interrupt line. Because interrupt signals on an AT bus are edge-triggered, once the interrupt pulse goes away the processor has no idea which card signaled for service. So each card on an AT bus must have a unique interrupt line. The second problem occurs when a program recognizes only one interrupt level yet needs to control two different cards.
The Micro Channel solves both problems by using a signal level rather than a signal edge to send an interrupt to the processor. Because each card drives the interrupt line until it is serviced by the processor, level interrupts can be shared by two or more cards. This also solves the software problem in the same stroke and lets a designer save time by setting up and testing identically configured MCA cards with one program.
Multiple processors can be used on the AT bus and on the Micro Channel. The bus master signal (-MASTER) coupled with the DMA lines permit multiple masters on the AT bus, and the preempt signal (-PREEMPT) coupled with the DMA lines permit multiple masters on the Micro Channel. Multiple processors hold promise for a number of applications. But the lack of an independent timing specification for the AT bus makes designing a reliable multiprocessor system impossible. The MCA solves this with a set of well-defined timing specifications, but there are problems that restrict its use, including a low bus bandwidth and limited operating system.
OS/2 is a multitasking, but not a multiprocessor, operating system. OS/2 lets one processor do many tasks, but it has no provision to split tasks among processors. Without a multiprocessor operating system, system resources cannot be shared. This restricts a second processor to I/O tasks. The big gains that could be achieved through parallel processing will have to wait for the next generation of hardware and software.
The Micro Channel defines a video bus; the AT bus doesn't. The absence of a video bus has had no effect on the AT graphics card business, as witnessed by the large number and variety of cards on the market. However, the MCA video bus has the potential of lowering video card costs: It provides easy access to the PS/2's video D/A converter, and it also should help to standardize monitor cabling and interface circuitry.
Finally, the MCA provides an audio line and audio ground not provided on the AT bus. This line won't let you get high fidelity sound from your computer, but it has potential for digitized voice and other analog applications.
The Micro Channel's Programmable Option Select allows software configuration of the expansion cards; with the AT b9s, you must set switches or move jumpers to configure the card. POS is supposed to eliminate the hassles caused by configuration switches on AT cards. The jury is still out on whether it's really an advantage or a disadvantage because of its awkward implementation.
To achieve this level of functionality, the Micro Channel requires software. A set of POS registers on Micro Channel cards eliminates the configuration switches but requires an adapter descriptor (.ADF) file that describes the card's characteristics to the POS software. Micro Channel boards can't be installed or removed without this .ADF file that defines their configuration. Installing a board takes about the same time on the AT as it does on the Micro Channel. With the AT card, you read the instructions, set the switches, and install the card. With the MCA card, you read the instructions, install the card, and run the configuration software. So far, so good.
Unfortunately, if you install and remove boards often, configuring a card for the Micro Channel can take much longer than for the AT. Consider the case where you want to share a card with someone. On an AT, you set the card up once, pop it out of your AT, place it in the other AT, and you're ready to run.
The same process on the Micro Channel is far more time-consuming. First, you configure your computer for the card when you install it, and then you configure the computer to forget the card when you remove it. Each time you reconfigure, you need to find your reference disk, and if you misplace the disk, you must reconfigure every board. If you don't reconfigure your Micro Channel computer after removing a card, the only error message is a decidedly unfriendly" 165" code. No other message or instructions are provided. What's frustrating is that you know the computer knows what's missing, but it won't tell you anything or let you continue.
The configuration process gets even clumsier if a Micro Channel card has a hardware problem that causes a system board problem. On the AT bus, you simply pull out the questionable board and see if the problem goes away. When you pull the Micro Channel card out, you get the "165" error. You won't know if the problem went away until you reconfigure the computer. If the problem doesn't go away, you reinstall and reconfigure the board you just removed and start all over again with the next board. Software configuration is a good idea-IBM just fumbled the implementation.
Take Your Pick
So, which bus do you want for your next computer? The AT bus admittedly still enjoys a much wider selection of add-in cards. Most of the cards are priced lower than equivalent Micro Channel cards because they are simpler. Given equal technology, the larger AT -bus cards will always be able to carry more circuitry and therefore support more complex functions. The disadvantage of the AT bus is that it has run out of steam: It can't go any faster, and it has limited interrupt and DMA capability. AT -bus computers have managed to remain competitive, but at the expense of proprietary designs that lose some of the advantages of an open architecture system.
The Micro Channel's main advantage is that it is a well-defined 32-bit standard. Mechanical, electrical, and timing parameters are carefully defined and readily available from IBM. This should lead to better, more reliable products. The Micro Channel was born a 32-bit standard, separate from the AT and free to break new ground. Unfortunately, AT hardware is not compatible with it.
Each bus offers a set of advantages and disadvantages. How you weigh them will determine which computer is best for you. If you own a lot of AT-bus cards, you have strong incentive to stick to an AT bus computer. Aggravating the decision process is that while the MCA is a better design, it is not overwhelmingly better. Hopefully, IBM will clean up the POS software's act. The MCA has a lot of untapped potential, like high-speed DMA, video, and sound capabilities.
If you're just beginning to automate your office, there's not much risk in seeing if the MCA will live up to its promise. And if you plan to own your computers for the long haul, remember that the MCA offers a well-documented 32-bit bus standard-something AT -bus computers don't. •
Ciarcia, Steve. "The New Generation: Under the Covers." BYTE, August 1987.
Drummond, James R. "Three Bus Interface Designs for the PC." BYTE, Inside the IBM PCs, Fall 1987.
"First Impressions: The IBM PS/2 Computers." BYTE, June 1987.
Grehan, Richard. "The IBM PS/2 Model 50." BYTE, July 1987.
IBM Personal System/2 Model 50/60 Technical Reference. IBM part no. 68X2224.
IBM Personal System/2 Model 80 Technical Reference. IBM part no. 68X2256.
IBM Personal System/2 Trouble Shooting and Advanced Diagnostics. IBM part no. 68X2254.
Sheill, Jon. "The 32-bit Micro Channel." BYTE, Inside the IBM PCs, Fall 1987.
Kerry Newcom is president of Capital Equipment Corp. in Burlington, Massachusetts. He can be contacted on BIX c/o "editors. "