EDSAC
Encyclopedia
Electronic Delay Storage Automatic Calculator (EDSAC) was an early British
United Kingdom
The United Kingdom of Great Britain and Northern IrelandIn the United Kingdom and Dependencies, other languages have been officially recognised as legitimate autochthonous languages under the European Charter for Regional or Minority Languages...

 computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

. The machine, having been inspired by John von Neumann
John von Neumann
John von Neumann was a Hungarian-American mathematician and polymath who made major contributions to a vast number of fields, including set theory, functional analysis, quantum mechanics, ergodic theory, geometry, fluid dynamics, economics and game theory, computer science, numerical analysis,...

's seminal First Draft of a Report on the EDVAC
First Draft of a Report on the EDVAC
The First Draft of a Report on the EDVAC was an incomplete 101-page document written by John von Neumann and distributed on June 30, 1945 by Herman Goldstine, security officer on the classified ENIAC project...

, was constructed by Maurice Wilkes and his team at the University of Cambridge Mathematical Laboratory in England
England
England is a country that is part of the United Kingdom. It shares land borders with Scotland to the north and Wales to the west; the Irish Sea is to the north west, the Celtic Sea to the south west, with the North Sea to the east and the English Channel to the south separating it from continental...

. EDSAC was the first practical stored-program
Von Neumann architecture
The term Von Neumann architecture, aka the Von Neumann model, derives from a computer architecture proposal by the mathematician and early computer scientist John von Neumann and others, dated June 30, 1945, entitled First Draft of a Report on the EDVAC...

 electronic computer and first to run a graphical computer game.

Later the project was supported by J. Lyons & Co. Ltd.
J. Lyons and Co.
J. Lyons & Co. was a market-dominant British restaurant-chain, food-manufacturing, and hotel conglomerate founded in 1887 as a spin-off from the Salmon & Gluckstein tobacco company....

, 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 and a list of prime number
Prime number
A prime number is a natural number greater than 1 that has no positive divisors other than 1 and itself. A natural number greater than 1 that is not a prime number is called a composite number. For example 5 is prime, as only 1 and 5 divide it, whereas 6 is composite, since it has the divisors 2...

s.

Physical components

As soon as EDSAC was completed, it began serving the University's research needs. None of its components were experimental. It used mercury delay line
Delay line memory
Delay line memory was a form of computer memory used on some of the earliest digital computers. Like many modern forms of electronic computer memory, delay line memory was a refreshable memory, but as opposed to modern random-access memory, delay line memory was serial-access...

s for memory, and derated
Derating
Derating is the operation of a machine at less than its rated maximum power in order to prolong its life. The term is commonly applied to electrical and electronic devices and to internal combustion engines.-In electronics:...

 vacuum tube
Vacuum tube
In electronics, a vacuum tube, electron tube , or thermionic valve , reduced to simply "tube" or "valve" in everyday parlance, is a device that relies on the flow of electric current through a vacuum...

s for logic. Input was via 5-hole punched tape
Punched tape
Punched tape or paper tape is an obsolete form of data storage, consisting of a long strip of paper in which holes are punched to store data...

 and output was via a teleprinter
Teleprinter
A teleprinter is a electromechanical typewriter that can be used to communicate typed messages from point to point and point to multipoint over a variety of communication channels that range from a simple electrical connection, such as a pair of wires, to the use of radio and microwave as the...

.

Initially registers were limited to an accumulator
Accumulator (computing)
In a computer's central processing unit , an accumulator is a register in which intermediate arithmetic and logic results are stored. Without a register like an accumulator, it would be necessary to write the result of each calculation to main memory, perhaps only to be read right back again for...

 and a multiplier register. In 1953, David Wheeler, returning from a stay at the University of Illinois
University of Illinois at Urbana-Champaign
The University of Illinois at Urbana–Champaign is a large public research-intensive university in the state of Illinois, United States. It is the flagship campus of the University of Illinois system...

, designed an index register
Index register
An index registerCommonly known as a B-line in early British computers. in a computer's CPU is a processor register used for modifying operand addresses during the run of a program, typically for doing vector/array operations...

 as an extension to the original EDSAC hardware.

Memory and instructions

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), one unused spare bit, ten bits for a memory address, and one bit to control whether the instruction operated on a number contained in one word or two.

Internally, the EDSAC used two's complement
Two's complement
The two's complement of a binary number is defined as the value obtained by subtracting the number from a large power of two...

, binary
Binary numeral system
The binary numeral system, or base-2 number system, represents numeric values using two symbols, 0 and 1. More specifically, the usual base-2 system is a positional notation with a radix of 2...

 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
Fixed point (mathematics)
In mathematics, a fixed point of a function is a point that is mapped to itself by the function. A set of fixed points is sometimes called a fixed set...

 fractions in the range -1 ≤ x < 1, i.e. the binary point was immediately to the right of the sign. The accumulator
Accumulator (computing)
In a computer's central processing unit , an accumulator is a register in which intermediate arithmetic and logic results are stored. Without a register like an accumulator, it would be necessary to write the result of each calculation to main memory, perhaps only to be read right back again for...

 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, 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).

System software

The initial orders were hard-wired on a set of uniselector switches
Stepping switch
In electrical controls, a stepping switch, also known as a stepping relay, is an electromechanical device which allows an input connection to be connected to one of a number of possible output connections, under the control of a series of electrical pulses. It can step on one axis , or on two axes...

 and loaded into the low words of memory at startup. By May 1949, the initial orders provided a primitive relocating assembler taking advantage of the mnemonic design described above, all in 31 words. This was the world's first assembler, and arguably the start of the global software industry. There is a simulation of EDSAC available and a full description of the initial orders and first programs.

The machine was used by other members of the University to solve real problems, and many early techniques were developed that are now included in operating systems.
Users prepared their programs by punching them (in assembler) onto a paper tape. They soon became good at being able to hold the paper tape up to the light and read back the codes. When a program was ready it was hung on a length of line strung up near the paper tape reader. The machine operators, who were present during the day, selected the next tape from the line and loaded it into EDSAC. This is of course well known today as job queues. If it printed something then the tape and the printout were returned to the user, otherwise they were informed at which memory location it had stopped. Debuggers were some time away, but a CRT screen could be set to display the contents of a particular piece of memory. This was used to see if a number was converging, for example. After office hours certain "Authorised Users" were allowed to run the machine for themselves, which went on late into the night until a valve blew - which usually happened according to one such user.

Programming technique

The early programmers had to make use of techniques frowned upon today - especially altering the code. As there was no index register until much later the only way of accessing an array was to alter the memory location that a particular instruction referenced.

David Wheeler, who earned the world's first Computer Science PhD working on the project, is credited with inventing the concept of a subroutine. A user wrote a program that called a subroutine by jumping to the start of the subroutine with the address of the program counter plus one in the single register (a Wheeler jump). By convention the subroutine expected this and the first thing it did was to overwrite its final jump instruction with that address so that it returned. Multiple and nested subroutines could be called so long as the user knew the length of each one in order to calculate the location to jump to. The user then copied the code for the subroutine from a master tape onto their own tape following the end of their own program.

Application software

The subroutine concept led to the availability of a substantial subroutine library. By 1951, 87 subroutines in the following categories were available for general use: floating point arithmetic
Floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...

; arithmetic operations on complex number
Complex number
A complex number is a number consisting of a real part and an imaginary part. Complex numbers extend the idea of the one-dimensional number line to the two-dimensional complex plane by using the number line for the real part and adding a vertical axis to plot the imaginary part...

s; checking; division; exponentiation
Exponentiation
Exponentiation is a mathematical operation, written as an, involving two numbers, the base a and the exponent n...

; routines relating to functions; differential equation
Differential equation
A differential equation is a mathematical equation for an unknown function of one or several variables that relates the values of the function itself and its derivatives of various orders...

s; special functions; power series; logarithm
Logarithm
The logarithm of a number is the exponent by which another fixed value, the base, has to be raised to produce that number. For example, the logarithm of 1000 to base 10 is 3, because 1000 is 10 to the power 3: More generally, if x = by, then y is the logarithm of x to base b, and is written...

s; miscellaneous; print and layout; quadrature
Numerical integration
In numerical analysis, numerical integration constitutes a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical solution of differential equations. This article focuses on calculation of...

; read (input); nth root; trigonometric functions; counting operations (simulating repeat until loops
Do while loop
In most computer programming languages, a do while loop, sometimes just called a do loop, is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition. Note though that unlike most languages, Fortran's do loop is actually analogous to the for loop.The...

, while loop
While loop
In most computer programming languages, a while loop is a control flow statement that allows code to be executed repeatedly based on a given boolean condition. The while loop can be thought of as a repeating if statement....

s and for loop
For loop
In computer science a for loop is a programming language statement which allows code to be repeatedly executed. A for loop is classified as an iteration statement....

s); vectors
Probability vector
Stochastic vector redirects here. For the concept of a random vector, see Multivariate random variable.In mathematics and statistics, a probability vector or stochastic vector is a vector with non-negative entries that add up to one....

; and matrices
Matrix (mathematics)
In mathematics, a matrix is a rectangular array of numbers, symbols, or expressions. The individual items in a matrix are called its elements or entries. An example of a matrix with six elements isMatrices of the same size can be added or subtracted element by element...

.

Applications of EDSAC

  • In 1950, Dr. M. V. Wilkes and Wheeler used EDSAC to solve a differential equation relating to gene frequencies in a paper by Ronald Fisher
    Ronald Fisher
    Sir Ronald Aylmer Fisher FRS was an English statistician, evolutionary biologist, eugenicist and geneticist. Among other things, Fisher is well known for his contributions to statistics by creating Fisher's exact test and Fisher's equation...

    . This represents the first use of a computer to a problem in the field of biology.
  • 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
    A.S. Douglas
    Professor Alexander "Sandy" Shafto Douglas CBE was a British professor of computer science, credited with creating the first graphical Computer game OXO a tic-tac-toe computer game in 1952 on the EDSAC computer at University of Cambridge.Douglas died in sleep on April 29, 2010, from...

     developed OXO
    OXO
    OXO was a computer game written for the EDSAC computer in 1952, an implementation of the game known as Noughts and Crosses in the UK, or tic-tac-toe in the United States. It was written by Alexander S. Douglas as an illustration for his Ph.D. thesis on human-computer interaction for the University...

    , a version of noughts and crosses
    Tic-tac-toe
    Tic-tac-toe, also called wick wack woe and noughts and crosses , is a pencil-and-paper game for two players, X and O, who take turns marking the spaces in a 3×3 grid. The X player usually goes first...

     (tic-tac-toe) for the EDSAC, with graphical output to a cathode ray tube
    Cathode ray tube
    The cathode ray tube is a vacuum tube containing an electron gun and a fluorescent screen used to view images. It has a means to accelerate and deflect the electron beam onto the fluorescent screen to create the images. The image may represent electrical waveforms , pictures , radar targets and...

    . This may well have been the world's first video game
    First video game
    There are numerous debates over who created the first video game, with the answer depending largely on how video games are defined. The evolution of video games represents a tangled web of several different industries, including scientific, computer, arcade, and consumer electronics.The "video" in...

    .
  • In the 1960s, EDSAC was used to gather numerical evidence about solutions to elliptic curve
    Elliptic curve
    In mathematics, an elliptic curve is a smooth, projective algebraic curve of genus one, on which there is a specified point O. An elliptic curve is in fact an abelian variety — that is, it has a multiplication defined algebraically with respect to which it is a group — and O serves as the identity...

    s, which led to the Birch and Swinnerton-Dyer conjecture
    Birch and Swinnerton-Dyer conjecture
    In mathematics, the Birch and Swinnerton-Dyer conjecture is an open problem in the field of number theory. Its status as one of the most challenging mathematical questions has become widely recognized; the conjecture was chosen as one of the seven Millennium Prize Problems listed by the Clay...

    .

Further developments

EDSAC's successor, EDSAC 2
EDSAC 2
EDSAC 2 was an early computer, the successor to the Electronic Delay Storage Automatic Calculator. It was the first computer to have a microprogrammed control unit and a bit slice hardware architecture....

, was commissioned in 1958.

In 1961, an EDSAC 2 version of Autocode
Autocode
Autocode is the name of a family of "simplified coding systems", later called programming languages, devised in the 1950s and 1960s for a series of digital computers at the Universities of Manchester and Cambridge...

, an ALGOL
ALGOL
ALGOL is a family of imperative computer programming languages originally developed in the mid 1950s which greatly influenced many other languages and became the de facto way algorithms were described in textbooks and academic works for almost the next 30 years...

-like high-level programming language for scientists and engineers, was developed by David Hartley.

In the mid-1960s, a successor to the EDSAC 2 was planned, but the move was instead made to the Titan
Titan (computer)
Titan was the prototype of the Atlas 2 computer developed by Ferranti and the University of Cambridge Mathematical Laboratory in Cambridge, England...

, a prototype Atlas 2—the latter having been developed from the Atlas Computer of the University of Manchester
Victoria University of Manchester
The Victoria University of Manchester was a university in Manchester, England. On 1 October 2004 it merged with the University of Manchester Institute of Science and Technology to form a new entity, "The University of Manchester".-1851 - 1951:The University was founded in 1851 as Owens College,...

, Ferranti
Ferranti
Ferranti or Ferranti International plc was a UK electrical engineering and equipment firm that operated for over a century from 1885 until it went bankrupt in 1993. Known primarily for defence electronics, the Company was once a constituent of the FTSE 100 Index but ceased trading in 1993.The...

, and Plessey
Plessey
The Plessey Company plc was a British-based international electronics, defence and telecommunications company. It originated in 1917, growing and diversifying into electronics. It expanded after the second world war by acquisition of companies and formed overseas companies...

.

On the 13 January, 2011, the Computer Conservation Society
Computer Conservation Society
The Computer Conservation Society is a British organization, founded in 1989. It is under the joint umbrella of the British Computer Society, the Science Museum in London, and the Museum of Science and Industry in Manchester. Many of the society's meetings are held at the Science Museum...

 announced that it had commissioned a working replica of EDSAC, to be built at The National Museum of Computing
The National Museum of Computing
The National Museum of Computing is a museum in the United Kingdom dedicated to collecting and restoring historic computer systems. The museum is based at Bletchley Park in Buckinghamshire, England, and opened in 2007...

 in Bletchley Park
Bletchley Park
Bletchley Park is an estate located in the town of Bletchley, in Buckinghamshire, England, which currently houses the National Museum of Computing...

.

External links

  • An EDSAC simulator — Developed by Martin Campbell-Kelly
    Martin Campbell-Kelly
    Martin Campbell-Kelly is an English computer scientist based at the University of Warwick who has specialised in the history of computing.Campbell-Kelly is professor emeritus in the Department of Computer Science at the University of Warwick. He is on the editorial board of the IEEE Annals of the...

    , Department of Computer Science, University of Warwick
    University of Warwick
    The University of Warwick is a public research university located in Coventry, United Kingdom...

    , England.
  • Oral history interview with David Wheeler, 14 May 1987. Charles Babbage Institute
    Charles Babbage Institute
    The Charles Babbage Institute is a research center at the University of Minnesota specializing in the history of information technology, particularly the history since 1935 of digital computing, programming/software, and computer networking....

    , University of Minnesota. Wheeler was a research student at the University Mathematical Laboratory at Cambridge from 1948–51, and a pioneer programmer on the EDSAC
    EDSAC
    Electronic Delay Storage Automatic Calculator 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...

     project. Wheeler discusses projects that were run on EDSAC, user-oriented programming methods, and the influence of EDSAC on the ILLIAC
    ILLIAC
    ILLIAC was a series of supercomputers built at a variety of locations, some at the University of Illinois at Urbana-Champaign. In all, five computers were built in this series between 1951 and 1974...

    , the ORDVAC
    ORDVAC
    The ORDVAC or Ordnance Discrete Variable Automatic Computer, an early computer built by the University of Illinois for the Ballistics Research Laboratory at Aberdeen Proving Ground, was based on the IAS architecture developed by John von Neumann, which came to be known as the von Neumann architecture...

    , and the IBM 701
    IBM 701
    The IBM 701, known as the Defense Calculator while in development, was announced to the public on April 29, 1952, and was IBM’s first commercial scientific computer...

    . Wheeler also notes visits by Douglas Hartree
    Douglas Hartree
    Douglas Rayner Hartree PhD, FRS was an English mathematician and physicist most famous for the development of numerical analysis and its application to the Hartree-Fock equations of atomic physics and the construction of the meccano differential analyser.-Early life:Douglas Hartree was born in...

    , Nelson Blackman (of ONR), Peter Naur
    Peter Naur
    Peter Naur is a Danish pioneer in computer science and Turing award winner. His last name is the N in the BNF notation , used in the description of the syntax for most programming languages...

    , Aad van Wijngarden
    Adriaan van Wijngaarden
    Adriaan van Wijngaarden was an important mathematician and computer scientist who is considered by many to have been the founding father of informatica in the Netherlands...

    , Arthur van der Poel, Friedrich Bauer
    Friedrich L. Bauer
    Friedrich Ludwig Bauer is a German computer scientist and professor emeritus at Technical University of Munich.-Life:...

    , and Louis Couffignal
    Louis Couffignal
    Louis Couffignal was a French Mathematician and Cybernetics pioneer. He taught in schools in the southwest of Brittany, then at the naval academy and, eventually, at the Buffon School.- Biography :...

    .
  • 50th Anniversary of EDSAC — Dedicated website at the University of Cambridge Computer Laboratory
    University of Cambridge Computer Laboratory
    The Computer Laboratory is the computer science department of the University of Cambridge. As of 2007, it employs 35 academic staff, 25 support staff, 35 affiliated research staff, and about 155 research students...

    .
  • 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 source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK