后摩尔定律的新型计算范式
点击蓝字,关注老石谈芯
目 录
什么是计算机体系结构?
何时是摩尔定律的终点?
在摩尔定律的黄昏,如何继续保持计算机性能的不断进步?
后摩尔定律的新型计算范式
结语
很多世界顶尖的“建筑师”可能是你从未听说过的人,他们设计并创造出了很多你可能从未见过的神奇结构,比如在芯片内部源于沙子的复杂体系。如果你使用手机、电脑,或者通过互联网收发信息,那么你就无时无刻不在受益于这些建筑师们的伟大工作。
Doug Burger博士就是这群“建筑师”里的一员。他现任微软技术院士(Technical Fellow),曾任微软研究院杰出工程师、德克萨斯大学奥斯丁分校计算机科学教授。2018年,Doug Burger在微软研究院的播客里分享了他对后摩尔定律时代芯片产业发展的观点与愿景,并展望了人工智能时代芯片技术的前进方向。
(图片来自微软)
老石对他的观点进行了整理和采编。本文是第一篇,主要讲述了Doug Burger博士对当前芯片产业变革的宏观把握与解读。文章很长,但全部是他几十年从业经验的深入浅出的阐述,尽显大师之风,值得一读。
注:下文中的“我”均指Doug Burger博士。
1.什么是计算机体系结构?
严格来说,计算机体系结构是硬件和软件之间的接口。它也可以看成是计算机软件与硬件的一种交互方式。比方说,我制造一个芯片、一个电路系统、一个硬盘或者内存,所有的这些东西在你使用它们之前,都只是“死”硬件。如果要想使用他们,你必须有办法和他们进行交互。所以,所有这些硬件都有自己相应的方法,与其他硬件或软件进行交互,而这就是计算机架构。你可以把它看作是计算机最底层的“语言”。
在宏观上讲,计算机体系结构其实也是一种将人与晶体管相互联结与沟通的方式。事实上,为了实现人对晶体管的控制和交流,在两者之间有很多层次。我刚才描述的计算机架构,其实就是其中非常接近底部的一个层次。
2. 何时是摩尔定律的终点?
很多人,包括我在内,认为摩尔定律可能行将结束。首先,请允许我介绍一些半导体与数字电路的背景知识。
本质上,我们研究的所有这些数字计算,都是建立在“开关”和“导线”上的。想象一个电灯开关,你轻弹它,它就会打开;你再轻弹它,它就会关闭。其实,晶体管的本质就是一个开关,而“晶体管”只是这个开关的一个好听的名字。
当我们有了晶体管,就可以开始把它们放在一起,组成稍微复杂一点的结构。当我们把许多晶体管通过一定的方式连接在一起,就得到了一个逻辑门,能够完成“与、或、非”的逻辑操作。比如,“非门”就是把零变成一;把一个0和一个1进行“或”操作就会得到1;把一个0和一个1进行“与”操作就会得到0,等等。这些都是最基本的通用逻辑函数。而通过这些逻辑门,我们就可以继续构建更加复杂的电路结构。
在很多年以前,我们使用机械继电器制造计算机,然后又使用了真空管,然后进一步使用了电子管。当然,现在人们发明了晶体管和集成电路。这是一件举足轻重的大事,因为晶体管的发明使得我们能将计算机集成到一个芯片上。
在上世纪六十年代中期,戈登摩尔在他的论文中指出,晶体管的密度能在一年半或两年的周期里翻一番。这样就使得同样的芯片每过两年就能装进两倍数量的晶体管。
(图片来自网络)
在1975年,他进一步修改了这个规律,提高了晶体管密度增长速度的预期。如他预测的那样,在过去的50年中,每隔几年晶体管密度都会翻番,形成指数级的增长,见下图。同时,用晶体管进行计算的成本也在50年间指数级下降。
而这就是驱动人类社会飞速发展的根本动力。比如,互联网和计算科学的发展,以及相比从前便宜太多的基因测序等等。这简直太疯狂了。
(图片来自网络)
然而在目前,这种增长速度在50年来首次放缓。这种增长并没有完全停止,但是速度明显变慢了。这有可能是增长的节奏的确变慢了,也有可能是每一代半导体制程技术之间的发展时间变长了。但根本问题是,我们遇到了原子极限。
虽然人们已经制造出了单原子甚至单电子晶体管,但问题并不是我们能不能造出来这样的单个晶体管,而是能不能造出来一个包含100亿个这样晶体管的芯片。这本质是个经济问题,因为在技术上,我们是可以制造更小的设备和器件的。但能否让这些设备稳定工作、并以足够低的价格把它们卖出去,则是另外一个问题。
另一件值得注意的事情是,当我们逐渐接近原子极限时,再使用传统的晶体管制造技术已经几乎不可能了。传统的晶体管是个非常简单的结构,而现在已经演变成了非常复杂的3D结构。所以,如果我们尝试继续缩小晶体管的尺寸,就会更加复杂。例如,需要控制量子隧穿效应,以减少漏电流的产生,这就像当我们关闭开关时,它就应该完全关闭。对于这些问题,人们总是能够找到很多极具创意的解决方法,只不过越来越难了。
(下图是FinFET发明者胡正明教授介绍FinFET技术的视频截图)
3. 在摩尔定律的黄昏,如何继续保持计算机性能的不断进步?
我们现在正处于一个充满变数的时代。随着摩尔定律走向终点,集成电路在功耗和成本上的降幅可能会越来越慢,同样的,电路速度的增长也会慢慢衰减。然而,在计算科学的其他分支,比如存储密度、闪存、网络速度,以及光学等领域,仍然有着令人激动的发展。同时,人们也在研究全新的计算机结构,例如DNA计算等等。
对于这些新兴的计算机结构,它们往往有很多内在的规律等待人们的发现。与传统的计算模型相比,这些新结构的计算结果通常是基于统计学的表达,或者以概率的形式呈现出来。
因此,这些都是一些完全不同的计算模式,而50年前我们甚至不知道它们的存在。
另外一种变革,则是计算机和集成电路材料的发展,比如人们一直在研究的碳纳米管等等。然而,我认为这些新材料距离真正的大规模使用,可能还需要十年左右的时间。
对于这些研究,人们已经投入了成千上万亿美元。然而作为一个研究人员,我一直在担心这样一个问题:比如你正在研发一个技术X时,出现了一个更有前景而且更好的技术Y,但如果此时X已经发展的足够好了,再发展Y就会需要投入更多额外的代价,因此Y就永远不会得到发展。
这一点,其实很类似当前的硅基半导体和非硅基半导体技术的博弈。也许世界上有着比硅更好的半导体材料,但永远不会被大量使用,这就是因为我们已经在硅基半导体上投入了太多。
4. 后摩尔定律的新型计算范式
不管怎样,当前我们的计算机架构是一种非常通用的结构,可以适用于各种应用场景。这种计算机架构的基础,叫做“冯诺依曼体系”。
作为一种经典的计算机体系结构,冯诺依曼体系已经出现并发展了很长时间。然而由于摩尔定律逐渐步入黄昏,从这种计算体系中获得的收益也在不断放缓。我们甚至可以看到,整个数字计算的生态系统也在不断破裂和趋于多样化。
例如,出现了诸如神经计算的新型计算范式。我认为神经计算极其有趣,它本质也是一种可编程、可自动学习的模型。尽管人们在人工智能方面取得了长足的进展,可是对于神经计算或类脑计算的工作原理和方法仍然所知甚少。
对于这类计算模型,它的内在工作机理极其神奇,有可能我们永远也无法理解和掌握。而像这样的计算范式还有太多种。
对于我们正在使用的计算模型而言,它的特点是所有的计算层级都是确定性(deterministic)的。具体来说,对于同一个运算,不管你运行多少次,每次的计算结果都是一样的。这种计算模型有明确的能力边界,并且可以在这个边界内有效的表达各种计算,这也是计算机科学家们说的图灵完备。
同时,这个计算模型有着明确的层次划分。每个计算层次在隐藏和抽象内部复杂性的同时,还向外界提供相对简单的通信接口。随着后摩尔定律时代的到来,这些计算范式和模型都将变的越来越复杂。
更有趣的是,和计算机相关的问题既非常简单,也同时非常复杂,这两者往往同时存在。比如,计算机和集成电路的核心基础都非常简单,例如开关、逻辑门、加法器、二进制运算等等。甚至在计算机里使用的数学都是只有0和1的二进制,而不是从0到9的十进制。
不过,它的复杂之处在于对整个系统进行的大量优化。计算机和集成电路可以说是人类有史以来创造的最复杂的东西。可以想象一下,在一个邮票大小的东西上放置50亿个开关,并让这些开关按照某种方式飞速运转。我只能说,这一切都太神奇了。
微软剑桥研究院的西蒙·佩顿·琼斯教授(下图)曾经说过,计算机、软件和架构是人类最令人惊叹的创造。计算机硬件和软件的区别在于,计算机软件十分自由,你可以写任何程序,而不必考虑太多限制。
(图片来自网络)
然而对于计算机硬件,你必须考虑可用的硬件资源。比如,芯片的面积只有几个平方厘米或者更小,因此设计者必须仔细考虑包含哪些组件、如何抽象,以及如何对各种性能指标进行权衡。这就好比你的书包大小有限,因此你需要考虑如何选择正确的书,并将它们以正确的方式排列,来填满这个书包。在很多时候,你想放点东西进去,就得拿点别的东西出来。
对于一个硬件设计,人们往往希望它在有限的尺寸限制内,能够完成更多的任务,并且希望它能更加高效、快速、并且简单易用。因此,所有这些问题都需要仔细权衡,而这就像一种源于科学的艺术。而当前有一些人,则是这个领域的真正的艺术家。比如,Jim Keller在这个领域非常有名,目前在英特尔做系统架构师;Bob Colwell,已从英特尔退休;还有Uri Weiser,也来自英特尔,等等。
(图片来自网络)
虽然这些人都来自工程和科学领域,但他们对艺术也有着深刻的理解,因此他们能够创造很多与众不同的方法和设计。当你看到一个出色的设计,你就能体会到它的美感。
5. 结语
科技的发展离不开大师的推动。作为从业者,我们应该高兴生于这个风起云涌的年代,因为这里随处充满了无穷的机遇和挑战。作为普通人,我们也应该高兴生活在这个时代,因为能够享受科技的发展为生活带来的无尽便利。
在下篇文章中,老石将继续分享Doug Burger博士对微软Catapult项目、以及他对FPGA的理解和专业阐述。敬请期待。
点击
阅读原文
看更多原创芯文、芯情、芯事