万物伊始,混沌初开,用什么作为主存储器、什么作为辅助存储器,都是摆在工程师面前的必须要解决的难题,因为当时没有任何现成的器件可以直接拿来使用。当时,除了真空管还是真空管,所以存储器也是用真空管来实现的(图2)。以真空管是否导通代表 “1” 或 “0” ,也就是说代表一位的数据。十个真空管可串接成一环形电路,假设该十个真空管中仅第五真空管导通,则表示其储存的数值为 5。但问题是,真空管自身无法完成数据的存储功能,因为真空管自身没有记忆功能,输入端的信号撤出后,真空管的通、断状态将会改变。

Figure 2 Vacuum tube
为了寻找更好的存储器,人们费尽了心血,几乎所有能利用的物理现象,电、光、声、磁都被探索过来。研制ENIAC的工程师莫齐利(John W. Mauchly)想到了水银延迟线(Mercury Delay Line)——二战期间为军用雷达开发的一种存储装置--作为内存。
将一块石头掷入水中,形成波浪,波头经过一段时间才能传播到远方某处,水银延迟线的工作原理就是这样。1951年3月,由ENIAC的主要设计者莫齐利和埃克特设计的第一台通用自动计算机UNIVAC-1使用了水银延迟线存储装置。UNIVAC-1使用的水银延迟线是一根直径10mm、长150cm的管子,内部充满水银,两端各有一个转换器分别进行电-声转换和声-电转换,这样,脉冲信号从管子的一端进入,转换成超声波,960ms后超声波到达管子的另一端,然后再转换成电信号输出,如图3。

Figure 3 mercury delay line

Figure 4 Diagram of mercury delay line memory
不过,要实现存储功能,还需要一些额外的电路,如图4。经调制的脉冲信号从管子的一端进入,960ms后从管子的另一端输出,由变换器接收后,经检测、放大、整形和再生,重新反馈到发送端。一个延迟线电路称作一个通道(channel),每个通道可存储10个91位的字,差不多1000个脉冲,UNIVAC系统中共有100个这样的通道。为了让存储系统稳定工作,水银的温度需要保持在40℃左右,因此要将水银管置于一个类似混凝土搅拌机的容器中(如图5),容器中设置有加热器用来加热水银管。

Figure 5 Mercury Delay Line Memory Tank used for UNIVAC-I