算法与数学之美|计算机是如何诞生的?( 四 )


到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 应该能根据指令来编写程序 , 而这些指令本身是作为数据输入计算机的 , 这为存储程序计算机创建了标准 。
算法与数学之美|计算机是如何诞生的?
本文插图

▲ 约翰·莫奇利 ENIAC 的设计者之一 , 图为他在1976年的大西洋城电脑节上向早期个人计算机发烧友演讲 。 (资料来源:戴维·阿尔)
算法与数学之美|计算机是如何诞生的?
本文插图

▲ ENIAC 世界上第一台全电子数字计算机 , 于1945 年12 月问世 。 (资料来源:IBM 档案)
1945 年5 月之后 , 冯·诺伊曼提出将ENIAC 改为EDVAC 那样的可编程计算机的方法 , 阿黛尔·戈尔斯坦编写了能让机器更易操作的语言(包含55 种操作) 。 从那以后 , 再没有人以最初的操作模式来运行ENIAC 了 。
1946 年年初 , ENIAC 开发完成 , 它的运行速度比继电式计算机快1000 倍 。 但尽管是电子计算机 , ENIAC 运行起来仍然咔咔作响 。 ENIAC 就是一屋子滴答作响的电传打字机、滋滋转的磁带驱动器以及满墙相对安静的电子线路板 。 ENIAC 有20 000 个开关元件 , 重约30 吨 , 耗电150 千瓦 。 尽管功率很大 , 但任何时候ENIAC 一次只能处理20 个十进制数字 。 不过在完全制造完成之前 , 它就已经派上了大用场 。 1945 年 , ENIAC 被用于美国新墨西哥州洛斯阿拉莫斯市原子弹测试的计算 。


推荐阅读