电子计算机的诞生
2021-07-28迈克尔·斯韦因保罗·弗赖伯格陈少芸成小雷朱少荣
迈克尔·斯韦因 保罗·弗赖伯格 陈少芸 成小雷 朱少荣
诗人拜伦和雪莱注意到了科学所带来的变化。在一个大雨倾盆的夏日,他们俩在瑞士消磨时光,就这样讨论起人工生命和人工思维,思考着是否能“制造出某个生物的各个零件,将它们拼凑起来并赋予其体温”。当时在现场的雪莱夫人玛丽·雪莱记住了这场讨论,并在自己后来著名的小说《弗兰肯斯坦》中展开了这一主题。对蒸汽时代的读者来说,玛丽·雪莱笔下的科学怪人实在令人毛骨悚然。
“蒸汽朋克”计算机
1833年,英国数学家、天文学家及发明家查尔斯·巴贝奇谈起用蒸汽驱动计算,并真的开始设计这么一台机器。巴贝奇声称,这机器若是做出来,可将计算行为机械化,甚至将思维机械化。
巴贝奇有一位搞科学编年史的同事,同时是他的赞助人,叫奥古斯塔·艾达·拜伦。她是诗人拜伦勋爵的女儿。艾达·拜伦本身既是一名作家,又是一名业余数学家。因此,她能够通过文章和论文向受过高等教育的公众和英国贵族中的潜在赞助人解释巴贝奇的想法。此外,她还撰写了不少文章来介绍巴贝奇的分析机是如何解决高等数学问题的。因为艾达·拜伦所做的这些工作,许多人视她为世界上第一位计算机程序员。20世纪80年代初,美国国防部用她的名字命名了Ada编程语言,以此肯定艾达在计算机编程方面的贡献。
从巴贝奇的设计来看,分析机是一台体型巨大、噪声不小、昂贵无比、外观漂亮且因用了黄铜和钢铁制造而闪闪发光的大家伙。数字存储于由齿轮构成的暂存器上,而数字的加法和转存则通过凸轮和棘轮的运行来完成。根据设计,分析机可以存储1000个数字,每个数字最多50位数。内置存储器容量如今被称为机器的内存大小。按如今的标准来说,巴贝奇分析机的运行速度可以说是龟速——1秒内都无法完成一个加法运算,但实际上它的内存比20世纪四五十年代的第一批可用的计算机以及20世纪70年代的早期微型计算机都要大。
尽管巴贝奇为分析机设计了3种详尽的方案,但他始终未能造出这台机器。1991年,伦敦科学博物馆负责计算的资深馆长多伦·斯沃德用巴贝奇时代拥有的技术、工艺和材料造出了巴贝奇的差分机。斯沃德的成功揭示了巴贝奇人生中具有讽刺意味的一面。早在别人做出同样尝试的100多年前,巴贝奇就已经成功设计出了一台计算机,但他之所以无法实现自己的梦想,全是因为他无法筹集到足够的资金,而这又多半缘于他自己疏离于那些能提供资金的人。
如果巴贝奇能圆滑一些或奥古斯塔·艾达·拜伦更富有一些,恐怕就会有这么一台无比巨大的蒸汽计算机在狄更斯笔下的伦敦出现,帮助现实生活中的一些老吝啬鬼算账,也可能蒸汽计算机会与查尔斯·达尔文下一盘国际象棋。但正如玛丽·雪莱所预言的一样,要想制造出会思考的机器,关键是电力。
会计算的机器
美国逻辑学家查尔斯·皮尔斯通过讲授英国数学家乔治·布尔的著作,将符号逻辑学从大西洋彼岸带到了美国。在这个过程中,皮尔斯从根本上重新定义并极大丰富了布尔代数。布尔以无可争议的方式将逻辑与数学整合到了一起,而皮尔斯大概是19世纪中期最了解布尔代数的人了。
到了19世纪80年代,皮尔斯发现,布尔代数可用于模拟电气开关电路。布尔逻辑的真/假完全映射了电流流经复杂电路中开/关的方式,换句话说,逻辑可以用电路来表示。这就意味着电力驱动的计算机和逻辑机是可以构造出来的。它们不只是小说家的空想,它们可能会实现,而且最终定会实现。
皮尔斯有一名叫艾伦·马昆德的学生,他在1885年还真的设计出了一台能够进行简单逻辑运算的电力逻辑机,但是还是没有造出来。皮尔斯用来解释如何模拟布尔代数的开关电路是计算机的一个基本组成部分。这个装置的独特之处在于能够管理信息,这一点和电流或机车完全不同。
机械开关为电回路所替代,使得计算设备的体积可以变得更小。事实上,第一台电力逻辑机是由本杰明·布拉克设计并制造出来的便携式装置,体积小到可以装进公文包中。这台制造于1936年的布拉克逻辑机可用于处理三段论形式的逻辑语句。譬如说,将“男人终有一死;苏格拉底是男人”编入机器,逻辑机可接受“苏格拉底终有一死”的推论,而拒绝“苏格拉底是女人”的推论。后者这类错误的推理会关闭回路并触发机器的警告灯,表示发生了逻辑错误。
布拉克逻辑机是一台功能有限的专用机器。然而,当时问世的大多数专用计算装置都是用来处理数字问题而不是处理逻辑问题的。早在皮尔斯还在研究逻辑与电力之间的联系时,赫曼·霍列瑞斯就在设计一台制表机,以进行1890年的美国人口普查的计算。
霍列瑞斯的公司最终被一家企业合并了,这家企业后来更名为国际商用机器公司(简称IBM)。
计算机的诞生
克劳德·香农在其麻省理工学院的博士论文中解释了如何利用电力开关电路模拟布尔逻辑(查尔斯·皮尔斯在50年前就曾预言过)。受到该论文的鼓舞,IBM的高管于20世纪30年代同意斥资制造一台基于机电式继电器的大型计算机器。他们给了哈佛大学教授霍华德·艾肯一笔在当时颇为可观的经费——50万美元,用以研制Mark I,Mark I是一台受巴贝奇分析机的启发而设计的计算装置。巴贝奇设计的是一个纯粹的机械装置,相比之下,Mark I是一个电力机械装置,它以继电器为开关,继电器陣列则作为数字存储空间。
电力驱动正在为电子驱动让路。当其他人将蒸汽驱动的巴贝奇式机器换成电气继电器时,爱荷华州立大学的数学和物理学教授约翰·阿塔纳索夫看到了将电气继电器换成电子元件的可能性。在美国参加第二次世界大战前不久,阿塔纳索夫在克利福德·贝里的帮助下设计出了ABC。ABC是阿塔纳索夫-贝里计算机的首字母缩写,这台设备的开关装置采用的不是继电器,而是真空管。
这个开关装置的更新换代是一次技术性飞跃。理论上说,以真空管为开关元件的机器运算起来比继电器机器更快速、更高效。但ABC和巴贝奇分析机一样,也未能问世,这也许是因为阿塔纳索夫所筹集的经费还不到7000美元,远不足以建造这台机器。不过,阿塔纳索夫和贝里确实组装出了一台简单的样机。他们用大量的电线和真空管拼出了一台粗糙的台式计算器。通过将真空管作为开关元件这一举措,阿塔纳索夫大大推动了计算机技术的发展。相较于继电器开关,真空管的高效使得计算机的面世成为现实。
真空管是抽掉了空气的一种玻璃管。托马斯·爱迪生发现,电子在某些条件下能在真空中流动,而李·德·福里斯特利用“爱迪生效应”最终将真空管制成了电子开关。20世纪50年代,真空管被广泛应用到电视机、计算机等电子设备中。现如今我们仍可以看到应用显像管的计算机显示器或电视机屏幕。
到20世纪30年代,计算机的诞生已经是顺理成章。计算机似乎也注定是价格昂贵的大块头专用设备。体积大、价格高的问题几十年后才得以解决,但打破单一用途这一点在当时就已提上日程。
英国数学家阿兰·图灵曾设想过这样一台机器,这台机器的目的只有一个,即读取某一可描述任务的编码指令,并根据指令自行完成任务。这个想法在当时可谓前所未闻。若一台机器真的能够完成指令描述的所有任务,那么它就是一台真正的通用设備。或许在图灵之前没有任何人有过如此宏大的想法。但在10年之内,图灵的想法就变成了现实。那些指令变成了程序,而图灵的设想在另一位数学家约翰·冯·诺伊曼的手中变成了一台通用计算机。
将计算机变成现实的大部分工作都是第二次世界大战期间在秘密实验室中进行的。图灵就是这样工作的。1943年,美国费城莫尔电气工程学院的约翰·莫奇利和约翰·埃克特提出了一个关于计算机的想法。很快,他们就和美国军方开始合作研发电子数字积分计算机(ENIAC)。一旦成功,它将成为第一台全电子数字计算机。除了用于信息输入与输出的外围设备,ENIAC就是一台纯粹的真空管机器。
发明ENIAC的功劳归谁向来是有争议的。ENIAC可能是根据莫奇利与阿塔纳索夫会面后形成的想法设计出来的,但至少ENIAC是真实存在的。莫奇利和埃克特吸引了不少才华横溢的数学家加入ENIAC项目,其中包括聪明绝顶的约翰·冯·诺伊曼。冯·诺伊曼加入了ENIAC项目,并为建造ENIAC作出了许多贡献,他还为一台更加复杂的电子离散变量自动计算机(EDVAC)提供了基本设想。人们对冯·诺伊曼的贡献也报道很多。
冯·诺伊曼将莫尔电气工程学院的重点从技术方面转移到了逻辑方面。在他看来,EDVAC不仅仅是一台用来计算的设备。冯·诺伊曼觉得,除算术运算之外,EDVAC应该还能进行逻辑运算,并能以代码符号进行运算,而且那些以代码符号进行运算和解释的指令本身也应该是编入机器的代码符号,并用以继续操作运算。这是现代计算机概念中最后一个根本性洞见。冯·诺伊曼规定EDVAC应该能根据指令来编写程序,而这些指令本身是作为数据输入计算机的,这为存储程序计算机创建了标准。
1945年5月之后,冯·诺伊曼提出将ENIAC改为 EDVAC那样的可编程计算机的方法,阿黛尔·戈尔斯坦编写了能让机器更易操作的语言(包含55种操作)。从那以后,再没有人以最初的操作模式来运行 ENIAC了。
1946年年初, ENIAC开发完成,它的运行速度比继电式计算机快1000倍。但尽管是电子计算机,ENIAC运行起来仍然咔咔作响。ENIAC就是一屋子滴答作响的电传打字机、滋滋转的磁带驱动器以及满墙相对安静的电子线路板。ENIAC有2万个开关元件,重约30吨,耗电150千瓦。尽管功率很大,但任何时候 ENIAC一次只能处理20个十进制数字。不过在完全制造完成之前,它就已经派上了大用场。1945年,ENIAC被用于美国新墨西哥州洛斯阿拉莫斯市原子弹测试的计算。
第二次世界大战结束之后,那些秘密实验室开始解密他们的工作成果和设计,由此出现了一个新兴产业。制造计算机立马成了一门生意,此时经历了Mark I项目的失望后,IBM的高管们重新振作起来,着手制造通用计算机。没过多久,IBM就成为了行业领头羊。
不过很快,20世纪60年代出现了一款新型计算机。比起先前的计算机,这种计算机体积更小、价格更低。生产小型机的公司中,最值得一提的是波士顿的DEC公司和加州帕洛阿尔托的惠普公司。这些公司当时生产的计算机就是图灵和冯·诺伊曼所指的通用计算机,它们更小巧,更高效,功能也更强大。不久之后,计算机的核心技术取得了重大突破,这使得计算机在功能、效率和小型化几个方面取得了惊人的发展。
(摘自人民邮电出版社《硅谷之火:个人计算机的诞生与衰落(第3版)》 )