20世纪40至50年代,在美国诞生了首批具有编程功能的大型计算设备。这些体积庞大的机器虽然与个人电脑相去甚远,却为后续发展奠定了基础。
1944年,由男女工程师组成的团队完成了Mark I。这台机器不仅用于弹道计算,还参与了原子弹内爆范围的测算。
Mark I体型惊人:近50英尺(约15米)长、重达5吨、包含75万个零部件。房间后部的三个穿孔纸带读取器(punched tape readers)负责数据输入与输出。照片中身着海军制服的艾肯正在检查其中一条纸带。
Mark I SEPIA TIMES/GETTY IMAGES
ENIAC(1945年)
1943年,美国陆军资助了由宾夕法尼亚大学(University of Pennsylvania)工程师约翰·莫奇利(John Mauchly)和小约翰·普雷斯珀·埃克特(John Presper Eckert, Jr.)主导的计算机项目,目标是打造比机械结构的Mark I更快、更可靠的电子计算机。
ENIAC(电子数值积分计算机,Electronic Numerical Integrator and Computer)占地50×30英尺(约15×9米)的整间屋子,配有40块超过6英尺(约1.8米)高的面板,内部装有1.7万支真空管(vacuum tubes),其电路控制速度远超Mark I的机械开关。
通过三块功能面板进行编程后,ENIAC每秒可完成5,000次加法运算(Mark I仅能完成不到4次)。1946年2月,这台被称为"世界首台电子计算机"的设备正式亮相,军方用它验证了氢弹设计的可行性。
EDVAC(1949年)
二战结束后,英国科学家艾伦·图灵(Alan Turing)提出的"通用计算机"构想引发广泛关注。1946年,美国理论学家约翰·冯·诺依曼(John von Neumann)发表开创性论文,指出未来计算机应将程序与数据存储在同一内存中,而非依赖外置电路板。
同年,ENIAC的发明者莫奇利和埃克特开始建造EDVAC(电子离散变量自动计算机,Electronic Discrete Variable Automatic Computer)。
1949年问世的EDVAC是继剑桥大学(University of Cambridge)三个月前完成的EDSAC(电子延迟存储自动计算器,Electronic Delay Storage Automatic Calculator)之后,第二台采用"冯·诺依曼架构"的计算机。
EDVAC引入汞延迟线(mercury delay line)存储技术(晶体管前身),大幅减少易熔真空管的使用。这台占地490平方英尺(约45.5平方米)的机器成为计算技术的重要突破。
UNIVAC(1951年)
尽管EDVAC主要用于军事弹道计算,但其设计者始终致力于开发民用计算机。1946年,埃克特和莫奇利获得美国人口普查局(U.S. Census Bureau)合同,计划制造替代19世纪末穿孔卡(punch cards)统计设备的计算机。
虽然他们的公司因财务危机被打字机制造商雷明顿(Remington)收购,但最终在1951年推出了UNIVAC(通用自动计算机,Universal Automatic Computer)。UNIVAC同样使用汞延迟线存储器,将真空管数量降至5,000支。
尽管体积缩小,其每秒仍可读取7,200个十进制数字。下方照片展示了通过键盘和控制台输入数据的过程,运算结果首次改用磁带(magnetic tape)而非穿孔卡记录——这项创新让普查官员花了不少时间适应。最终数据会打印在连续输出的计算机纸上。
IBM 650(1954年)
计算机的发展直接威胁了靠生产穿孔卡设备发家的IBM公司。作为回应,IBM工程师在1954年推出首款成功的商用计算机IBM650。
相比售价百万美元的UNIVAC,这款售价50万美元的机器在八年内售出1,800台。不过它与现代电脑仍有巨大差距:使用磁鼓存储器(magnetic drum)而非硬盘(IBM在1956年才推出硬盘);依赖真空管而非晶体管(竞争对手贝尔实验室Bell Labs在1954年实现全晶体管化,IBM直到1959年才跟进);程序仍需通过传统制表机(tabulating machines)插入穿孔卡运行。
计算机科学家高德纳(Donald Knuth)指出IBM推动了高校计算机教育:"1950年代IBM捐赠了约100台'免费'计算机,条件是必须开设编程课程。"