查看原文
其他

机械时代的第一台计算机,原来长这样!

小雪 看雪学院 2019-05-26


如果要细数2018科技领域重要事件,那么不得不提的是,量子计算机在数学运算方面的突出成就了,突破了传统计算机必须依赖于最基础01的二进制数据。


 

量子计算机(quantum computer)是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。不同于电子计算机,量子计算用来存储数据的对象是量子比特,它使用量子算法来进行数据操作。

 

就像蒸汽机是工业文明的象征一样,量子计算机带来的计算能力的突破将会有类似的意义。

 

商业级量子计算机会成为未来科技的引擎。对设计复杂药物和先进材料、大型数据库搜索、对于人类的疾病,生理研究和航空航天深海探索,以及高精尖科技工程都有划时代的意义。

 

如今计算机应用已经远远超出了计算本身,不论是电脑、平板、还是手机,我们天天靠着它们看电影、听音乐、交流感情,看似与计算已经毫无关系,但事实上最初计算机的诞生就是为了满足人们对数学计算的需求,而如今计算机这些强大功能的底层实现,也依旧靠的是数学计算,这也是为什么我们仍然保留着“计算机”这一称呼的原因吧。

 

计算机发展到今天,大致可以经历了三个阶段:手动时期、机械时期和机电时期。对应的计算机可以分别称为手工计算机、机械计算机和机电计算机。

 

手动时期,指的是远古时期~17世纪初,在那个无法借助外部工具的时代,人们光靠手指就能计数到成百上千,甚至达到百万。

 

古威尼斯的一种手指计数法

 

当然,人们不只用手指,还借用外物,譬如石子、筹码/算筹,甚至还出现了纳皮尔棒/纳皮尔筹、计算尺。



最值得一提的是算盘,算盘之所以能称为神器,是因为用它能解算古代所有的数学问题,古代中国学者甚至认为,只有当一个问题能用算盘求解时,这个问题才算是可解的。

 


机械时期的到来


机械装置的历史其实相当久远,在我国,黄帝和蚩尤打仗时就发明了指南车,东汉张衡的地动仪、浑天仪、记里鼓车(能自动计算行车里程),北宋时期苏颂、韩公廉发明的水运仪象台(天文钟),数不胜数,其中好多发明事实上已经实现了某些特定的计算功能。然而所谓工具都是应需求而生的,我国古代机械水平再高,对计算(尤其是大批量计算)没有需求也难为无米之炊,真正的通用机械计算设备还得在西方进入资本主义后逐渐出现。


那个时候,西方资产阶级为了夺取资源、占据市场,不断扩大海外贸易,航海事业蓬勃兴起,航海就需要天文历表。在那个没有电子计算机的时代,一些常用的数据通常要通过查表获得,比如cos27°,不像现在这样掏出手机打开计算器APP就能直接得到答案,从事特定行业、需要这些常用数值的人们就会购买相应的数学用表(从简单的加法表到对数表和三角函数表等等),以供查询。


而这些表中的数值,是由数学家们借助简单的计算工具(如纳皮尔棒)一个个算出来的,算完还要核对。脑力活硬生生沦为苦力活。而且,人们除了动手,还需要动脑,甚至动口(念口诀),必要时还得动笔(记录中间结果),人工计算成本很高。而但凡是人为计算,总难免会有出错,而且还不少见,常常酿成航海事故。机械计算设备就在这样的迫切的需求背景下应运而生。


17世纪,人们开始尝试使用机械装置完成一些简单的数学运算(加减乘除,也就出现了机械时期最早出现的计算机——契克卡德计算钟(Rechenuhr)

 


机械式计算的第一台设备

 

说到机械式计算器,那就不得不提契克卡德——现今公认的机械式计算第一人,你也许没听说过他,但肯定知道天文学家开普勒。契克卡德和开普勒出生在同一城市,两人既是生活上的好基友,也是工作上的好伙伴。正是开普勒在天文学上对数学计算的巨大需求促使着契克卡德去研发一台可以进行四则运算的机械计算器。


威廉·契克卡德(Wilhelm Schickard 1592-1635),德国数学、天文学教授。

 

1623年~1624年,威廉·契克卡研制出第一台计算器设备——德契克卡德计算钟Rechenuhr


 让我们来近距离观察一下

 Rechenuhr支持六位整数计算,主要分为加法器、乘法器和中间结果记录装置三部分。其中位于机器底座的中间结果记录装置是一组简单的置数旋钮,纯粹用于记录中间结果,仅仅是为了省去计算过程中笔和纸的参与。如果数值达到上万、上百万,这些机器可以大大减轻人工负担、降低出错概率。

 

接下来,我们一起来看看这里的加法器和乘法器的是如何使用和计算的。

 

乘法器部分其实就是对纳皮尔棒的改进,简单地将乘法表印在圆筒的十个面上,机器顶部的旋钮分有10个刻度,可以将圆筒上代表0~9的任意一面转向使用者,依次旋转6个旋钮即可完成对被乘数的置数。横向有2~9八根挡板,可以左右平移,露出需要显示的乘积。

 

以一张纪念邮票上的图案为例,被乘数为100722,乘以4,就移开标数4的那根挡板,露出100722各位数与4相乘的积:04、00、00、28、08、08,心算将其错位相加得到最终结果402888。


为纪念Rechenuhr 350周年,1973年西德发行的邮票。


加法器部分通过齿轮实现累加功能,6个旋钮同样分有10个刻度,旋转旋钮就可以置六位整数。需要往上加数时,从最右边的旋钮(表示个位)开始顺时针旋转对应格数。以笔者撰写该部分内容的时间(7月21日晚9:01)为例,计算721+901,先将6个旋钮读数置为000721:


 

随后最右边的(从左数第六个)旋钮顺时针旋转1格,示数变为000722:


 

第五个旋钮不动,第四个旋钮旋转9格,此时该旋钮超过一圈,指向数字6,而代表百位的第三个旋钮自动旋转一格,指向数字1,最终结果即001622:



这一过程最关键的就是通过齿轮传动实现的自动进位。Rechenuhr使用单齿进位机构,通过在齿轮轴上增加一个小齿实现齿轮之间的传动。加法器内部的6个齿轮各有10个齿,分别表示0~9,当齿轮从指向数字9的角度转动到0时,轴上突出的小齿将与旁边代表更高位数的齿轮啮合,带动其旋转一格(36°)。

 

没错,就是逆时针旋转加法器的旋钮,单齿进位机构同样可以完成减法中的借位操作。而用这台机器进行除法就有点“死脑筋”了,你需要在被除数上一遍又一遍不断地减去除数,自己记录减了多少次、剩余多少,分别就是商和余数。


由于乘法器单独只能做多位数与一位数的乘法,加法器通常还需要配合乘法器完成多位数相乘。被乘数先与乘数的个位相乘,乘积置入加法器;再与乘数十位数相乘,乘积后补1个0加入加法器;再与百位数相乘,乘积后补2个0加入加法器;以此类推,最终在加法器上得到结果。


你学会了吗?


总的来说,Rechenuhr结构比较简单,但也照样称得上是计算机史上的一次伟大突破。而之所以被称为“计算钟”,是因为当计算结果溢出时,机器还会发出响铃警告,可以说是十分智能了。


但可惜的是,契克卡德制造的机器在一场火灾中烧毁,一度鲜为人知,后人从他在1623年和1624年写给开普勒的信中才有所了解,并复制了模型机。

 


正如阿姆斯特朗首次登上月球时所说的“一个人的一小步,却是人类的一大步”,计算器衍生到今日,算盘、契克卡德计算钟早已退出历史的舞台,但不可否认的是,它们是人类向前迈进的“一大步”。这些伟大的发明,经过无数次更迭和创新,才成为今日造福于人类的伟大创造!


有一天,当人类激动地迎接量子计算机时代的到来时,也应该回望在历史中闪耀智慧之光的伟大发明。



你还知道哪些计算器呢?欢迎留言分享!

 


来源:

  • 逸之@简书




- End -


     往期热门资讯:        





公众号ID:ikanxue

官方微博:看雪安全

商务合作:wsc@kanxue.com


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存