Manchester Mark 1
The Manchester Mark 1 was one of the earliest stored-program computers, developed at the Victoria University of Manchester from the Small-Scale Experimental Machine (SSEM) or "Baby" (operational in June 1948). It was also called the Manchester Automatic Digital Machine, or MADM. Work began in August 1948, and the first version was operational by April 1949; a program written to search for Mersenne primes ran error-free for nine hours on the night of 16/17 June 1949.
The machine's successful operation was widely reported in the British press, which used the phrase "electronic brain" in describing it to their readers. That description provoked a reaction from the head of the University of Manchester's Department of Neurosurgery, the start of a long-running debate as to whether an electronic computer could ever be truly creative.
The Mark 1 was to provide a computing resource within the university, to allow researchers to gain experience in the practical use of computers, but it very quickly also became a prototype on which the design of Ferranti's commercial version could be based. Development ceased at the end of 1949, and the machine was scrapped towards the end of 1950, replaced in February 1951 by a Ferranti Mark 1, the world's first commercially available general-purpose electronic computer.
The computer is especially historically significant because of its pioneering inclusion of index registers, an innovation which made it easier for a program to read sequentially through an array of words in memory. Thirty-four patents resulted from the machine's development, and many of the ideas behind its design were incorporated in subsequent commercial products such as the IBM 701 and 702 as well as the Ferranti Mark 1. The chief designers, Frederic C. Williams and Tom Kilburn, concluded from their experiences with the Mark 1 that computers would be used more in scientific roles than in pure mathematics. In 1951, they started development work on Meg, the Mark 1's successor, which would include a floating point unit.
In 1936, mathematician Alan Turing published a definition of a theoretical "universal computing machine", a computer which held its program on tape, along with the data being worked on. Turing proved that such a machine was capable of solving any conceivable mathematical problem for which an algorithm could be written. During the 1940s, Turing and others such as Konrad Zuse developed the idea of using the computer's own memory to hold both the program and data, instead of tape, but it was mathematician John von Neumann who became widely credited with defining that stored-program computer architecture, on which the Manchester Mark 1 was based.
The practical construction of a von Neumann computer depended on the availability of a suitable memory device. The University of Manchester's Small-Scale Experimental Machine (SSEM), the world's first stored-program computer, had successfully demonstrated the practicality of the stored-program approach and of the Williams tube, an early form of computer memory based on a standard cathode ray tube (CRT), by running its first program in June 1948. Early electronic computers were generally programmed by being rewired, or via plugs and patch panels; there was no separate program stored in memory, as in a modern computer. It could take several days to reprogram ENIAC, for instance. Stored-program computers were also being developed by other researchers, notably the National Physical Laboratory's Pilot ACE, Cambridge University's EDSAC, and the US Army's EDVAC. The SSEM and the Mark 1 differed primarily in their use of Williams tubes as memory devices, instead of mercury delay lines.
From about August 1948, the SSEM was intensively developed as a prototype for the Manchester Mark 1, initially with the aim of providing the university with a more realistic computing facility. In October 1948, UK Government Chief Scientist Ben Lockspeiser was given a demonstration of the prototype Mark 1 while on a visit to the University of Manchester. Lockspeiser was so impressed by what he saw that he immediately initiated a government contract with the local firm of Ferranti to make a commercial version of the machine, the Ferranti Mark 1. In his letter to the company, dated 26 October 1948, Lockspeiser authorised the company to "proceed on the lines we discussed, namely, to construct an electronic calculating machine to the instructions of Professor F. C. Williams". From that point on, development of the Mark 1 had the additional purpose of supplying Ferranti with a design on which to base their commercial machine. The government's contract with Ferranti ran for five years from November 1948, and involved an estimated £35,000 per year.
Development and design
The SSEM had been designed by the team of Frederic C. Williams, Tom Kilburn and Geoff Tootill. To develop the Mark 1 they were joined by two research students, D. B. G. Edwards and G. E. Thomas; work began in earnest in August 1948. The project soon had the dual purpose of supplying Ferranti with a working design on which they could base a commercial machine, the Ferranti Mark 1, and of building a computer that would allow researchers to gain experience of how such a machine could be used in practice. The first of the two versions of the Manchester Mark 1 – known as the Intermediary Version – was operational by April 1949. However, this first version lacked features such as the instructions necessary to programmatically transfer data between the main store and its newly developed magnetic backing store, which had to be done by halting the machine and manually initiating the transfer. These missing features were incorporated in the Final Specification version, which was fully working by October 1949. The machine contained 4,050 valves and had a power consumption of 25 kilowatts. To increase reliability, purpose-built CRTs made by GEC were used in the machine instead of the standard devices used in the SSEM.
The SSEM's 32-bit word length was increased to 40 bits. Each word could hold either one 40-bit number or two 20-bit program instructions. The main store initially consisted of two double-density Williams tubes, each holding two arrays of 32 x 40-bit words – known as pages – backed up by a magnetic drum capable of storing an additional 32 pages. The capacity was increased in the Final Specification version to eight pages of main store on four Williams tubes and 128 magnetic drum pages of backing store. The 12-inch (300 mm) diameter drum, initially known as a magnetic wheel, contained a series of parallel magnetic tracks around its surface, each with its own read/write head. Each track held 2,560 bits, corresponding to two pages (2×32×40 bits). One revolution of the drum took 30 milliseconds, during which time both pages could be transferred to the CRT main memory, although the actual data transfer time depended on the latency, the time it took for a page to arrive under the read/write head. Writing pages to the drum took about twice as long as reading. The drum's rotational speed was synchronised to the main central processor clock, which allowed for additional drums to be added. Data was recorded onto the drum using a phase modulation technique still known today as Manchester coding.
The machine's instruction set was increased from the 7 of the SSEM to 26 initially, including multiplication done in hardware. This increased to 30 instructions in the Final Specification version. Ten bits of each word were allocated to hold the instruction code. The standard instruction time was 1.8 milliseconds, but multiplication was much slower, depending on the size of the operand.
The machine's most significant innovation is generally considered to be its incorporation of index registers, commonplace on modern computers. The SSEM had included two registers, implemented as Williams tubes: the accumulator (A) and the program counter (C). As A and C had already been assigned, the tube holding the two index registers, originally known as B-lines, was given the name B. The contents of the registers could be used to modify program instructions, allowing convenient iteration through an array of numbers stored in memory. The Mark 1 also had a fourth tube, (M), to hold the multiplicand and multiplier for a multiplication operation.
Of the 20 bits allocated for each program instruction, 10 were used to hold the instruction code, which allowed for 1,024 (210) different instructions. The machine had 26 initially, increasing to 30 when the function codes to programmatically control the data transfer between the magnetic drum and the cathode ray tube (CRT) main store were added. On the Intermediary Version programs were input by key switches, and the output was displayed as a series of dots and dashes on a cathode ray tube known as the output device, just as on the SSEM from which the Mark 1 had been developed. However, the Final Specification machine, completed in October 1949, benefitted from the addition of a teleprinter with a 5-hole paper-tape reader and punch.
Mathematician Alan Turing, who had been appointed to the nominal post of Deputy Director of the Computing Machine Laboratory at the University of Manchester in September 1948, devised a base 32 encoding scheme based on the standard ITA2 5-bit teleprinter code, which allowed programs and data to be written to and read from paper tape. The ITA2 system maps each of the possible 32 binary values that can be represented in 5 bits (25) to a single character. Thus "10010" represents "D", "10001" represents "Z", and so forth. Turing changed only a few of the standard encodings; for instance, 00000 and 01000, which mean "no effect" and "linefeed" in the teleprinter code, were represented by the characters "/" and "@" respectively. Binary zero, represented by the forward slash, was the most common character in programs and data, leading to sequences written as "///////////////". One early user suggested that Turing's choice of a forward slash was a subconscious choice on his part, a representation of rain seen through a dirty window, reflecting Manchester's "famously dismal" weather.
Because the Mark 1 had a 40-bit word length, eight 5-bit teleprinter characters were required to encode each word. Thus for example the binary word:
would be represented on paper tape as ZDSLZWRF. The contents of any word in store could also be set via the teleprinter's keyboard, and output onto its printer. The machine worked internally in binary, but it was able to carry out the necessary decimal to binary and binary to decimal conversions for its input and output respectively.
There was no assembly language defined for the Mark 1. Programs had to be written and submitted in binary form, encoded as eight 5-bit characters for each 40-bit word; programmers were encouraged to memorize the modified ITA2 coding scheme to make their job easier. Data was read and written from the papertape punch under program control. The Mark 1 had no system of hardware interrupts; the program continued after a read or write operation had been initiated until another input/output instruction was encountered, at which point the machine waited for the first to complete.
The Mark 1 had no operating system; its only system software was a few basic routines for input and output. As in the SSEM from which it was developed, and in contrast to the established mathematical convention, the machine's storage was arranged with the least significant digits to the left; thus a one was represented in five bits as "10000", rather than the more conventional "00001". Negative numbers were represented using two's complement, as most computers still do today. In that representation, the value of the most significant bit denotes the sign of a number; positive numbers have a zero in that position and negative numbers a one. Thus the range of numbers that could be held in each 40-bit word was −239 to +239 − 1 (decimal: -549,755,813,888 to +549,755,813,887).
The first realistic program to be run on the Mark 1 was a search for Mersenne primes, in early April 1949, which ran error free for nine hours on the night of 16/17 June 1949. The algorithm was specified by Max Newman, head of the Mathematics Department at the University of Manchester, and the program was written by Kilburn and Tootill. Turing later wrote an optimised version of the program, dubbed the Mersenne Express.
Tootill was temporarily transferred from the University of Manchester to Ferranti in August 1949, to continue work on the Ferranti Mark 1's design, and spent four months working with the company. The Manchester Mark 1 was dismantled and scrapped towards the end of 1950, replaced a few months later by the first Ferranti Mark 1, the world's first commercially available general-purpose computer.
Between 1946 and 1949, the average size of the design team working on the Mark 1 and its predecessor, the SSEM, had been about four people. During that time 34 patents were taken out based on the team's work, either by the Ministry of Supply or by its successor, the National Research Development Corporation. In July 1949, IBM invited Williams to the United States on an all-expenses-paid trip to discuss the Mark 1's design. The company subsequently licensed several of the patented ideas developed for the machine, including the Williams tube, in the design of its own 701 and 702 computers. The most significant design legacy of the Manchester Mark 1 was perhaps its incorporation of index registers, the patent for which was taken out in the names of Williams, Kilburn, Tootill, and Newman.
Kilburn and Williams concluded that computers would be used more in scientific roles than pure maths, and decided to develop a new machine that would include a floating point unit. Work began in 1951, and the resulting machine, which ran its first program in May 1954, was known as Meg, or the megacycle machine. It was smaller and simpler than the Mark 1, and much faster for maths problems. Ferranti produced a version of Meg with the Williams tubes replaced by the more reliable core memory, marketed as the Ferranti Mercury.
The successful operation of the Manchester Mark 1 and its predecessor, the SSEM, was widely reported in the British press, which used the phrase "electronic brain" to describe the machines. Lord Louis Mountbatten had earlier introduced that term in a speech delivered to the British Institution of Radio Engineers on 31 October 1946, in which he speculated about how the primitive computers then available might evolve. The excitement surrounding the reporting in 1949 of what was the first recognisably modern computer provoked a reaction unexpected by its developers; Sir Geoffrey Jefferson, professor of neurosurgery at the University of Manchester, on being asked to deliver the Lister Oration on 9 June 1949 chose "The Mind of Mechanical Man" as his subject. His purpose was to "debunk" the Manchester project. In his address he said:
Not until a machine can write a sonnet or compose a concerto because of thoughts and emotions felt, and not by the chance fall of symbols, could we agree that machine equals brain – that is, not only write it but know that it had written it. No machine could feel pleasure at its success, grief when its valves fuse, be warmed by flattery, be made miserable by its mistakes, be charmed by sex, be angry or miserable when it cannot get what it wants.
The Times reported on Jefferson's speech the following day, adding that Jefferson forecast that "the day would never dawn when the gracious rooms of the Royal Society would be converted into garages to house these new fellows". This was interpreted as a deliberate slight to Newman, who had secured a grant from the society to continue the work of the Manchester team. In response Newman wrote a follow-up article for The Times, in which he claimed that there was a close analogy between the structure of the Mark 1 and the human brain. His article included an interview with Turing, who added:
This is only a foretaste of what is to come, and only the shadow of what is going to be. We have to have some experience with the machine before we really know its capabilities. It may take years before we settle down to the new possibilities, but I do not see why it should not enter any of the fields normally covered by the human intellect and eventually compete on equal terms.
- Lavington (1998), p. 20
- "The Manchester Mark 1", University of Manchester, retrieved 24 January 2009
- Turing, A. M. (1936), "On Computable Numbers, with an Application to the Entscheidungsproblem" (PDF), Proceedings of the London Mathematical Society, 2 (1936–37) 42, pp. 230–265, doi:10.1112/plms/s2-42.1.230.
- Lee (2002), p. 67
- Lavington (1998), p. 7
- Enticknap, Nicholas (Summer 1998), "Computing's Golden Jubilee", Resurrection (The Bulletin of the Computer Conservation Society) (20), ISSN 0958-7403, retrieved 19 April 2008
- "Early Electronic Computers (1946–51)", University of Manchester, retrieved 16 November 2008
- Lavington (1998), p. 9
- Lavington (1998), p. 8
- Lavington (1998), p. 17
- Lavington (1998), p. 21
- "Newman's Contribution to the Mark 1 Machines", University of Manchester, retrieved 23 January 2009
- Napper, R. B. E., "The Manchester Mark 1", University of Manchester, retrieved 22 January 2009
- Lavington, S. H. (July 1977), The Manchester Mark 1 and Atlas: a Historical Perspective (PDF), University of Central Florida, retrieved 8 February 2009. (Reprint of the paper published in Communications of the ACM (January 1978) 21 (1)
- "The Manchester Mark I", University of Manchester, retrieved 5 January 2014
- Kilburn, Tom, The University of Manchester Universal High-Speed Digital Computing Machine, University of Manchester, retrieved 2 February 2009. (Reprint of Kilburn, Tom (1949). "The University of Manchester Universal High-Speed Digital Computing Machine". Nature 164).
- Lavington (1998), p. 18
- Lavington (1998), pp. 17–18
- Leavitt (2007), p. 232
- Leavitt (2007), p. 233
- "Programmers' Handbook (2nd Edition) for the Manchester Electronic Computer Mark II", University of Manchester, retrieved 23 January 2009
- Napper (2000), p. 370
- Lavington (1998), p. 19
- Lavington (1998), pp. 24–25
- Burton, Christopher P., "Baby’s Legacy – The Early Manchester Mainframes" (DOC), University of Manchester, retrieved 24 January 2009
- Lavington (1998), p. 23
- Lavington (1998), p. 31
- Fildes, Jonathan (20 June 2008), "One tonne 'Baby' marks its birth", BBC News, retrieved 10 February 2009
- "An Electronic Brain", The Times, 1 November 1946, p. 2
- Leavitt (2007), p. 236
- Leavitt (2007), p. 237
- Leavitt (2007), pp. 237–238
- Lavington, Simon (1998), A History of Manchester Computers (2 ed.), The British Computer Society, ISBN 1-902505-01-8
- Leavitt, David (2007), The Man Who Knew Too Much: Alan Turing and the Invention of the Computer, Phoenix, ISBN 978-0-7538-2200-5
- Lee, J. A. N. (2002), "Some Great Myths of the History of Computing", in Brunnstein, Klaus; Berleur, Jacques, Human Choice and Computers: Issues of Choice and Quality of Life in the Information Society, Springer, ISBN 978-1-4020-7185-0
- Napper, R. B. E. (2000), "The Manchester Mark 1 Computers", in Rojas, Raúl; Hashagen, Ulf, The First Computers: History and Architectures, MIT Press, pp. 356–377, ISBN 0-262-68137-4
- Lavington, Simon H. (July–September 1993), "Manchester Computer Architectures, 1948–1975", IEEE Annals of the History of Computing (IEEE) 15 (3): 44–54, doi:10.1109/85.222841