Why MCA? Many factors contribute to the superiority of the Micro Channel Architecture over the AT architecture (or bus) system. The primary reason there has not been a perceived advantage to the Micro Channel so far, is that it was designed for a multitasking environment, and most end-users have utilized it in a single-tasking manner. The true worth of the Micro Channel is especially evident when multiple tasks are running (and optionally, multiple processors). This is where the AT bus bogs down. A number of the more significant advantages (in no particular order) are discussed in the following sections. Disclaimers: 1) Although this document refers specifically to the IBM Personal Computer AT, the information applies equally to most so-called "100% AT-Compatible" systems. Details may differ from machine to machine, however, so be sure to contact the system vendors for specifics regarding their hardware. 2) This document was not written for engineers, but for those looking for a layman's understanding of the benefits provided by the Micro Channel Architecture. Hence many concepts were simplified (and perhaps oversimplified to the point where they are not precisely accurate from an engineer's standpoint, but still serve as an effective overview for non-engineers). For detailed Micro Channel specifications, to the point of timing diagrams and adapter design, refer to the IBM Personal System/2 Hardware Interface Technical Reference manual. Ordering instructions may be found at the end of this document. Note: This article borrows heavily from a document
called "Micro Channel Architecture: Balance in the Multi-Tasking Environment",
by Chet Heath, IBM Senior Engineer and chief architect of the Micro Channel.
(Any IBM Rep or SE can download the document from a VM file called "MCROCHNL
Micro Channel PS/2s make extensive use of Large Scale Integration (LSI) and Surface Mount Technology (SMT). LSI improves reliability by putting more components and their connections within one chip. These interconnections are far more reliable than solder connections, eliminating intermittent errors caused by poor electrical connections. Using fewer components also means that there are fewer components to fail. The Micro Channel also simplifies adapter design by reducing the number of signal lines connecting hardware. To support the same number of DMA devices as the Micro Channel, a PC would require 16 additional signal lines. This means 31 contacts on every connector, module, or adapter, versus only 6 for a Micro Channel machine. The miniaturized Micro Channel connectors also conserve system board space (the 32-bit connectors are approximately the same length as the 16-bit AT connectors). Smaller circuitry means smaller motherboards and adapters (or more circuitry on the same sized board), which results in smaller system units. Surface Mount Technology bonds all circuits directly to the surface of the board, eliminating the need to drill holes through the board. This simplifies robotic insertion of the components. The procedure of solder-bonding modules to the circuit board avoids bent pins and thermal shocks to the joints (which lead to unreliable, intermittent contacts). Because of the heavy use of LSI and SMT, Micro Channel adapters require
far less power than conventional AT adapters (which use the less expensive
pin-in-hole technology). Lower power draw means that smaller, and
less expensive, power supplies may be used. This (plus the use of
less
Also, although the Micro Channel adapters contain only 60% of the surface
area of AT adapters, the use of SMT allows both sides of the card to be
used, making it equivalent to 120% of the surface area of an AT card using
pin-in-hole mounting. Because of this, as well as the smaller components
Overall, field experience has shown that, on average, the PS/2 product
line is five times as reliable as the IBM PC family that preceded it.
A key feature that enhances the concurrent processing of OS/2 is the support of bus masters. A bus master is a microprocessor which operates independently of the system microprocessor, and may contain its own memory, hard disk drive and/or slave coprocessors on a card, and run its own operating system. Bus Masters allow the more efficient distribution of work throughout the system, thus freeing the system microprocessor to perform more system management tasks, while providing greater system capability. The Micro Channel can support up to 15 bus masters that can take control of the I/O bus to move blocks of data. These bus masters do NOT have to be from the Intel family of microprocessors. They may be any kind of microprocessor, from any vendor. Bus masters add another dimension to the multitasking environment, called multiprocessing. Multiprocessing occurs when bus masters (usually intelligent I/O adapters) communicate directly with system memory or with other I/O devices. Bus masters permit the system to transfer more data in less time than is possible without bus masters, because multiple bus masters may be transferring data concurrently. Bus masters allow the creation of "intelligent subsystems", which use microprocessors dedicated to a specific task in order to provide better performance. For example, a board containing a 12MHz 286 chip and 2MB of memory for disk caching might be added to a PS/2 to do nothing but disk drive data transfer. Or a high-speed Intel or Texas Instruments graphics chip and 1MB of memory for video processing might be used for CAD/CAM. Or a Motorola 68030 chip and 6MB of RAM might be added for desktop publishing. Or the IBM PS/2 Wizard adapter, with a 33MHz Intel i860 numeric processor, for heavy-duty number-crunching. Similarly, LAN or communications subsystems can be designed (such as the IBM ARTIC Portmaster adapter, for high-speed serial communications). In fact, all of the above, and more, can be in the same system unit (assuming enough open adapter slots) at the same time, and all will be running independently of the system processor, and each other. AND each bus master could "talk" directly with one another, totally bypassing the system bus which may be running at a much slower rate than the bus masters. For example, the bus in a 20MHz Model 70-121 runs at 10MHz; however a 33MHz i860 bus master and a 25MHz 68030 bus master could communicate directly at 25MHz (the lowest common denominator), without tying up "traffic" on the system bus, or having to slow down to the bus speed. The only conflicts that might occur would be when two bus masters try to use the same common resource (such as a diskette drive or other device not on the bus master card). In this event, the Central Arbiter will determine which bus master gets control (based on priority level); the others will wait their turn. If a multiprocessing operating system is used, each application could execute on a different microprocessor, if desired. Additionally, one integrated application would be able to use several different microprocessors for multiple tasks. Thus it might use one 386 for sorting a file, while another 386 (with its own 387) is used for recalculating a spreadsheet, and a graphics chip is being used for graphing the result of the recalc, and a communications bus master is downloading the next file to process. Then a 68020 might be used for output to a laser printer. The AT architecture does not easily lend itself to bus mastering, because it was developed for the single-tasking environment. Thus there is no standardized protocol defined for bus master arbitration in the AT bus, as there is in the Micro Channel Architecture. This means there is potential for conflicts between multiple bus masters in an AT bus system. Even if intelligent subsystems were to be used with the AT architecture, the system processor is still the only element capable of moving blocks of data to and from multiple disk drives, or I/O devices, because the AT DMA controller does not support burst mode. This results in an unavoidable bottleneck. In the AT design, data flow consists of many stops and starts. First the processor signals that it is going to send one byte of data, then it sends the data, and finally indicates that it is ready to send another byte. This occurs for each and every byte. These constant start/stops greatly impede the flow of data. The processor becomes a point of congestion as it is the only element in the system capable of moving continuous blocks of data. This is compounded in a multitasking environment, where multiple programs are each trying to transmit large blocks of data concurrently. By comparison, the Micro Channel allows a device to move large blocks of data in bursts. Data bursts can be transferred to and from the I/O device at up to 18.7 MegaBYTES per second (for a 32-bit I/O device), by going through the DMA controller instead of the system microprocessor (which is free to do other tasks). When IBM released the original IBM Personal Computer, it included support for three 8-bit non-bursting DMA channels. The IBM PC/AT increased the number of non-bursting DMA channels to seven (three 16-bit, and four 8-bit). Of these, only the original three 8-bit DMA channels are typically used by AT adapters, (so that the adapters could also be used in the PC). With only three 8-bit DMA channels available, no more than three adapters may use DMA (non-bursting) transfers; and only one at a time. The Micro Channel, by comparison, allows up to fifteen DMA devices to
be installed, up to eight of which can be transferring at the same time,
at burst mode transfer rates, through eight 32-bit DMA channels.
This becomes especially important in a multitasking environment, where
system resources
Higher Performance Data Transfers
By using multiplexing techniques, on a 32-bit data bus, 64-bit data transfers are possible. (64-bit data transfers between an adapter and the system processor requires a 32-bit adapter.) Combining this with the Streaming Data procedure yields data transfer rates of up to 80 MBps. In the future, with faster microprocessors yielding shorter cycle times, data transfer rates of up to 160 MBps will be possible. Fault Detection and Isolation Features
Data Parity provides verification of data transferred across the Micro Channel bus, as Address Parity provides for verification of address information. In addition, Synchronous Channel Check allows error information to be signaled in synch with the information being transferred. These capabilities enable adapters and motherboards to be designed with much higher error detection capabilities, and will allow better software recovery in the future. Enhanced Programmability Features
The Subsystem Control Block Architecture defines a consistent software protocol by which bus masters may communicate and exchange information. The SCB architecture allows for transfer of command, data, and status information between different bus masters, and between one bus master and the system processor. This will make it easier to develop intelligent subsystems. Relationship to Current and Future Systems
Thus, even in a current system, which does not contain these new functions,
two " advanced" adapters would be able to initiate 64-bit data transfers
between themselves (although transfers between one of these adapters and
the system processor would still be 32-bit), for example.
System resource sharing is even more complex in a multitasking environment, because two applications may require the use of the same type of system resources at the same time. To redesign today's adapters with enough DIP switches and/or jumpers to accommodate all possible combinations of memory, I/O, etc., described above, would require up to 15 switches in a system with 8 adapters or less: 4 for interrupt assignments, 4 for DMA channel selection, 3 for I/O address selection, and 4 more for adapter ROM addresses. On top of that, memory boards would require still more switches to specify starting addresses and lengths for each block of memory. This is why IBM developed Programmable Option Select (POS). POS identifies the type of adapter in each slot, and automatically configures it, based on information stored in an Adapter Description File (ADF) supplied with every adapter. This unique function eliminates the need for the many DIP switches often found on AT adapters. It also saves the time spent looking up the DIP switch settings, and then actually changing them. The POS method is not only faster than the manual means, but also more accurate: the ADF supplied by the adapter vendor changes the settings; not the user. Running multiple async communications programs concurrently requires the use of multiple interrupts. An AT is limited to only two Async (serial) ports concurrently, because only two interrupts (INT 4 for COM1, and INT 3 for COM2...COMx) are allocated for async communication use; and the AT cannot share interrupts. The Micro Channel, on the other hand, CAN share interrupts (due to the Micro Channel Architecture's use of Level-Sensitive Interrupts, rather than the Edge-Triggered Interrupts used by the PC bus). This means that as many as EIGHT serial devices can use those two interrupts in the current implementation of the Micro Channel (although the current versions of OS/2 and DOS only support 3 or 4 serial ports, respectively, in a Micro Channel system). In addition, the Micro Channel Architecture has the potential for handling as many as 512 serial devices in the future.
|