MCA
The introduction of IBM’s
Micro-Channel Architecture (MCA) was a redesign of the entire
bus architecture. Although IBM developed the original AT
architecture, which later became ISA, many companies
produced machines that followed this standard. The introduction of
MCA meant that IBM could produce machines to which it alone
had the patent rights.
One of the most obvious differences is the smaller slots required for MCA cards.
ISA cards are 4.75 x 13.5 inches, compared with the 3.5 x 11.5-inch MCA cards. As a
result, the same number of cards can fit into a smaller area. The drawback was
that ISA cards could not fit into MCA slots, and MCA cards could not fit into
ISA slots. Although this might seem as though IBM had decided to cut its own
throat, the changes they made in creating MCA made it very appealing.
Part of the decrease in size was a result of surface
mount components, or surface mount technology (SMT).
Previously, cards used “through-hole” mounting, in which holes were drilled
through the system board (hence the name). Chips were mounted in these holes or
into holders that were mounted in the holes. Surface mount does not use this and
as a result, looks “flattened” by comparison. This saves not only space but also
time and money, as SMT cards are easier to produce. In addition, the spacing
between the pins on the card (0.050″) corresponds to the spacing on the chips,
which makes designing the boards much easier.
Micro-Channel also
increases speed because there is a ground on every fourth pin, which reduces
interference, and as a result, the MCA-Bus can operate at ten times the speed of
non-MCA machines and still comply with FCC regulations in terms of radio
frequency interference.
Another major improvement was the expansion of
the data bus to 32 bits. This meant that machines were no
longer limited to 16 megabytes of memory, but could now access 4 gigabytes.
One key change in the MCA architecture was the concept
of hardware-mediated bus arbitration. With
ISA machines, devices could share the bus, and the OS was
required to arbitrate who got a turn. With MCA, that
arbitration is done at the hardware level, freeing the OS
to work on other things. This also enables multiple processors to use the bus.
To implement this, the bus has several new lines. Four lines determine the
arbitration bus priority level, which represents the 16 different
priority levels that a device could have. Who gets the bus depends on the
priority.
From the users perspective, the installation of
MCA cards is much easier than that of
ISA cards due to the introduction of the Programmable
Option Select, or POS. With POS, the entire hardware configuration is stored in
the CMOS. When new cards are added, you are required to
run the machines reference disk. In addition, each card comes with an
options disk that contains configuration information for the card. With
the combination of reference disk and options disk,
conflicts are all but eliminated.
Part of the MCA
spec is that each card has its own unique identifying number encoded into the
firmware. When the system boots, the settings in the CMOS
are compared to the cards that are found on the bus. If
one has been added or removed, the system requires you to
boot using the reference disk to ensure that things are set
up correctly.
As I mentioned, on each options disk
is the necessary configuration information. This information is contained within
the Adapter Description File (ADF). The
ADF contains all the necessary information for your system
to recognize the expansion card. Because it is only a few
kilobytes big, many ADF files can be stored on a floppy. This is useful in
situations like those we had in tech support. There were several
MCA machines in the department with dozens of expansion
cards, each with its own ADF file. Rather than having copies of each disk, the
analysts who supported MCA machines (myself included) each had a single disk
with all the ADF files. (Eventually that, too, became burdensome, so we copied
the ADF files into a central directory where we could copy them as needed.) Any
time we needed to add a new card to our machines for testing, we didn’t need to
worry about the ADF files because they were all in one place.
Because each device has its own identification number and this number is stored in the
ADF, the reference diskette can find
the appropriate number with no problem. All ADF files have names such as
@BFDF.ADF, so it isn’t obvious what kind of card the ADF file is for just by
looking at the name. However, because the ADF files are simply
text files, you can easily figure out which file is which
by looking at the contents.
Unlike ISA machines,
the MCA architecture enables interrupt sharing.
Because many expansion boards are limited to a small range of interrupts, it is
often difficult, if not impossible, to configure every combination on your
system. Interrupt sharing is possible on MCA machines because they use something
called level-triggered interrupts, or level-sensitive
interrupts.
With edge-triggered interrupts, or
edge-sensitive interrupts, (the standard on ISA
buses), an interrupt is generated and then is dropped. This
sets a flag in the PIC, which figures out which device
generated the interrupt and services it. If interrupts were shared with
edge-triggered interrupts, any interrupt that arrived between the time the first
interrupt is generated and serviced would be lost because the PIC has no means
of knowing that a second interrupt occurred. All the PIC sees is that an
interrupt occurred. Figure 0-2 shows how each of these elements relate to each
other in time.
Figure – Interrupt Signal(Interactive)
With level-triggered interrupts, when an
interrupt is generated, it
is held high until the PIC forces it low after the
interrupt has been serviced. If another device were on the same interrupt, the
PIC would try to pull down the interrupt line; however, the second
device would keep it high. The PIC would then see that it was high and would be
able to service the second device.
Despite the many obvious advantages
of the MCA, there are a few drawbacks. One primary drawback
is the interchangeability of expansion cards between architectures. MCA cards
can only fit in MCA machines. However, it is possible to use an
ISA card in an EISA machine, and EISA
machines is what I will talk about next.