Read It Began with Babbage Online
Authors: Subrata Dasgupta
Working on the properties of long-wave radio waves, Wilkes was having to deal with the solution of differential equations. The machine beckoned, and soon he had obtained permission to use it.
63
Not long after, he was put in charge of the machine. By a happy coincidence, the University of Cambridge had ambitions of acquiring a full-scale differential analyzer. By 1937, plans to establish a computing laboratory in the university were
underway. It was named the University Mathematical Laboratory and it came into existence in 1937 as an independent academic department of the university.
64
The part-time director of the laboratory was (later, Sir) John Lennard-Jones (1894â1954), professor of theoretical chemistry at the university, who had initiated the building of the model analyzer. In late 1937, Wilkes, still a doctoral research student, was appointed, a demonstrator at the universityâeffectively, a very junior academic position, in the Mathematical Laboratory.
After the end of World War II (during which Wilkes was engaged in radar development, application, and deployment), he returned to Cambridge, where he was promoted to the rank of university lecturer and appointed acting director of the Mathematical Laboratory. His main mandate was “to take part in the development of new machines and new methods of computing and to provide for the instruction of students.”
65
The year after, in late 1946, he was formally appointed director of the laboratory, a position he would only relinquish on retirement 34 years later. In 1965, he was appointed to Cambridge's first chair in computer technologyâalmost a decade after his election as an FRS, Britain's most coveted scientific honor.
At the time the war ended, Wilkes knew nothing about the developments in electronic digital computing, not in America and certainly not in Germany. Because of its highly classified nature he was not privy to the Colossus work in Bletchley Park, either.
66
This situation was soon remediedâfirst, through Hartree, an authority in Britain on the differential analyzer and automatic computing, and through Comrie (whom we encountered much earlier in the story [see
Chapter 5
, Section V]), who had recently returned from a visit to America, bringing back with him a copy of the EDVAC report, which he gave to Wilkes. Therein lay, Wilkes recalled later, the fundamental principle of the stored-program computer.
67
Soon after this, Wilkes received “suddenly” an invitation from Harold Pender (1879â1959), dean of the Moore School of Electrical Engineering, to attend a course offered by the school on electronic computers.
68
The outcome was a first visit to the United States, meeting some of the main players in the development of automatic computing in America, including Goldstine and Mauchly in Philadelphia, and Howard Aiken and Samuel Caldwell in the “other” Cambridge. He observed the ENIAC and learned about the use of mercury delay lines as the basis for improved memory.
69
Wilkes, like von Neumann in the EDVAC report, recognized the main disadvantage of the acoustic delay line memory: its slow access speed, because of the time needed for the acoustic pulse to circulate (hence the word
delay
), and the complicated timing circuits this entailed.
70
But Wilkes, although formally trained as an applied mathematician, had a profoundly engineering mind. His was a pragmatic disposition. Whatever doubts
he may have harbored about acoustic delay line memory were put aside when, on return to England (on the
Queen Mary
) in September 1946, he met an Austrian-born research student in the Cavendish Laboratory, Thomas Gold (1920â2004), later a distinguished astrophysicist, who put before his “wondering eyes” a scale drawing of a mercury tank that would do the job.
71
Gold's wartime work was on radar, and in this context he had been involved in designing mercury tanks. Somewhat like Turing's choice of delay lines for ACE, Wilkes's choice of memory technology was dictated by pragmaticsâin his case, not just the availability of technology, but also of human expertise to go with it.
The machine that Wilkes and his group built was called the Electronic Delay Storage Automatic CalculatorâEDSAC, for shortâand, like the ENIAC, the full name would be quickly forgotten or ignored (
Figure 8.1
).
Initially, apart from Gold (who helped him during the first experiments with mercury tanks),
72
a workshop assistant, and a laboratory assistant, Wilkes was by himself. Later, an instrument maker, an electronic technician, and several research students would join the project. The latter included, in particular, William Renwick (1924â1971) and David Wheeler (1927â2004), both of whom would author or coauthor with Wilkes publications on the early Cambridge computers. Wheeler (as we will see) has a particularly important place in the consolidation of the stored-program computer paradigm.
FIGURE
8.1 Architecture of the EDSAC.
The full name of this machine suggests how much memory considerations were at the forefront of Wilkes's consciousness. The EDVAC report paid much attention to this issue, but the EDVAC report also paid much attention to all aspects of the stored-program computer principles, including what von Neumann called “orders.”
73
This was the word frequently used at the time to mean
instructions
. The collection of orders comprised the “order code” (in present-centered language,
instruction set
).
In the EDVAC report, the orders were separated into four groups: orders to perform arithmetic operations, those to transfer numbers from one location to another, ones to go to particular locations in memory to access the orders as and when required, and input and output orders.
74
The transfer orders were made uniform. If a number had to be moved from one memory location to another, it must first be transferred, using a single order, from the source location to the accumulator in the arithmetic unit and then, using a second order, from the accumulator to the destination memory location. Each order would, thus, specify a single memory location (the source or the destination).
75
In present-centered language, the stored-program computer prescribed in the EDVAC report would have a single-address architecture.
The EDSAC adhered to these principles. It was designed as a serial, binary machine with an acoustic delay line memory implemented by means of 32 mercury tanks (
Figure 8.2
), each about 5 feet long and each holding 32 17-binary digit numbers (including a sign digit). The machine's memory capacity, thus, comprised 1024 locations. Per the EDVAC proposal, a single-address architecture was used.
76
Wilkes and Renwick introduced the EDSAC at a conference in June 1949. This was the first formal communication of the world's
first fully operational stored-program computer
. The emphasis here is important. In this new fieldâstill without a nameâpriority of invention was as important as priority of discovery or invention in any other more established science.
In this matter of priority, the EDSAC had a rivalânot the successors to the ENIAC group in America, as one might expect, not the ACE project at the NPL, but in Manchester, at the University of Manchester, already a site of automatic
analog
computing because of Hartree and his differential analyzer, a project to build an electronic digital computer also begun in 1946. The principals of this project were (later, Sir) Frederic C. Williams (1911â1977), an electrical engineer and an international authority on electronics (“the best-known electronics circuit engineer in the world”
77
), who had worked in the Telecommunications Research Establishment (TRE) in Malvern on radar during the war, and Tom Kilburn (1921â2001), who had worked with Williams at TRE on radar. After the war ended, Williams joined the University of Manchester as professor of electrotechnics; Kilburn, a Cambridge mathematics graduate-turned-circuit designer, went with Williams as a scientific assistant before becoming a research student. Kilburn would later be appointed professor of computer engineering (in 1960) and then head of the department of computer science (in 1964), elected a fellow of the Royal Society and, like Wilkes, much honored.
FIGURE
8.2 EDSAC's Memory Organization.
Williams, who had visited the Moore School in summer 1946 and was familiar with the ENIAC, chose the electrostatic storage tube as the basis of memory for his planned computer. He invented, in collaboration with Kilburn, a cathode ray tube (CRT) storage device (on which he had done some contributory research at the TRE
78
) that came to be called the
Williams tube
. A patent application for this device was filed in December 1946.
79
As Williams described it, binary digits were represented by a pattern of charges on the screen of a CRT. He distinguished between short-term memory, of a duration of about 0.2 second, and long-term memory, obtained by regenerating the charge pattern.
80
Williams's use of “short-term memory” and “long-term memory” is interesting for an electronics engineer. The anthropocentric
memory
was used, for example, in the EDVAC report. Wilkes preferred the more artifactual word
store
(as Babbage had used). Williams further connected computing machines to psychology by his choice of the two terms. As we will see, the idea of the mindâbrain as computer and the computer as mindâbrain will soon enter into the making of computer science.
The Manchester computer was at first called the Manchester University Digital Computing Machine.
81
Later, and more permanently, mirroring the name of Aiken's machine at Harvard (see
Chapter 5
, Section V), it came to be called the Manchester Mark I. Like the EDSAC, and faithful to the EDVAC plan, the Mark I used single-address orders.
82
The most obvious difference between the Mark I and the EDSAC was undoubtedly in the memory. The latter used acoustic delay lines; the former, a cathode ray storage tube.
Although the EDSAC's memory capacity was 1024 17-bit “words,” the Mark I memory consisted of 256, 40-binary digit words.
83
However, the Mark I also incorporated an architectural principle that would long outlive the use of electrostatic or delay line memory, and which the EDSAC did not haveâthe concept of the “B-line.”
84
B-lines were (in present-centered language) index registers that allowed locations of numbers specified in the instruction to be changed without actually altering the contents of the instruction itself. Recall that Babbage had conceived this idea for his Analytical Engine (see
Chapter 2
, Section V). So a Mark I instruction would be of the form (in present-centered language)
Memory address (S), B-line, Function (f)
and so the execution of this instruction would be
Accumulator â Accumulator f Memory[S + B-line]
and the contents of a B-line could be modified as
B-line â B-line ± Memory [S]
Another original feature of the Mark I was (in present-centered language) a secondary (or backup) memoryâa drum with up to a 16K-word capacity.
85
There were special commands to transfer from drum to machine and vice versa. Yet another noteworthy feature of the Mark I absent in the EDSAC was that the former's order code included orders to perform the Boolean (logical) operations AND and OR.
86
A “baby” Mark I was built first. On June 21, 1948, Williams wrote a 17-instruction program to calculate the highest factor of a number, the program just small enough to be held in the 32-by-32-array CRT. He entered the program into the computer through a keyboard. The procedure took 10 minutes to execute. “Suddenly” the correct answer appeared on the screen, accompanied by much cheering by the observers.
87