Product family | Manchester computers |
---|---|
Release date | 1962 |
Units sold | 3 (+ 3 Atlas 2) |
The Atlas was one of the world's first supercomputers, in use from 1962 (when it was claimed to be the most powerful computer in the world) to 1972. [1] Atlas's capacity promoted the saying that when it went offline, half of the United Kingdom's computer capacity was lost. [2] It is notable for being the first machine with virtual memory (at that time referred to as "one-level store" [3] ) using paging techniques; this approach quickly spread, and is now ubiquitous.
Atlas was a second-generation computer, using discrete germanium transistors. Atlas was created in a joint development effort among the University of Manchester, Ferranti and Plessey. Two other Atlas machines were built: one for BP and the University of London, and one for the Atlas Computer Laboratory at Chilton near Oxford.
A derivative system was built by Ferranti for the University of Cambridge. Called the Titan, or Atlas 2, [4] it had a different memory organisation and ran a time-sharing operating system developed by Cambridge University Computer Laboratory. Two further Atlas 2s were delivered: one to the CAD Centre in Cambridge (later called CADCentre, then AVEVA), and the other to the Atomic Weapons Research Establishment (AWRE), Aldermaston.
The University of Manchester's Atlas was decommissioned in 1971. [5] The final Atlas, the CADCentre machine, was switched off in late 1976. [6] Parts of the Chilton Atlas are preserved by National Museums Scotland in Edinburgh; the main console itself was rediscovered in July 2014 and is at Rutherford Appleton Laboratory in Chilton, near Oxford.
Through 1956 there was a growing awareness that the UK was falling behind the US in computer development. In April, B.W. Pollard of Ferranti told a computer conference that "there is in this country a range of medium-speed computers, and the only two machines which are really fast are the Cambridge EDSAC 2 and the Manchester Mark 2, although both are still very slow compared with the fastest American machines." [7] This was followed by similar concerns expressed in May report to the Department of Scientific and Industrial Research Advisory Committee on High Speed Calculating Machines, better known as the Brunt Committee. [8]
Through this period, Tom Kilburn's team at the University of Manchester had been experimenting with transistor-based systems, building two small machines to test various techniques. This was clearly the way forward, and in the autumn of 1956, Kilburn began canvassing possible customers on what features they would want in a new transistor-based machine. Most commercial customers pointed out the need to support a wide variety of peripheral devices, while the Atomic Energy Authority suggested a machine able to perform an instruction every microsecond, [9] or as it would be known today, 1 MIPS of performance. This later request led to the name of the prospective design, MUSE, for microsecond engine. [10]
The need to support many peripherals and the need to run fast are naturally at odds. A program that processes data from a card reader, for instance, will spend the vast majority of its time waiting for the reader to send in the next bit of data. To support these devices while still making efficient use of the central processing unit (CPU), the new system would need to have additional memory to buffer data and have an operating system that could coordinate the flow of data around the system. [11]
When the Brunt Committee heard of new and much faster US designs, the Univac LARC and IBM STRETCH, they were able to gain the attention of the National Research Development Corporation (NRDC), responsible for moving technologies from war-era research groups into the market. Over the next eighteen months, they held numerous meetings with prospective customers, engineering teams at Ferranti and EMI, and design teams at Manchester and the Royal Radar Establishment. [11]
In spite of all this effort, by the summer of 1958, there was still no funding available from the NRDC. Kilburn decided to move things along by building a smaller Muse to experiment with various concepts. This was paid for using funding from the Mark 1 Computer Earnings Fund, which collected funds by renting out time on the University's Mark 1. Soon after the project started, in October 1958, Ferranti decided to become involved. In May 1959 they received a grant of £300,000 from the NRDC to build the system, which would be returned from the proceeds of sales. At some point during this process, the machine was renamed Atlas. [11]
The detailed design was completed by the end of 1959, and the construction of the compilers was proceeding. However, the Supervisor operating system was already well behind. [12] This led to David Howarth, newly hired at Ferranti, expanding the operating system team from two to six programmers. In what is described as a Herculean effort,[ by whom? ] led by the tireless and energetic Howarth (who completed his Ph.D. in physics at age 22), the team eventually delivered a Supervisor consisting of 35,000 lines of assembler language which had support for multiprogramming to solve the problem of peripheral handling. [13]
The first Atlas was built up at the university throughout 1962. The schedule was further constrained by the planned shutdown of the Ferranti Mercury machine at the end of December. Atlas met this goal, and was officially commissioned on 7 December by John Cockcroft, director of the AEA. [13] This system had only an early version of Supervisor, and the only compiler was for Autocode. It was not until January 1964 that the final version of Supervisor was installed, along with compilers for ALGOL 60 and Fortran. [14]
By the mid-1960s the original machine was in continual use, based on a 20-hour-per-day schedule, during which time as many as 1,000 programs might be run. Time was split between the University and Ferranti, the latter of which charged £500 an hour to its customers. A portion of this was returned to the University Computer Earnings Fund. [14] In 1969, it was estimated that the computer time received by the University would cost £720,000 if it had been leased on the open market. The machine was shut down on 30 November 1971. [15]
Ferranti sold two other Atlas installations, one to a joint consortium of University of London and BP in 1963, and another to the Atomic Energy Research Establishment (Harwell) in December 1964. The AEA machine was later moved to the Atlas Computer Laboratory at Chilton, a few yards outside the boundary fence of Harwell, which placed it on civilian lands and thus made it much easier to access. This installation grew to be the largest Atlas, containing 48 kWords of 48-bit core memory and 32 tape drives. Time was made available to all UK universities. It was shut down in March 1974. [16]
In February 1962, Ferranti gave some parts of an Atlas machine to University of Cambridge, and in return, the University would use these to develop a cheaper version of the system. The result was the Titan machine, which became operational in the summer of 1963. Ferranti sold two more of this design under the name Atlas 2, one to the Atomic Weapons Research Establishment (Aldermaston) in 1963, and another to the government-sponsored Computer Aided Design Center in 1966. [17]
Atlas had been designed as a response to the US LARC and STRETCH programs. Both ultimately beat Atlas into official use, LARC in 1961, and STRETCH a few months before Atlas. Atlas was much faster than LARC, about four times, and ran slightly slower than STRETCH - Atlas added two floating-point numbers in about 1.59 microseconds, [14] while STRETCH did the same in 1.38 to 1.5 microseconds. Nevertheless, the head of Ferranti's Software Division, Hugh Devonald, said in 1962: "Atlas is in fact claimed to be the world's most powerful computing system. By such a claim it is meant that, if Atlas and any of its rivals were presented simultaneously with similar large sets of representative computing jobs, Atlas should complete its set ahead of all other computers.". [18] No further sales of LARC were attempted, [17] and it is not clear how many STRETCH machines were ultimately produced.
It was not until 1964's arrival of the CDC 6600 that the Atlas was significantly bested. CDC later stated that it was a 1959 description of Muse that gave CDC ideas that significantly accelerated the development of the 6600 and allowed it to be delivered earlier than originally estimated. [17] This led to it winning a contract for the CSIRO in Australia, which had originally been in discussions to buy an Atlas. [17]
Ferranti was having serious financial difficulties in the early 1960s, and decided to sell the computer division to International Computers and Tabulators (ICT) in 1963. ICT decided to focus on the mid-range market with their ICT 1900 series, [19] a flexible range of machines based on the Canadian Ferranti-Packard 6000.
The Atlas was highly regarded by many in the computer industry. Among its admirers was C. Gordon Bell of Digital Equipment Corporation, who later praised it:
In architecture, the Manchester Atlas was exemplary, not because it was a large machine that we would build, but because it illustrated a number of good design principles. Atlas was multiprogrammed with a well defined interface between the user and operating system, had a very large address space, and introduced the notion of extra codes to extend the functionality of its instruction set. [20]
In June 2022 an IEEE Milestone was dedicated to the "Atlas Computer and the Invention of Virtual Memory 1957-1962". [21]
The machine had many innovative features, but the key operating parameters were as follows (the store size relates to the Manchester installation; the others were larger):
Atlas did not use a synchronous clocking mechanism — it was an asynchronous processor — so performance measurements were not easy, but as an example:
One feature of the Atlas was "Extracode", a technique that allowed complex instructions to be implemented in software. Dedicated hardware expedited entry to and return from the extracode routine and operand access; also, the code of the extracode routines was stored in ROM, which could be accessed faster than the core store.
The uppermost ten bits of a 48-bit Atlas machine instruction were the operation code. If the most significant bit was set to zero, this was an ordinary machine instruction executed directly by the hardware. If the uppermost bit was set to one, this was an Extracode and was implemented as a special kind of subroutine jump to a location in the fixed store (ROM), its address being determined by the other nine bits. About 250 extracodes were implemented, of the 512 possible.
Extracodes were what would be called software interrupts or traps today. They were used to call mathematical procedures which would have been too inefficient to implement in hardware, for example sine, logarithm, and square root. But about half of the codes were designated as Supervisor functions, which invoked operating system procedures. Typical examples would be "Print the specified character on the specified stream" or "Read a block of 512 words from logical tape N". Extracodes were the only means by which a program could communicate with the Supervisor. Other UK machines of the era, such as the Ferranti Orion, had similar mechanisms for calling on the services of their operating systems.
Atlas pioneered many software concepts still in common use today, including the Atlas Supervisor, "considered by many to be the first recognisable modern operating system". [25]
One of the first high-level languages available on Atlas was named Atlas Autocode, which was contemporary to Algol 60 and created specifically to address what Tony Brooker perceived to be some defects in Algol 60. The Atlas did however support Algol 60, as well as Fortran and COBOL, and ABL (Atlas Basic Language, a symbolic input language close to machine language). Being a university computer it was patronised by a large number of the student population, who had access to a protected machine code development environment.
Several of the compilers were written using the Brooker Morris Compiler Compiler (BMCC), considered to be the first of its type.
It also had a programming language called SPG (System Program Generator). At run time an SPG program could compile more program for itself. It could define and use macros. Its variables were in <angle brackets> and it had a text parser, giving SPG program text a resemblance to Backus–Naur form.
From the outset, Atlas was conceived as a supercomputer that would include a comprehensive operating system. The hardware included specific features that facilitated the work of the operating system. For example, the extracode routines and the interrupt routines each had dedicated storage, registers and program counters; a context switch from user mode to extracode mode or executive mode, or from extracode mode to executive mode, was therefore very fast.
The history of computing hardware covers the developments from early simple devices to aid calculation to modern day computers.
The Williams tube, or the Williams–Kilburn tube named after inventors Freddie Williams and Tom Kilburn, is an early form of computer memory. It was the first random-access digital storage device, and was used successfully in several early computers.
A stored-program computer is a computer that stores program instructions in electronically, electromagnetically, or optically accessible memory. This contrasts with systems that stored the program instructions with plugboards or similar mechanisms.
The IBM 7030, also known as Stretch, was IBM's first transistorized supercomputer. It was the fastest computer in the world from 1961 until the first CDC 6600 became operational in 1964.
In computer operating systems, memory paging is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage in same-size blocks called pages. Paging is an important part of virtual memory implementations in modern operating systems, using secondary storage to let programs exceed the size of available physical memory.
The Atlas Supervisor was the program which managed the allocation of processing resources of Manchester University's Atlas Computer so that the machine was able to act on many tasks and user programs concurrently.
The UNIVAC LARC, short for the Livermore Advanced Research Computer, is a mainframe computer designed to a requirement published by Edward Teller in order to run hydrodynamic simulations for nuclear weapon design. It was one of the earliest supercomputers.
The Manchester Baby, also called the Small-Scale Experimental Machine (SSEM), was the first electronic stored-program computer. It was built at the University of Manchester by Frederic C. Williams, Tom Kilburn, and Geoff Tootill, and ran its first program on 21 June 1948.
The Ferranti Mark 1, also known as the Manchester Electronic Computer in its sales literature, and thus sometimes called the Manchester Ferranti, was produced by British electrical engineering firm Ferranti Ltd. It was the world's first commercially available electronic general-purpose stored program digital computer.
Tom Kilburn was an English mathematician and computer scientist. Over his 30-year career, he was involved in the development of five computers of great historical significance. With Freddie Williams he worked on the Williams–Kilburn tube and the world's first electronic stored-program computer, the Manchester Baby, while working at the University of Manchester. His work propelled Manchester and Britain into the forefront of the emerging field of computer science.
KDF9 was an early British 48-bit computer designed and built by English Electric. The first machine came into service in 1964 and the last of 29 machines was decommissioned in 1980 at the National Physical Laboratory. The KDF9 was designed for, and used almost entirely in, the mathematical and scientific processing fields – in 1967, nine were in use in UK universities and technical colleges. The KDF8, developed in parallel, was aimed at commercial processing workloads.
Titan was the prototype of the Atlas 2 computer developed by Ferranti and the University of Cambridge Mathematical Laboratory in Cambridge, England. It was designed starting in 1963, and in operation from 1964 to 1973.
Pegasus was an early British vacuum-tube (valve) computer built by Ferranti, Ltd that pioneered design features to improve usability for both engineers and programmers. It was originally named the Ferranti Package Computer as its hardware design followed that of the Elliott 401 with modular plug-in packages. Much of the development was the product of three men: W. S. (Bill) Elliott (hardware); Christopher Strachey (software) and Bernard Swann. It was Ferranti's most popular valve computer with 38 units being sold. The first Pegasus was delivered in 1956 and the last was delivered in 1959. Ferranti received funding for the development from the National Research Development Corporation (NRDC).
The FP-6000 was a second-generation mainframe computer developed and built by Ferranti-Packard, the Canadian division of Ferranti, in the early 1960s. It is particularly notable for supporting multitasking, being one of the first commercial machines to do so. Only six FP-6000s were sold before the computer division of Ferranti-Packard was sold off by Ferranti's UK headquarters in 1963, the FP-6000 becoming the basis for the mid-range machines of the ICT 1900, which sold into the thousands in Europe.
The Orion was a mid-range mainframe computer introduced by Ferranti in 1959 and installed for the first time in 1961. Ferranti positioned Orion to be their primary offering during the early 1960s, complementing their high-end Atlas and smaller systems like the Sirius and Argus. The Orion was based on a new type of logic circuit known as "Neuron" and included built-in multitasking support, one of the earliest commercial machines to do so.
The Manchester computers were an innovative series of stored-program electronic computers developed during the 30-year period between 1947 and 1977 by a small team at the University of Manchester, under the leadership of Tom Kilburn. They included the world's first stored-program computer, the world's first transistorised computer, and what was the world's fastest computer at the time of its inauguration in 1962.
The Manchester Mark 1 was one of the earliest stored-program computers, developed at the Victoria University of Manchester, England from the Manchester Baby. 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.
Ferranti's Sirius was a minicomputer released in 1961. Designed to be used in smaller offices without a dedicated programming staff, the Sirius used decimal arithmetic instead of binary, supported Autocode to ease programming, was designed to fit behind a standard office desk, and ran on UK standard mains electricity with no need for cooling. It was also fairly slow, with instruction speeds around 4,000 operations per second, and had limited main memory based on delay lines, but as Ferranti pointed out, its price/performance ratio was difficult to beat.
ICT 1900 was a family of mainframe computers released by International Computers and Tabulators (ICT) and later International Computers Limited (ICL) during the 1960s and 1970s. The 1900 series was notable for being one of the few non-American competitors to the IBM System/360, enjoying significant success in the European and British Commonwealth markets.
The Ferranti F100-L was a 16-bit microprocessor family announced by Ferranti in 1976 which entered production in 1977. It was among the first 16-bit single-chip CPUs, and the first 16-bit design to be designed in Europe. It was designed with military use in mind, able to work in a very wide temperature range and radiation hardened. To deliver these capabilities, the F100 was implemented using bipolar junction transistors, as opposed to the metal oxide semiconductor (MOS) process used by most other processors of the era. The family included a variety of support chips including a multiply/divide unit, various memory support chips, timers and serial bus controllers.