EDUWIKI

人列计算机

人列计算机,在科幻小说《三体》中出现过。在小说里,有一个玩游戏的情节,游戏背景是宇宙中一个拥有三个太阳的星球,因为无法精确预测三个太阳运行的轨道,掌握不了它们何时升起、何时落下的规律,导致三体人时刻都处在死亡边缘。为了解决这个问题,三体上的学者冯•诺伊曼和牛顿决定使用三定律和微积分准确预测太阳的运行,并向三体星球上的统治者秦始皇进谏。他俩的诉求很简单,需要始皇帝提供三千万军队充当人列计算机,帮助他们解决算力的问题。虽然贵为天子,但是需要召集这么大规模的兵力,还是需要非常合适的理由。于是冯•诺伊曼使用三个士兵通过举旗的方式向秦始皇演示了如何构建计算机最最基本的计算单元与、或、非门,以及与非门、或非门、异或门、同或门和三态门;同时,进一步建言,组建一千万个这样的门部件,再将这些部件组合成一个系统,这个系统就能进行所需要的运算,解出那些预测太阳运行的微分方程。

关于计算机

计算机,这个名字对于二十一世纪的人类来说已经是熟悉不能再熟悉的名词了。虽然它被发明出来还不足百年,但是它给人类日常生活带来的改变却是无法比拟的。吃饭有它,穿衣有它,出行有它,住宿有它,甚至睡眠时也有它,它的计算与人类社会息息相关,它的计算无时无处不在,渗透到每个角落,很难想象今天没有计算的生活是怎么样的。没有网络,没有手机,对于很多人来说,一个小时也难以支持,它像空气一样成为了我们日常的必需品。可以说二十一世纪的时代,就是计算机的时代。

人列计算机出处

在小说《三体》里,有一个玩游戏的情节,游戏背景是宇宙中一个拥有三个太阳的星球,因为无法精确预测三个太阳运行的轨道,掌握不了它们何时升起、何时落下的规律,导致三体人时刻都处在死亡边缘。为了解决这个问题,三体上的学者冯•诺伊曼和牛顿决定使用三定律和微积分准确预测太阳的运行,并向三体星球上的统治者秦始皇进谏。他俩的诉求很简单,需要始皇帝提供三千万军队充当人列计算机,帮助他们解决算力的问题。虽然贵为天子,但是需要召集这么大规模的兵力,还是需要非常合适的理由。于是冯•诺伊曼使用三个士兵通过举旗的方式向秦始皇演示了如何构建计算机最最基本的计算单元与、或、非门,以及与非门、或非门、异或门、同或门和三态门;同时,进一步建言,组建一千万个这样的门部件,再将这些部件组合成一个系统,这个系统就能进行所需要的运算,解出那些预测太阳运行的微分方程。

能运算得到太阳运行规律的方程解,三体人就能精确地描述以后太阳运行的轨道状况,预测恒纪元与乱纪元持续的时间,提前脱水和冬眠,保存战力,顺利实现三体人的生存和繁衍。对于始皇帝来说,这是一个完美的结局,通过人列计算机,他能够提前知道太阳的运行规律,实现他社稷万世传承的梦想;但是对于三体人来说,他们得持续不断地提供三千万人来充当旗手,充当这人列计算机的基本算力。以人做算力,源源不断地提供三千万人来重复机械执行操作,对于现代人来说是不可思议的,是巨大的人力耗费,但对于三体人来说却是解决问题的一种很好的途径所在。

人列计算机原理

基本原理

人列计算机,其实就是一个二进制计算器。我们常用的数字是十进制数,该进制使用0~9十种不同的数字字符,在计数时需要逢十进位,即某一位数字加至十的时候,需要向前进位,并将当前位清零。最早人类采用十进制是因为人有十个手指头,用手计数时对应的就是这十个数字。

在数字电路中,由于每个点只能表示高电平(5V或3.3V)与低电平(0V)两种状态,因此不能用来表示十个不同的数字,只好使用二进制数。

像十进制一样,二进制使用了0、1两种不同的数学,并且采用了逢二进位,即某一位加至2时,向前进位并将当前位清零。所以二进制的数列是这个样子的:

0,

0+1=1,

1+1=10(因为结果是2,所以向前进一位,并且将个位清零),

10+1=11,

11+1=100(个位结果是2,向前进位,进位后个位为0,前一位为2,所以再向前进一位)……

逻辑

像四则运算可以操作十进制数一样,逻辑运算可以对逻辑数进行运算。一个十进制数可以有从负无穷大到无穷大无数个值,一个逻辑数只有两个值,即“真”或者“假”。四则运算有加减乘除四种基本运算,逻辑运算有与、或、非三种基本运算。

三种运算的细节在书里已经解释得很明白了。与和或运算有两个操作数,

A 与 B 为真时,意味着A和B的值都为真,其它情况下 A 与 B 的结果为假。

A 或 B 为真时,意味着A和B至少有一个值为真,当A、B都为假的时候 A 或 B 的结果为假。

非只有一个操作数,当A为真时,非 A 的值为假;当A为假时,非 A 的值为真。

一个可以实现逻辑运算的元件就是逻辑门,只要指定输入和输出,以及用什么来代表真和假。一般来说,我们用电路来实现逻辑门,用高电平(5V)表示真,用低电平(0V)表示假。也有些朋克人士尝试用蒸汽机和齿轮来制造这样的逻辑门。《三体》里出乎意料地用人来组成逻辑门的输入输出,用白旗黑旗来表示真和假,体现出一种集体与质朴的美感。

二极管的工作原理是,当阳极电平大于阴极时,二极管接通,阻抗为0,否则阻抗为无穷大。

可以看到在这个电路里,当A和B任何一个输入为0V,对应的二极管都会接通变为短路,输出0V。当A和B输入都为5V,两个二极管都无法接通,变为断路,输出5V。所以当我们指定5V为真,0V为假的时候,输出恰好等于 A 与 B 的结果,因此这个电路实现了与运算,可以看作一个与门。同样,我们可以用二极管和三极管来实现或门非门等等多种基本元件。