Automatic Computing Engine

From Computer History Wiki
Revision as of 17:13, 16 March 2024 by Jnc (talk | contribs) (A good start - documentation on it is very hard to find, now)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Automatic Computing Engine (usually given as the acronym, ACE) was a very early computer (the first one designed in the UK), designed by Alan Turing, personally. Its main memory was mercury delay lines, and the whole architecture of the machine was adapted to their characteristics, to a degree which today is hard to imagine without seeing the details (for instance, in the use of using optimum coding, to give a simple example). For its day, as a result, it was thus a very fast machine indeed, although difficult to program.

Turing did the design in late 1945, after he moved to the National Physical Laboratory - perhaps inspired by news of John von Neumann's First Draft of a Report on the EDVAC. He produced a lengthy detailed design document, Proposal for Development in the Mathematics Division of an Automatic Computing Engine (ACE), which came out in March, 1946; the NPL approved his proposal, but moved very slowly on doing anything. Turing, apparently unhappy at the delays in building it, eventually moved to Manchester University.

The NPL then produced a scaled-down prototype, the Pilot ACE, starting in early 1949, and initially operational by May, 1950; it was both successful, and much copied. After a considerable delay, they then moved on to produce the full-scale ACE, starting in 1953; it was initially operational in 1958. Already obsolescent, but still quite powerful (oh, had it only been built when he first proposed it!), it soldiered on, and was shut down in February, 1967.

Technical details

In addition to 24 long delay lines, each of which had a capacity of 32 48-bit words, it also had 5 4-word lines (the reduced size gave lower access times), 4 2-word lines, and 7 1-word lines; the shorter ones had the role of registers in most computers. The time required for one word (the whole machine was serial) was termed a 'minor cycle'; a complete cycle of a long line was a 'major cycle'.

The ACE's instructions were also 48 bits. They contained 10 fields:

Field Width Description
Wait 5 Minor cycle in which to start instruction
Source A 6
Source B 6
Function 6 8 groups of 8
Destination 6
Stop 1 Actuated by console key
Next 5 Next instruction line
J 6 Counting area
Time 5 Next instruction minor cycle
Characteristic 2 Number of minor cycles for this instruction

One bit was unused. Apparently, for sources in long lines, the minor cycle used was that selected by the 'Wait' field. Instructions contained no less than 4 addresses; two sources, a destination, and the address of the next instruction. (The ACE had no Program Counter.) Many of the destinations had side-effects.

When eventually built, the ACE was given 4 drums (each holding 256 tracks of 32 words - the same size as the large delay lines), and 6 magnetic tape drives. Input/output used punched cards and paper tape.

Further reading

  • Alan Turing, B. E. Carpenter (editor), R. W. Doran (editor), A. M. Turing's ACE report of 1946 and other papers, MIT Press/Tomash, Cambridge/Los Angeles, 1986
  • ACE Programming Manual, 1960 (not online, or re-printed, alas)
  • David M. Yates, Turing's Legacy: A History of Computing at the National Physical Laboratory 1945-1995, Science Museum, London, 1997 - the ACE is covered in Section 3.2
  • B. Jack Copeland (editor), Alan Turing's Automatic Computing Engine: The Master Codebreaker's Struggle to Build the Modern Computer, Oxford University, Oxford, 2005 - essays from a number of people on various aspects of the Pilot ACE and ACE

External links