Author: Kerry Newcom
Source: BYTE 1988 (Original HERE).
IBM changed the rules with the PS/2 's Micro Channel architecture, but
a lot of AT fans aren't playing along. Should you?
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), three 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.
Software Configuration
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.
Bibliography
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."
|