Browse Prior Art Database

Arithmetic on the EDSAC

IP.com Disclosure Number: IPCOM000129978D
Original Publication Date: 1997-Jan-01
Included in the Prior Art Database: 2005-Oct-07
Document File: 5 page(s) / 24K

Publishing Venue

Software Patent Institute

Related People

MAURICE V. WILKES: AUTHOR [+2]

Abstract

The basic strategy underlying the Electronic Delay Storage Automatic Calculator (EDSAC) project was to build a machine and then to learn how to use it.1 These two phases of building and using the EDSAC were of equal importance. We were quite sure that once we had a working machine, there would be much that we would have to learn before we could exploit it effectively. Architecturally, the machine was to be a simple one with no frills: on the other hand, the architecture was not to be so rudimentary that the machine would be uncomfortable to use. There was to be no attempt to exploit fully the technology available and no attempt to optimize the implementation. It went without saying that the EDSAC would be a fixed-point machine. Floating-point relay machines had been built, and the merits of floating-point operation were fully recognized. However, it would be a long time before any electronic engineer would feel sufficiently confident with vacuum tube technology to attempt the design of a floating-point machine.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 20% of the total text.

Page 1 of 5

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

Copyright ©; 1997 by the Institute of Electrical and Electronics Engineers, Inc. All rights reserved. Used with permission.

Arithmetic on the EDSAC

MAURICE V. WILKES

The Electronic Delay Storage Automatic Calculator (EDSAC) was a serial binary computer wit an ultrasonic delay memory. It was designed and built at the University of Cambridge in England. Work on the project started at the end of 1946, and the machine began to work in May 1949. This paper described how the programmer handled fixed-point arithmetic and emphasizes the merits of having a double-length accumulator.

Introduction

The basic strategy underlying the Electronic Delay Storage Automatic Calculator (EDSAC) project was to build a machine and then to learn how to use it.1 These two phases of building and using the EDSAC were of equal importance. We were quite sure that once we had a working machine, there would be much that we would have to learn before we could exploit it effectively.

Architecturally, the machine was to be a simple one with no frills: on the other hand, the architecture was not to be so rudimentary that the machine would be uncomfortable to use. There was to be no attempt to exploit fully the technology available and no attempt to optimize the implementation.

It went without saying that the EDSAC would be a fixed-point machine. Floating-point relay machines had been built, and the merits of floating-point operation were fully recognized. However, it would be a long time before any electronic engineer would feel sufficiently confident with vacuum tube technology to attempt the design of a floating-point machine.

Word Length

The choice of word length was easy. I believed that 10 decimal places was about right for accuracy. This translated into 35 bits, of which one was a sign bit. The word length was thus 35 bits. For engineering reasons (to provide more time for switching), an additional unused bit was added, so that in all a word occupied 36 bits in the memory. The length of 36 bits was very convenient, since it enabled two instructions to be stored in the same space as a single word. An instruction occupied 17 bits plus an unused bit: this amounted to 18 bits in all, or half of 36 bits.

It was apparent that the same hardware-accessing mechanism that was required for accessing instructions could also be used for accessing half-word numbers. I therefore decided to provide short numbers of 17 bits, one of which was a sign bit, as a hardware-supported data type. The advantage of doing this was that it enabled better use of the very limited memory that the EDSAC possessed.

We avoided the inelegance of referring to left-hand half-words and right-hand half-words (as was done elsewhere) by numbering the memory in half-words. The situation was sometimes explained to programmers by saying that they could run two short numbers together to make a

IEEE Computer Society, Jan 01, 1997 Page 1 IEEE An...