Where did you go, Pat?
The beginning- The IBM 1401
All I/O operations controlled are directly by the CPU. The CPU was also responsible for information transfers to and from memory or I/O devices. Many processing cycles were consumed with I/O management. Throughput often limited by the speed of any I/O device, because the CPU was forced to wait until an I/O operation was completebefore other activity could begin.
I/O Processor Emerges- IBM System/360
I/O Devices Use DMA- IBM System/7
Smart I/O- IBM Series/1
Fall From Grace- IBM AT
Supreme Being- IBM PS/2 Microchannel
True bus master capabilities were finally achieved with
a hardware mediated arbitration process, method of preemption, and a fairness
algorithm for equitable bus sharing.
Multiple CPU Subsystems
Micro Channel Architecture came out at approximately the same time as IBM moved to 32-bit processors However, the change to MCA was more than an upgrade in the processor, it is a redesign of the entire bus architecture.
One of the most significant changes was the introduction of smaller expansion slots. Originally AT cards were 4.75 x 13.5 inches, whereas the new MCA cards are 3.5 x 11.5 inches. This allowed the same number of expansion cards to be installed in a smaller area. However, this also means that existing cards were not compatible with the new MCA machines.
A key issue in the miniaturization of the expansions card is the concept of surface mount components or surface mount technology (SMT). Most of the components look 'flattened' in comparison to their non-MCA counterparts.
Earlier architectures used "through-hole" mounting which were holes drilled through the system board (hence the name) and then the chips were mounted into holders which were soldered into these holes. Not only does SMT save space, it also saves time and money since it is easier to produce boards in this fashion versus "through-hole".
Another key enhancement was the spacing of the connectors with SMT. The 0.050 inch spacing of the pins corresponds to the spacing on the expansions cards, making design much easier.
A radical rearrangement of the signals on the Micro Channel bus puts a ground on every fourth pin. This reduces interference so much that MCA machines can operate at 80MHz and still comply with FCC regulations on the amount of interference generated. The speed of MCA machines is also increased because this improved arrangement of signals means a high bandwidth on the bus. Therefore, the Micro Channel is not limited to the 8Mhz bus speed of the AT architecture. An additional advantage is obtained because the ground pins are no more than 1/10 of an inch away from any signal lines. This substantially reduces noise emissions.
Although subsequently implemented on the AT bus, MCA was the first to double the width of the data bus the 32-bit, which allowed anything attached to it to be accessed twice as fast. MCA was also the first to expand the address bus from 24 bits to 32. This increased accessible memory from 16 megabytes to 4 gigabytes.
Perhaps the most significant change from the traditional PC design was its hardware-mediated bus arbitration. With the old AT architecture, devices could share the bus, but it required special software. The hardware-mediate bus arbitration that MCA provides is borrowed from mainframes and allows it to use multiple processors, thus allowing multitasking and parallel processing. The current MCA implementation of hardware-mediations allows up to eight microprocessors and eight devices that all share the single data bus (such as DMA controllers). An added advantage to this hardware arbitration is that the CPU is no longer busy arbitrating bus requests and can devote itself to other tasks.
To implement this arbitration strategy, MCA adds new lines to the bus. One important set is the four lines determining the Arbitration Bus Priority Level. This represents 16 different priority levels that could be assigned to a device that wants to take control of the bus. MCA also added three lines that do that actual work. The Preempt signal tells all the other devices on the bus that the bus is being requested. The Arbitrate/Grant signal is sent by the Central Arbitration Point and begins the actual arbitration. The Burst signal is sent by a device as a "Do Not Disturb" sign to tell the other device that they ought not to even ask for the bus until this transfer is completed. Additionally, each device checks the Arbitration Bus Priority Level lines. If a higher priority level has already been asserted, the device stops its attempt to gain control of the bus.
For the end user the most notable change was the introduction of the Micro Channel's Programmable Option Select. With this, the entire hardware configuration is stored in the CMOS and it almost eliminates the conflicts (such as base address and interrupts) that were common on AT installations. In order to add a news card, the machine's reference disk needs to be booted and the configuration file need to be loaded from the options diskette that comes with the card. This makes installation of new cards substantially easier for the novice user because this installation procedure is the same for each card, no matter the manufacturer.
An added advance in terms of expansion cards is the concept of interrupt sharing. Many expansion board manufacturers allow only a limited range of interrupts which might prevent use of certain cards because of conflicts. Interrupt sharing is possible because the Micro Channel allows level-sensitive interrupts.
With edge-sensitive interrupts, as on the standard AT-bus, an interrupt is generated and then drops. The PIC determines which device the interrupt came from and services it. If interrupts were shared in this scenario, any interrupt coming between the time the first one is generated and serviced would be lost. The PIC would have no means of knowing that a second one occurred.
With level-sensitive interrupts, when an interrupt is generated it is held high until forced low by the PIC when it is serviced. If another device were on the same interrupt, pulling down the interrupt line of the would still leave the line for the second device high. The PIC would then be able to see it and service the device.