为什么不使用可逆闸门?


25

我读过库兹韦尔(Kurzweil)写的《奇点就近》这本书,他提到了可逆门,例如弗雷德金门。使用此类门的优势在于,我们可以消除与计算有关的热浪费,因为这些计算只是比特消失了,而计算不需要任何能量输入。这些假设使这些门听起来像是一个奇迹解决方案。因此,问题在于哪些技术障碍仍在阻止其大规模使用。

我还认为我从未听说过德国顶级大学的电气工程学士和硕士课程中的这些闸门真是可耻...


5
请注意,量子计算在很大程度上与可逆门有关(这是“单一”含义的一部分)。
David Richerby,2015年

1
@DavidRicherby并非所有的量子计算都是可逆的。最终会出现退相干。
爱丽丝

请注意,任何使用可逆门的实用计算机仍会产生热量,因为您需要执行错误校正以保持计算机正常运行。纠错本质上要求不可逆的操作(或连续提供零位;相同的差)。
Craig Gidney

Answers:


18

我绝不是这个主题的专家,而只是从随便阅读Wikipedia:

它依靠球形台球在无摩擦的环境中的运动,该环境由缓冲制成,球可以完美地反弹

...这听起来很现实。

到目前为止,还没有人真正想出如何实际制造这种闸门,它们只是理论上的兴趣。这也许可以解释为什么您从未听说过它们,因为工程通常涉及实践。

可逆计算的前提是,当一点点消失时,会产生一些热量。通过使用可逆门,就不会出现或消失任何比特,因此,据称使用可逆门可以提高计算效率。

可逆计算声称绕开的理论极限是,擦除1位信息会在热量中产生至少能量。对于运行在烤面包机的计算机,该计算机具有晶体管,每个使位以的速率消失,这相当于的热量产生。那仅占计算机能耗的一小部分()。ķŤln260C1095GHž16w ^1个/10000

我们当今的计算机不受与位消失相关的热量产生的限制。它们受到在微小的铜迹线上移动电子的固有效率低下的限制。


5
-1。有些人制造了可逆门,并用它们制造了整个CPU。在cise.ufl.edu/research/revcomp上有该可逆逻辑CPU的照片
大卫·卡里

2
@DavidCary,但它们的效率(或微不足道)比不可逆门制造的计算机要高。
user253751'2

3
@immibis明显不正确;它们与使用不可逆门制成的计算机不受相同法律的约束,因此效率大大提高。
爱丽丝

3
@DavidCary请向我展示一些有关链接到的CPU效率的数据。我所看到的只是一张带有“绝热”字样的CPU的图像,但是没有任何信息表明它比传统计算机的效率高多少。
2015年

1
@TomvanderZanden如果您未指定哪种效率,则测量效率会有点用。RISC芯片在芯片大小方面比CISC芯片更有效,但在指定任何给定算法所需的指令数量方面却没有。任何可逆电路都比传统电路效率更高,因为它不受Landauer原理的约束。那已经是一个巨大的胜利。
爱丽丝

15

实际可逆闸门(可以(并且已经)用硅制造的闸门)的问题在于,实际节能量与运行速度之间呈线性比例关系。

我知道汤姆·奈特(MIT)的研究小组在1990年代后期制造了一个小型绝热处理器。他们开发的实用逻辑系列称为分离级电荷恢复逻辑,可以使用标准(CMOS)制造技术来实现。我相信佛罗里达州立大学的Michael P Frank会继续进行这项工作。汤姆·奈特(Tom Knight)小组的工作示例是以下硕士学位论文(该论文在1990年代初期的相关工作中有相当不错的部分。)维耶里,CJ:摆锤:可逆计算机体系结构,硕士论文,MIT EECS部,1995年。

可逆回路必须是绝热的(回路与周围环境之间不能进行热交换),这意味着它们必须始终处于平衡状态。对于任何需要更改某些内容的过程,您只能通过使更改尽可能缓慢地进行来近似平衡。

如果我正确地记住了我的热力学,则可以任意减小可逆计算的能量,但是最小作用(能量乘以时间)必须是一个小的常数。


2
您不会正确地记住热力学。Landauer原理不需要可逆电路支持(因为它不会擦除位),因此理论上所需的能量可以为零(并且不会释放热量)。可逆电路也不必是绝热的。已经制成了实用的可逆门,其速度不比不可逆芯片慢(考虑到可逆芯片通常较大,因此光延迟时间增加了)。
爱丽丝

“光延迟速度加快”:您是指可逆光学芯片吗?大多数芯片是电子的。
zylstra

6

防止大规模使用的最大障碍与异步电路相同,几乎与任何其他非标准电路设计相同:摩尔定律。

摩尔定律已经成为一种自我实现的预言。如Tick Tock发布时间表所示,芯片制造商将遵守摩尔定律视为挑战。由于需要满足摩尔定律,因此我们越来越擅长通过推进光刻(并经常使用作弊技术,例如多图案化)来减小芯片尺寸。

所有这些与可逆闸门有什么关系?随着代工厂竞相发布更新和更小尺寸的晶体管,想要打印新芯片的公司看到了一条简单的途径,即通过增加更多的缓存并重新设计其传统设计以更好地利用该缓存来提高速度。

更好的杀手不是技术伤害。这是足够好的成功。


1
希望有一天足够好不再足够了。
Mehdi 2015年

@Mehdi我们都不要。但是我不确定。能源目前很便宜,并且有办法使当前周期至少再延续5年(如果我们找到一种使某些技术起作用的方法,则可能是10年)。在那之后,某些新技术将不得不代替光刻技术,但是3D光刻技术可以通过以相同的间距但沿不同的方向构建而提供更密集的芯片,这可能使我们在2050
Alice

3

有用的计算设备需要反馈,这使得一个电路元件可以执行基本上无限数量的顺序计算。可用的反馈电路必须包含这样的部分,这些部分的输入总数(计算从输出反馈的和非输出的总数)都超过反馈到输入的输出的数目(唯一的方法是将输入的数目如果电路对外部刺激没有任何反应,则将超过反馈输出的数量)。由于完美的可逆逻辑功能不能具有比输出更多的输入,因此不可能从它们构造重复执行任何非平凡计算任务所需的任何反馈结构。请注意,使用当今计算机中使用的CMOS技术,需要反馈,以确保电路的不同部分中的计算报告的结果可同时提供给其他部分,因为如果不是信号到达的相对定时,则会构成无法完美地传递到下游的“信息”;其他技术可能使许多门能够以完全相同的速率传播信号,同时又保持可逆性,但是我不知道有什么实用技术。

请注意,从CS的角度来看,如果一个计算介质具有初始为空的存储介质,而该存储介质的大小基本上与步数乘以每步可以改变的状态量成正比,那么使计算过程可逆是很简单的。该要求与上一段的要求不矛盾,因为与步数成正比的存储将需要与步数成正比的电路,这将意味着与消除所有反馈后所需的量成比例的电路。

如果在给定适当的输入条件下,如果输出永远不会升高,则允许忽略这些输出,那么有可能设计一种理论上可逆逻辑的系统。例如,如果某人有一种算法可在256字的RAM块上运行,而又想使用“可逆逻辑CPU”,该算法每秒执行1,000,000次操作,而每个操作都更新了寄存器,程序计数器或一个内存一词,可以使用“可逆CPU”,它可以:

  • 运行了一堆指令,然后每条指令将覆盖的内容发送到LIFO缓冲区
  • 在执行一堆指令后,将RAM复制到初始为空白的“转发”缓冲区中
  • 使用LIFO中的值,以相反的方式运行所有计算
  • 用转发缓冲区覆盖主RAM的内容,该内容将在此过程中删除。

可以重复上述方法任意次,以运行算法任意数量的步骤;只有配方的最后一步是不可逆的。在不可逆操作中,每个算法步骤花费的能量与LIFO的大小成反比,因此,如果要构建一个足够大的LIFO,则可以任意减小它的能量。

但是,为了使这种能力转化为任何形式的节能,都需要有一个LIFO,它可以在输入信息时存储能量,并在读出信息时有用地返回能量。此外,LIFO必须足够大才能将状态数据保存足够的步骤,以使使用它的任何能源成本都小于其有效节省的能源量。鉴于从任何实际的FIFO中存储和检索N个字节所损失的能量不太可能为O(1),因此不清楚增加N会有意义地减少能量消耗。


1
@LoganMayfield:我认为您忽略了要求的磁带长度与可逆执行的步数成比例的要求。如果将墨盒插入Atari 2600中并打开电源一段时间,则每天将运行约1000亿个循环。由于该系统(包括除最大墨盒以外的所有墨盒)将具有少于100,000个晶体管,因此每个晶体管每天要超过一百万个周期。如果有人想设计一台可以完全可逆地运行一天的等效机器,甚至能够以每位晶体管制作一个可逆LIFO的能力……
supercat

1
...有必要将晶体管的数量增加一百万倍以上。如果只需要一次可逆地运行几千个周期,则捕获结果,倒回这些周期,然后用捕获的结果替换先前的初始状态,这可能几乎是可行的,但会非常复杂。如果采用与当今技术类似的技术,则任何通过使用可逆计算而获得的“理论上不可避免的”损失的减少都将被功率损失的增加所淹没,而这些损失是理论上可以避免的。
2015年

1
我只关心您最初的回答是说:“可逆技术无法计算出与不可逆技术相同的事物”。我并不是要暗示它是实用的。
Logan Mayfield

1
@LoganMayfield:最初的问题是“为什么不使用这些东西”。我建议几乎所有实际的计算设备都以这样的方式使用反馈:如果给定无限制的时间,则固定数量的硬件将能够执行无数的计算。这是可逆逻辑无法做到的。这是可逆和不可逆计算之间的主要定性差异。也许即使是在“倒带”之前只能运行有限数量的操作的计算机仍然有用,所以……
supercat

1
...我已经编辑了该帖子,说出使用这种东西进行任何有意义的工作需要什么。我认为基本的实际问题源于我最初所说的:计算机能够重用电路元件任意次数以执行不同的计算,从而获得了绝大部分的收益。可逆的逻辑处理将使它处于严重不利的境地。
2015年

2

实际应用的可逆计算是一个活跃的研究领域,并且将来可能会变得更加突出。可以看出,大多数量子计算都在尝试创建可逆的量子位门,并且在实验上很难与QM形式主义的理论性质相匹配,但是正在取得稳定的进展。

另一个基本要点是,每当芯片上的能耗降低时,本质上就是使门系统变为“可逆性更高”,而低能耗的芯片耗损在很长一段时间以来一直是移动计算领域的首要任务(代表着一种全行业范式转换)。几十年来,芯片性能的提高(类似于摩尔定律)是由于有些“松弛”甚至“马虎”的能量消耗而实现的,但几年前达到了收益递减的地步。全球领先的芯片制造商英特尔正试图向低功耗芯片发展,以与Arm竞争。

最近有一些使用超导技术的突破性研究(2014年6月),并且该领域还有其他活跃的研究项目。

参见例如使用绝热超导器件的可逆逻辑门 /竹内,山梨,吉川,自然界:

自Rolf Landauer提出论点后,人们就开始研究可逆计算,这一论点被称为Landauer原理。该原理指出,可逆计算中的逻辑运算没有最小的能量消耗,因为它没有伴随信息熵的减少。但是,到目前为止,还没有证明实用的可逆逻辑门。问题之一是必须通过使用极其节能的逻辑器件来构建可逆逻辑门。另一个困难是可逆逻辑门必须在逻辑和物理上都是可逆的。在这里,我们提出了使用绝热超导器件的第一个实用的可逆逻辑门,并通过实验证明了门的逻辑和物理可逆性。此外,我们估算门的能耗,并讨论可逆逻辑运算所需的最低能耗。可以预期,这项研究的结果将使可逆计算从理论阶段过渡到实际应用。


1

弗雷德金(Fredkin)门很现实,已经实施了许多。整个FPGA电路板严格使用可逆逻辑门,这些逻辑门使用Fredkin和Toffoli门作为其LU来实现。

有几个问题影响它们在计算机体系结构中的广泛使用。弗雷德金门有几个“广告化”的优点,不一定能在实际电路中按预期工作。可逆逻辑门的节能主要是由于在执行操作时不需要创建熵。正如Tom van der Zanden所说,这是可逆逻辑可以更高效的主要原因。为什么在实际电路中不是这样:

  1. 当前,晶体管技术更多地限制了计算机的速度和功耗,不幸的是,与传统的“与非”或“或非”门相比,制造更多的弗雷德金门需要更多的晶体管。这意味着弗雷德金门通过晶体管泄漏浪费更多的能量,并且在硅上需要更多的空间(这意味着更昂贵)。仅此一项就足以证明在Fredkin Gates上使用nand / nor
  2. 由于功率损耗的主要形式是晶体管产生的,而不是由于实际计算而产生的熵,因此,您仍然需要将电源线和地线连接到弗雷德金栅极,以补偿这种功率损耗。这些大型总线是扇入式总线,在硅片上也占用了大量空间。由于在弗雷德金栅极中有更多的晶体管,这导致了更多的扇入,从而浪费了更多的硅空间。
  3. 尽管我们有可逆的弗雷德金门,但它们是由不可逆的器件(晶体管)构成的。这意味着某些能量增益无法通过电流门技术实现(在量子电路之外)。
  4. 尺寸和速度与硅片有关,它们之间的距离越近,通常它们制作得越快。由于弗雷德金门使用更多的晶体管,并具有更多的电源连接等,因此它们往往会变慢。
  5. 仅在成功重用位后才能实现功耗优势和速度优势。我们拥有的大多数算法都非常保守。通过研究使用fredkin门的全加法器或移位寄存器的实现,可以看到这一点。由于可逆逻辑不允许逻辑扇入和扇出,因此这导致很多位计算最终无法用于实现有用的操作。诸如将两个8位数字相加之类的操作将产生9位或有用的信息(8位结果,1个进位位),但是将需要具有多个1和0常数的输入总线,并产生许多垃圾数据输出位。由于总线较宽,因此会导致硅上的电路进一步分散。
  6. 此外,垃圾位必须由处理器转储,因此,因为它们从未使用过,所以无论如何都会导致能量损失

简介:实施实际算法时,Fredkin Gates会产生大量浪费计算。浪费计算=浪费的能源。因此,总线大小会增加,这会分散内容并降低速度。另外,弗雷德金门的物理实现是当前技术的更大关注。当前的实现方式通过需要更多的电源和地线来补偿电路中的损耗(这是对能量损耗的更大关注),并在硅上使用了更多的房地产(这是对速度的更大关注),从而使情况更加分散。 )

我意识到这是一条旧线程,但是许多答案都集中在晶体管效率低下这一事实上。我的目标是证明我们的算法效率低下并且不能很好地处理可逆计算。我是一位喜欢研究可逆和量子计算的计算机工程师

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.