《计算机组成与体系结构(原书第4版)》 —1.5 发展历史

举报
华章计算机 发表于 2019/11/18 21:38:39 2019/11/18
【摘要】 本节书摘来自华章计算机《计算机组成与体系结构(原书第4版)》一书中第1章,第1.5.1节,作者是[美] 琳达·纳尔(Linda Null)朱莉娅·洛博(Julia Lobur)宾夕法尼亚州立大学,张 钢 魏继增 李雪威天津大学 李春阁 何 颖天津大学仁爱学院 译。

1.5 发展历史

在计算机的60年历程中,它已经变成了现代化设备的完美案例。将记忆拉回到速记室、复写纸和油印机的时代,这些神奇的机器有时看起来好像是瞬间就成了我们现在所看到的形式。但是计算机的发展道路是由偶然发现、商业推动和异想天开所铺就的。有时候计算机甚至通过扎实的工程应用实践得到改进!尽管面临着曲折、改变和技术死胡同,但计算机还是以无法理解的速度发展。只有回顾历史时,我们才能够完全理解今天的成就。

本节我们把计算机的演化划分为代,每一代由建造计算机的技术所定义。我们为每一代提供的大概日期仅仅作为参考。你会发现专家对于每一个技术时代准确的开始和结束时间的意见很少一致。

每个发明都会反映它所处的时代,所以如果计算机发明于20世纪90年代后期,那么人们可能不知道它是否应该称为计算机。事实上,我们见到过多少从放在桌子上或桌边的神秘盒子里流出的计算?直到最近,计算机才通过执行令人费解的数学运算服务于我们。不再局限于穿白大褂的科学家,今天的计算机帮助我们写文档,与世界各地喜欢的人保持联系,进行网上购物。现代商用计算机仅仅用很小一部分时间执行会计计算。它们的主要目的是给用户提供大量关于竞争优势的战略信息。计算机这个词已经变成一个使用不当的名称了吗?一个不合时代的名称?然而,如果不叫计算机,那么我们应该叫它们什么呢?

我们无法呈现完整的计算历史。已经有一些关于这个主题的完整文章,甚至这些文章可以让读者了解更多的细节。如果我们已经激起你的兴趣,那么建议你去查阅本章末尾参考文献中列出的书籍。

1.5.1 第零代:机械计算机(1642~1945年)

在16世纪之前,典型的欧洲商人使用算盘以罗马数字来计算和记录算术结果。在十进制数字系统最终代替了罗马数字之后,许多人发明了执行十进制运算更快和更准确的设备。威廉·施卡德(1592—1635)被认为发明了第一个机械计算器,即计算时钟(准确的日期不详)。这个设备可以进行6位数以内的加减运算。1642年,布莱士·帕斯卡(1623—1662)开发了一个名为Pascaline的机械计算器、以帮助他父亲做税务工作。Pascaline能够执行带进位的加法和减法运算。它可能是第一个用于实用目的的机械加法设备。事实上,Pascaline的设计非常好,以至于它的基本设计在20世纪初仍然在使用,这可以由1908年的闪电便携加法器和1920年的加算器得到证明。戈特弗里德·威廉·莱布尼茨(1646—1716)是著名的数学家,他发明了一种能做加减乘除运算的计算器,称为Stepped Reckoner。这些设备都不能编写程序也没有存储器,计算的每一步都需要人工干预。

虽然像Pascaline这样的机器一直使用到20世纪,但是19世纪新的计算器设计就开始出现了。在这些新设计中最具潜力的是由查尔斯·巴贝奇(1791—1871)设计的差分机。一些人称巴贝奇为“计算之父”。据记载,他是一个古怪的天才,带给我们的除了其他东西之外,还有***和“奶牛捕手”(一种把奶牛和其他可移动障碍物推到火车道外的设备)。

巴贝奇在1822年建造了差分机。差分机因为使用了一种叫作差分法的计算技术而得名。这个机器被设计为可机械化地解多项式函数,实际上是一种计算器,不是计算机。巴贝奇在1833年也设计了一个名为分析机的通用机器。虽然巴贝奇生前未能完成分析机的建造,但是所设计的分析机与以前的差分机相比有更多用途。分析机具有执行任何数学运算的能力,包括许多与现代计算机相关的部件:一个执行计算的算术处理单元(巴贝奇称其为工厂)、一个存储器(巴贝奇称其为仓库)和输入/输出设备。在巴贝奇的设计中还包括一个条件分支运算,即下一个指令的执行由前面的运算结果来决定。艾达是洛夫莱斯伯爵夫人和诗人拜伦勋爵的女儿,她建议巴贝奇写一个这个机器如何计算数字的计划。这被视为第一个计算机程序,而且艾达被认为是第一个计算机程序员。据说她建议使用二进制系统而不是十进制系统存储数据。

机器设计者面临的一个困扰是如何使数据进入机器中。为了输入和编程,巴贝奇设计的分析机使用了一种穿孔卡片。使用穿孔卡片控制机器的行为并不是巴贝奇的原创,而是源于他的一个朋友——约瑟夫·玛丽·雅卡尔(1752—1834)。1801年,雅卡尔发明了一种可编程的织机,这种织机可以在布上织出复杂的图样。雅卡尔给了巴贝奇一个挂毯,这个挂毯就是在织机上使用1万多个穿孔卡片织成的。在巴贝奇看来,如果织机可以由卡片来控制,那么他的分析机也可以,这看起来很自然。艾达对此想法表达了她的喜悦:“分析机编排代数的模式就像雅卡尔的织机编织花和叶一样。”

穿孔卡片是为计算机系统提供输入的最持久的方式。键控数据输入直到计算机器的构造发生根本改变后才得以实现。19世纪后半叶,绝大多数机器使用轮式机构,这种机构难以与早期的键盘集成,因为它们是杠杆装置。杠杆装置容易在卡片上穿孔,轮式设备容易阅读。所以一些设备被发明出来,用于编码并把穿孔卡片上的数据制成表格。19世纪末最重要的制表机器由赫尔曼·霍尔瑞斯(1860—1929)发明。霍尔瑞斯的机器用于编码并编制了1890年的人口普查数据。这次人口普查以创纪录的时间完成,因此给霍尔瑞斯增加了经费,也提升了他的发明的声誉。霍尔瑞斯后来创建的公司就是IBM。他的80列穿孔卡片名为霍尔瑞斯卡片,其作为自动数据处理的主要产品使用了50多年。一种前现代“计算机”骗局16世纪后半叶已经能看到第一次工业革命的 

image.png

“土耳其人”机器

   来源:Robert Willis,An attempt to Analyse the Automaton Chess Player of Mr.de Kempelen.JK Booth,London.1824.雏形。

珍妮纺纱机可以让一个纺织工人完成20个人的工作,蒸汽机有几百匹马的力量。因此人们开始对各种机械着迷。把正确的技巧应用于所面临的问题,似乎人类能够用机器做任何事情!

精巧的钟表在17世纪初开始出现。复杂和华丽的款式点缀着教堂和市政厅。这些钟表机构最终变成了名为自动机的机械机器人。典型的自动机可以演奏长笛和键盘等乐器。17世纪中叶,最好的自动机可以用来招待欧洲的王室。一些人依靠诡计娱乐观众,而揭开骗局就成了一种乐趣。奥匈帝国的玛丽-泰蕾兹(Marie-Therese)皇后依靠一个富有的朝臣和名为沃尔夫冈·冯·肯佩伦的工匠,替她揭穿这些可笑的事情。一天,在一个令人印象特别深刻的表演之后,玛丽-泰蕾兹让冯·肯佩伦做一个自动机,这台机器要超越所有她见到过的自动机。

冯·肯佩伦接受了挑战,经过几个月的工作之后,他带来一个戴头巾、抽烟斗的下棋自动机。对于所有人,包括当时最好的棋手,这个“土耳其人”都是一个难以对付的对手。作为额外的装饰,这个机器包含一组隔板,当需要的时候,它能够发出“将军”的声音。这个机器令人如此印象深刻,在84年间吸引了大量欧洲和美国观众。

当然,和所有类似的自动机一样,冯·肯佩伦的“土耳其人”也是靠欺骗实现惊人之举的。尽管一些聪明的反对者猜出了它是如何操作的,但是“土耳其人”的秘密从未被泄露:一个象棋棋手被巧妙地藏在了柜子里。“土耳其人”因此成了科学史上最早并且最令人印象深刻的“计算机”骗局之一。还需要200年才会有不靠欺骗的、真实的、可以比赛的“土耳其人”机器。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。