Maurice Wilkes and EDSAC
Zusammenfassung
Maurice Wilkes read von Neumann’s EDVAC report in one night in 1946 and decided the stored-program computer was “the real thing.” Three years later his EDSAC, built at Cambridge from mercury delay lines and 3,000 vacuum tubes, became the first stored-program computer to provide a regular computing service to users. Around it, Wilkes’s laboratory invented much of what programming still is: the subroutine library, the first programming textbook, and — in 1951 — microprogramming, the technique that later made IBM’s System/360 family possible. Wilkes received the Turing Award in 1967, the second person to be so honored, and remained an active voice in the field until his death in 2010 at age 97.
One Night with the EDVAC Report
Maurice Vincent Wilkes (1913–2010) was a Cambridge mathematician and radar veteran who took over the university’s Mathematical Laboratory in 1945. In May 1946, the scientific computing pioneer Leslie Comrie lent him a typescript of John von Neumann’s First Draft of a Report on the EDVAC — the document that defined the stored-program concept (see The Von Neumann Architecture). There was no photocopier; Comrie needed it back the next morning. Wilkes stayed up through the night reading it and later wrote that he recognized it at once as “the real thing.”
That summer he crossed the Atlantic — securing passage took so long that he arrived only for the final two weeks — to attend the Moore School Lectures in Philadelphia, the course taught by the builders of ENIAC. On the voyage home he began sketching the machine that became EDSAC.
EDSAC: The First Practical Stored-Program Computer
The Electronic Delay Storage Automatic Calculator ran its first program — printing a table of squares — on May 6, 1949. Its main memory was a battery of mercury delay lines, tubes of liquid mercury in which data circulated as ultrasonic pulses, storing 512 (later 1,024) 17-bit words.
EDSAC was not the first stored-program machine to execute a program — Manchester’s small experimental “Baby” had run one in June 1948 (see The UK Computing Industry). Wilkes’s distinction was different and arguably more consequential: EDSAC was built deliberately as a service, not a demonstration. From early 1950 it operated as a regular computing facility for Cambridge scientists. Work that used EDSAC contributed to three Nobel Prizes — including the radio astronomy of Martin Ryle and the molecular biology of John Kendrew and Max Perutz, who used it to compute the structure of myoglobin.
The first business computer
The J. Lyons & Co. catering company — famous for its London teashops — part-funded EDSAC and then built a commercial copy, LEO I (“Lyons Electronic Office”). In 1951 LEO ran bakery valuations and later payroll, making a teashop chain the world’s first business to run on a computer.
Inventing How to Program
Programming EDSAC forced its builders to invent the discipline from nothing. Wilkes’s colleague David Wheeler devised the closed subroutine and the call mechanism long known as the “Wheeler jump,” and the laboratory accumulated a library of paper-tape subroutines — the ancestor of every software library since. In 1951, Wilkes, Wheeler, and Stanley Gill published The Preparation of Programs for an Electronic Digital Computer, the first textbook on programming.
Wilkes also left one of the field’s most quoted recollections: the moment in 1949, on the stairs between the EDSAC room and the tape-punching equipment, when he realized “a good part of the remainder of my life was going to be spent in finding errors in my own programs.” Debugging was discovered, not designed.
Microprogramming
In 1951, at a Manchester conference, Wilkes presented “The Best Way to Design an Automatic Calculating Machine.” His proposal — microprogramming — was to implement a processor’s control logic not as ad-hoc wiring but as a small, regular program stored in fast memory inside the CPU, with each machine instruction executed by a sequence of micro-instructions.
The idea was a decade ahead of the hardware needed to make it economical. Cambridge’s EDSAC 2 (1958) was the first full-scale microprogrammed computer, but the breakthrough came when IBM adopted microprogramming for the System/360 family in 1964: one instruction set, many implementations at different prices — the move that created the concept of computer architecture as distinct from implementation. Microcode remained the dominant processor design technique until the RISC movement of the 1980s challenged it, and it survives inside every modern x86 processor.
The Long Career
Wilkes headed the Cambridge Computer Laboratory until 1980, along the way co-developing the Cambridge Ring local-area network and early work on capability-based security. He received the Turing Award in 1967 — the second ever awarded, after Alan Perlis — cited “as the builder and designer of the EDSAC, the first computer with an internally stored program,” with the citation also crediting the 1951 textbook through which “program libraries were effectively introduced.” He was knighted in 2000 and published, characteristically, into his nineties. He died in Cambridge on November 29, 2010, aged 97.
⚠️ Dead End: Mercury Memory
The technology EDSAC was built on vanished almost immediately. Mercury delay-line memory was serial — the processor had to wait for data to circulate past — as well as bulky, temperature-sensitive, and toxic. Williams tubes, magnetic drums, and then magnetic core memory displaced it within a decade, and random-access memory made the delay line’s whole programming style (timing code to the rotation of the store) obsolete. It is a clean example of a pattern that recurs throughout early computing: the architecture (stored program, subroutines, microcode) outlived every physical technology it was first built from.
📚 Sources
- ACM Turing Award: Maurice V. Wilkes (1967)
- Maurice Wilkes: Memoirs of a Computer Pioneer — MIT Press (1985)
- Maurice Wilkes — Wikipedia
- University of Cambridge: EDSAC 1 and after
- IEEE Annals: The EDSAC — M. V. Wilkes on the early Cambridge machines
- Wikipedia: Maurice Wilkes · EDSAC · LEO (computer) · Microcode