EDSAC: Difference between revisions

From Computer History Wiki
Jump to navigationJump to search
m External links: +The EDSAC Order Code: Explanatory Notes
Add a short account of its construction
 
Line 1: Line 1:
The '''Electronic Delay Storage Automatic Calculator''' (usually referred to by the acronym, '''EDSAC''') was a very early computer; a [[serial computer]] internally, built out of [[vacuum tube]]s, with mercury [[delay line]] [[main memory]]. It was conceived in 1946, and the machine did its first calculation in the summer of 1949.
The '''Electronic Delay Storage Automatic Calculator''' (usually referred to by the acronym, '''EDSAC''') was a very early [[electronic]] [[computer]]; it was built at Cambridge University by a team led by [[Maurice Wilkes]]. It was initially conceived in 1946, as he was attending the [[Moore School Lectures]] in July-August that year; the machine did its first calculation on 6 May, 1949.
 
It was a [[serial computer]] internally, built out of [[vacuum tube]]s, with mercury [[delay line]] [[main memory]] - a technology proposed at the Moore School Lectures. Experimentation with that technology started back at Cambridge in January, 1947; construction of the complete main memory happened around December, 1947.
 
Starting in November, 1947, personnel from the [[LEO]] project helped with the construction, learning about the field, for use in their own project; they also provided some funding for the construction of EDSAC.


==Operation==
==Operation==


The action of the machine proceeds in two stages; in stage I an order passes from the store into the control unit; in stage II the order is executed. The machine then proceeds automatically to repeat stage I, in general taking the order from the storage location following that containing the order just executed. (add exception note here) Each order calls for one simple operation to be performed; for example, it may cause some number to be extracted from the store and added to whatever happens to be in the accumulator, the sum being left in the accumulator, or it may cause the contents of the accumulator to be transfered to the store. Some orders, for example left or right shift orders, do not involve the use of the store at all.
The action of the machine proceeds in two stages; in stage I an order ([[instruction]]) passes from the store into the control unit; in stage II the order is executed. The machine then proceeds automatically to repeat stage I, in general taking the order from the storage location following that containing the order just executed. (add exception note here) Each order calls for one simple operation to be performed; for example, it may cause some number to be extracted from the store and added to whatever happens to be in the [[accumulator]], the sum being left in the accumulator, or it may cause the contents of the accumulator to be transferred to the store. Some orders, for example left or right shift orders, do not involve the use of the store at all.


There are in the EDSAC code eighteen orders from which the programmer can build up his program. They are written in the form of a letter indicating the function of the order, and a number (the address) specifying the location (if any) in the store concerned. The address is followed by the code letter F if it refers to a short storage location, and by the code letter D if it refers to a long storage location, The full order code for the EDSAC is as follows:
There are in the EDSAC code eighteen orders from which the programmer can build up their program. They are written in the form of a letter indicating the function of the order, and a number (the [[address]]) specifying the location (if any) in the store concerned. The address is followed by the code letter F if it refers to a short storage location, and by the code letter D if it refers to a long storage location, The full order code for the EDSAC is as follows:


==Order Code==
===Order Code===


Where the code letter terminating an order is not shown it may be either F or D.
Where the code letter terminating an order is not shown it may be either F or D.
Line 72: Line 76:
==Further reading==
==Further reading==


* Maurice Wilkes, David Wheeler, Stanley Gill, ''The Preparation of Programs for an Electronic Digital Computer'', Addison-Wesley, Cambridge, 1951 - the very first book ever published about programming
* Maurice Wilkes, ''Memoirs of a Computer Pioneer'', MIT Press, Cambridge, 1985 - chapters 13 and 14 cover the origin and construction of EDSAC
* Maurice Wilkes, ''Memoirs of a Computer Pioneer'', MIT Press, Cambridge, 1985 - chapters 13 and 14 cover the EDSAC
* Brian Randell (editor), [https://link.springer.com/book/10.1007/978-3-642-96145-8 ''The Origins of Digital Computers: Selected Papers''], Springer-Verlag, Berlin, Heidelberg, New York, 1973, 1982 (3rd edition) - EDSAC is covered in the last sections of Chapter VIII
* Brian Randell (editor), [https://link.springer.com/book/10.1007/978-3-642-96145-8 ''The Origins of Digital Computers: Selected Papers''], Springer-Verlag, Berlin, Heidelberg, New York, 1973, 1982 (3rd edition) - EDSAC is covered in the last sections of Chapter VIII
* Nicholas Metropolis, Jack Howlett, Gian-Carlo Rota (editors), [https://www.sciencedirect.com/book/9780124916500/a-history-of-computing-in-the-twentieth-century ''A History of Computing in the Twentieth Century''], Academic Press, New York, 1980 - EDSAC is covered in the last section of Part IV
* Nicholas Metropolis, Jack Howlett, Gian-Carlo Rota (editors), [https://www.sciencedirect.com/book/9780124916500/a-history-of-computing-in-the-twentieth-century ''A History of Computing in the Twentieth Century''], Academic Press, New York, 1980 - EDSAC is covered in the last section of Part IV
* Maurice Wilkes, David Wheeler, Stanley Gill, ''The Preparation of Programs for an Electronic Digital Computer'', Addison-Wesley, Cambridge, 1951 - the very first book ever published about programming
* Raúl Rojas, Ulf Hashagen (editors), ''The First Computers: History and Architectures'', MIT Press, Cambridge, 2002 - the last chapter in part IV covers an EDSAC [[simulator]]
* Raúl Rojas, Ulf Hashagen (editors), ''The First Computers: History and Architectures'', MIT Press, Cambridge, 2002 - the last chapter in part IV covers an EDSAC [[simulator]]



Latest revision as of 01:35, 16 September 2026

The Electronic Delay Storage Automatic Calculator (usually referred to by the acronym, EDSAC) was a very early electronic computer; it was built at Cambridge University by a team led by Maurice Wilkes. It was initially conceived in 1946, as he was attending the Moore School Lectures in July-August that year; the machine did its first calculation on 6 May, 1949.

It was a serial computer internally, built out of vacuum tubes, with mercury delay line main memory - a technology proposed at the Moore School Lectures. Experimentation with that technology started back at Cambridge in January, 1947; construction of the complete main memory happened around December, 1947.

Starting in November, 1947, personnel from the LEO project helped with the construction, learning about the field, for use in their own project; they also provided some funding for the construction of EDSAC.

Operation

The action of the machine proceeds in two stages; in stage I an order (instruction) passes from the store into the control unit; in stage II the order is executed. The machine then proceeds automatically to repeat stage I, in general taking the order from the storage location following that containing the order just executed. (add exception note here) Each order calls for one simple operation to be performed; for example, it may cause some number to be extracted from the store and added to whatever happens to be in the accumulator, the sum being left in the accumulator, or it may cause the contents of the accumulator to be transferred to the store. Some orders, for example left or right shift orders, do not involve the use of the store at all.

There are in the EDSAC code eighteen orders from which the programmer can build up their program. They are written in the form of a letter indicating the function of the order, and a number (the address) specifying the location (if any) in the store concerned. The address is followed by the code letter F if it refers to a short storage location, and by the code letter D if it refers to a long storage location, The full order code for the EDSAC is as follows:

Order Code

Where the code letter terminating an order is not shown it may be either F or D.

Order Description
A n Add the number in storage location n into the accumulator
S n Subtract the number in storage location n from the accumulator
H n Copy the number in storagae location n into the multiplier register
V n Multiply the number in storage location n by the number in the multiplier register and add the product into the accumulator
N n Multiply the number in storage location n by the number in the multiplier register and subtract the product into the accumulator
T Transfer the contents of the accumulator to storage location n and clear the accumulator
U Transfer the contents of the accumulator to storage location n and do not clear the accumulator
C Collate the number in storage location n with the number in the multiplier register and add the result into the accumulator; that is, add a "1" into the accumulator in digital positions where both numbers have a "1" , and add a "0" in other digital positions
* R D Shift the number in the accumulator one place to the right; that is, multiply by 2-1
** R 2p-2 F Shift the number in the accumulator p places to the right; that is, multiply it by 2-p (2≤p≤12)
R F Shift the number in the accumulator 15 places to the right; that is, multiply it by 2-15
* L F Shift the number in the accumulator 1 place to the left; that is, multiply it by 2
** L 2p-1 F Shift the number in the accumulator p places to the left; that is, multiply it by 2p (2≤p≤12)
L F Shift the number in the accumulator 13 places to the left; that is, multiply it by 213
E n F If the number in the accumulator is greater than or equal to zero, execute the next order which stands in storage location n; else proceed serially
G n F If the number in the accumulator is greater than zero, execute the next order which stands in storage location n; else proceed serially
I n Read the next row of holes on the input tape and place the resulting integer, multipled by 2-16, in storage location n
O n Print the character now set up on the teleprinter and set up on the teleprinter the character represented by the five most significant digits in storage location n
F n Place the five digits which represent the character now set up on the teleprinter in the five most significant digits in storage location n, clearing the remainder of this location
* X Ineffective; machine proceeds to the next order
* Y Round-off the numberin the accumulator to 34 binary digits; that is, add 2-35 into the accumulator
* Z Stop the machine
*  The addresses in these order codes need not be zero.
** The addresses in these orders may be k.2p-1 where k is odd, provided that the addresses do not exceed 2047.

See also

Further reading

  • Maurice Wilkes, Memoirs of a Computer Pioneer, MIT Press, Cambridge, 1985 - chapters 13 and 14 cover the origin and construction of EDSAC
  • Brian Randell (editor), The Origins of Digital Computers: Selected Papers, Springer-Verlag, Berlin, Heidelberg, New York, 1973, 1982 (3rd edition) - EDSAC is covered in the last sections of Chapter VIII
  • Nicholas Metropolis, Jack Howlett, Gian-Carlo Rota (editors), A History of Computing in the Twentieth Century, Academic Press, New York, 1980 - EDSAC is covered in the last section of Part IV
  • Maurice Wilkes, David Wheeler, Stanley Gill, The Preparation of Programs for an Electronic Digital Computer, Addison-Wesley, Cambridge, 1951 - the very first book ever published about programming
  • Raúl Rojas, Ulf Hashagen (editors), The First Computers: History and Architectures, MIT Press, Cambridge, 2002 - the last chapter in part IV covers an EDSAC simulator

External links