APP下载

计算机的极限

2019-12-29心宿二

科幻世界 2019年8期

计算机是很多科幻作品中少不了的元素,但是描写计算机原理的却不多。《黑客帝国》里的电脑使用了人类作为能量来源。《银河系漫游指南》里面提到地球是一台用来计算的超级电脑。《三体》中的超级电脑是基于质子构造出的智子。那么,假使未来真的有一台达到理论计算极限的终极计算机,它到底会是什么样的?

理论极限是一个很有趣的问题。当我们聚焦到某项具体的技术时,经常可以估算出它的理论极限。但是,考虑到未来会出现革命性的新技术,这种估计就很可能相当不准了。

20世纪50年代出现的第一台计算机ENIAC重30吨,占地167平方米,运算速度是每秒10万次。其中包含了17468个真空管。单个真空管约几厘米长,而真空管的尺寸乘以数量就限制了这类计算机的大小。我们或许可以试着缩小真空管,考虑它的理论极限为何,但是这样得到的答案毫无意义,因为,真空管很快就被晶体管和集成电路取代了。

在晶体管时代,摩尔定律曾经一度主宰过它的技术发展。这个定律是说,集成电路上可以容纳的晶体管数目每两年就会翻一倍。当然,这不是什么自然规律,只是从技术发展上观察判断出的趋势。

随着晶体管的尺寸逐年下降,材料和制备工艺也有所改进。从家用电脑到笔记本电脑再到智能手机,现代社会的方方面面都受益于此。现在的笔记本电脑重3千克,运算速度是每秒数十亿次,比ENIAC强了一万倍。另一方面,将大量芯片连接起来构成的超级电脑,例如我国的天河二号,则能达到每秒数亿亿次的数量级。

然而,摩尔定律也遇到了它的“天花板”。设计成本和能量损耗已经变得越来越不划算,但更重要的是晶体管的尺寸快要接近物理极限了。目前的晶体管已经小至7纳米级,而5纳米级的芯片预计会在明年开始量产。更小的晶体管会产生量子隧穿效应而难以保持晶体管的特性。即使这个问题能解决,1纳米这个原子直径的尺寸也是难以逾越的鸿沟。人们正在试图用新的材料、制造工艺和架构为摩尔定律续一阵子的命,但总体上讲,这一技术的极限已经近在眼前。

倘若二十年前谈起计算机的极限,那么大多数人可能会以晶体管的极限来推断。但二十年后的现在,人们用量子计算找到了新的突破口。

量子计算机的原理相当艰涩,但衡量其算力的基本概念是量子比特数,即同时使用多少个互相纠缠的粒子态进行计算。量子计算中的“一次计算”相当于同时进行经典计算中的成千上万次计算,且其比例会随着量子比特数指数级增加,因此能够在晶体管尺寸以外开辟出计算力的全新可能性。

最近十年来,量子计算的研究可谓是突飞猛进。各大计算机公司都在将量子计算机从幻想变为现实。一方面,量子计算机的量子比特数在逐渐增加;另一方面,人们也在为量子计算开发所需量子比特数更低或是更普适的算法。就在今年年初,IBM刚刚发布第一款商用的量子计算机。今年6月,华为已经完成“昆仑”量子计算模拟一体机原型。以目前的发展速度看,应当会在接下来的5到10年里逐渐普及开来。

但在那之后,量子计算会如何发展,甚至超越量子计算的计算机会如何发展,现在的我们就难以想象了。

回到最开始的问题:既然现在的我们想象不到未来的技术革新,那么我们还能回答“计算机的理论极限是多少”这个问题吗?有趣的是,不依赖于具体技术的解答反而非常简单。早在2000年,物理学家塞斯·罗伊德(SethLloyd)的一篇文章就讨论过这个问题。他的解答只依赖于一些基本的物理定律及其解读,甚至可以帮我们想象出终极的计算机应该是什么样子。

如果计算机可以采用任何技术,那么限制它的就只有物理定律了。我们知道,所有计算都可以拆解成最小的逻辑门运算(例如与门、非门等等),而执行任何运算的时候都需要让计算机产生可以观测的变化——这个“可以观测的变化”就是塞斯·罗伊德(SethLloyd)的推理中最有趣的地方:经典物理中,观测量的变化都是连续确定的,因此“可以观测的变化”仅受限于测量精度。但是量子物理中就不同了。不确定性原理里面有一条叫作“能量-时间”不确定性原理。它的解读告诉我们,一个能量为E的系统,它从一个量子态变成另一个可以区分开的量子态的时间为t。

当计算机的质量给定之后,就可以从E=mc^2得知系统的能量,而上文中得到的t就是做一次量子态计算所需要的最短时间。这就是计算机计算速度的极限,与任何具体的算法和技术原理无关,也不可能通过并行计算这样的技巧提升——如果把计算机拆成两个单元做并行计算的话,每个单元的能量也比之前少一半,计算速度也会相应减慢,因此总的计算速度不会比拆分前更高。

当然了,这个极限计算速度比我们现有的计算机速度要高非常多。假设一台重一千克的笔记本电脑,用质能方程折算成能量之后算出的运算速度极限是每秒5.42*10^50次,这比现在的笔记本电脑运算速度要高40个数量级。

文章里还有另外两条结论:计算机的“内存”极限取决于系统的熵——这个涉及热力学和信息熵的概念;而计算机的尺寸限制了串行计算时的通信速度——因为计算机这一头计算出的结果想要传给另一头继续计算所需要的时间受限于光速,也就是越小就越快。

因此,一台“极限”的计算机会是一团被压缩成黑洞尺寸的极热基本粒子。由于在目前比较新的物理理论中黑洞是有辐射的,这就意味着黑洞能有输出,因此用黑洞做计算在理论上或许真的有那么些可行性。

塞斯·罗伊德甚至在文章里专门用了一个边栏来讨论黑洞计算机的能力:结合黑洞的寿命、质量和熵,一个重1千克的黑洞在完全蒸发之前的10^-19秒之内可以进行10^32次运算,内存则是10^16比特。

这么看来,和极轻的智子相比,将地球作为超级电脑会让计算力更高。设想一下,未来的程序员们不再是面对一台电脑写程序,而是根据所需要计算的问题精心设计一个小黑洞,然后再捕捉它完全蒸发后的痕迹分析结果,是不是相当有科幻的感觉呢?

【责任编辑:迟"卉】