计算机的演进过程--从机械式计算设备到近现代计算机

《数学文化》 课 程 论 文

计算机与数学

提交日期: 2018年5月27日

摘要
计算机以其庞大的机构设计、高深的数学理论、精湛的制作工艺、天文级的运算速度,可以说是人类最伟大的发明。实际上,最初计算机的诞生就是为了满足人们对数学计算的需求,而如今计算机这些强大功能的底层实现,也是靠的是数学计算。计算工具的演化经历了由简单到复杂、由低级到高级的不要同阶段。从结绳记事到算筹,再到算盘,这些都称不上计算器。文章主要介绍了计算机从机械式计算设备到近现代计算机之间的发展过程,及其与数学之间的联系。第一台机械式计算钟的发明即是为了满足巨量的计算需求,及至后来帕斯卡加法器,莱布尼茨计算器,托马斯四则计算器,再到机电时期的祖思机,贝尔MODEL系列,最后到巴贝奇的差分机,无不是为了满足人们对数学计算的需求,使人们从繁杂的数值计算中解脱出来而发明。现代的计算机已经可以证明数学定理,这些内容不在文章讨论范围之内。
关键词:机械式;机电;计算机;数学计算

机械时期(17世纪初~19世纪末)

手动时期的计算工具通常没有多么复杂的制作原理,计算时,人们除了动手,还需要动脑,甚至动口(念口诀),必要时还得动笔(记录中间结果),人工计算成本很高。
到了17世纪,人们开始尝试使用机械装置完成简单的四则运算——可别小瞧只能四则运算的机器,计算量大时,如果数值达到上万、上百万,手工计算十分吃力,而且容易出错,这些机器可以大大减轻人工负担,降低出错概率。
那个时候,西方资产阶级为了夺取资源,占据市场,不断扩大海外贸易,航海事业蓬勃兴起。航海就需要天文历表,那时常用的数据通常要查表获得,比如等,从事特定行业的、需要这些常用数值的人们就会购买相应的数学用表,以供查询。而这些表中的数值,是由数学家们借助简单的计算工具(如纳皮尔棒)一个个计算出来的,算完还要核对。脑力劳动硬生生沦为苦力活。而但凡是认为计算,难免会出错,而且还不少见,常常酿成航海事故。机械计算设备就在这样的迫切的需求背景下应运而生。

契克卡德计算钟(Rechenuhr)

契克卡德是现今公认的机械式计算第一人。他和天文学家开普勒是好朋友,正是开普勒在天文学上对数学计算的巨大需求促使契克卡德去研发一台可以进行四则运算的机械计算器。然而不幸的是,契克
卡德制造的计算钟在一场火灾中烧毁,一度鲜为人知。

帕斯卡加法器(Pascaline)

大约20年后,帕斯卡也发明了与契克卡德计算钟类似的加法器。1639年,帕斯卡的发亲开始从事税收方面的工作,需要进行繁重的数字相加。现在Excel里一个公式就能搞定的事在当时却是件大耗精力的苦力活。为了减轻父亲的重担,年方19岁的帕斯卡亲自学习机械制作。终于制作出了加法器。

莱布尼茨计算器(Stepped Reckoner)

由于帕斯卡加法器只能计算加减,不能乘除。莱布尼茨对此提出过一系列的改进建议,终究发现并没有用。那么既然改进不成,就重新设计一台吧。莱布尼茨发明了梯形轴齿轮,制造出第一台可以进行加减乘除运算的机械计算机。

托马斯四则计算器(Arithmometer)

托马斯从商之前,在法国军队从事过几年部队补给方面的工作,需要进行大量的运算。正是在这期间萌生了制造计算器的念头。Airthmometer采用莱布尼茨的设计,并且做了许多细节上的改进,量产出来实用、可靠,获得巨大成功。

鲍德温-奥德纳机(Pinwheel calculator)

虽然计算器可靠好用,但是计算器体积很大,某些型号甚至会占用整个桌子,而且要两个人才能安全搬动。鲍德温和奥德纳发明出可变齿数齿轮,大大缩减机器的体积和重量,投产后风靡世界,在几十年间产量达好几万台。

菲尔特自动计算器(Comptometer)

机械计算器发展到这一步已经很成熟了,但是似乎与我们今天使用的计算器似乎隔了一层屏障。原来,这些机器全是旋钮,没有按键啊!
菲尔特根据美国牧师希尔的按键设计将按键装置到帕斯卡加法器上,第一台Comptometer就诞生了。1889年,菲尔特又发明了世界上第一台能在纸带上打印计算结果的机械计算器Comptograph,相当于给计算器引入了存储功能。1901年,人们开始给一些按键式计算器装上电动马达,计算时不再需要手动摇杆,冠之名曰“电动计算机”,而此前的则称为“手摇计算机”。 1902年,出现了将键盘简化为“十键式”的道尔顿加法器,不再是每一位数需要一列按键,大大精简了用户界面。

机电时期(19世纪末~20世纪40年代)

我们已经了解机械计算机(准确地说,我们把它们称为机械式桌面计算器)的工作方式,本质上是通过旋钮或把手带动齿轮旋转,这一过程全靠手动,肉眼就能看得一清二楚,甚至用现在的乐高积木都能实现。麻烦就麻烦在电的引入,电这样看不见摸不着的神物(当然你可以摸摸试试),正是让计算机从笨重走向传奇、从简单明了走向令人费解的关键。

技术准备

19世纪,电在计算机中的应用主要有两大方面:一是提供动力,靠电动机(俗称马达)代替人工驱动机器运行;二是提供控制,靠一些电动器件实现计算逻辑。
我们把这样的计算机称为机电计算机。

电动机

1820年4月,奥斯特在实验中发现通电导线会造成附近磁针的偏转,证明了电流的磁效应。第二年,法拉第想到,既然通电导线能带动磁针,反过来,如果固定磁铁,旋转的将是导线,于是解放人力的伟大发明——电动机便诞生了。
电动机其实是件很不稀奇、很笨的发明,它只会一个劲不停地转圈,而机械式桌面计数器的运转本质上就是齿轮的转圈,两者简直是天造地设的一双。有了电动机,计算员不再需要吭哧吭哧地手摇,做数学也终于少了点体力劳动的模样。

电磁继电器

电磁学的价值在于摸清了电能和动能之间的转换,而从静到动的能量转换,正是让机器自动运行的关键。而19世纪30年代由亨利和戴维所分别发明的继电器,就是电磁学的重要应用之一,分别在电报和电话领域发挥了重要作用。

制表机

从1790年开始,美国的人口普查基本每十年进行一次,随着人口繁衍和移民的增多,人口数量那是一个爆炸。
不像现在这个的互联网时代,人一出生,各种信息就已经电子化、登记好了,甚至还能数据挖掘,你无法想象,在那个计算设备简陋得基本只能靠手摇进行四则运算的19世纪,千万级的人口统计就已经是当时美国政府所不能承受之重。1880年开始的第十次人口普查,历时8年才最终完成,也就是说,他们休息上两年之后就要开始第十一次普查了,而这一次普查,需要的时间恐怕要超过10年。
当时的人口调查办公室(1903年才正式成立美国人口调查局)赶紧征集能减轻手工劳动的发明,就此,霍尔瑞斯带着他的制表机完虐竞争对手,在方案招标中脱颖而出。
霍尔瑞斯的制表机首次将穿孔技术应用到了数据存储上,一张卡片记录一个居民的各项信息,就像身份证一样一一对应。聪明如你一定能联想到,通过在卡片对应位置打洞(或不打洞)记录信息的方式,与现代计算机中用0和1表示数据的做法简直一毛一样。确实这可以看作是将二进制应用到计算机中的思想萌芽,但那时的设计还不够成熟,并未能如今这般巧妙而充分地利用宝贵的存储空间。举个例子,我们现在一般用一位数据就可以表示性别,比如1表示男性,0表示女性,而霍尔瑞斯在卡片上用了两个位置,表示男性就在标M的地方打孔,女性就在标F的地方打孔。其实性别还凑合,表示日期时浪费得就多了,12个月需要12个孔位,而真正的二进制编码只需要4位。当然,这样的局限与制表机中简单的电路实现有关。

祖思机

有些天才注定成为大师,祖思便是其一。读大学时,他就不安分,专业换来换去都觉得无聊,工作之后,在亨舍尔公司参与研究风对机翼的影响,对繁复的计算更是忍无可忍。
祖思一面抓狂,一面相信还有好多人跟他一样抓狂,他看到了商机,觉得这个世界迫切需要一种可以自动计算的机器。于是一不做二不休,在亨舍尔才呆了几个月就潇洒辞职,搬到父母家里啃老,一门心思搞起了发明。他对巴贝奇一无所知,凭一己之力做出了世界上第一台可编程计算机——Z1。
祖思从1934年开始了Z1的设计与实验,于1938年完成建造,在1943年的一场空袭中炸毁——Z1享年5岁。
Z1是一个庞大的机械,除了靠电动马达驱动,没有任何与电相关的部件。别看它原始,里头可有好几项甚至沿用至今的开创性理念:
1,将机器严格划分为处理器和内存两大部分,这正是如今冯·诺依曼体系结构的做法。
2,不再同前人一样用齿轮计数,而是采用二进制,用穿过钢板的钉子/小杆的来回移动表示0和1。
3,引入浮点数,相比之下,后文将提到的一些同时期的计算机所用都是定点数。祖思还发明了浮点数的二进制规格化表示,优雅至极,后来被纳入IEEE标准。
4,靠机械零件实现与、或、非等基础的逻辑门,靠巧妙的数学方法用这些门搭建出加减乘除的功能,最出彩的要数加法中的并行进位——一步完成所有位上的进位。
与制表机一样,Z1也用到了穿孔技术,不过不是穿孔卡,而是穿孔带,用废弃的35毫米电影胶卷制成。和巴贝奇所见略同,祖思也在穿孔带上存储指令,有输入输出、数据存取、四则运算共8种。
每读一条指令,Z1内部都会牵动一大串部件完成一系列复杂的机械运动。
Z2是紧跟着Z1的第二年诞生的,其设计资料一样难逃被炸毁的命运(不由感慨那个动乱的年代啊)。Z2的资料不多,大体可以认为是Z1到Z3的过渡品,它的一大价值是验证了继电器和机械件在实现处理器方面的等效性,也相当于验证了Z3的可行性,二大价值是为祖思赢得了建造Z3的一些赞助。
Z3的寿命比Z1还短,从1941年建造完成,到1943年被炸毁(是的,又被炸毁了),就活了两年。除了四则运算,Z3比Z1还新增了开平方的功能,操作起来都相当方便,除了速度稍微慢点,完全顶得上现在最简单的那种电子计算器。除了上述这种「随输入随计算」的用法,Z3当然还支持运行预先编好的程序,不然也无法在历史上享有「第一台可编程计算机器」的名誉了。
1997~1998年间,Rojas教授将Z3证明为通用图灵机(UTM),但Z3本身没有提供条件分支的能力,要实现循环,得粗暴地将穿孔带的两头接起来形成环。到了Z4,终于有了条件分支,它使用两条穿孔带,分别作为主程序和子程序。Z4连上了打字机,能将结果打印出来。还扩充了指令集,支持正弦、最大值、最小值等丰富的求值功能。甚而至于,开创性地应用了堆栈的概念。但它回归到了机械式存储,因为祖思希望扩大内存,继电器还是体积大、成本高的老问题。
总而言之,Z系列是一代更比一代强,除了这里介绍的1~4,祖思在1941年成立的公司还陆续生产了Z5、Z11、Z22、Z23、Z25、Z31、Z64等等等等产品(当然后面的系列开始采用电子管),共251台,一路高歌,如火如荼,直到1967年被西门子吞并,成为这一国际巨头体内的一股灵魂之血。

贝尔Model系列

同一时期,另一家不容忽视的、研制机电计算机的机构,便是上个世纪叱咤风云的贝尔实验室。众所周知,贝尔实验室及其所属公司是做电话起家、以通信为主要业务的,虽然也做基础研究,但为什么会涉足计算机领域呢?其实跟他们的老本行不无关系——最早的电话系统是靠模拟量传输信号的,信号随距离衰减,长距离通话需要用到滤波器和放大器以保证信号的纯度和强度,设计这两样设备时需要处理信号的振幅和相位,工程师们用复数表示它们——两个信号的叠加是两者振幅和相位的分别叠加,复数的运算法则正好与之相符。这就是一切的起因,贝尔实验室面临着大量的复数运算,全是简单的加减乘除,这哪是脑力活,分明是体力劳动啊,他们为此甚至专门雇佣过5~10名妇女(当时的廉价劳力)全职来做这事。
从结果来看,贝尔实验室发明计算机,一方面是源于自身需求,另一方面也从自身技术上得到了启发。电话的拨号系统由继电器电路实现,通过一组继电器的开闭决定谁与谁进行通话。当时实验室研究数学的人对继电器并不熟悉,而继电器工程师又对复数运算不尽了解,将两者联系到一起的,是一名叫乔治·斯蒂比兹的研究员。
Model K
1937年,斯蒂比兹察觉到继电器的开闭状态与二进制之间的联系。他做了个实验,用两节电池、两个继电器、两个指示灯,以及从易拉罐上剪下来的触片组成一个简单的加法电路。
因为是在厨房(kitchen)里搭建的模型,斯蒂比兹的妻子称之为Model K。Model K为1939年建造的Model I——复数计算机(Complex Number Computer)做好了铺垫。
Model I
Model I只用于实现复数的乘除运算,甚至连加减都没有考虑,因为贝尔实验室认为加减法口算就够了。(当然后来他们发现,只要不清空寄存器,就可以通过与复数±1相乘来实现加减法。)当时的电话系统中,有一种拥有10个状态的继电器,可以表示数字0~9,鉴于复数计算机的专用性,其实没有引入二进制的必要,直接利用这种继电器即可。
套用现在的术语来说,Model I采用C/S(客户端/服务端)架构,配备了3台操作终端,用户在任意一台终端上键入要算的式子,服务端将收到相应信号并在解算之后传回结果,由集成在终端上的电传打字机打印输出。只是这3台终端并不能同时使用,像电话一样,只要有一台「占线」,另两台就会收到忙音提示。
Model I不但是第一台多终端的计算机,还是第一台可以远程操控的计算机。这里的远程,说白了就是贝尔实验室利用自身的技术优势,于1940年9月9日,在达特茅斯学院(Dartmouth College)和纽约的本部之间搭起线路,斯蒂比兹带着小小的终端机到学院演示,不一会就从纽约传回结果,在与会的数学家中引起了巨大轰动,其中就有日后大名鼎鼎的冯·诺依曼,个中启迪不言而喻。
斯蒂比兹由此成为远程计算第一人。
然而,Model I只能做复数的四则运算,不可编程,当贝尔的工程师们想将它的功能扩展到多项式计算时,才发现其线路被设计死了,根本改动不得。它更像是台巨型的计算器,准确地说,仍是calculator,而不是computer。
Model II
二战期间,美国要研制高射炮自动瞄准装置,便又有了研制计算机的需求,继续由斯蒂比兹负责,便是于1943年完成的Model II——Relay Interpolator(继电器插值器)。Model II之后,一直到1950年,贝尔实验室还陆续推出了Model III、Model IV、Model V、Model VI,在计算机发展史上盘踞一席之地。除了战后的VI返璞归真用于复数计算,其余都是军事用途,可见战争确实是技术革新的催化剂。
Harvard Mark系列
稍晚些时候,踏足机电计算领域的还有哈佛大学。当时,有一名正在哈佛攻读物理PhD的学生——艾肯,和当年的祖思一样,被手头繁复的计算困扰着,一心想建台计算机,于是从1937年开始,抱着方案四处寻找合作。第一家被拒,第二家被拒,第三家终于伸出了橄榄枝,便是IBM。
于1944年完成了这台Harvard Mark I, 叫做IBM自动顺序控制计算机。同祖思机一样,Mark I也通过穿孔带获得指令。穿孔带每行有24个空位,前8位标识用于存放结果的寄存器地址,中间8位标识操作数的寄存器地址,后8位标识所要进行的操作——结构已经非常类似后来的汇编语言。同时,Mark I还可以通过穿孔卡片读入数据。最终的计算结果由一台打孔器和两台自动打字机输出。
1949年和1952年,又分别诞生了半电子(二极管继电器混合)的Mark III和纯电子的Mark IV。
关于这一系列值得一提的,是日后常拿来与冯·诺依曼结构做对比的哈佛结构,与冯·诺依曼结构统一存储的做法不同,它把指令和数据分开存储,以获得更高的执行效率,相对的,付出了设计复杂的代价。

现代计算机真正的鼻祖——超越时代的伟大思想

现今但凡对计算机历史有所了解的朋友,总能在第一时间想起一台叫ENIAC的电子计算机,总多少听闻过图灵、冯·诺依曼这样响当当的名字,却鲜有人知早在他们一个世纪之前,就独自开辟了现代计算机之路的传奇人物——巴贝奇。
巴贝奇出生于英国一个富裕的家庭,父亲是银行家,所以他不愁吃不愁穿,一门心思钻研各种感兴趣的事物。他兴趣广泛,几乎无所不能,他首先是位卓越的数学家,担任过11年的剑桥大学卢卡斯数学教授席位(这是一项极高的荣誉,前后都是由牛顿、霍金这样的大神担任),是皇家天文学会的领导成员、皇家统计学会的创始人,在光学、大气观测、电学、磁学、密码学、地质学、运筹学等诸多领域都有建树,他甚至编写过世界语辞典、研究过哺乳动物的呼吸和脉搏、提高过蒸汽火车的速度、还在家里安装了世界上第一台空调系统……他仿佛已经干完了别人好几辈子才能干完的事,然而在其为计算机发展做出的贡献面前,这些五花八门的成就甚至还显得不值一提。
18世纪末,法国政府在开创米制之后,决定在数学中统一采用十进制,竟奇葩地想把原本90度的直角划分成100度、把原本60秒的1分钟划分成100秒,尽管从现在看来这样的想法绝逼是一种倒退,但他们在当时真就实施了。这一改制带来的不光是人们在使用时直观上的别扭,原本制作好的数学用表(如三角函数表)都需要全部重制。在上篇文章中,我们知道那个年代数学用表的计算全靠人力完成,所能用到的计算设备也相当简陋,只能做四则运算。法国政府将这项丧心病狂的工程交给了数学家普罗尼(Gaspard de Prony),普罗尼正头疼着要如何才能完成这项艰巨的任务,突然想起著名经济学家亚当·斯密(Adam Smith)的那本《富国论》,他决定采用书中提出的劳动分工的做法,将制表的工作人员分成三组:第一组由五六名牛逼的数学家组成,他们负责制定运算中所需的公式;第二组由九到十个擅长数学的人组成,他们负责计算出一些关键数据,并把第一组制定好的公式进行简化;第三组由约一百名计算人员组成,他们利用第二组提供的关键数据和公式,做最简单的加减操作就能得出最终结果。第三组的工作简单到什么程度,就是他们甚至都不知道自己正在算什么玩意儿,事实上他们的文化程度大部分都不高,里头好多都是理发师、失业人员什么的。可见即便文盲都能完成的计算,在那个时代还是得依靠人力去做。
而为了保证用表的正确性,普罗尼要求每个数至少算两遍,并且要在法国的不同地点用不同的方法计算。这项劳民伤财的工程整整进行了十年才完成,然而不幸的是,最终的表里仍然有错。说到这一点,可以说,那个时代基本没有一版数学用表是完全正确的,有些版本甚至错误百出,要知道数学用表出错有时后果会很严重,比如航海表一出错就可能直接导致船毁人亡。
巴贝奇在了解到普罗尼的事迹后泪流满面,决心要做一套完全正确的数学用表,为达目的,他尝试了各种减少错误的手段,比如调整纸张和墨水的颜色以提高数字的识别度,直接拿现有的多个版本的表进行誊抄、比对、让不同人员反复校对,在1827年出版了一个版本,结果里头还是有错。只要是人为的就没有完美的,巴贝奇彻底跪了,他发誓要造一台机器,让机器去生产数学表。
那就是史上著名的差分机。

差分机(Difference Engine)

其实早在巴贝奇出生前,有个叫米勒(Johann Helfrich von Müller)的德国工程师就提出了差分机的思想,但仅仅是提了一下,并没有进行具体设计和制造,他最终还是把研制差分机的历史重任让给了巴贝奇。
之所以叫差分机这个名字,是因为它计算所使用的是帕斯卡在1654年提出的差分思想:n次多项式的n次数值差分为同一常数。差分规律是一项伟大的发现,有了差分,在计算多项式时就可以用加法代替乘法,我们只需要算出几个初始值,后头任意x所对应的F(x)值均可通过加法得出。学过高数的朋友应该知道,一个函数在满足一定条件的情况下可以用多项式逼近(幂级数展开),于是常用的三角函数、对数函数都可以通过多项式来计算的,而机械时期的计算设备最擅长的就是做加法,有了差分思想,巴贝奇看到差分机的前途一片光明。
从1812年到1822年,巴贝奇克服重重困难完成了一台可以计算六位数二次多项式的模型机,他给皇家学会的主席写信,希望政府可以出资,赞助他建造真正可用的大型差分机。政府也觉得这事儿很有意义,尤其对海军很有价值,于是在1823年拨款1500英镑,巴贝奇如鱼得水,号称只要两三年时间就能完工。谁知实行起来要比想象中困难得多,那个时代的机械制造水平实在落后,差分机是十分精密的仪器,巴贝奇跑遍了欧洲都没找到多少能用的零件,于是在制造差分机之前,他还要先想着怎么制造各类零件。在英国当时一个牛逼的机械师克莱门特(Joseph Clement)的帮助下,他们真的在提高机械制造方面下足了功夫,不但做出了差分机能用的零件,还培养出大批优秀的技师。本来这两人强强联合势必能把差分机做好,但是巴贝奇是个精益求精的人,经常改动设计方案,导致工程时常要返工,工作量大大增加,外加亲人的相继去世,后来又和克莱门特闹掰,到了1833年,十年都过去了,巴贝奇只做出了机器的一小部分,却已经花费了3万英镑(远超最初预算)。政府对巴贝奇大失所望,终于在1842年正式宣布不再出资,到头来巴贝奇给后世留下的就只有一个半成品,以及在1839年修订好的一大堆设计图纸,现存于伦敦科学博物馆。
值得一提的是,巴贝奇做不出差分机实在不是客观原因所致,与他同时代的瑞典人乔治·舒茨(Per Georg Scheutz)就根据他的设计在1843年做出了切实能用的差分机,巴贝奇倒是提供了不少指导和帮助,也算是了却了自己一桩心愿吧。

分析机(Analytical Engine)

尽管没能亲手实现差分机,但巴贝奇并不会气馁,或者说他本来就是根本停不下来的那种人。明知实现不了,巴贝奇仍在一刻不停地改进着自己的设计,直到有一天,他构思出了一种空前的机器——分析机,正式成为现代计算机史上的第一位伟大先驱。
1834年,分析机概念诞生之际,巴贝奇自己都为之感到无比震惊。在此之前,任何一台计算机器都只能完成其被预定赋予的计算任务,要么是简单的加减乘除,要么像差分机那样只能做差分运算,它们都属于calculator,而分析机才是真正的computer,它不局限于特定功能,而竟然是可编程的,可以用来计算任意函数——现代人无论如何也无法想象在一坨齿轮上写程序是怎样一种体验吧!
巴贝奇设计的分析机主要包括三大部分:
1、用于存储数据的计数装置,巴贝奇称之为“仓库”(store),相当于现在CPU中的存储器,这部分是从差分机上的计数装置改进而来的,我们很容易想象它的模样;
2、专门负责四则运算的装置,巴贝奇称之为“工厂”(mill),相当于现在CPU中的运算器,这部分的结构相对复杂,巴贝奇针对乘除法还做了一些优化;
3、控制操作顺序、选择所需处理的数据和输出结果的装置,巴贝奇没有起名字,由于其呈桶状,我们可以叫它“控制桶”,控制桶显然相当于现在CPU中的控制器。
以上三部分,加上巴贝奇并没有疏漏的输入输出设备,我们惊讶地发现,分析机的组成部分和现在冯·诺依曼架构所要求的五大部件一模一样!
巴贝奇另一大了不起的创举就是将穿孔卡片(punched card)引入了计算机器领域,用于控制数据输入和计算,从那时起,到第一台电子计算机诞生为止,期间几乎所有的数字计算机都使用了穿孔卡片。穿孔卡片本身并不是巴贝奇的发明,而是来自提花机。
提花机是我国古代用以制造丝锦的一种织机,最迟在殷商时期就已出现,后经丝绸之路传入阿拉伯国家,再传到意大利和法国。以其中功能最强的大花楼提花机为例,长约一丈六尺,高约一丈五尺,高起的部分就叫花楼,织锦过程需要上下两人配合完成。
提花机传到西方后,十九世纪初,一个叫贾卡(Joseph Marie Jacquard)的法国人开始使用穿孔卡片来保存花本,将卡片置于经线上方,其上方密密麻麻的针尝试穿过卡片,卡片上没有孔的地方针就被挡住,卡片上有孔的地方针就可以下探勾起经线,原本提花工的任务就可以完全交给机器自动完成,从此提花机就只需要一个工人操作了。巴贝奇在一次巴黎展览会上看到了贾卡的提花机,对其印象十分深刻,由于一直在研究计算机器,自然想到可以把穿孔卡片也应用到分析机上。于是分析机中的输入数据、存储地址、运算类型都使用穿孔卡片来表示。在机器运行时,卡片上有孔和无孔的地方会导致对应的金属杆执行不同操作,可编程性由此体现。
整个分析机就这样实现可编程运算的:先从数据卡片读入数据到存储器,再将存储器中的数据传输到运算器,运算器算完后又将数据传回存储器。
可惜的是,巴贝奇穷其一生也没能真正把分析机做出来,留给后世的又是一台模型机和两千多张图纸,以及这样一段遗言:如果一个人不因我一生的借鉴而却步,仍然一往直前制成一台本身具有全部数学分析能力的机器……那么我愿将我的声誉毫不吝啬地让给他,因为只有他能够完全理解我的种种努力以及这些努力所得成果的真正价值。
和差分机不同的是,分析机现存的图纸并不完整,因此至今也没能建造出来。不过好消息是,有两个英国专家在前几年发起了建造分析机的计划——Plan 28(名称来源于巴贝奇的第28套设计方案),宣称要在2020年前做出来,让人们看看CPU究竟是怎样工作的,就让我们拭目以待。

1946年2月14日,由美国军方定制的世界上第一台电子计算机“电子数字积分计算机”(ENIAC Electronic Numerical And Calculator)在美国宾夕法尼亚大学问世了。ENIAC(中文名:埃尼阿克)是美国奥伯丁武器试验场为了满足计算弹道需要而研制成的,这台计算器使用了17840支电子管,大小为80英尺×8英尺,重达28t(吨),功耗为170kW,其运算速度为每秒5000次的加法运算,造价约为487000美元。ENIAC的问世具有划时代的意义,表明电子计算机时代的到来。在以后60多年里,计算机技术以惊人的速度发展,没有任何一门技术的性能价格比能在30年内增长6个数量级。

参考文献
[1] 陈厚云, 王行刚. 计算机发展简史[M]. 北京: 科学出版社, 1985.
[2] 吴为平, 严万宗. 从算盘到电脑[M]. 长沙: 湖南教育出版社, 1986.
[3] 胡守仁. 计算机技术发展史(一)[M]. 长沙: 国防科技大学出版社, 2004.
[4] Wikipedia. Wilhelm Schickard[EB/OL].
https://en.wikipedia.org/wiki/Wilhelm_Schickard, 2015-07-12.
[5]逸之. http://www.jianshu.com/p/cb2ed00dd04f, 2017-04-07.

posted @ 2025-03-13 16:56  钱塘江畔  阅读(87)  评论(0)    收藏  举报