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 TRE78) 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
So, strictly speaking, the baby Mark I was the first stored-program computer to become operational.88 However, when the baby first ran, it had no provision for automatic input and output. It was not a complete—that is, it was not a fully operational—automatic stored-program computer.
The Manchester designers acknowledged that the baby was only a first step—a pilot study. It was a small-scale experimental machine intended to test the viability of the storage principle and to gain some experience of working with this kind of a machine.89 Yet, the baby was a universal machine in the sense that it could be used to solve any problem that could be reduced to a program of elementary instructions.90
In the case of the EDSAC, by February 1949, the input (paper tape reader) and output (teleprinter) mechanisms had been attached to the computer. On May 6, a program to compute a table of squares and print the results was read into the machine, and all of a sudden the results were printed out. Wheeler then wrote a program to compute a table of prime numbers that was soon after executed correctly.91
In the light of what happened in the future in the realm of computers and computing—and what in present-centered language is called information technology—this event of May 6, 1949, must count as a small step for a small group of people working obscurely in a Cambridge laboratory that would entail a giant leap for humankind.
Wilkes, no doubt, had a flair for the dramatic. A month and a half later, he hosted a conference on automatic computing in Cambridge, which began with a demonstration of the EDSAC in action.92 The program, written by Wilkes for computing and printing the squares of numbers and their first difference, and Wheeler’s program to compute and print a table of primes were run.
As for the Manchester group, a fully operational machine, the Mark I, with input and output facilities was completed in October 1949.93 Hence, the place of EDSAC as the world’s first fully operational automatic stored-program computer.
XIV
An architectural concept: the stored-program computer principle. For both Wilkes in Cambridge and Williams in Manchester, this shared paradigmatic core b
ecame the foundation of their respective mental schemas for an automatic digital computer (see Section V, this chapter). Thereafter, their respective schemas were refined and elaborated in two different ways. Each researcher instantiated his schema differently, with the outcome being two distinct schemas with a common core. Each postulated a particular design for a particular machine that conformed to the stored-program computer architectural concept. Each design became the theory for a particular computer such that each of them, Wilkes and Williams, believed that if a computer was built according to their respective designs it would “best” realize the stored-program computer architectural principle as laid out in the EDVAC report.
The implementations of the two machines were two distinct experiments, each a test of a distinct designas-theory. However, the separation in time between design and implementation, theory and experiment, was not “clean.” Rather, the process of implementation went hand in hand with the process of design; theory and experiment overlapped.
Of course, neither Wilkes nor Williams was on his own. Each built a small team; each communicated his respective schema (inner vision, as it were) of what a stored-program computer should be like to members of his team. Their schemas were externalized and shared with others. If there was an unfolding paradigm for which the stored-computer concept was the core architectural principle, then we find here the nucleation of two subparadigms, each expanding and refining the core principle in a different way.
Something else is noteworthy here. If we think of the EDSAC and the Manchester Mark I designs as representing subparadigms within the overall emerging paradigm, they did not become alternative, competing, mutually exclusive theories of how a stored-program computer should look. Rather, each project was a complementary experiment as a whole that tested the validity of the stored-program computer concept. At the same time, we must keep in mind that the latter concept was an abstract entity. The two projects, in Cambridge and Manchester, represent different pathways to how the abstract stored-program computer concept could give rise to a material computational artifact. Each project was in the business of producing an individual computer with its own designas-theory. The emerging paradigm of this particular science of the artificial was to be populated, at this early stage in its life, with at least two distinct designs-as-theories, two distinct implementations—using a biological analogy, two distinct species of computational artifacts. Like biological species, these two cultural species (for artifacts are aspects of culture) might survive or might become extinct in the future, or they may give rise to evolutionary descendants. There was nothing to suggest that these two species (and others that might arise in the future either as their descendants or from other principles) embodied alternate, mutually exclusive scientific theories as, for example, Darwinian and Lamarckian evolutionary theories were in 19th-century biology, or deterministic and probabilistic theories were in 20th-century subatomic physics. The subparadigms representing the EDSAC and the Manchester Mark I designs could coexist peacefully, perhaps in friendly competition, as part of the larger computational paradigm.
XV
But what of the EDVAC itself, with a theory and design that had given birth to the stored-program computer paradigm?
As it happened, the ENIAC team dispersed soon after the ENIAC was commissioned. Eckert and Mauchly left to form their own company, and Goldstine and Burks joined von Neumann at the Institute of Advanced Study at Princeton to plan, design, and build a machine along the EDVAC principles using an electrostatic storage tube as the basis for memory.94 This device was to be developed at the nearby RCA Laboratory by electrical engineer and inventor Jan A. Rajchman (1911–1989); the device was called the Selectron.
The detailed principles of the machine (the IAS computer, as it would be called)—its logical design—was delineated in a report issued in June 1946 titled Preliminary Discussion of the Logical Design of an Electronic Computing Instrument.95 Like the EDSAC and the Manchester Mark I, the IAS computer was designed as a single-address computer. The main memory was to be 4096 40-binary digits words; physically, the memory was comprised of 40 Selectron tubes each of 4096 binary digit capacity. A single word of memory would comprise identical locations on all 40 Selectron tubes.
Like the EDVAC report, this report by Burks and colleagues was highly influential in consolidating the stored-program paradigm. However, the IAS computer was not finished until 1952.96 The main contribution of the paper by Burks and colleagues was, thus, to refine further the logical, conceptual, and theoretical aspects of the paradigm along a separate pathway from those of the Cambridge and Manchester projects.
As for the EDVAC, even though the original conceivers of this machine had left, work on building this machine continued at the Moore School until 1949, when it was transferred to the BRL in Aberdeen, Maryland, where it was completed and became operational in 1951. The EDVAC was discontinued in 1962.97 With the transfer of the EDVAC, the Moore School’s place in the history of computing came to an end.
XVI
A paradigm in science is created by a process that is part social, part cultural, and part intellectual. That a paradigm entails acceptance by a community of practitioners of a system of ideas and beliefs is undoubtedly a social process. Sometimes, it is even a political process. And it is cultural insofar that it is consistent with the belief systems, the manners and mores of the practitioners. But, it is never an irrational or unintellectual process. There is reason and logic at the core of paradigm formation.
However, science also entails communication. Scientists need to let others know about their work—others outside their own laboratories. In a natural science such as physics, scientists (or natural philosophers, as they were once called) would correspond with one another. This also enabled scientists to examine, criticize, and test one another’s ideas. When Sir Isaac Newton (1642–1727) wrote to fellow natural philosopher Robert Hooke (1635–1703) that “If I have seen further it is by standing on the shoulders of giants,” he was surely referring as much to his living contemporaries (such as Hooke) as to his dead predecessors.
During the 17th century, the means of communicating scientific results was greatly enriched, indeed altered, by two related events: the formation of scientific societies such as the Royal Society of London, founded in 1660, and the Académie des Sciences, founded in Paris in 1666; and the establishment of scientific periodicals, of which the oldest (and still preeminent) was the Philosophical Transactions of the Royal Society (1665). Scientific societies formalized the social nature of the scientific enterprise by enabling its members to meet in a common space and for a common cause. Scientific periodicals facilitated communication of results in more permanent and public form than letters between scientists.
Implicit in the founding of both societies and periodicals is the presumption that there is a shared field of interest and common agreement about the broad principles underpinning the field. They contribute to the social fabric of paradigm formation.
The 1940s witnessed the emergence of this communicative element among the small but growing community of people interested in computers. On January 7–10, 1945, Aiken organized, at Harvard University, a Symposium on Large-Scale Digital Calculating Machines, sponsored jointly by the university and the U.S. Navy’s Bureau of Ordinance. The meeting was synchronized with the formal opening of Harvard’s new Computation Laboratory (later renamed the Aiken Computation Laboratory). The program included a demonstration of the Harvard Mark I, and the formal sessions included papers on such topics as the Mark I, the Bell Telephone Laboratory relay computers, delay line memory, electrostatic storage tubes, computational methods for the solution of mathematical problems, and the preparation of problems for automatic computation. The official list of registrants for the symposium numbered more than 325 people from academia, industry, and government, mostly from within the United States (but including Turing).98
And (as we have noted) Wilkes organized, in 1949, the Conference on High-Speed Automatic Calculati
ng-Machines in Cambridge, England, sponsored by the University Mathematical Laboratory and the Ministry of Supply of the U.K. government.99 This was attended by more than 140 participants from Britain, France, Sweden, Holland, and Germany (but none from the United States). In addition to the EDSAC demonstration, there were sessions on relay computers, electrostatic storage tubes, methods of preparing problems for automatic computation, different kinds of storage technologies, the Manchester Mark I, the NPL’s ACE, and circuit design.
As for societies, in 1947, some people in the United States began floating the idea of starting an association of those interested in computing machines.100 Thus began a “mimeographed campaign” for founding the world’s first computer society. Originally named Eastern Association for Computing Machinery and formed at a meeting on September 15, 1947 (attended by 78 people), the organization’s name was changed to Association for Computing Machinery (ACM) in January 1948.101 And so, even before the successful completion of the first stored-program computers, a society was in place. Mauchly was the vice-president in the first year and president in the second.
As for periodicals devoted exclusively to computing, the process was rather more tardy. The first such periodical was Mathematical Tables and Other Aids to Computation (MTAC), a quarterly founded in 1943 and published by the National Research Council (United States).102 People like Wilkes and Renwick (on the EDSAC); Womersley, head of the NPL’s mathematics division; Herman and Adele Goldstine (on the ENIAC); Wallace Eckert (on IBM’s plugboard relay machines), Leslie Comrie (on scientific computing); and Franz Alt (on the Bell Laboratory computers) published papers in the MTAC. The ACM was surprisingly sluggish; its first journal, Journal of the ACM, a quarterly, first appeared in 1954.103 Clearly, the social aspect of the new paradigm—in terms of the formation of societies and periodicals—was very sparse during the 1940s, perhaps evidence that a paradigm, although born, was still very much in its earliest infancy.
It Began with Babbage Page 19