For the past two years the EDSAC Replica project team has been commissioning the machine. Just in time for the winter shut down, while the gallery is re-roofed, we have seen the machine finally leap into life and begin to execute real orders (instructions) fetched from the main store (main memory). The current record is a continuous run of 42 minutes.
The commissioning process has been focussed around integration and testing of two core sub-systems:
main control (the central processor) which controls the order fetch and decode cycle.
The coincidence system which controls access to the store.
The order de-code and re-coding system, which produces control signals for the ALU.
The arithmetic logic unit (ALU)
For main control to do its job all the other parts of the machine have to be working correctly. Clock and digit pulses must be correctly timed and sequenced. The data in the main store delay lines must be recirculating properly, the coincidence unit must correctly signal when an addressed word can be read or written in store and the store address decoding system must select the right tank (delay line). The arithmetic unit has then to perform the function of the retrieved order and return a correct “end pulse” to step main control on to the next order.
Over the months the team has painstakingly connected together all these separate parts of the machine and made them work together reliably. We have had to work hard to align signal timing, shaping and levels between different parts of the machine – with thermionic valve technology each stage of a circuit can introduce significant delay and distortion to a waveform. We have also been beset with problematic flip-flops: in the early EDSAC these were implemented using resettable mono-stables, but these proved to be unreliable in some situations and like the pioneers we have had to replace the most troublesome with a bi-stable design.
Debugging a serial machine presents its own challenges – the total duration of a complete order can amount to 2 milliseconds so it can be difficult to capture a complete cycle on an oscilloscope. And because of the rather scruffy nature of EDSAC signals, it is easy for a logic analyser to misinterpret the digital significance of an EDSAC waveform. In the last few weeks we have treated ourselves to a GW Instek MSO-2204EA dual mode oscilloscope which combines the functions of a multi-channel oscilloscope and logic analyser in one box. With this we can look at signals in both analogue waveform and digital pulse view on the same screen as shown in the image above.
When we can resume work once the gallery re-opens in the New Year the first task will be to check everything works as we left it. Then we plan to add sequence control tank (program counter) incrementing so that we can run short test programs, in turn followed by testing each of the orders in the full order code. In parallel we have the input-output system and initial orders system to complete and commission, along with construction and commissioning of the delay lines for the main store to replace the interim silicon “digital tank emulators” in use presently. Hopes are high that we will have a fully operation machine in the not too distant future.
- Written by Andrew Herbert (Nov 2018)