Microcode
Microcode emerged when Wilkes applied stored-program principles to CPU control itself—using programmable matrices instead of hardwired logic—enabling IBM System/360's revolutionary family architecture where different hardware ran identical software.
Microcode emerged from Maurice Wilkes's frustration with control unit complexity. After completing EDSAC—the first stored-program computer in regular use—at Cambridge in 1949, Wilkes visited MIT's Whirlwind project and saw their diode-matrix control store. He returned to England worried about the EDVAC's control circuits, which required ad hoc alterations whenever the instruction set changed. In July 1951, at the University of Manchester Computer Inaugural Conference, Wilkes presented his solution: use stored-program principles to control the stored-program computer itself.
The insight was elegant. Each machine instruction would be broken into micro-operations—elementary actions stored in a special control memory. The CPU would execute instructions by fetching sequences of micro-operations rather than relying on hardwired logic gates. A matrix of diodes or magnetic cores would hold the microprogram, changeable without rewiring. Wilkes and J.B. Stringer published the full theory in 1953, anticipating pipelining, microsubroutines, and variable-length timing decades before they became standard.
EDSAC 2, operational in early 1958, became the first microprogrammed computer, using a 32x32 ferrite core matrix. But the technology's commercial triumph required another six years. Fast memory remained expensive, and hardwired control using discrete components was actually cheaper throughout the 1950s. The breakthrough came with IBM's System/360, announced April 7, 1964.
System/360 used microcode to solve an unprecedented problem: how to sell computers at different price points that all ran the same software. Low-end models used simple processors with extensive microcode emulation—slower but cheaper. High-end models used more hardware and less microcode—faster but expensive. All executed identical S/360 instructions. The architecture survived sixty years of evolution; today's IBM z/Architecture mainframes remain backward-compatible with 1964 code. Microcode made computer families possible.
What Had To Exist First
Preceding Inventions
Required Knowledge
- von-neumann-architecture
- control-unit-design
- instruction-sequencing
Enabling Materials
- ferrite-cores
- diode-matrices
Biological Patterns
Mechanisms that explain how this invention emerged and spread: