赫曼·霍列瑞斯 发明了世界上第一台大规模数据处理装置,并于1890 年成功应用于美国人口普查。他是数据处理行业的鼻祖。(资料来源:IBM 档案)
电力驱动正在为电子驱动让路。当其他人将蒸汽驱动的巴贝奇式机器换成电气继电器时,爱荷华州立大学的数学和物理学教授约翰·阿塔纳索夫看到了将电气继电器换成电子元件的可能性。在美国参加第二次世界大战前不久,阿塔纳索夫在克利福德·贝里的帮助下设计出了ABC。ABC 是阿塔纳索夫- 贝里计算机(Atanasoff-BerryComputer)的首字母缩写,这台设备的开关装置采用的不是继电器,而是真空管。
这个开关装置的更新换代是一次技术性飞跃。理论上说,以真空管为开关元件的机器运算起来比继电器机器更快速、更高效。但ABC 和巴贝奇分析机一样,也未能问世,这也许是因为阿塔纳索夫所筹集的经费还不到7000 美元,远不足以建造这台机器。不过,阿塔纳索夫和贝里确实组装出了一台简单的样机。他们用大量的电线和真空管拼出了一台粗糙的台式计算器。通过将真空管作为开关元件这一举措,阿塔纳索夫大大推动了计算机技术的发展。相较于继电器开关,真空管的高效使得计算机的面世成为现实。
霍列瑞斯人口普查计算机器 为美国1890 年的人口普查节省了一个数量级的时间。(资料来源:IBM 档案)
托马斯·沃森 1914 年加入霍列瑞斯领先的数据处理公司,后将公司改名为IBM。
(资料来源:IBM 档案)
真空管是抽掉了空气的一种玻璃管。托马斯·爱迪生发现,电子在某些条件下能在真空中流动,而李·德·福里斯特利用“爱迪生效应”最终将真空管制成了电子开关。20 世纪50 年代,真空管被广泛应用到电视机、计算机等电子设备中。现如今我们仍可以看到应用显像管的计算机显示器或电视机屏幕。
到20 世纪30 年代,计算机的诞生已经是顺理成章。计算机似乎也注定是价格昂贵的大块头专用设备。体积大、价格高的问题几十年后才得以解决,但打破单一用途这一点在当时就已提上日程。
真空管 20 世纪50 年代,计算机中到处都是真空管,如图中这台IBM 701 处理器。(资料来源:IBM 档案)
英国数学家阿兰·图灵曾设想过这样一台机器,这台机器的目的只有一个,即读取某一可描述任务的编码指令,并根据指令自行完成任务。这个想法在当时可谓前所未闻。若一台机器真的能够完成指令描述的所有任务,那么它就是一台真正的通用设备。或许在图灵之前没有任何人有过如此宏大的想法。但在10 年之内,图灵的想法就变成了现实。那些指令变成了程序,而图灵的设想在另一位数学家约翰·冯·诺伊曼的手中变成了一台通用计算机。
将计算机变成现实的大部分工作都是第二次世界大战期间在秘密实验室中进行的。图灵就是这样工作的。1943 年,美国费城莫尔电气工程学院的约翰·莫奇利和约翰·埃克特提出了一个关于计算机的想法。很快,他们就和美国军方开始合作研发电子数字积分计算机(Electronic Numerical Integrator and Computer, 简称ENIAC)。一旦成功,它将成为第一台全电子数字计算机。除了用于信息输入与输出的外围设备,ENIAC 就是一台纯粹的真空管机器。
发明ENIAC 的功劳归谁向来是有争议的。ENIAC 可能是根据莫奇利与阿塔纳索夫会面后形成的想法设计出来的, 但至少ENIAC 是真实存在的。莫奇利和埃克特吸引了不少才华横溢的数学家加入ENIAC 项目,其中包括聪明绝顶的约翰·冯·诺伊曼。
冯·诺伊曼加入了ENIAC 项目,并为建造ENIAC 做出了许多贡献,他还为一台更加复杂的电子离散变量自动计算机(ElectronicDiscrete Var iable Automat icComputer,简称EDVAC)提供了基本设想。人们对冯·诺伊曼的贡献也报导很多。
冯·诺伊曼将莫尔电气工程学院的重点从技术方面转移到了逻辑方面。在他看来,EDVAC 不仅仅是一台用来计算的设备。
冯·诺伊曼觉得,除算术运算之外,EDVAC 应该还能进行逻辑运算,并能以代码符号进行运算,而且那些以代码符号进行运算和解释的指令本身也应该是编入机器的代码符号,并用以继续操作运算。这是现代计算机概念中最后一个根本性洞见。
冯·诺伊曼规定EDVAC 应该能根据指令来编写程序,而这些指令本身是作为数据输入计算机的,这为存储程序计算机创建了标准。