The world's first stored-program electronic digital computer successfully executed its first program on 21st June 1948. That program was written by Tom Kilburn who, along with the late F.C. (Freddie) Williams designed and built the machine. It was called the "Small Scale Experimental Machine", but was soon nicknamed the "Baby". It is also sometimes (unhelpfully?) known as the "Mark 1 prototype".
Freddie Williams started work in July 1946 on a form of digital storage using a Cathode Ray Tube, at the Telecommunications Research Establishment (TRE) at Malvern. He demonstrated the successful operation of a single bit memory using the "anticipation pulse method" in early October, and provisionally patented this system in December 1946. The bit was stored in the form of a charge on the CRT screen's phosphor, which could be controlled by the electron beam to write a 0 or a 1. Although the phosphor was an electrical insulator, the charge would leak away in the order of a second. Freddie Williams arranged to read the charge and then rewrite it continuously at electronic speeds so that information could be kept permanently; this process was called "regeneration" and the principle is still used today to replenish charge on modern integrated circuit RAMs.
In December 1946 Freddie Williams moved to the University of Manchester to take up a chair in Electro-Technics. He continued to work on the system, and Tom Kilburn, who had been in his group at TRE, was seconded to Manchester to continue the work with him. A second TRE member was also seconded to assist Tom Kilburn, initially Arthur Marsh, who left after a few months, and then from June 1947 G.C. (Geoff) Tootill. It was known worldwide that the provision of an effective means of electronic storage was crucial to the further development of Electronic Digital Computers. By December 1st 1947 2048 bits were being stored on a standard single 6 inch diameter CRT, and an internal report had been written by Tom Kilburn introducing the "dot-dash" and the "defocus-focus" methods of operation of the CRT and the design of a hypothetical computer. This report aroused considerable interest and was widely circulated in the U.K. and U.S.A. The CRT storage system became known as the "Williams Tube", though Williams-Kilburn Tube might have been a better name.
Though the store could remember 2048 bits, an individual bit could only be reset by hand, and it was necessary to test its capability of setting and reading any required bit at electronic speeds and remembering its value indefinitely between settings. So the next step was to build a small computer around a CRT memory, to subject it to the "most effective and searching tests possible". This computer, the Small Scale Experimental Machine, included the stored-program concept, so that the Random Access Memory was used not only to hold numbers involved in calculations, but to hold the program instructions. This meant that instructions could be read successively at electronic speed, and that running a different program only involved resetting part of the memory using a simple keyboard rather than reconfiguring the electronic circuitry (this could take days on ENIAC).
Work on building the Baby took place in the first half of 1948, and was mainly carried out by Tom Kilburn with the assistance of Geoff Tootill. They ordered nearly all their parts (basic CRTs, valves, resistors etc.) from TRE, so TRE effectively provided a substantial amount of the expertise, labour and equipment that went into the Williams-Kilburn Tube and the Baby (given that they themselves were on secondment from TRE).
The first program to run successfully, on June 21st 1948, was to determine the highest factor of a number. The number chosen was quite small, but within days they had built up to trying the program on 218, and the correct answer was found in 52 minutes, involving about 2.1 million instructions with about 3½ million store accesses.
F.C. Williams later said of the first successful
"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, and what was even worse, without yielding any clue as to what was wrong. But one day it stopped, and there, shining brightly in the expected place, was the expected answer. It was a moment to remember. This was in June 1948, and nothing was ever the same again."
With the Baby proving both the effectiveness of the Williams-Kilburn Tube and the basic stored-program concept, work was immediately started, with increased manpower, to design and build a more realistic, useable, computer based on the Baby. This was achieved between late 1948 and late 1949, in two or three incremental stages, with the Manchester Mark 1. This in turn was used as the basis of the design of the world's first general-purpose commercial computer, the Ferranti Mark 1.
The Baby machine had the following properties :
The main store was a 32 * 32 bit array on a Williams-Kilburn Tube. In addition there were two other Williams-Kilburn Tubes holding special storage "registers": one held the accumulator A and the other the address of the current Instruction CI ("Control Instruction") and the instruction itself PI ("Present Instruction"). A fourth tube, the Display Tube could be switched to provided a suitable display of the current contents of any of the Williams-Kilburn Tubes.
The instruction format was :
3-bit function field (bits 13 to 15) -- 13-bit store address (0 to 12) -- 16 bits unused
There were just 7 instructions (with S representing the contents of the word with address S) :
Input to the Baby was by setting sequences of bits at chosen addresses using a simple keyboard. Output was by reading the information on the Display Tube.
|A page from Geoff Tootill's notebook, showing the first program, with some explanation added underneath (not shown in the miniature alongside). A more detailed description of the Baby and its order code than that given here is given in the documentation associated with the 1998 Programming Competition.|
Three demonstration programs were run on the prototype, including the one
shown above and one written by
Turing, which used a long division routine.
Story continues : Manchester Mark 1
Useful Links : Home Page, Picture Gallery, Mark 1 Literature
Other Links : The Jargon Explained, Simulators for the Baby, Links to Other Sites with information about the history of computing
Context : 50th Anniversary pages (The Mark 1 story, Celebrations, Virtual Museum)
at : the School of Computer Science, The University of Manchester
Maintainer : Brian Napper; last updated April 1999 (full acknowledgements)