志“存”高远——内存的前世今生(1)

电脑学堂

60年前,冯·诺伊曼(John von Neumann)在著名的“EDVAC报告草案”中提出“计算机应当由计算器、逻辑控制单元、存储器、输入和输出五大部分组成”,该思想成为现代计算机的重要理论基础。冯·诺伊曼的报告促使世界上第一台内置存储器的计算机在20世纪40年代末诞生,到今天,内存已经经历了半个多世纪的发展。作为计算机中直接与处理器进行数据存储和传输的重要设备,内存的发展实际上是整个计算机乃至电子产业发展的缩影。本文就以计算机内存的发展为主线,和大家一起重温这半个多世纪来计算机发展历程中的风风雨雨。

计算机内存的诞生

世界上第一台数字计算机可以追溯到上个世纪30年代末到40年代初,Vincent Atanasoff和他的学生Clifford Berry在美国艾奥瓦州立大学组装出了世界上第一台数字计算机——Atanasoff-Berry计算机。该计算机具备了许多现代计算机的设计思想,包括使用二进制数字、可再生存储器、并行计算以及将计算单元和存储单元分离开来等。Atanasoff-Berry计算机的存储系统使用的是一个大的磁鼓,这也是计算机内存储器的雏形。可惜的是因为第二次世界大战,Atanasoff停止了计算机的研究工作。

9-e11-1-1.jpg
Atanasoff-Berry计算机及它采用的磁鼓存储器

1946年2月,世界上第一台大规模通用数字计算机ENIAC在美国宾夕法尼亚州立大学的摩尔电子工程学院诞生。这个耗资40多万美元,装备了18000多个真空管和超过500英里导线的庞然大物于上个世纪40年代在美国军方的曼哈顿计划中发挥了重要作用,并且在计算机的发展中名垂青史。但是这个只有20个十进制累加器,没有内置的存储器来保存程序的机器却只能够通过原始的手工改变导线连接状态来进行编程。这个状况一直到被称为“现代计算机之父”的冯·诺伊曼被邀请到摩尔电子工程学院并参与到ENIAC的研发工作后才得以改观。

1945年6月,计算机理论经历了有史以来最为重要的革命,冯·诺伊曼的“EDVAC报告草案”指出了组成计算机的五大部分,并阐述了这五大部分的相互关系。此外,冯·诺伊曼还首次提出了“程序内存”的思想,即把操作程序保存在计算机的内存储器中,程序员只需指导机器去存储器中寻找这些操作指令,机器就会自行计算,这样,就不必每个问题都重新编程,从而大大加快了运算进程。这一思想成为后来计算机系统发展的基石。

9-e11-1-3.jpg
EDVAC数字计算机

早期内存制造技术的革命

制造技术的发展也带动了内存储器的发展,在20世纪40年代后期,Whirlwind计算机计划的领导者王安博士(也是后来王安公司的创始人)和Jay Forrester在麻省理工学院研发出了具备更小体积和更好稳定性的磁芯内存(Magnetic core memory)。这种磁芯内存属于静态随机存取内存SRAM( static random access memory),在发布的初期制造成本相当高,不过在20世纪50年代与60年代之间,这项技术被大量采用,成本也越来越低廉。

另一种在早期计算机中被广泛使用的存储技术是阴极射线管CRT技术(Cathode-Ray Tube),它使用电子束到达荧光屏时产生的光斑来记录数据。CRT属于动态随机存储器,需要周期性地进行刷新来保存数据。一个典型的CRT存储器能存储128个字节,早期的计算机中通常会装备总共能存储4千个字节的CRT存储器,CRT技术后来被应用在制造计算机的显示器上。

9-e11-1-4.jpg
磁芯内存

1948年美国阿伯丁试验场的研究人员为ENIAC安装了一个100字长的静态磁芯内存。而随后研发的EDVAC则是世界上第一台二进制内存式计算机。EDVAC采用水银延迟线存储器作为内存,装备了1024个44位的水银延迟线来进行程序和数据的存储。

此后一系列的基于冯·诺伊曼理论的“程序内存计算机”被研发出来,其中英国剑桥大学数学实验室研制的延迟存储电子自动计算机EDSAC(Electronic Delay Storage Automatic Computer)采用41字长的水银延迟线存储器作为内存,而由英国曼彻斯特大学开发的Ferranti Mark I计算机则装备了8页(Page)CRT主随机存储器,每页能够存储64行×20列=1280位的信息。

9-e11-1-5.jpg
EDVAC内存式计算机

集成电路时代的开端

上个世纪半导体领域最重要的一次革命发生在1959年1月,被称为“集成电路之父”的美国德州仪器公司的Kilby(基尔比)和Intel公司的创始人Robert Noyce(罗伯特·诺伊斯)发明了集成电路,这标志着计算机开始进入集成电路时代。

世界上第一台装备集成电路内存的巨型计算机ILLIAC Ⅳ的研制开始于1948年,集成电路发明后,美国伊利诺伊大学的ILLIAC Ⅳ研究小组就把集成电路应用到了ILLIAC Ⅳ的研发中。该系统总共耗资3000万美元,由于耗资过大,该系统后来被改装供美国国家航空航天局使用,并于1973年正式投入运行。虽然ILLIAC Ⅳ耗资巨大,并且结构复杂,但是却对计算机的发展产生了深远的影响,一直到1981年,ILLIAC Ⅳ都是世界上速度最快的计算机。

尽管集成电路在20世纪50年代末就被发明了,但是真正内存储器领域的革命却发生在20世纪60年代末到70年代初。

早期的内存都是静态随机存储器,数据能够保存在内存中一直到断电。1966年,Robert H. Dennard博士在IBM公司的Thomas J. Watson研究中心制造出了世界上第一块单晶体管动态随机存储器DRAM。与传统的静态存储器SRAM不同,动态存储器实际上是牺牲速度来降低硬件成本,动态随机存储器需要随时刷新以保证数据不会丢失。IBM公司和Robert H. Dennard博士在1968年共同获得了DRAM的专利。

20世纪60年代末,William Regitz发明了只需3个晶体管的动态存储芯片,并开始寻找愿意投资的公司。这项创新技术被当时刚刚成立的Intel公司看中,Intel很快指派了一流的电路设计师开始1102内存的设计工作。诸多著名的工程师都参与到1102的研发中,包括世界上第一块微处理器4004的发明者Ted Hoff。Intel从1102的研发中获得了诸多的宝贵经验,这为开发后来获得巨大成功的1103奠定了基础。

Intel在1970年发布了世界上第一块动态随机存储器1103。1103的容量为1Kb,采用P沟道金属氧化物半导体工艺(PMOS)制造,并使用18针脚的双列直插式封装。1103在市场上引起了巨大的反响,并很快被装备到包括惠普HP 9800系列在内的诸多计算机上。到了1972年,1103成为世界上销量最大的半导体内存芯片。

9-e11-1-7.jpg
1103动态随机存储器

1103的上市为内存的发展翻开了新的篇章,此后,半导体内存芯片逐步取代包括磁芯内存在内的早期存储器。从此,包括Intel在内的半导体制造商纷纷将注意力集中到研发基于金属氧化物半导体工艺MOS的随机存储器上,这使得内存的容量越来越大,制造技术也逐步得到完善。

9-e11-1-6.jpg
ILLAC IV巨型计算机