c. 1948 | Tom Kilburn | c. 1998 |
"... the most exciting time was June 1948 when the first machine worked. Without question. Nothing could ever compare with that."Professor Emeritus Tom Kilburn FRS was born on August 11th 1921. He was born and brought up in Dewsbury, Yorkshire. He died on January 17th 2001 in Manchester after twenty years of quiet retirement, in the city where he made such a great contribution to the first 25 years of computer development.
Tom Kilburn, Autumn 1992
"I didn't know Freddie Williams until that day and in effect he said `Oh God, you don't know anything?' and I said, `No'. That was the sort of relationship at the start. But of course by the time we left Malvern - that was four years later - the relationship was quite different."Freddie Williams led a small group that acted as think-tank and problem-solver for radar and other defence areas, for anything involving electronic circuits. The group occupied a single room in Malvern College's cricket pavilion, and Tom Kilburn picked up the required knowledge and expertise quickly. By the end of the four years he was running his own projects and had logged around 500 hours flying, typically taking experimental equipment to other sites and testing it in the air. In 1946 he spent a month in Canada.
In December 1946 Freddie Williams moved to the University of Manchester to take up a chair in the Department of Electro-technics, later the Department of Electrical Engineering. Tom Kilburn was seconded to Manchester by TRE at the same time so that they could continue to work on the digital storage of information on a Cathode Ray Tube. It was known worldwide that an effective electronic storage mechanism was essential to the progress of electronic digital computers, and Freddie Williams thought they could solve the problem using CRTs.
In late 1946 Freddie Williams had succeeded in storing one bit on a CRT. Tom Kilburn spent the first few weeks of 1947 transferring the whole of the equipment for the experiment up to Manchester. He was helped in this by a second person seconded from TRE, Arthur Marsh, who soon left, and was replaced after a few months by Geoff Tootill, who was Tom Kilburn's full-time assistant for the next two years. By March Tom Kilburn had suggested an improved method of storing bits, and by the end of 1947 they were able to store 2048 bits on a CRT, having explored various techniques. They were now ready to build a small computer round this storage device, subsequently called the Williams Tube, though Williams-Kilburn Tube would have been more accurate. In order to justify a second year of secondment, Tom Kilburn submitted a report to the TRE management. This report, A Storage System for use with Binary Digital Computing Machines (Progress report issued 1st December 1947), was circulated widely and was influential in several American and Russian organisations adopting the Manchester-developed CRT storage system.
Tom Kilburn was already familiar with electronic computing using analogue devices from his experience with radar. He first heard about digital computing machines in 1945 when mercury filled delay lines were being designed as serial storage devices. In early 1947 he attended a series of lectures at the National Physical Laboratory (NPL) given by Alan Turing and attended by some 20 people. Turing had completed the design of NPL's computer by then, which was based on Mercury Acoustic Delay Lines as the storage device, and the lectures were about the specific details of his design. If Kilburn was influenced by the lectures, it was mainly indirectly, as he resolved not to build a computing machine "like that".
On into 1948 Tom Kilburn led the work on designing and building a Small Scale Experimental Machine, "The Baby". This tested in practice the ability of the Williams-Kilburn Tube to read and reset at speed random bits of information, while preserving a bit's value indefinitely between resettings. And for the first time in the world a computer was built that could hold any (small!) user program in electronic storage and process it at electronic speeds. He wrote the first program for it, which first worked on June 21st 1948.
In late 1948 Tom Kilburn joined the staff of the Electrical Engineering department and was awarded a Ph.D. for his work on the Williams-Kilburn Tube and the Baby.
With the principle successfully established both of the Williams-Kilburn Tube as a storage device and the stored-program computer as a major advance in electronic computing, Freddie Williams and his expanded team moved on to design and build a more powerful and useable computer, the Manchester Mark 1. In the autumn of 1948 the government had commissioned Ferranti Ltd. to build a commercial machine "to Professor Williams' specification", and work went on at full speed to perfect the design and build the machine, effectively as a prototype for Ferranti.
The basic design of the Manchester Mark 1, again led by Tom Kilburn, was completed by November 1948, and the machine was fully operational by around October 1949, by which time its detailed design was already being handed over to Ferranti. The evolution from Baby to full Manchester Mark 1 took place in stages, and an intermediary version with most of the added power was available for general use from April 1949. With Professor Williams having many other duties, Tom Kilburn was the senior full time worker on the project. He was also by now the main driving force behing computer development. Prof. Williams was not committed to computers; he had viewed the Baby mainly as an exercise in proving the Williams-Kilburn Tube, and did not want to be diverted from a life in Electrical Engineering.
Tom Kilburn's main interests in practice were concentrated on the design and building of the central computer; he did not get so involved in peripheral devices (magnetic drum and Input/Output) or in the art and practice of programming, which was dealt with by the software personnel (see Computing Service below). It is probably true (but misleading) that Tom Kilburn wrote and ran the world's first proper program, and that this program was his last! But the expected use of computers had a big effect on their design, and Tom Kilburn wrote plenty of bits and pieces of program over the years, especially inner loops, in the cause of worrying about architectural considerations and instruction sets.
In early 1951 the Manchester Mark 1 was replaced by the first Ferranti Mark 1, in a new building built specially to house it, the Computing Machine Laboratory. A Computing Service was set up on the new computer for the University, Ferranti and outside users. Freddie Williams now turned his attention fully to Electrical Engineering, leaving Tom Kilburn, now a Senior Lecturer, to lead the Computer Group, which was effectively a subdivision within the Electrical Engineering Department, with the software side housed in the Computing Machine Laboratory, and the engineering staff still housed in the Electrical Engineering building. Once the new machine was running smoothly it was time for Tom Kilburn and his design group to move on to new computers, MEG and the Transistor Computer.
The experience of programming in 1949 was left very much to users from Ferranti and other University departments, notably Mathematics. Professor Newman of the Mathematics Department had been awarded a grant in 1946 by the Royal Society to set up a Computing Machine Laboratory, expecting (like Cambridge) to build a computer using American designs. But the process was sidetracked by Freddie Williams and Tom Kilburn designing and building their own computer "next door", effectively funded by TRE. The initiative, which would have concentrated (like Cambridge) on getting a computing service going so that they could get experience in using a computer, never got off the ground. In September 1948 Newman appointed Alan Turing to the Mathematics department, with the plan that he would help part-time on the software side for the Mark 1 project. Newman and Turing acted as programming consultants, and Turing in particular became actively involved in the Baby/Mark 1 project, at first using the Manchester Mark 1 mainly to pursue his mathematical research. However with the appointment of Cicely Popplewell to Electrical Engineering in the summer of 1949, effort started to be put directly into satisfying the requirements of the programming community. In 1950 Turing and Cicely designed the programming system for the Ferranti Mark 1 (Scheme A), based on their experience with the Manchester Mark 1, and Turing wrote the first programming manual for it.
But it was not really until Turing withdrew from active work on the Mark 1 project and R.A. (Tony) Brooker was appointed in 1951 as formal leader of the software side that Kilburn's Computer Group acquired a strong focus on users' requirements.
Tony Brooker led the software development, first improving the programming system (Scheme B) and then addressing the problem of user languages. There was no assembly language for the Mark 1, only an ingenious but daunting method of writing programs in binary using a base-32 character set, designed by Turing. Brooker bypassed the Assembly Language stage by designing a simple "high-level language", the Mark 1 Autocode, as an alternative to Turing's method. This was gratefully received (in 1954) by the programming community!
Cicely Popplewell concentrated on the practicalities of running the Computer Service. To provide a formal Computing Service for outside users was a requirement of the government money put into the project, and in the long term it was a major source of internal funding for future computer development. The power of the Ferranti Mark 1 was far more than was required by the department or even the University. As ever in Tom Kilburn's career the operation was a significant and pioneering one, due to the new situation created by the new computing development (though in this case Tony Brooker would have been able to bring in useful experience from Cambridge).
A good snapshot of the situation in the 1950s is provided by the analysis of users and usage of the University's Ferranti Mark 1 in 1955. The user community was :
9 | Departments of the University of Manchester | |
6 | Departments of other universities | |
3 | Research associations | |
9 | Government establishments | |
7 | Industrial firms (doing engineering design) |
There were on average 100 useful hours of computing a week available, distributed as follows :
12 | hrs | Computing Machine Laboratory |
30 | hrs | University of Manchester users |
13 | hrs | Other universities |
45 | hrs | Research/government/industrial organisations |
There were 66 papers published using machine results in 1955. 104 people were trained to use the machine. The Laboratory also provided a service for helping people debug their programs.
Once the Ferranti Mark 1 was working smoothly in 1951, Tom Kilburn's design team started work on two different machines at much the same time. MEG was basically a version of the Mark 1 with floating point arithmetic added. However there were a lot of improvements in detail, especially due to the improved basic electronic components available. In particular the speed of computing was increased by a factor of around 30. MEG first ran in 1954 and was probably the world's first floating point computer.
At the same time Kilburn's team (helped by other members of the Electrical Engineering staff) was exploring the capability of transistors. They designed a cheap and simple computer using them, the Transistor Computer. This had no RAM, only a magnetic drum store, and had to resort to the same device as the computers based on the mercury acoustic delay line, of each instruction containing the address of the next instruction to help overcome the inefficiencies due to lack of fast random-access store. A small version of this machine first ran in November 1953, probably the world's first transistorised computer. An expanded version was completed in April 1955.
As with the Manchester Mark 1, the designs of both these machine were handed over to local commercial companies. Ferranti Ltd. turned MEG into "Mercury", now with a ferrite core store for RAM instead of MEG's Williams-Kilburn CRT store. 19 were sold, the first delivered in 1957, and they were a major resource for scientific work throughout the U.K. A Mercury was delivered to the Computing Machine Laboratory in 1958, to take over the computing service still being provided by the Ferranti Mark 1. Tony Brooker designed a new, more powerful Mercury Autocode for it.
The Transistor Computer was manufactured by Metropolitan Vickers as the MV950, with improved transistors. Six machines were built, mainly for internal use, the first delivered in 1956.
In 1956 Tom Kilburn and his team started to look at the design of a machine that would be far larger and, with transistors and magnetic core store now available, much faster. It was called MUSE (for microSEcond) and aimed for a speed of 1 million instructions a second. With such a large and fast machine they realised from their Computing Service experience that it would no longer be possible to run programs in series. Too much time would be wasted in carrying out transfers between RAM and peripherals (drum and I/O). The addition of another dimension of bulk magnetic storage using tapes would compound the problems.
The central idea of solving these problems was that there would be a large program permanently residing in the computer that would organise the detailed running of all programs, the Supervisor. It would handle a large number of programs at the same time, interrupting user programs and switching between them as suitable to avoid wasting waiting time for peripheral transfers. In modern parlance, the programmer programmed with a virtual one-level store as big as he wanted and virtual input/output. (Only transfers to and from magnetic tape would be programmed explicitly in real time.) He wrote his program as if he had the machine to himself with whatever size RAM he wanted and whatever input/output devices. He would prepare inputs for the program each with a header identifying the user and the name of the input, and these would be handed to the Computing Service, possibly over a period of time. An actual request to run a program would be a short "JOB description" input file, identifying (inter alia) the name of the job and the input/outputs it would use, and specifying the resources it needed (e.g. maximum store and computing time). This would be fed to the computer at an appropriate time by the Computing Service; it would then be obeyed under the Supervisor's control (once all the inputs had been assembled) and each output sent to an appropriate device once it was complete. When all outputs specified in the Job file had been collected by the Computing Service, the job would be returned to the user. (The mechanism by which a paper tape input document was dealt with without wasting computing time was typical of the rationale -- see description.)
To achieve all this required an explosion of ideas and then turning them into a realistic specification. As ever under Tom Kilburn, the ability to deliver powerful leading-edge technology before most, if not all, of the rest of the world meant that some of these ideas were world firsts. In practice there was a problem with the Department not having sufficient resources to fund the new computer, and the progress towards building MUSE was held back for a year or two; but in early 1959 Ferranti agreed to back the project, to provide extra manpower and help in building it. The machine was rechristened Atlas. By this time the hardware design was almost complete, but the delay in building the machine benefitted the people working on the massive software implications of such a large project, including the provision of compilers as well as writing the operating system (the Supervisor). Work on the Supervisor was led by David Howarth of Ferranti, and on Compilers by Tony Brooker, who designed both a new user programming language (Atlas Autocode) and a revolutionary language for writing compilers in (the Compiler Compiler). (Of course by this time international languages like Fortran, Algol and Cobol were in existence or proposed.)
The new ideas required for the project included :
Note that there were other groups in the world working on similar ideas at the same time, notably the LARC and IBM STRETCH projects in the US. But the detail of their implementation at Manchester was mostly worked out independent of them.
Atlas first ran in December 1962, with a limited Supervisor, with another year passing before the Supervisor reached full power. At the time it was arguably the most powerful and sophisticated computer in the world. The new ideas and their practical implementation had a significant influence on computer thinking worldwide, with Virtual Memory and the Compiler Compiler perhaps the most important examples of ideas originating specifically from Manchester.
In practice the aim of 1 microsecond per instruction was not achieved, more like 2 or 3 depending on the type of program. Only three full versions of Atlas were built and three scaled down Atlas IIs. The three full Atlases were installed at Manchester, London University and Harwell (Chilton). With each capable of a throughput of the order of a 1000 programs a day, they provided a primary or auxiliary computing service for a large number of universities, research organisations and commercial users throughout the U.K., either by post, courier or high-speed data links (another pioneering mechanism).
Atlas was a massive project, particularly with the advent of major software requirements (operating system and compilers), and even though Ferranti were contributing considerable manpower, a lot of work by Tom Kilburn and his staff was involved in the first year or two to get things running smoothly. A large new Computing Service had to be set up. The capacity of the Manchester Atlas was so large that it could provide a major service to other Universities (especially for large programs), even with Ferranti taking half the time to provide its own commercial service.
Tom Kilburn's next project was to set up a new department. He had been made a Professor of Computer Engineering (in the Electrical Engineering department) in 1960, and in 1964 the Computer Group evolved into the new Department of Computer Science, with Tom Kilburn as its head, now Professor of Computer Science, with a complement of 12 staff. Underneath him were D.B.G. (Dai) Edwards in charge of hardware and Tony Brooker in charge of software. Within three or four years the professoriate had increased to four, with Dai Edwards, F.H. (Frank) Sumner (who had worked on the Atlas Central Processor and Supervisor) and Derrick Morris (who replaced Tony Brooker as head of software when he left the department in 1967). The new department was housed in a different building, but Atlas and the Computing Service (now effectively autonomous) remained in the Electrical Engineering building.
The preparation of a new syllabus was of course a major undertaking, and as ever, with this being the first Computer Science department in the U.K., there was nowhere else to look for previous experience. The syllabus was distinctive relative to most of the courses that followed in other Universities (typically born out of Mathematics departments) in that considerable emphasis was placed on the hardware side. In October 1965 the first intake of students arrived, about 30 first year students.
In 1966, with Atlas and the new department and the undergraduate syllabus under control, Tom Kilburn and his team started work on their next machine, MU5. With four years of experience of Atlas acquired, and with the majority of programs being written in high-level languages, the main focus of MU5 was to provide an architecture geared to the efficient running of such programs. It was observed that although Atlas had a very rich instruction set (around 400 including extracodes), relatively few were used in practice by the compiler-writers. Conversely higher-level constructs that were commonly required by the compiler-writer could be implemented at a high level by hardware, with a resulting increase in execution speed and decrease in compiled code.
An associative name store was provided, so that frequently used scalar variables would automatically reside in a fast cache store. Instructions were provided to assist routine changing and stacking. Addresses in instructions contained fields for a process number and segment number, and a mechanism existed to share code between active programs (e.g. compilers, libraries). Instructions involving data structures (especially arrays and strings) used an associated 64-bit "descriptor" word which gave information about the structure, e.g. bounds, size of store unit (1, 4, 8, 16, 32 or 64 bits) and number of units. This meant that a lot of the mechanics of access and manipulation of structures could be carried out automatically by system hardware and software without the compiler having to provide the detailed instruction sequences.
The MU5 project was to produce a design for a range of compatible machines together with the associated operating systems and compilers, such as might be provided by a commercial manufacturer. However there was no prior agreement that the design would be taken up by a commercial manufacturer. Only one example of the range would actually be built (at the higher end), but the software was designed from the start to be suitable for the whole range, and indeed portable over different architectures. The final MU5 complex in fact contained three mainframe computers, with the operating system distributed across them: MU5 itself, an ICL1905E supporting conventional peripherals, and a PDP11/10 supporting the filestore and a set of on-line terminals.
Clearly, with software considerations playing a major part in the MU5 architecture design, and the operating system and compiler generation system being designed from the start for generality and portability, the software team played a major part in the MU5 project. As Tony Brooker left the department early during this period, his second-in-command Derrick Morris lead the software design team.
For the first time, government money was put directly into the new project, in the form of a large grant from the Science Research Council (1967/68). Cooperation was still maintained with the Ferranti team at West Gorton that had worked on Atlas, now taken over by ICT, and later ICL. An agreement was reached that they would manufacture MU5 at cost, using their new Design Automation system, and would second some manpower to the MU5 project. However there was no agreement that they would build a commercial version of MU5 -- ICT already had a successful computer range, the 1900 series. But when ICL came to consider the design of their New Range (eventually the VME2900 series) around 1969, basing it on the MU5 was one of the options seriously investigated. In the end they opted for their own design, drawn from a number of sources, with MU5 the single most important influence on the New Range architecture. In 1970/71 ICL seriously considered building a commercial version of MU5 as a mechanism for getting a version of the 2900 series into the market early, and there was a formal "convergence" exercise to see if the two designs could be brought close enough for this to be feasible. Although changes were made, in the end it was decided that it was not practicable.
MU5 first ran in 1972, and by 1974 the MU5 complex was running as a complete system, with operating systems and compilers running as planned, and providing a Computing Service for the staff and students of the department.
MU5 was the last in the progression of main-frame computers designed at the University of Manchester, evolving continuously from the Baby. It was now the policy of the department to give up the tradition of having a single major research project (i.e. a new machine!) taking up most of the effort of most of the staff.
Tom Kilburn retired in 1981, handing over to his second-in-command ever since the early 1950s, Professor D.B.G. Edwards. He handed over a flourishing department, now diversified over a large number of areas of Computer Science, with around 30 staff and annual intake of over 100 students.
1965 | Fellow of the Royal Society |
1973 | C.B.E. |
1976 | FEng, founder member of the Fellowship of Engineering |
1978 | Royal Medal of the Royal Society |
1982 | Computer Pioneer Award, IEEE Computer Society |
1983 | Eckert-Mauchly Award, ACM & IEEE Computer Society |
His final honour was to be made a Fellow by the
The Computer Museum
History Center
and his last professional act was in November 2000, the week before going into
hospital, to record an acceptance speech in front of the
working replica of the Baby at the
Museum of Science and Industry in
Manchester.
Useful Links :
Home Page,
The Mark 1 Story,
Picture Gallery,
Mark 1 Literature
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 January 2001
(full acknowledgements)