The titanic battle between big iron and microprocessors


I’m a child of a microprocessor age. I learned to program on computers powered by a variety of microprocessors starting with the 4-bit SC43177/SC43178 pair powering a Sharp PC-1211, continuing with the 8-bit Zilog Z80 on the TRS-80, the Zenith Z-89, and the Sinclair ZX81 computers, and graduating to 16-bit processors: the Texas Instruments TMS9900 powering its manufacturer’s TI-99/4A home computer and finally Intel’s 8088 on an IBM Portable (16kg) Personal Computer. At the university I encountered an IBM System/370 4331/2 mainframe, which I regarded with outer contempt. It seemed to me like a dinosaur: slow and unwieldy, lacking interactivity, color, and graphics. I couldn’t fathom why businesses were using such monsters. I now understand that I was watching an amazing race between the sprightly but woefully simplistic microprocessors and the powerful but slow-moving mainframes.

Big iron power

The IBM System/360 4381 — By Tycho

IBM’s System/370 architecture, introduced in 1970, had several features that the microprocessors of the late 1970s, such as Intel’s 8088 powering the IBM PC, could only dream of.

  • 32-bit addressing and registers, which allowed the effortless use of up to 4GB of RAM and the efficient processing of numbers in the range of ±2 billion. In contrast, Intel’s 8088, introduced in 1978, could by default address 64kB of RAM and through some tricky gymnastics extend that to 1MB (640kB on the IBM PC). The 8088 supported integer arithmetic in the range of -32,768 to 32,767 or 0 to 65,535.
  • Memory protection, which prevented programs trampling on each other’s memory locations. On the 8088 IBM PC one buggy program would crash the entire system.
  • Floating point instructions, which allowed the efficient execution of numerical algorithms. On the PC floating point operations were often simulated by libraries, such as these.
  • Virtual memory addressing (virtual storage in IBM’s terminology), which allowed the use of more memory than was physically available and the efficient and effortless execution of multiple programs in parallel. Large programs running on microprocessors had to resort to the profound ugliness of overlay linking or chain loading.

An observer at the time would be justified in thinking that microprocessors were only suitable for powering microwave ovens and game consoles. Business computing would always run on mainframes.

Moore’s law power

The original IBM PC — By Bundesarchiv, B 145 Bild-F077948-0006 / Engelbert Reineke / CC-BY-SA 3.0

That observer would be wrong. Following Moore’s law microprocessors became increasingly more powerful.

  • In 1980 the Intel 8087 co-processor provided the 8088 with the ability to natively execute floating point instructions. By having another 40,000 transistors execute in parallel with the 8086 29,000 ones, floating point instructions could execute 100 times faster. Read Ken Shirriff’s excellent die analysis of the 8087 processor to see how Intel pulled off this miracle.
  • In 1982 the Intel 80286 with its 134,000 transistors offered, among other things, memory management through its protected mode capability.
  • By 1985 Intel’s 80386 used 275,000 transistors to offer 32-bit registers and addressing as well as virtual memory.
The Intel 386 die — By Pauli Rautakorpi - Own work, CC BY 3.0

As you can see, in just five years Intel’s microprocessor offering evolved from an underpowered underdog into a chip that could see eye-to-eye IBM’s powerful System/370 architecture. Of course, IBM was not standing still over those years. But the writing was on the wall.

Comments   Toot! Share

Last modified: Sunday, May 31, 2020 10:55 pm

Creative Commons Licence BY NC

Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.