Micro Channel architecture
From Wikipedia, the free encyclopedia
Micro Channel architecture (in practice almost always shortened to MCA) was a proprietary 16 or 32-bit parallel computer bus created by IBM in the 1980s for use on their new PS/2 computers.
Contents |
[edit] History
Micro-Channel architecture was designed by IBM engineer Chet Heath and first introduced on the PS/2 series of machines in 1987; it slowly spread to IBM's entire computer line. For a time, MCA could be found in the PS/2, RS/6000, AS/400, and even some of the System/370 mainframes. However, most of these systems later were redesigned to incorporate PCI. MCA is no longer used in new designs.
[edit] Why the interface was created
[edit] Overview of the technology issues of that time
Micro Channel was an attempt to address, once and for all, the problems that had come to plague the PC bus (later known as ISA).
The principal design problems of ISA were
- A slow bus speed.
- A limited number of interrupts, fixed in hardware.
- A limited number of I/O device addresses, also fixed in hardware
- A lack of bus-master support.
- Hardwired and complex configuration with no conflict resolution.
- Poor grounding.
- Undocumented Bus Interface standards that varied between systems and manufacturers
Most of the problems were not a big issue in the early days of IBM PC computers, but came to the surface as the range of tasks and peripherals, and number of manufacturers for PCs grew.
[edit] ISA design issues
Another problem for the IBM designers was that the original ISA bus design was deeply linked to the CPU architecture of the 80x86 chip family, principally the
Cards built for ISA would simply not work in any other machine.
IBM was already investigating the use of RISC processors in desktop machines, and could, in theory, save considerable money if a single, well documented bus could be used across their entire computer lineup.
[edit] Marketshare issues
A final problem was that IBM had lost control of the hardware market for PCs. Anyone could create an ISA card and plug it into any ISA bus-equipped computer. It was thought that by creating a new standard, IBM would regain control of standards via the required licencing. As patents can take three years or more to be granted, however, only those relating to ISA could be licensed when MCA was announced. Patents on important Micro Channel features, such as Plug and Play automatic configuration, were not granted to IBM until after PCI had replaced MCA in the marketplace.
[edit] Design features
MCA was primarily a 32-bit bus, but the system also supported a 16-bit mode designed to lower the cost of connectors and logic in Intel-based machines like the IBM PS/2.
The situation was never that simple, however, as both the 32-bit and 16-bit versions initially had a number of additional optional connectors for memory cards which resulted in a huge number of physically incompatible cards for bus attached memory. In time, memory moved to the CPU's local bus, thereby eliminating the problem. On the upside, signal quality was greatly improved as MCA added ground and power pins and arranged the pins to minimize interference, a ground or a supply was thereby located within 3 pins of every signal.
Another connector extension was included for graphics cards. This extension was used for analog output from the video card, which was then routed through the system board to the system's own monitor output. The advantage of this was that Micro Channel system boards could have a basic VGA or MCGA graphics system on board, and higher level graphics (XGA or other accelerator cards) could then share the same port. The add-on cards were then able to be free of 'legacy' VGA modes, leveraging the on-board graphics system when needed, and allowing a single system board connector for graphics that could be upgraded.
[edit] Data transmission features
The basic data rate of MCA was increased from ISA's 8 MHz to 10 MHz. This isn't a large signalling speed increase, but the communications were now driven by the bus controller utilizing burst modes instead of the CPU's individual transfers, so real throughput was greatly increased: up to five times over ISA. Around 40 MB/s, of throughput was observed (the theoretical maximum for MCA was 66 MB/s).
With bus mastering, each card could talk to another directly. This allowed performance that was independent of the CPU. One drawback of this design was the possible collisions when more than one card would try to bus master, but MCA included an arbitration feature to correct for these situations, and also allowed a master to use a burst-mode. MCA cards had complete control for up to 12 milliseconds. This was long enough to permit the maximum number of other devices on the bus to buffer inbound data from over-runable devices like tape and communications.
Multiple bus-master support and improved arbitration means that several such devices could coexist and share the system bus. MCA bus-master-capable devices can even use the bus to talk directly to each other at speeds faster than the system CPU, without any other system intervention.
Arbitration enhancement ensures better system throughput, since control is passed more efficiently. Advanced interrupt handling refers to the use of level sensitive interrupts to handle system requests. Rather than a dedicated interrupt line, several lines can be shared to provide more possible interrupts, addressing the ISA-bus interrupt line conflict problems.
All interrupt request signals were "public" on MCA permitting any card on the bus to support an I/O processor for service of I/O device interrupts. ISA had limited all such processing to just the system's CPU. Likewise, bus master request and grant signals were public, such that bus attached devices could monitor latency to control internal buffering for I/O processors. These features were not adopted for PCI, requiring all I/O support to come uniquely from the system board processor.
The final major improvement was POS, the Programmable Option Select, which allowed all setup to take place in software. This feature is taken for granted now, but at the time setup was a huge chore for ISA systems. POS was a simple system that included device IDs in firmware, which the drivers in the computer were supposed to interpret. This software-configuration is known as plug-and-play today.
[edit] Why MCA was not widely adopted
Although MCA was a huge technical improvement over ISA, its introduction and marketing by IBM was poorly handled.
IBM used it for all but the lowest end machines, as did NCR, but other manufacturers such as Apricot, Tandy, Research Machines and Olivetti who adopted it used it for only part of their PC range.
Many manufacturers however were upset that they would need to pay licensing fees to IBM - which they did not need to do for ISA. As a reaction to this in late 1988 the "Gang of Nine", led by Compaq, announced a rival bus - EISA. Offering similar performance benefits, it had the advantage of being able to accept older XT and ISA boards.
While EISA and MCA battled it out in the server arena, the desktop PC largely stayed with ISA up until the arrival of PCI, although the VESA Local Bus, an acknowledged stopgap, was briefly popular.
The failure of MCA adoption, and the broader industry support for EISA, was made very clear when IBM themselves produced some EISA bus servers [1].
MCA disappeared within a few years after the introduction of the PCI bus, which was both technically superior and had much wider industry support.
[edit] See also
- Industry Standard Architecture (ISA)
- Extended Industry Standard Architecture (EISA)
- NuBus
- VESA Local Bus (VESA)
- Peripheral Component Interconnect (PCI)
- Accelerated Graphics Port (AGP)
- PCI Express (PCIe)
[edit] External links
Preceding: | ISA |
Subsequent: |