可逆计算(1)

上述的关于在小体积内存储万亿万亿个电子元器件的想法包含一个假设,就是这个体积里包含的电路将分布于那个空间。它们将会是三维(3D)电路。但是今天的电路都是二维的,印制在硅芯片的表面上。为什么是这样的呢?为什么现代电子学不利用三维电路所具有的更大的存储能力呢?

答案和热量产生的问题有关,下面的几段将会解释。

在过去的几十年里,理论物理学家一直在自问有关计算物理学极限的一些基本问题。这个物理的分支被称为“计算物理学”(phys-comp或 physics of computation)。一个在物理计算学中被问到的问题就是:“进行一个基本的计算步骤所消耗的最低能量是多少?”

如果你把手放在你的PC上,或者你把你的笔记本放在自己的大腿上,就像我现在打字所做的一样,你将意识到你的计算机在产生热量。计算将不可避免地产生热量,是这样的吗?

在20世纪60年代,一名叫兰道俄(Landauer)的研究者发现,在计算机里产生热量的是“重新设置”内存寄存器(一个寄存器是一个存储0或1的线形存储链)的过程,也就是清除它们的内容并且重置为0。他发现当信息被“清除”或者“消灭”时产生了热量。

更技术性一点,清除寄存器内容意味着增加它的次序,让它少些随机性。在物理学中,“熵”(entropy,中文发音同“商”)的概念是用来测量一个物理系统的混乱程度的。举个例子,冰比水的熵要小,因为它多些次序,少些混乱。

一个称为“热力学第二定律”的基本物理定律声称,在封闭系统(一个能量不会传送出去或进来的系统)中熵值不会减少。所以如果一个寄存器的内容被清除,它的熵,它的混乱程度将减少,那么既然综合是不会减少的,多余的熵跑到哪儿去了呢?答案是以一种热的形式散发到计算部件的周围环境中。

现在的计算机产生热量,是因为我们一直使用热力学的非可逆过程(也就是说,我们在一段时间后是不能逆转影响的)。每当我们消除信息或清除比特的时候就产生热量。兰道俄认为这是不可逆转的,因为当他观察那个时代的计算机是怎样运行的时候,发现它们都充满了“与门”(AND gate)和类似的电路。

“与门”是电子线路中的一个基本成分,拥有两个输入信号线(A和B)和一个输出线。如果两个输入线都被设置为高电压(也就是说,这些线上有1),那么输出线将变成一个“1”,也就是说,如果输入线A和输入线B都设置为“1”,那么输出线将会是“1”。其他任何情况(也就是,A=0,B=0;A=0,B=1;A=1,B=0)输出线称为“0”。

既然在“与门”中有两个输入线包含总共两个比特的信息,并且只有一个输出线包含1比特信息,“与门”有必要消除信息。(如果你被告知系统处于两个可能状态的一个状态,你被给予了1比特的信息。例如,考虑一下这个问题,“日本人在路的哪一边开车?”当你被告知“在左边”后,你被给予了1比特的信息。)

每次两个比特通过“与门”,只有一个比特被输出。“与门”是不可逆转的,也就是说,你不是总能通过输出的来推断输入的是什么。举个例子,如果输出是1,那么你知道两个输入都是1,但是如果输出是0,你就不知道输入是否是(0,0)、还是(0,1),或者是(1,0)。一个门电路如果需要是可逆的(也就是说,你可以从输出推断输入的是什么,反之亦然),常理就是输入线和输出线是相同数目的。

人们开始梦想拥有相同数目的输入线和输出线的可逆基本电路(或“门”,一个“门”是一个基本的进行一些基本操作的电路,比如与门、或门、非门,等等)。一个这样的有名门电路就是拥有3个输入和3个输出的“Fredkin门”。Fredkin门是可逆的,所以没有任何比特的信息被消除。它也是“计算通用的”,也就是说通过把Fredkin门的输出连接到其他Fredkin门的输入端,更大的这些门电路就形成了,可以进行计算机需要执行的任何功能计算。

读书导航