The
Micro Channel versus the AT Bus by Kerry Newcom
Original HERE
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. " |