Skip to content

The Manchester Baby: The First Stored-Program Computer

Abstract

On 21 June 1948, in a laboratory at the University of Manchester, a machine its builders called the “Baby” ran a program held in electronic memory and produced the right answer. It was the first time any computer executed a stored program, the idea at the heart of every computer since. The Baby was built to prove something narrower: that a cathode-ray tube of the kind used in wartime radar could store binary data reliably. Freddie Williams, Tom Kilburn and Geoff Tootill built it in six months from surplus parts; Kilburn’s 17-instruction program ran for 52 minutes to find the highest factor of 2^18. Within three years the Baby had grown into the Manchester Mark 1, the first machine with index registers, and the Ferranti Mark 1, the first general-purpose computer sold commercially. The tube memory it proved was displaced by magnetic cores within a few years; the stored program was not.

Manchester Baby
Replica of the Manchester Baby, Science and Industry Museum, Manchester. Image: Logg Tandy, CC BY 4.0, via Wikimedia Commons.

Two Radar Engineers

Frederic Calland Williams, known as Freddie, was born on 26 June 1911 in Romiley near Stockport. He studied engineering at the University of Manchester, took a doctorate at Oxford in 1936 and spent the Second World War at the Telecommunications Research Establishment (TRE), Britain’s radar laboratory, where he became one of its leading circuit designers. In December 1946 he returned to Manchester as professor and head of the Department of Electrical Engineering.

Tom Kilburn, ten years younger, was born on 11 August 1921 near Dewsbury in Yorkshire. He read mathematics at Sidney Sussex College, Cambridge, graduating with first-class honours in 1942. The novelist C. P. Snow, then recruiting scientists for the war effort, sent him on a short electronics course and posted him to TRE, where he was assigned to Williams. When Williams moved to Manchester, TRE seconded Kilburn to work with him.

Williams was candid about what they brought with them. “Neither Tom Kilburn nor I knew the first thing about computers when we arrived at Manchester University,” he later said. What they knew was cathode-ray tubes.

The Storage Problem

Williams Kilburn Tube
A Williams-Kilburn storage tube from the Manchester Mark 1, at the Computer History Museum. The pattern of charged spots on the screen held the bits. Image: ArnoldReinhold, CC BY-SA 4.0, via Wikimedia Commons.

By 1946 the stored-program idea was written down. Von Neumann’s EDVAC report described a machine that kept both its data and its instructions in the same fast memory, so that a program could be loaded, changed and even modify itself without rewiring. The missing piece was the memory. Cambridge’s EDSAC used mercury delay lines, in which data circulated as sound pulses and the processor had to wait for the word it wanted to come round again.

Williams had noticed during the war that the electron beam of a cathode-ray tube left a small electric charge on the screen where it struck, and that this charge could be read back before it leaked away. Through secondary emission, the beam knocked electrons out of the phosphor, leaving a positively charged spot. A thin metal pickup plate placed against the front of the tube detected the change in charge when the beam revisited a spot. A dot could stand for one binary value and a dash, or a dot written next to it, for the other. Because reading a spot destroyed its charge, every read had to be followed immediately by a rewrite, and the whole screen had to be refreshed continuously before the charges faded.

The great advantage was random access: the beam could be deflected to any spot in microseconds, so any bit could be reached directly. Williams and Kilburn filed their first patent in December 1946 and a second in October 1947. In December 1947 they described a working tube storing 2,048 bits in a report, “A storage system for use with binary-digital computing machines,” which Kilburn also submitted as his doctoral thesis.

Newman’s Laboratory

Manchester already had a computing project in search of hardware. Max Newman, the Cambridge mathematician who had run the section at Bletchley Park that built the Colossus code-breaking machines, had taken the Fielden Chair of Pure Mathematics at Manchester in 1945. He obtained a grant from the Royal Society to set up a Computing Machine Laboratory and brought Colossus colleagues such as Jack Good and David Rees with him. Newman’s mathematicians explained to the engineers what a stored-program computer needed to do. The engineers built it.

The Baby

The Williams tube worked on the bench. The question was whether it would hold data reliably while a machine was reading and writing it at full speed. Williams and Kilburn decided that the only convincing test was to build the smallest computer that could exercise the memory properly. Construction began in December 1947. Geoff Tootill, an engineer on loan from TRE since September 1947, joined them.

The Small-Scale Experimental Machine (SSEM), soon nicknamed the Baby, was deliberately minimal. Its main store was a single Williams tube holding 32 words of 32 bits, 1,024 bits in all. Two further tubes held the accumulator and the current instruction and its address. It used about 550 valves, drew 3,500 watts, stood 7 feet 4 inches high, stretched 17 feet along one wall and weighed nearly a ton. Numbers were stored in two’s complement with the least significant digit on the left, the reverse of modern convention.

It had seven instructions:

Mnemonic Function
JMP jump to the address held in a store location
JRP jump relative, by an amount held in a store location
LDN load the negative of a store location into the accumulator
STO store the accumulator
SUB subtract a store location from the accumulator
CMP skip the next instruction if the accumulator is negative
STP stop

There was no addition instruction: to add, a program subtracted a negative number. There was no input device beyond a panel of switches for setting bits one at a time, and the only output was a second cathode-ray tube that displayed the store’s contents as a pattern of dots.

The first program was written by Kilburn. It found the highest proper factor of a number by trying every possible divisor from the top downwards, dividing by repeated subtraction, a task chosen because it needed no clever mathematics and kept the memory busy. The program took 17 instructions and 8 words of working storage. On 21 June 1948 it ran against 2^18 (262,144) and, after about 3.5 million operations in 52 minutes, displayed 131,072, the correct answer.

Williams described the moment in a recollection quoted ever since:

A program was laboriously inserted and the start switch pressed. Immediately the spots on the display tube entered a mad dance. In early trials it was a dance of death leading to no useful result… But one day it stopped, and there, shining brightly in the expected place, was the expected answer.

Tootill wrote an amended version of the program in July, and Alan Turing (see Alan Turing and the Enigma), who had described a universal computing machine on paper in 1936, wrote a long-division routine for it. Newman had recruited Turing as deputy director of the Computing Machine Laboratory, a post he took up in 1948 (there was no director).

The Manchester Mark 1

The Baby was a test rig, and it grew rather than being kept. Work on a larger machine began in August 1948, and an intermediate version of the Manchester Mark 1 was operating by April 1949. It added a magnetic drum as backing store, more Williams tubes and a fuller instruction set, and it had the first index registers in any computer: special registers, which the Manchester team called “B-lines” because they lived on tube B, whose contents were added to an instruction’s address before it was used. They made it easy to step through a table or an array, and every later processor has some form of them.

On the night of 16 to 17 June 1949 the Mark 1 ran a search for Mersenne primes for nine hours without error. The machine was complete by October 1949. Turing designed its input and output conventions, a base-32 code punched on teleprinter tape, and wrote the programming manual for its commercial successor.

The press called it an “electronic brain”. In June 1949 the neurosurgeon Geoffrey Jefferson used a lecture to argue that no machine could ever equal a human mind. Turing answered in The Times: “This is only a foretaste of what is to come, and only the shadow of what is going to be.” The exchange fed into his 1950 paper on machine intelligence.

Ferranti

In October 1948 the government’s chief scientist, Sir Ben Lockspeiser, saw the machine and asked Ferranti, the Manchester electrical engineering firm, to build a commercial version. A five-year contract from November 1948 paid about £35,000 a year. Ferranti, founded by Sebastian Ziani de Ferranti in 1882 and then chaired by his son Sir Vincent de Ferranti, delivered the first Ferranti Mark 1 to the university in February 1951. It was the first general-purpose electronic computer sold commercially, ahead of the delivery of the first UNIVAC in the United States (see ENIAC and the First Electronic Computers). The original Mark 1 was scrapped in August 1950 to make room for it.

The Ferranti machine made Manchester a place where people tried things with computers for their own sake. Christopher Strachey wrote a draughts program and a love-letter generator for it, and in 1951 it played music for a BBC recording (see Christopher Strachey and the first computer music).

Kilburn’s Department

Manchester Atlas 1963
The first Atlas, at the University of Manchester in January 1963. Kilburn’s group designed it as the successor to the Baby’s line; it introduced virtual memory. Image: Iain MacCallum, CC BY 3.0, via Wikimedia Commons.

Williams returned to electrical engineering and was later knighted; he died in Manchester on 11 August 1977. Kilburn stayed with computers. His group designed a series of machines with Ferranti: MEG, sold as the Ferranti Mercury, with floating-point arithmetic, of which 19 were sold; Atlas, commissioned in 1962, which introduced virtual memory, in which a program could address more memory than the machine had and the hardware moved pages between core and drum automatically; and MU5, designed to run high-level languages efficiently. In 1964 Kilburn founded the Department of Computer Science at Manchester, among the first in Britain, and led it until 1980. He died on 17 January 2001.

For the fiftieth anniversary in 1998, a team from the Computer Conservation Society led by Chris Burton built a working replica of the Baby, now at the Science and Industry Museum in Manchester.

Dead End

The Baby proved the Williams tube, and for a few years it was the fastest random-access memory available. IBM licensed it for its first scientific computer, the IBM 701, and it was used in the UNIVAC 1103, SWAC and the Soviet Strela-1 among others. Then it lost.

Williams tubes had to be refreshed continuously because the charge spots faded within a fraction of a second, and every read destroyed the data. Each tube held only a few hundred to a few thousand bits. They aged, drifted and had to be tuned by hand, and installations spent much of their maintenance effort keeping them working. Magnetic-core memory, developed at MIT for the Whirlwind computer in the early 1950s, held data without power or refreshing and did not drift. Within a few years cores displaced Williams tubes completely, and they stayed dominant until semiconductor memory arrived in the 1970s.

The tube was a dead end; the arrangement it made possible was not. The 52-minute factoring run of 21 June 1948 was the first time a machine held its own program in electronic memory alongside its data, and every general-purpose computer since has worked the same way.

📚 Sources