How Alan Turing wanted to base EDSAC's memory on BOOZE
From liquid memory to solid state - mercury moment was nearly gin dream
Centenary If Alan Turing had been in charge of the EDSAC (Electronic Delay Storage Automatic Calculator) project in the late 1940s, the first computer memory might not have been based on mercury - but on a good gin.
In his Turing Award speech in 1967, Sir Maurice Wilkes, the actual EDSAC project chief, recalled Turing's input on discussions about a cheaper substitute for mercury as an ultrasonic storage medium. Apparently, Turing "advocate[d] the use of gin, which, he said, contained alcohol and water in just the right proportions to give a zero temperature coefficient of propagation velocity at room temperature".
In other words, Turing reckoned that gin had similar properties to mercury when it came to "storing" ultrasonic vibrations - an early solution to the challenge of building a dynamic memory system for a digital computer.
The interesting thing is that gin may well have worked. Andy Herbert, who is leading a project to rebuild EDSAC at The National Museum of Computing, says: “The physics actually stacks up. It does turn out that a dilute alcohol solution would do the job.”
In an age when we have storage devices that hold gigabytes of data in a chip the size of a fingernail, it's hard to imagine computer memory based on what amounts to a couple of yards of scaffolding pipe full of mercury. But that is what EDSAC - widely accepted as the first proper "stored program" computer - used as its memory.
In fact there was not just one delay line, there were several. In a paper describing the EDSAC project, Wilkes notes that the original design used two "batteries" each containing 16 mercury tanks "about five feet long" and "constructed from mild steel tubing".
Mercury delay line memory converts a bit from an electrical to a sound pulse that is transmitted as a sound wave through a tube - called a “tank” - that contains mercury. It is then detected at the other end and transmitted back.
Wilkes and his tubes o' mercury
The delay part is the fact that instructions and data came in strings, and so to be useful had to be re-constructed at one end, and there was an inevitable delay as all the sound pulses were re-assembled.
Data was converted to sound using piezo crystal transducers - peizo transducers are still used today to make noises in toys, watches, clocks, games and other consumer gadgets.
Mercury was used because its acoustic properties matched those of the piezoelectric quartz crystals, because it was judged to have the best minimal energy loss and sound would travel relatively fast - at 1,450 m/s.
Alcohol, as ever, did play its part...
EDSAC held 32 tanks, each five feet long, filled with mercury and capable of keeping 576 bits circulating in the mercury.
The mercury delay line was developed by American engineer John Presper Eckert as a way to reduce "noise" on radar displays.
Although Turing's suggestion that gin would make a viable storage medium was sidelined, alcohol did play an important part in the construction of the mercury tanks that became EDSAC's memory. The crystals used to create and sense the ultrasonic waves in the mercury tanks needed some help to work properly.
Wilkes noted: “In order to avoid difficulties in making the mercury wet the crystals, the tanks are filled with alcohol before the mercury is poured in. The alcohol is displaced but leaves a thin film on the surface of the crystals which provide the acoustic contact with the mercury.”
The delay line worked by firing ultrasonic pulses from crystals at the end of the tank. The pulses could represent data or program instructions and were constantly refreshed. Ever the pragmatist, Wilkes was not too concerned about the elegance of the storage medium - he just wanted something that worked and was reasonably reliable.
Sponsored: Benefits from the lessons learned in HPC