Placeholder Image

Subtitles section Play video

  • We have here an emulator for the Cambridge EDSAC. It is a lot more

  • user-friendly on this screen than it would have been initially when, remember,

  • you are dealing with five hole paper tape. That's what your program went in on

  • Your answers came back out on five-hole paper tape, which it was your job to put

  • through a teleprinter machine, which chattered away, read your tape, and

  • printed out the answers. Fortunately we have the printed out answers shown in

  • front of us. Here is the standard display of this emulator, so handily written by

  • our friend Martin Campbell-Kelly from the University of Warwick. You can

  • download this for yourself, it's free to use, and just play with it to your

  • heart's content. And it's very nice to have the

  • opportunity to play with a really genuine early first-generation computer.

  • >> Sean: We've been talking about John von Neumann or Johnny von Neumann >> DFB: Call me Johnny!

  • >> Sean: Call me Johnny. Yeah! So EDSAC's being built in Cambridge? But how does it end up getting

  • connected to von Neumann? Is that what we're going? >> DFB: Yes, that's right. It's

  • the other way around of course - that the person who built EDSAC, Maurice

  • Wilkes, exact contemporary of Alan Turing. Both got first-class degrees in

  • mathematics. He was the one, Maurice Wilkes, who went to

  • John Von Neumann's Summer School, in 1946, at the University of Pennsylvania, [in] the

  • Moore School of Engineering. Poor old Maurice had such difficulties with

  • raising the money, with getting his passport straight and all sorts of other

  • issues, that he actually arrived four weeks late, for a six-week course! One has

  • to remember, of course, in those days, it was not straightforward. You were talking

  • about ships, you know, going via Iceland, and heaven knows where, and train

  • journeys to finish off, down to Pennsylvania. But anyway, I think he must

  • have had - what was the technology? - Roneo'd or Cyclostyled notes - when he got

  • there. He got copies of the notes and was able to follow exactly what was going on,

  • learned about the proposed von Neumann architecture, knew

  • that there was going to be this thing called EDVAC - being built in Pennsylvania

  • and he and all the other participants were more or less I think, invited to go off, do your

  • own thing, support the cause of general purpose,

  • binary-based, digital computers; all electronic, not electromechanical - for the

  • inner electronics. And, in fact, it's worth saying something about this whole

  • business about "What did it cost you to be all electronic in those days"? I would

  • remind you that Tommy Flowers' decision, with Max Newman, to build Colossus out of

  • thermionic valves - that's vacuum tubes for those of you still in North America ! -

  • it did cost you. Yes, you could switch them on and switch them off. You could use them as

  • logic elements. But boy did they consume electricity! And then, of course, you

  • have to have air conditioning to get rid of the heat that they'd produced!

  • All the time what held things up was you wanted to use them as switching

  • elements, but you really paid the price in terms of power consumption. So Tommy

  • Flowers and his special purpose Colossus machine - six kilowatts. EDSAC, now being

  • rebuilt in Cambridge (correction: at Bletchley Park) The EDSAC rebuild should go live this coming summer, 2018.

  • Watch out for that. A good time to visit the National Museum of Computing which

  • is co-located on the Bletchley Park site. Power consumption of EDSAC? 11 kilowatts.

  • For comparison: power consumption of ENIAC the gunnery-trajectory

  • special-purpose computer 1946, University of Pennsylvania, USA. I bet you can't

  • remember the number, Sean! It's horrifying! >> Sean: 20? >> DFB: 150 kilowatts! All of that using

  • thermionic valves for the logic elements inside your computer yes that could

  • certainly be done. The big problem was memory.

  • There was really no obvious technology for memory. You get round it on the

  • Colossus machine by saying well your data, which you want to remember, just

  • cycles around on a continuous loop [of paper tape] The program - well that's easy, that's not

  • on tape because that is such a special purpose machine you key in the

  • program on switches - uniselectors - so your memory there (for your data) was

  • paper tape. But if you didn't want paper tape whizzing round at 30 miles an hour

  • what other options were available to you? And the answer is - not many. And as we'll

  • find out, on EDSAC, with Maurice Wilkes coming out of a radar background, he knew

  • that in the early days of radar, when pulses came along - and these are

  • interesting pulses could it be an approaching German bomber - you wanted to

  • not only get hold of the pulse but to hang on to it, and remember it, so you

  • could analyze its shape and so on And the way they did that is the most

  • amazing technology. It's called mercury delay lines. The bleep pulse that you get

  • was put, basically, through a little loudspeaker so it went "bleep". But instead

  • of transmitting through air, so you could hear it, it was transmitted down a column

  • of mercury. Why? Because sound travels a lot slower in mercury than it does in

  • air and at the other end there was a microphone, at the other end of your tube,

  • which heard the bleep and displayed it on an oscilloscope screen for you. But

  • then recycled it - took it back to the start of the mercury tube and sent it

  • down again so you had a continuously circulating system that showed you what

  • your pulses were and the idea was to use that same technology to represent the

  • 0s and 1s in computer memory, which they did. It was not very satisfactory, in

  • so many ways, but you just had to do your best.

  • >> Sean: Presumably it deteriorate didn't it, this sound ... ? >> DFB: No, because when you

  • detected it, at the other end, you amplified it before you fed it back

  • again. So you could keep the purity of the pulse going for as long as you

  • wanted to. That was the idea. So, the story continues. Maurice Wilkes came back to

  • England and in a testament, really, to Cambridge's being fairly well-heeled

  • and to their faith in Maurice and to their need to be at the forefront of all

  • this stuff, they - by "they" I mean the University and the Mathematics

  • Department at Cambridge - agreed to bankroll Maurice to build one of these

  • new-fangled machines provided that when it was completed it could offer a

  • service to the University. This is very different to what happened in most of

  • the universities, where electronics engineers were just allowed to build

  • systems where you [the engineers] just played with them, and didn't really offer a computing

  • service to the community at all. They were just pure research machines. Maurice found

  • himself a very good hardware engineer called Bill Renwick

  • who was just excellent. You had to have this. You had to have a real devoted

  • electronics engineer, who knew what they were doing, to get all of this working.

  • When you look at it you've got this box - it's hardware, you've got to get it

  • working. You've got to get instructions in it; you've got to make it work but you

  • need a software person. And you need the world's first ever system-software

  • person - and they'd better be good! Somehow these people seem to come along, as and

  • when they're needed, I can never understand quite why. And the answer at

  • Cambridge was a really talented person - who I did know but rather slightly -

  • called David - David Wheeler. We can now say that as part of the celebrations

  • this summer, when the EDSAC rebuild is switched on and works perfectly(!) ... To go

  • along with that a very good friend of ours on Computerphile, Professor Martin

  • Campbell-Kelly, developed an emulation of EDSAC and how it works. So, rather than

  • talking in abstract about EDSAC let's get stuck in and run some programs on

  • EDSAC and see what you're up against with a very genuine first-generation

  • machine where you will program in the crudest

  • and most brain damaging form of assembler you can imagine. And you've got

  • to get it right. It is not easy to debug EDSAC programs. It can be done but you

  • know it's hardcore stuff. You want to be a pioneer? This is what you get! I think

  • what I'll do is first of all, just for fun,

  • let's run some programs and get the feeling for how nice it is to mess about, even on

  • a very early machine like that. For those of you interested afterwards what is of

  • great computer science technical interest is: how on earth do you boot

  • this thing up so it can read in your program? In other words it's not got a

  • BIOS - it's far too early for that. But what was the equivalent of the BIOS? What

  • was it that got you started? That you had to have there even to be able to

  • read in a paper tape - well that's called Initial Orders - we'll do those later.

  • For the moment we'll just accept that Initial Orders version 2 is the one that

  • is relevant here. And I've used Initial Orders to load in a program that was

  • written by an early pioneer called Sandy Douglas. Here's his name A. S. Douglas

  • If I load in that program now by "Start". Here and this really is EDSAC but this

  • was an oscilloscope screen. This is the so called `display' of the Long Tank, with

  • a long tank of mercury which held roughly a kiloword - 1024 18-bit memory

  • words were held in mercury. So it's like 1K words, a few Kbytes, that was

  • your limit. OK, so once you got used to reading these oscilloscope screens - and

  • remember this oscilloscope screen is not the memory itself it's `peeping' at the

  • memory by having a little monitor, as it were, checking the pulses in the mercury

  • tank and displaying them on the oscilloscope. And remember and give

  • thanks for the fact that this LOADING PLEASE WAIT

  • "EDSAC / User first Dial 0/1", now comes back at you, courtesy of Martin [Campbell-Kelly] in a clearly

  • visible screen. In the good old days it would probably have come back to you on

  • paper tape, or something, and you would have to go and print it off to get your

  • results. But this is pretty well interactive. On this dial here, on the

  • console, do we want EDSAC to go first or User to go first? Well, the game

  • we're playing here is one known in the US and elsewhere as tic-tac-toe,

  • known in the UK as noughts and crosses. But simple. I think everybody knows the

  • rules and I think everybody pretty well knows that if you play optimally it's

  • always a draw. >> Sean: I have a feeling there's a Numberphile [video] on it somewhere ...

  • >> DFB: There must be a Numberphile on it somewhere Yes, you can always force a draw so should we

  • do ... first of all we'll take the lead and force a draw? So EDSAC or User first?

  • Well, we'll say User first so I dial 1. Now, let's what see what happens.

  • Oh! look at that! The cathode-ray tube display has been altered by the

  • program to actually show the grid that we're going to play tic-tac-toe on. And

  • because it's me, the User first, it's now saying, to me, `dial my move'. Now, here's

  • the key at the top [of the display]. Look, 9 8 7 6 5 4 3 2 1. Those are

  • the areas on the tic-tac-toe board and, as we all know I think, optimal strategy

  • is to grab the centre one first of all, yeah, and then EDSAC's responded by putting

  • a 0 in at the top left. I'm going to respond by - knowing it's a number - to

  • dial in 7. Now I should ... you think that's a slow response? Was EDSAC really

  • that slow? Hmm! that is six times faster than EDSAC was. I've calibrated it. This

  • emulator on this machine seems terribly slow but it's running six times faster

  • than EDSAC did. Right at the very end I may allow myself, if you want to be

  • shocked and horrified, to click the thing, up here, that says "Real Time". That will

  • slow it down so that it really is as slow as EDSAC was ... >> Sean: Why don't we do that now?

  • >> DFB: Let's do that now ... >> Sean: After you make your move let's see how slowly there

  • Would there have been one of those dials .... that looks like an old telephone dial?

  • >> DFB: It is an old telephone dial. And I think that was there for diagnostic purposes on the actual EDSAC, yes.

  • We're trying to win this aren't we ?

  • 9 8 7 6 isn't it? I put an X in there Otherwise the wretched machine's gonna win.

  • Was that slower? >> Sean: Oh yes! >> DFB: I think it was, But look it's blocked me there. It's doing

  • the right thing. So I put in an X at 8. There we go.

  • >> Sean: It's definitely slower. >> DFB: Definitely slower, And good old Sandy's program has already

  • told me, it's a drawn game. So let's load up from the library .. ah!

  • Conway! OK, well I think we all know about Conway's game of "Life"? There are

  • these sets of dots and there are various rules about a dot in the middle either

  • been overcrowded - with too many dots around it - or getting all lonely and out

  • on a limb, and dying off. But in the middle, if it's just got the right number

  • of friends then they breed and they spawn off more things. It was a very popular

  • invention by John Conway in ... was it the 70s or the 80s ? ... somewhere around there.

  • And everybody was playing Life using pencil and paper methods, or using

  • computers latterly of course. Now this [program] was not written actually at the time of EDSAC's

  • unveiling in 49 - because `Life' hadn't been invented (!) But somebody, later on, with this

  • simulator in in mind, and in view, has actually written Conway's `Life' to

  • display here for us. So let us load this thing in. It's by Ian Gillman, written in 1998,

  • and the rule is on this emulator, for those of you that download it, the program

  • you are displaying is the one that will get loaded, and run, when you press `Start'.

  • So just keep your program windows in the correct order, one on top of another, and

  • the one at the top is the one that will load. So, we'll load it up with Start

  • Takes quite a while to load things. It's quite a complicated program. Ah! now, it's

  • started calculating now. This is the initial configuration; it warns you here

  • [that] each generation takes about five EDSAC minutes. Now I have not put it onto real

  • EDSAC slow time. I've put it on to six times faster simulator time. Again, all

  • according to Conway's rules it will ... Look! It's gone! It's changed; new generation.

  • So, I think my rule is about right. It is roughly 5 to 6 times faster here,

  • because it's taking around about a minute.

  • I just daren't put it onto real time EDSAC >> Sean: We'd run out of tape >> DFB: We'd run out of tape!

  • But anyway so >> Sean: I can see a clock on the right that looks like it's going

  • a bit fast is that .... >> DFB: I think that's trying to show you genuine EDSAC time. So, if on

  • this simulator it's 5 or 6 times faster than real EDSAC would be it's

  • therefore making the clock go six times faster, I think, to show you how

  • many elapsed minutes it would have taken on EDSAC >> Sean: Down at the bottom there I can see

  • a lot of flickering and flashing that's all the calculation? >> DFB: That's all the

  • calculation. This is showing you - see, look - you've got a multiplier register in your

  • CPU, you've got the thing you're multiplying by; you've got the answer

  • which comes out in the accumulator. Even modern chips have an accumulator for

  • your current arithmetical answer. Right? The SVT here is showing you the address

  • of the current instruction and the actual bit pattern for the current

  • instruction, that has been decoded and executed, is shown in the so-called order

  • tank. So, that's the instruction register; that's the pointer telling you where

  • from memory you've taken that instruction and it's a pretty minimal

  • CPU. The thing we notice here is there are virtually no general-purpose

  • registers, which is what you're given in a modern CPU. So I think that's a pretty

  • good one actually to illustrate with. We can stop it off now. So I hope this has

  • convinced a fair number of you - particularly those of you very keen on

  • history of computing and low-level programming in general - that it's a

  • testament really to the very spartan architecture of EDSAC - you know, cut

  • everything down to the bare minimum; get it working; it's got to give a service.

  • And that means that it has stood the test of time. It's worth rebuilding. People could

  • finally ease relatively easy to do a good emulator for it and that in a sense

  • has made it worthwhile to rebuild at Bletchley Park. So you can be part of

  • this. Get hold of Martin's emulator. Enjoy yourself.

  • Write ultra-low level programs for EDSAC. Oh! and remember when you're

  • doing it that the actual pseudo-tape you type up in the end

  • although on these program listings you're allowed to put comments on -

  • because you're a weak human who needs to remind yourself of why you're doing that -

  • when you actually key in the tape itself that backs this up there must be no

  • comments, no extraneous characters, only white-space is permitted. So there you are,

  • anyway enjoy yourselves. And the next video is basically saying how on earth

  • do we get this thing to boot ?!

We have here an emulator for the Cambridge EDSAC. It is a lot more

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it