不用电的计算机(一)
图片来源于网络
1967年,马德里手稿(Madrid Manuscripts)发现不久后,古亚特利博士(Dr. Guatelli )赴美国麻省理工学院(MIT:Massachusetts Institute of Technology)图书馆研究草图,他将此与包含有很多齿轮传输的大西洋手稿(Codex Atlanticus)相结合。1968年,古亚特利博士复制出类似的机器,现陈列在IBM展览馆。
图片来源于网络
图片来源于网络
图片来源于网络
加法器部分通过齿轮实现累加功能,6个旋钮同样分有10个刻度,旋转旋钮就可以置六位整数。需要往上加数时,从最右边的旋钮(表示个位)开始顺时针旋转对应格数。以计算721+901为例,,先将6个旋钮读数置为000721:
图片来源于网络
随后最右边的(从左数第六个)旋钮顺时针旋转1格,示数变为000722:
图片来源于网络
第五个旋钮不动,第四个旋钮旋转9格,此时该旋钮超过一圈,指向数字6,而代表百位的第三个旋钮自动旋转一格,指向数字1,最终结果即001622:
图片来源于网络
这一过程最关键的就是通过齿轮传动实现的自动进位。Rechenuhr使用单齿进位机构,通过在齿轮轴上增加一个小齿实现齿轮之间的传动。加法器内部的6个齿轮各有10个齿,分别表示0~9,当齿轮从指向数字9的角度转动到0时,轴上突出的小齿将与旁边代表更高位数的齿轮啮合,带动其旋转一格(36°)。
由于乘法器单独只能做多位数与一位数的乘法,加法器通常还需要配合乘法器完成多位数相乘。被乘数先与乘数的个位相乘,乘积置入加法器;再与乘数十位数相乘,乘积后补1个0加入加法器;再与百位数相乘,乘积后补2个0加入加法器;以此类推,最终在加法器上得到结果。
帕斯卡计算机(Pascal's calculator or Pascaline)
布莱士·帕斯卡(Blaise Pascal )法国数学家、物理学家、哲学家、散文家,国际单位制中压强的单位帕斯卡即以其姓氏命名。
图片来源于网络
科学家帕斯卡利用了齿轮啮合原理制造了十进制加法器,当齿轮旋转一周,10个齿中最长的齿会和更高位数的齿轮啮合实现进位。同样的道理,反过来旋转则是减法计算。但这一类进位机构有着一个很大的缺陷——齿轮传动的动力来自人手。同时进行一两个进位还好,若遇上连续进位的情况,你可以想象,如果999999+1,从最低位一直进到最高位,进位齿全部与高位齿轮啮合,齿轮旋转起来相当吃力。于是,帕斯卡将装置改造成借助重力进位的一种高级齿轮形式sautoir。
图片来源于网络
sautoir这词来自法语sauter(意为“跳”)。这种装置在执行进位时,先由低位齿轮将sautoir抬起,而后掉落,sautoir上的爪子推动高位齿轮转动36°,整个过程sautoir就像荡秋千一样从一个齿轮“跳”到另一个齿轮。这种只有天才才能设计出来的装置被以后一百多年的许多机械师所称赞,而帕斯卡本人对自己的发明就相当满意,他号称使用sautoir进位机构,哪怕机器有一千位、一万位,都可以正常工作。连续进位时用到了多米诺骨效应,但是由于sautoir装置的存在,齿轮不能反转,每次使用前必须将每一位(注意是每一位)的齿轮转到9,而后末位加1用连续进位完成置零。
既然sautoir装置导致齿轮无法反转,那么减法该怎么办呢?帕斯卡开创性地引入了沿用至今的补码思想。十进制下使用补九码,对于一位数,1的补九码就是8,2的补九码是7,以此类推,原数和补码之和为9即可。在n位数中,a的补九码就是n个9减去a,可以有以下推导过程:
图片来源于网络
也就是说,a-b的补码等于a的补码加上b,减法转换成了加法。
Pascaline在显示数字的同时也显示着其所对应的补九码,每个轮子身上一周分别印着9~0和0~9两行数字,下面一行该位上的表示原数,上面一行表示补码。当轮子转到位置7时,补码2自然显示在上面。
图片来源于网络
帕斯卡加了一块可以上下移动的挡板,在进行加法运算时,挡住表示补码的上面一排数,进行减法时就挡住下面一排原数。
图片来源于网络
这里主要说一说减法怎么做,以计算150723 - 2053为例,置零后将挡板移到下面,露出上面表示补码的那排数字:
图片来源于网络
输入被减数150723的补码849276,上排窗口显示的就是被减数150723:
图片来源于网络
加上被减数2053,实际加到了在下排的补码849276上,此时上排窗口最终显示的就是减法结果148670:
图片来源于网络
本文主要讲解了早期计算机的一些简单实现,下一篇文章会讲到《现代计算机真正的鼻祖——差分机》,敬请期待。另外我在找资料的过程中发现已经有前人涉及这个议题了,写的相当详细,大家感兴趣可以看一下《改变世界:计算机发展史趣谈》。不过计算机的物理实现不是我的侧重点,所以很多地方会点到为止,最终还是得尽快回归到现代计算机的软件发展上。
引用:
- http://blog.sina.com.cn/s/blog_5d6c51170102xu4z.html
- https://zhuanlan.zhihu.com/p/56268805
- https://blog.csdn.net/weixin_34138585/article/details/118848591
- https://www.jianshu.com/p/4f69217a58f8?t=123
- https://v.qq.com/x/page/d0875gbwcxv.html
本文来自博客园,作者:morningli,转载请注明原文链接:https://www.cnblogs.com/morningli/p/15895939.html