Delay-line memory

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 87.236.11.2 (talk) at 18:28, 8 February 2007. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Mercury memory of UNIVAC I (1951)

Delay line memory was a form of computer memory used on some of the earliest digital computers, such as the EDSAC and UNIVAC I.

The basic concept of the delay line originated with World War II radar research, specifically to reduce clutter from reflections from the ground and other "fixed" objects. Radar of the era used repeated pulses of radio energy, the reflections being received and amplified for display. To remove fixed objects from the display the return signal was split in two, with one signal sent directly to the display while a second was delayed. By merging the latest pulse being sent directly to the display with the "last pulse" now emerging from the delay and electrically inverted, any common signal could be removed leaving only the moving objects.

Prior to their use as digital memories, the first such delay line systems consisted of a column of mercury with piezo crystal transducers (a combination of speaker and microphone) at either end. Signals from the radar amplifier were sent to the piezo at one end of the tube, which would pulse and generate a small wave in the mercury. The wave would quickly travel to the far end of the tube, where it would be read back out by the other piezo, inverted, and sent to the display. Careful mechanical arrangement was needed to ensure the delay time matched the inter-pulse timing of the particular radar being used.

Invented by J. Presper Eckert for the EDVAC and used in the UNIVAC I, the mercury delay line memory added recycling circuitry at the receiving end of a mercury delay line to send the output back into the input. In this way the pattern of pulses sent into the system could be kept circulating as long as the power was applied.

For a computer application the timing was still critical, but for a different reason. All conventional computers have a natural "cycle time" needed to complete an operation, the start and end of which typically consist of reading or writing memory. Thus the delay lines had to be timed such that the pulses would arrive at the receiver just as the computer was ready to read it. Typically many pulses would be "in flight" through the delay, and the computer would count the pulses by comparing to a master clock to find the particular bit it was looking for.

Mercury was used because the acoustic impedance of mercury is almost exactly the same as that of the piezoelectric quartz crystals; this minimized the energy loss and the echoes when the signal was transmitted from crystal to medium and back again. The high speed of sound in mercury (1450 m/s) meant that the time needed to wait for a pulse to arrive at the receiving end was less than it would have been with a slower medium, such as air, but it also meant that the total number of pulses that could be stored in any reasonably sized column of mercury was limited. Other technical drawbacks of mercury included its weight, its cost, and its toxicity. Moreover, to get the acoustic impedances to match as closely as possible, the mercury had to be kept at a temperature of 40 degrees Celsius, which made servicing the tubes hot and uncomfortable work.

A considerable amount of engineering was needed to maintain a "clean" signal inside the tube. Large transducers were used to generate a very tight "beam" of sound that would not touch the walls of the tube, and care had to be taken to eliminate reflections off the far end of the tubes. The tightness of the beam then required considerable tuning to make sure the two piezos were pointed directly at each other. Since the speed of sound changes with temperature (because of the change in density with temperature) the tubes were heated in large ovens to keep them at a precise temperature. Other systems instead adjusted the computer clock rate according to the ambient temperature, to achieve the same effect.

EDSAC, the first practical stored-program digital computer, began operation with 512 35-bit words of memory, stored in 32 delay lines holding 576 bits each (a 36th bit was added to every word as a start/stop indicator). In the UNIVAC I this was reduced somewhat, each column stored 120 bits (although the term "bit" was not in popular use at the time), requiring seven large memory units with 18 columns each to make up a 1000-word store. Combined with their support circuitry and amplifiers, the memory subsystem formed its own walk-in room. The average access time was about 222 microseconds, which was considerably faster than the mechanical systems used on earlier computers.

A later version of the delay line used metal wires as the storage medium. Transducers were built by applying the magnetostrictive effect; small pieces of a magnetostrictive material, typically nickel, were attached to either side of the end of the wire, inside an electromagnet. When bits from the computer entered the magnets the nickel would contract or expand (based on the polarity) and twist the end of the wire. The resulting torsional wave would then move down the wire just as the sound wave did down the mercury column.

Unlike the compressive wave, however, the torsional wave was considerably more resistant to problems caused by mechanical imperfections, so much so that the wires could be wound into a loose coil and pinned to a board. Due to their ability to be coiled, the wire-based systems could be built as "long" as needed, and tended to hold considerably more data per unit; 1k units were typical on a board only 1 foot square. Of course this also meant that the time needed to find a particular bit was somewhat longer as it travelled through the wire, and access times on the order of 500 microseconds were typical.

Delay line memory was far less expensive and far more reliable per bit than flip-flops made from tubes, and yet far faster than a latching relay. It was used right into the late 1960s, notably on British commercial machines like the LEO I and various Ferranti machines, and in the Olivetti Programma 101 desktop programmable calculator introduced in 1965.

External links