Micro Channel architecture

Micro Channel architecture, or the Micro Channel bus, is a proprietary 16- or 32-bit parallel computer bus publicly introduced by IBM in 1987 which was used on PS/2 and other computers until the mid-1990s. Its name is commonly abbreviated as "MCA", although not by IBM. In IBM products, it superseded the ISA bus and was itself subsequently superseded by the PCI bus architecture.

Background
The development of Micro Channel was driven by both technical and business pressures.

Technology
The IBM AT bus, which later became known as the Industry Standard Architecture (ISA) bus, had a number of technical design limitations, including: In addition, it suffered from other problems:
 * A slow bus speed.
 * A limited number of interrupts, fixed in hardware.
 * A limited number of I/O device addresses, also fixed in hardware.
 * Hardwired and complex configuration with no conflict resolution.
 * Deep links to the architecture of the 80x86 chip family
 * Poor grounding and power distribution.
 * Undocumented bus interface standards that varied between systems and manufacturers.

These limitations became more serious as the range of tasks and peripherals, and the number of manufacturers for IBM PC-compatibles, grew. 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.

Market share
It was thought that by creating a new standard, IBM would regain control of standards via the required licensing. As patents can take three years or more to be granted, however, only those relating to ISA could be licensed when Micro Channel 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 Micro Channel in the marketplace. The overall reception was tepid and the impact of Micro Channel in the worldwide PC market was minor.

Design
The Micro Channel architecture was designed by engineer Chet Heath. A lot of the Micro Channel cards that were developed used the Chips and Technologies P82C612 MCA interface controller; allowing MCA implementations to become a lot easier.

Overview
The Micro Channel 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 Micro Channel 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, making use of the on-board graphics system when needed, and allowing a single system board connector for graphics that could be upgraded.

Micro Channel cards also featured a unique, 16-bit software-readable ID, which formed the basis of an early plug and play system. The BIOS and/or OS can read IDs, compare against a list of known cards, and perform automatic system configuration to suit. This led to boot failures whereby an older BIOS would not recognize a newer card, causing an error at startup. In turn, this required IBM to release updated Reference Disks (The CMOS Setup Utility) on a regular basis. A fairly complete list of known IDs is available (see External links section). To accompany these reference disks were ADF files which were read by setup which in turn provided configuration information for the card. The ADF was a simple text file, containing information about the card's memory addressing and interrupts.

Although MCA cards cost nearly double the price of comparable non-MCA cards, the marketing stressed that it was simple for any user to upgrade or add more cards to their PC, thus saving the considerable expense of a technician. In this critical area, Micro Channel architecture's biggest advantage was also its greatest disadvantage, and one of the major reasons for its demise. To add a new card (video, printer, memory, network, modem, etc.) the user simply plugged in the MCA card and inserted a customized floppy disk (that came with the PC) to blend the new card into the original hardware automatically, rather than bringing in an expensively trained technician who could manually make all the needed changes. All choices for interrupts (an often perplexing problem) and other changes were accomplished automatically by the PC reading the old configuration from the floppy disk, which made necessary changes in software, then wrote the new configuration to the floppy disk. In practice, however, this meant that the user must keep that same floppy disk matched to that PC. For a small company with a few PCs, this was annoying, but practical. But for large organizations with hundreds or even thousands of PCs, permanently matching each PC with its own floppy disk was logistically unlikely or impossible. Without the original, updated floppy disk, no changes could be made to the PC's cards. After this experience repeated itself thousands of times, business leaders realized their dream scenario for upgrade simplicity did not work in the corporate world, and they sought a better process.

Data transmission
The basic data rate of the Micro Channel was increased from ISA's 8 MHz to 10 MHz. This may have been a modest increase in terms of clock rate, but the greater bus width, coupled with a dedicated bus controller that utilized burst mode transfers, meant that effective throughput was up to five times higher than ISA. For faster transfers the address bus could be reused for data, further increasing the effective width of the bus. While the 10 MHz rate allowed 40 MB/s of throughput at 32-bit width, later models of RS/6000 machines increased the data rate to 20 MHz, and the throughput to 80 MB/s. Some higher throughput functions of the Micro Channel bus were available to RS/6000 platform only, and were not initially supported on cards operating on an Intel platform.

With bus mastering, each card could talk to another directly. This allowed performance that was independent of the CPU. One potential drawback of multi-master design was the possible collisions when more than one card would try to bus master, but Micro Channel included an arbitration feature to correct for these situations, and also allowed a master to use a burst-mode. Micro Channel 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-runnable devices like tape and communications.

Multiple bus-master support and improved arbitration mean that several such devices could coexist and share the system bus. Micro Channel bus-master-capable devices can even use the bus to talk directly to each other (peer to peer) at speeds faster than the system CPU, without any other system intervention. In theory, Micro Channel architecture systems could be expanded, like mainframes, with only the addition of intelligent masters, without periodic need to upgrade the central processor.

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 Micro Channel architecture permitting any card on the bus to function as an I/O processor for direct 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 Micro Channel architecture 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 type of software-configuration system is known as plug and play today.) The feature did not really live up to its promise; the automatic configuration was fine when it worked, but it frequently did not - resulting in an unbootable computer - and resolving the problem by manual intervention was much more difficult than configuring an ISA system, not least because the documentation for the MCA device would tend to assume that the automatic configuration would work and so did not provide the necessary information to set it up by hand, unlike ISA device documentation which by necessity provided full details (however having to physically remove and check all IRQ settings, then find and set the new IRQ for a new device—if a suitable one was available—for ISA was no fun at all, and beyond many users... it is obvious why the attempt was made to move to software arbitrated configuration, and why this was to later succeed in the form of PnP.)

Reception
In November 1983 The Economist stated that the IBM PC standard's dominance of the personal computer market was not a problem because "it can help competition to flourish". The magazine predicted that

"IBM will soon be as much a prisoner of its standards as its competitors are. Once enough IBM machines have been bought, IBM cannot make sudden changes in their basic design; what might be useful for shedding competitors would shake off even more customers."

Micro Channel architecture was publicly introduced at the launch of the PS/2 range in 1987, with three out of four of the new machines featuring it. IBM had actually discreetly introduced the Micro Channel architecture in October 1986, half a year before the introduction of the IBM PS/2, as part of their "Gearbox" Industrial Computer 7552 series. These computers were rack-mountable, ruggedized, modular industrial PCs. They featured a hybrid 16-bit MCA and ISA bus, with certain ISA signal lines disabled.

The use of MCA in IBM spread to the RS/6000, AS/400, and eventually to the IBM 9370 systems - smallest members of the System/370 range.

IBM licensed the architecture to other companies for one to five percent of revenue. Tandy Corporation was the first to ship a Micro Channel-based computer, the 5000 MC, but company head John Roach said "I'm surprised anybody at all would want it"; Tandy only sold the computer, he said, because there was some demand for it. NCR Corporation adopted Micro Channel comprehensively - they designed and built high-performance personal computer, workstation and server platforms supporting it, including their own Micro Channel architecture-based logic componentry, including SCSI, graphics, networking, and audio. A small number of other manufacturers, including Apricot, Dell, Research Machines, and Olivetti adopted it, but only for part of their PC range.

Despite the fact that MCA was a huge technical improvement over ISA, it soon became clear that its introduction and marketing by IBM was poorly handled. IBM had strong patents on Micro Channel architecture system features, and required Micro Channel system manufacturers to pay a licence fee - and actively pursued patents to block third parties from selling unlicensed implementations of it. The PC clone market did not want to pay royalties to IBM in order to use this new technology, and stayed largely with the 16-bit AT bus, (embraced and renamed as ISA to avoid IBM's "AT" trademark) and manual configuration, although the VESA Local Bus (VLB) was briefly popular for Intel '486 machines.

For servers the technical limitations of the old ISA were too great, and, in late 1988, the "Gang of Nine", led by Compaq, announced a rival high-performance bus - Extended Industry Standard Architecture (EISA). This offered similar performance benefits to Micro Channel, but with the twin advantage of being able to accept older ISA boards and being free from IBM's control.

For several years EISA and Micro Channel battled it out in the server arena, but, in 1996, IBM effectively conceded defeat, when they themselves produced some EISA-bus servers. In 2001 IBM executive Robert Moffat said that of the company's mistakes in the PC market, "the most obvious one is Micro Channel".

Within a few years of its arrival in 1992, PCI had largely superseded Micro Channel, EISA, and VLB.

Consortium
In response to the rise of EISA, IBM and thirteen Micro Channel card and peripheral manufacturers formed the Micro Channel Developers Association. This was a consortium that sought to consider and prioritize steps in the maturation of Micro Channel, as well as to explore better approaches to disseminating technical information about Micro Channel to third parties. In 1992, it reached 92 members, including IBM. Even after IBM discontinued MCA systems in 1995, the consortium still held meetings and maintained a catalog of MCA devices online.

Third-party adoption
A number of non-PS/2 computers were manufactured between the late 1980s and early 1990s. Such third-party computers were also referred to as PS/2 clones or MCA clones. The first third-party Micro Channel–based computer was Tandy Corporation's 5000 MC in 1988. Despite expensive research and development costs on the part of third-party manufacturers of Micro Channel computers—in part due to the expensive licensing fees incurred by IBM in order to allow legal use of the Micro Channel technology—by 1990 most MCA clones were not fully compatible with the Micro Channel architecture or expansion cards based on Micro Channel. By the time IBM was winding down the PS/2 line of personal computers (which in 1987 acted as the means of introducing Micro Channel to the general public) in 1992, NCR Corporation remained the one of a few remaining committed vendors of MCA clones.

Cards
Expansion cards for the Micro Channel bus typically targeted high-end graphic workstation or server requirements, with SCSI, Token Ring, Ethernet, IBM 5250 and IBM 3270 connections.



Sound cards
Very few MCA sound cards were ever produced. Some examples include:
 * AdLib MCA Music Synthesizer Card
 * ChipChat Sound-16
 * ChipChat Sound-32
 * Creative Labs Sound Blaster MCV, SKU:CT5320
 * Creative Labs Sound Blaster Pro 2 MCV, SKU:CT5330
 * IBM Rexon/Tecmar M-ACPA, SKU: 95F1288, 34F2787
 * IBM Audiovation, SKU: 92G7463, 92G7464
 * IBM Ultimedia Audio Adapter 7-6, only compatible with RS/6000 systems, or PS/2 systems under NT with a special procedure
 * Reply SB16
 * Roland MPU-IMC
 * Piper Research SoundPiper 16