Retrotechtacular: Here’s How They Programmed the EDSAC Computer

When you write a program for your computer, whether it is a desktop machine, a microcontroller, or a supercomputer, the chances are that you use software tools to help you get the job done. High level languages, compilers, linkers, assemblers, debuggers, and code libraries have become so integrated that in many cases you will barely be aware of their existence. To all intents and purposes this huge toolchain will be the computer. But the first computer programmers had none of these luxuries. They had to hand assemble their own binaries, check them by hand, and debug them by guessing what had happened when they failed.

EDSAC I, 1948, W.Renwick with 5 hole tape reader and Creed teleprinter. Copyright Computer Laboratory, University of Cambridge. Reproduced by permission. [CC BY 2.0 UK]
EDSAC I, 1948, W.Renwick with 5 hole tape reader and Creed teleprinter. Copyright Computer Laboratory, University of Cambridge. Reproduced by permission. [CC BY 2.0 UK]
EDSAC (Electronic delay storage automatic calculator) was the first computer operated by the University of Cambridge in the UK and one of the first few computers in the entire world when it was built in the late 1940s. It is the subject of the 1951 film you’ll find embedded below. Originally produced for a conference, the video sports a 1976 introduction and narration from the machine’s creator Professor Maurice Wilkes. It doesn’t take us through the design of the machine itself, instead it concentrates on the workflow required to program it.

The Paper-Heavy Process of Programming EDSAC

To illustrate the programming process, a committee of people who would now call themselves computer scientists, but probably then called themselves mathematicians, breaking a formula into subroutines before the code is laboriously hand assembled. The linking process is performed manually too by the secretary who types the code into a teletype for transfer to a punched tape. When a library function is required she reaches into a filing cabinet for the roll of tape containing it before running it through a tape duplicator to add it to the program. Finally the completed tape is checked and added to a job queue that consists of a row of hooks on the wall. Never complain that your toolchain is unwieldy again!

The original EDSAC was decommissioned in the late 1950s after serving the university and spawning a commercial version, the LEO, which became the first ever computer manufactured for use in commerce. That was not the end of the EDSAC story though, because in this century a team at the National Museum of Computing at Bletchley Park set about recreating EDSAC as an exhibit. And as luck would have it a member of that team was at the recent Electromagnetic Field hacker camp to give a talk about their work which you will also find below.

Building a Faithful Reproduction of EDSAC

Tony Abbey gives us both a history of the machine and a description of its architecture, followed by a run through their efforts in rebuilding it. You may be surprised by some of the unexpected facts from the talk. For instance, while all the tubes used in the EDSAC are still available, their bases are not. Equivalents were sourced from China, but team members had to modify them with dental drills.

They also needed to manufact the 1940s-style tube chassis, and the solution to that problem happened to be just down the road. Bletchley is part of modern-day Milton Keynes, a post-war new town that is also home to another famous name: Marshall amplifiers. Tube amps are built in a surprisingly similar way, so they took on the manufactured challenge. Not all the parts of the new EDSAC are original though. The memory used mercury delay lines in 1949, but for 2018 recreation the computer has a delay line using nickel wire and modern components. Tony admits that even that has caused problems, and there is a simulator using a microcontroller.

You can see the restored EDSAC at the National Museum of Computing. We visited it in 2016, and you can read our review. Meanwhile if you are an FPGA wizard, you can even have a virtual EDSAC of your own.

Continue reading “Retrotechtacular: Here’s How They Programmed the EDSAC Computer”

Learn FPGA Programming from the 1940s

We often think that not enough people are building things with FPGAs. We also love the retrotechtacular posts on old computer hardware. So it was hard to pass up [karlwoodward’s] post about the Chip Hack EDSAC Challenge — part of the 2017 Wuthering Bytes festival.

You might recognize EDSAC as what was arguably the first operational computer if you define a computer as what we think of today as a computer. [Maurice Wilkes] and his team invented a lot of things we take for granted today including subroutines (Wheeler jumps named after a graduate student).

The point to the EDSAC challenge was to expose people to creating designs with FPGAs, particularly using the Verilog hardware description language (HDL). If you want to follow along or run your own Chip Hack, the materials are available on the Web. You can see an FPGA driving a tape punch to create souvenir tapes in the video, below.

Some of the exercises are pretty simple and that’s perfect if you are starting out. The challenge uses a board with a Lattice ice40 FPGA and the open source toolchain for Lattice we’ve covered before. In fact, we’ve even done our own tutorials on the same basic device (but not the same board). Our final project generated PWM, not paper tape.

For the record, EDSAC was awesome. The execution unit was serial and processed bits that marched in one at a time over a mercury delay line. There is quite a bit of documentation and even some simulators, so if you ever wanted to get your hands into an old computer, this one isn’t a bad one to try.

Continue reading “Learn FPGA Programming from the 1940s”