EDSAC

EDSAC: The first stored-program computer

Antonio Pérez Villaescusa

The EDSAC was built in Great Britain, in the Cambridge University after the WW2.

Great Britain had developed a wide experience in computing due to their eagerness to decipher the secret Nazi codes.

For that, numerous cryptography centers were established like Bletchley Park where Ian Turing worked.

There was already an interest for these machines in the scientific community and one of the people interested was Maurice Vincent Wilkes.

Wilkes knew that the Moore School in United States, were building an electronic computer. Such was his interest that when his friend Williams came back from a trip to that school, he gave him the “EDVAC Report” which was a report written by John Von Neumann where he described the building of such computer.

With the information of that report and the attendance to some conferences at the Moore School, Wilkes was ready to build his own electronic computer. For that, he gathered a group of people he trusted who were experts in their field. The team was formed by Wheeler, Chamberlain, Gold, among others.

The different components that formed the EDSAC were:

Vacuum tubes: the vacuum tubes or thermionic valves were an electronic device used to regulate the flow of electrons that went through the machines. They consist of a capsule made of glass or steel and its interior is made of at least three elements: one thread that when it is connected to the power it heats up; one plaque that surrounds the thread and acts like a cathode (electrons transmitter) and another plaque called anode that surrounds the cathode and collects the electrons that come out of the cathode. The cathode is connected to the negative power so it is full of electrons which will be emitted and gathered by the anode (connected to the positive power). The cathode heats up so the electrons are overexcited and they can abandon their atoms. The electrons that go out of the cathode will go through the void reaching the anode.

Delay line memory: this type of memory retain the information like this: the electric signals are transformed into sound waves and they are introduced in the tubes. These waves travel through the mercury until they are used. Before leaving the tube, they are converted again into electric signals. This conversion of electric signals into sound waves and vice versa, are made by a quartz crystal places in each one of the extremes. It was usual to assemble various delay lines to form what it is knows as a battery or delay line tanks.

Here is a video to understand better the working of the machine

Cathode ray screen: it was possible to visualize the content of the delay line memories in a cathode ray tube (CRT), which is a vacuum tube containing one or more electron guns, and a phosphorescent screen used to view images. It has a means to accelerate and deflect the electron beam(s) onto the screen to create the images. The images may represent electrical waveforms (oscilloscope), pictures (television, computer monitor), radar targets or others.

punched tape reader: to introduce the programs to the machine, a tape lector which was connected to the memory was used. The tapes in which the program was previously punched were introduced. The EDSAC had a 5 tape lector battery that operated at 50 characters speed.

Teletype: it was together with the cathode ray screen the output of the EDSAC. It was a telegraphic dispositive of data transmission. The teletype used originally had an approximate write speed of six digits.

To control the machine, the programmer had a control panel with the following buttons:

  • Start: it loads the initial orders and then reads the tape where the program is.
  • Clear: when this button is pressed, all the stored bits in the memory were down to 0. This guaranteed the consistency of the results.
  • Stop: it stops the execution of the program.
  • Single Step: if this button is pressed and the machine is not working, it executes the instructions one by one.
  • Reset: it restarts the machine after the machine is “stopped” whether it is made by the program or manual.

The computer was already built and it worked like this.

And the programs?

The EDSAC as a computer for the scientific community had some programs focused on this field. The programs made root calculus, prime numbers, the square of a number…

In this picture we can see the classic program “Hello World” in its version for EDSAC. “Hello World” EDSAC

This program calculates the square root of a number.

The algorithm that implements the code was developed by Wilkes and Wheeler especially for EDSAC.

.

Here it is a more complex one, which uses the P6 subroutine to print the 300 first prime numbers.

Let’s program the EDSAC

If you do not like the following programs there is no problem, we can make the programs we want.

First of all, we have to know the instructions that the EDSAC uses:

  • A n: Adds the stored number in “n” to the “accumulator” and it stores it.
  • S n: Subtracts the stored number in “n” to the “accumulator” and it stores it.
  • H n: Copies the number which is in the direction “n” and it stores it in the multiplier.
  • V n: Multiplies the number in the direction “n” by the one which is in the multiplier and the result is added to the stored number in the accumulator and it is saved there.
  • N n: Multiplies the number in the direction “n” by the one which is in the multiplier and the result is subtracted together with the stored number in the accumulator and it is saved there.
  • T n: Transfers the content of the accumulator to the memory position “n” and it erases which was in the accumulator.
  • U n: Transfers the content of the accumulator to the memory position “n” but it does not erase which was in the accumulator.
  • C n: Applies the logical operation “and” to what it is in the position “n” with what it is in the accumulator and the result is added and stored in the accumulator.
  • R 2n-2: Moves the number of the accumulator “n” to the right.
  • L 2n-2: Moves the number of the accumulator 2n” to the left.
  • E n: Moves the number of the accumulator 2n” to the left.
  • G n: If the number of the accumulator is negative, passes to position “n”; if not it continues running the program in the same order.
  • O n: Prints in the output the character depicted by the most representative 5 bits of the memory position “n”.

And where do I start?

Buying an EDSAC today can be difficult and expensive so it is better to use a simulator.

Lucky us we have an EDSAC simulator we can download. Moreover, there is a complete manual that it will be of great help to start.

The programs are loaded in the simulator like every other text so we do not need any special editor. Besides, it has a control panel, a CTR where we can see the main memory and registers that will be useful.

Control panel available in the simulator.

When we have experience and to do a simple Hello World is easy, we can try to do our own tic tac toe or use the one already done.

A part from tic-tac-toe, in the same page where we downloaded the simulator, within the programs sections there are some programs which will be useful to analyze its code and to understand the functioning of the EDSAC:

  • Hanio towers
  • Conway’s game of life
  • Space Invaders
  • Etch a Sketch
  • Pong

Multimedia

If computers nowadays have an impact in our lives, could you imagine what the EDSAC was like at that time? Here there are some testimonies.

Joyce Wheeler was a researcher in Cambridge University and was one of the first people to use EDSAC.

Does her name sound familiar to you? Yes, she is the wife of David Wheeler

Margaret Marrs, EDSAC operator.

EDSAC Replica

EDSAC Replica project is made with the goal set in building a functional EDSAC replica and execute programs like it was made in 1949.

It will be built and kept in The National Museum of Computing in Bletchley Park which is an iconic place for computing in Britain. In that place, people worked trying to decipher Nazis codes during WW2.

There replica will be open to the public. It is meant to be operative in 2015.