The IBM mainframe has a storied history dating back more than 40 years to the original System/360 (S/360), introduced on April 7, 1964. Over its evolution—from S/360 through System/370, S/370-XA (which, logically, should have been “System/380”), S/390, zSeries, and now System z—the mainframe has remained the backbone of information processing. Analysts estimate that 95 percent of Fortune 500 companies use IBM mainframes; this includes your bank, your airline, your insurance company, etc.
Mainframes and Microcode
Before the S/360 machines, most IBM computers used hard-wired logic; their “personality” was embedded in their construction. With the introduction of what have been called “secondgeneration” computers (the generation before the S/360s), some machines started to use microcode.
Microcode is firmware (software that “lives” at a lower level than the operating system) that provides the actual hardware architecture customer programs expect. Advantages of microcoding include the ability to add new capabilities to existing hardware and also to fix incorrect operations without hardware changes. The S/360 line ranged from heavily microcoded machines at the low end to largely hardwired, high-end machines. All recent mainframes are microcoded; the Plug- Compatible Manufacturers (PCMs), including Amdahl and Hitachi, also used microcode, although Amdahl insisted on calling it “macrocode.”
So a modern System z mainframe “emulates” a hardware architecture— one that has never even existed as wires and silicon. The IBM Personal/370, Personal/390, and Multiprise systems of the ’90s combined varying levels of hardware emulation with OS/2-based services (mainly for I/O processing).
The existence of microcode is invisible to the user and to operations staff. On the latest IBM System z machines— the Business Class and Enterprise Class—microcode updates usually can be performed transparently without a system outage.
System z machines actually implement two levels of microcode (called “Licensed Internal Code” in IBMspeak). The lowest layer, called “millicode,” implements some functions critical for performance and also directly controls the hardware. The next layer provides the channel subsystem and related functions. With Processor Resource/Systems Manager (PR/SM, also called Logical Partition [LPAR]) mode, now the only operational mode, this means that, a “native” operating system on a System z machine actually runs four levels deep! Of course, with the optimization IBM has designed into the layers, performance still far exceeds even the previous hardware generation.
Software emulation of computing hardware has a long history. Many consider the World War II British Colossus computer the first emulator; it simulated the German Enigma encryption machine.
More modern and common emulator uses include: