Electronic Delay Storage Automatic Calculator
Electronic Delay Storage Automatic Calculator (EDSAC) was an early British computer. The machine, having been inspired by John von Neumann's seminal First Draft of a Report on the EDVAC, was constructed by Maurice Wilkes and his team at the University of Cambridge Mathematical Laboratory in England. EDSAC was the first practical stored-program electronic computer.[1]
The project was supported by J. Lyons & Co. Ltd., a British firm, who were rewarded with the first commercially applied computer, LEO I, based on the EDSAC design. EDSAC ran its first programs on 6 May 1949, when it calculated a table of squares[2] and a list of prime numbers.
|
|
As soon as EDSAC was constructed, it began serving the University's research needs. None of its components were experimental. It used mercury delay lines for memory, and derated vacuum tubes for logic. Input was via 5-hole punched tape and output was via a teleprinter.
Initially registers were limited to an accumulator and a multiplier register. In 1953, David Wheeler, returning from a stay at the University of Illinois, designed an index register as an extension to the original EDSAC hardware.
The EDSAC's memory consisted of 1024 locations, though only 512 locations were initially implemented. Each contained 18 bits, but the first bit was unavailable due to timing restrictions, so only 17 bits were used. An instruction consisted of a five-bit instruction code (designed to be represented by a mnemonic letter, so that the Add instruction, for example, used the bit pattern for the letter A), eleven bits for a memory address (although with 1024 words, only 10 bits were needed), and one bit (for certain instruction) to control whether the instruction operated on a number contained in one word or two.
Internally, the EDSAC used two's complement, binary numbers. These were either 17 bits (one word) or 35 bits (two words) long. Unusually, the multiplier was designed to treat numbers as fixed-point fractions in the range -1 ≤ x < 1, ie the binary point was immediately to the right of the sign. The accumulator could hold 71 bits, including the sign, allowing two long (35-bit) numbers to be multiplied without losing any precision.
The instructions available were: add, subtract, multiply, collate,[3] shift left, shift right, load multiplier register, store (and optionally clear) accumulator, conditional skip, read input tape, print character, round accumulator, no-op and stop. There was no division instruction (though a number of division subroutines were available) and no way to directly load a number into the accumulator (a “store and zero accumulator” instruction followed by an “add” instruction were necessary for this).
The initial orders were hard-wired on a set of uniselector switches and loaded into the low words of memory at startup. By September 1949, the initial orders had reached their final form and provided a primitive relocating assembler taking advantage of the mnemonic design described above, all in 41 words.
An unusual feature of EDSAC was the availability of a substantial subroutine library. By 1951, 87 subroutines in the following categories were available for general use: floating point arithmetic; arithmetic operations on complex numbers; checking; division; exponentiation; routines relating to functions; differential equations; special functions; power series; logarithms; miscellaneous; print and layout; quadrature; read (input); nth root; Trigonometric functions; counting operations (simulating “repeat”, “while” and “for” loops); vectors and matrices.
| Name | First operational | Numeral system | Computing mechanism | Programming | Turing complete |
|---|---|---|---|---|---|
| Zuse Z3 (Germany) | May 1941 | Binary | Electro-mechanical | Program-controlled by punched film stock | Yes (1998) |
| Atanasoff–Berry Computer (US) | mid-1941 | Binary | Electronic | Not programmable—single purpose | No |
| Colossus (UK) | January 1944 | Binary | Electronic | Program-controlled by patch cables and switches | No |
| Harvard Mark I – IBM ASCC (US) | 1944 | Decimal | Electro-mechanical | Program-controlled by 24-channel punched paper tape (but no conditional branch) | No |
| ENIAC (US) | November 1945 | Decimal | Electronic | Program-controlled by patch cables and switches | Yes |
| Manchester Small-Scale Experimental Machine (UK) | June 1948 | Binary | Electronic | Stored-program in Williams cathode ray tube memory | Yes |
| Modified ENIAC (US) | September 1948 | Decimal | Electronic | Program-controlled by patch cables and switches plus a primitive read-only stored programming mechanism using the Function Tables as program ROM | Yes |
| EDSAC (UK) | May 1949 | Binary | Electronic | Stored-program in mercury delay line memory | Yes |
| Manchester Mark 1 (UK) | October 1949 | Binary | Electronic | Stored-program in Williams cathode ray tube memory and magnetic drum memory | Yes |
| CSIRAC (Australia) | November 1949 | Binary | Electronic | Stored-program in mercury delay line memory | Yes |
- In 1951, Miller and Wheeler used the machine to discover a 79-digit prime—the largest known at the time.
- In 1952 A.S. Douglas developed OXO, a version of noughts and crosses (tic-tac-toe) for the EDSAC, with graphical output to a cathode ray tube. This may well have been the world's first video game.
- In the 1960s EDSAC was used to gather numerical evidence about solutions to elliptic curves, which led to the Birch and Swinnerton-Dyer conjecture.
EDSAC's successor, EDSAC 2, was commissioned in 1958.
In 1961, an EDSAC 2 version of Autocode, an ALGOL-like high-level programming language for scientists and engineers, was developed by D. F. Hartley.
In the mid-1960s, a successor to the EDSAC 2 was planned, but the move was instead made to the Titan, a prototype Atlas 2—the latter having been developed from the Atlas Computer of the University of Manchester, Ferranti, and Plessey.
- ^ The Manchester Small-Scale Experimental Machine, nicknamed "Baby", predated EDSAC as a stored-program computer, but was built as a test bed for the Williams tube and not as a machine for practical use.
- ^ To be precise, EDSAC's first program printed a list of the squares of the integers from 0 to 99 inclusive.
- ^ This instruction added the bitwise AND of the specified memory word and the multiplier register to the accumulator.
| Wikimedia Commons has media related to: EDSAC |
- An EDSAC simulator – Developed by Martin Campbell-Kelly, Department of Computer Science, University of Warwick , England
- 50th Anniversary of EDSAC – Dedicated website at the University of Cambridge Computer Laboratory
- Nicholas Enticknap and Maurice Wilkes, Cambridge's Golden Jubilee – in: RESURRECTION The Bulletin of the Computer Conservation Society ISSN 0958-7403 Number 22 Summer 1999
- The Preparation of Programs for an Electronic Digital Computer by Professor Sir Maurice Wilkes, David Wheeler and Stanley Gill, Addison-Wesley, Edition 1, 1951

