type
status
date
slug
summary
tags
category
icon
password
在过去的50年里,半导体器件的小型化一直是提高计算机性能改善的核心,正如物理学家理查德·费曼在1959年对美国物理学会的演讲中所预见的那样,“底部有足够的空间”。英特尔创始人戈登·摩尔观察到小型化的稳定速度,并预测每台计算机芯片的晶体管数量将每两年翻一番——一种被称为摩尔定律的节奏,直到最近还相当流行。此外,直到2004年左右,新的晶体管不仅更小,而且更快、更节能,为计算机提供了更快的速度和存储容量。摩尔定律普遍推动了经济的发展。
不幸的是,费曼的“机器人汤姆的房间”已经不再丰富了。国际半导体技术路线图预见了微型化的终结,而微处理器技术的领导者英特尔,已经承认了摩尔节奏的终结。事实上,英特尔在2014年生产了14纳米技术,但它将在2016年停止生产10纳米技术,直到2019年。尽管其他制造商继续小型化——例如,三星Exynos 9825和苹果A13Bionic——但他们也未能满足摩尔的节奏。在底部已经没有太多的空间了。
为什么小型化正在停滞?由于基本的物理限制——材料的物理学在原子水平上发生变化——以及芯片制造的经济原因,它正在停滞。虽然半导体技术可能能够生产小至2nm(20Å)的晶体管,但作为一个实际问题,由于收益递减,小型化可能在5nm左右结束。即使半导体技术人员可以推动事情更进一步,随着我们接近原子尺度,这样做的成本也会急剧上升。
在这篇综述中,我们讨论了在摩尔定律结束后计算机性能增长的替代途径。我们相信,机会可以在更高层次的计算技术堆栈中找到,我们称之为“顶级”。相应地,我们所说的“底部”是指在摩尔时代取得了显著进步的半导体技术。计算堆栈的层利用底部的晶体管和其他半导体器件进入顶部的有用计算,以解决现实世界的问题。我们把顶部分为三层: (i)硬件架构——执行计算的可编程数字电路; (ii)指示数字电路的计算内容的软件代码; (iii)算法-组织一个计算的有效的问题解决例程。 我们认为,即使底部的设备技术不再提供性能提升,顶部也将继续提供机会。
与摩尔定律不同的是,摩尔定律通过“提升所有的船”可以预见地提高性能,在顶部工作以获得性能将产生机会主义、不均匀和零星的收益,通常一次只改善特定计算的一个方面。对于任何一个给定的问题,收益都将受到收益递减定律的影响。从长远来看,收益将取决于将计算机应用于新问题,就像数字计算机出现以来所发生的那样。
在顶部工作以获得性能也不同于底部,它如何影响一个计算系统的整体。小型化所提供的性能并不需要在计算堆栈的上层发生实质性的变化,因为计算中的数字硬件、软件和数据的逻辑行为几乎完全独立于底层晶体管的大小。因此,上层可以利用更小和更快的晶体管,很少或没有变化。相比之下——不幸的是——顶部的许多部分是相互依赖的,因此,当一个部分被重组以提高性能时,其他部分必须经常适应开发,甚至容忍这些变化。 当这些变化通过一个系统渗透时,可能需要相当大的人力努力才能正确地实现和测试它们,这增加了成本和风险。从历史上看,在顶级的提高性能的策略与摩尔定律共存,并被用来加速需要比摩尔定律可以提供的更多的自动性能收益的特定应用。
在这里,我们认为在顶部有足够的空间,我们概述了在软件、算法和硬件三个领域的有希望的机会。我们通过示例和数据分析来探索这些领域可用的改进的规模。我们还讨论了为什么“大系统组件”将为获取这些收益提供一个肥沃的土壤。
软件
Moore时代的软件开发通常专注于尽量减少开发应用程序所需的时间,而不是在部署后运行该应用程序所需的时间。这种策略导致了程序的巨大效率低下,通常被称为软件膨胀。此外,许多现有的软件都没有利用芯片的体系结构特性,如并行处理器和矢量单元。在后摩尔时代,软件性能工程——重组软件以使其运行得更快——可以通过消除膨胀和根据硬件架构的特定特性定制软件,帮助应用程序更快地运行。
为了说明性能工程的潜在收益,请考虑用两个4096乘以4096矩阵的简单问题。让我们从一个用Python编码的实现开始,这是一种流行的高级编程语言。下面是关于矩阵乘法的Python 2四行核心代码:
该代码使用三个嵌套循环和基本线性代数中教授的方法。然而,事实证明,这种幼稚的代码让现代计算机上的大部分性能“消失了”。该代码在现代计算机上大约需要7个小时来计算矩阵乘积,如表1中的第一行(版本1)所示,仅达到了机器峰值性能的0.0006%。(顺便说一句,Python 3进行同样的计算大约需要9个小时。)

如何设计这个简单的矩阵乘法代码的性能呢?简单地选择一种更有效的编程语言,就可以大大加快计算速度。例如,用Java(版本2)编码它产生10.8×的加速,用C(版本3)编码它产生4.4×的额外加速,产生的执行时间比原始Python快47倍。这种性能的改进来自于减少程序执行的操作的数量。特别是,Java和C避免了Python在底层所做的无关工作,从而使编程更容易。这种性能提高的代价是程序员的生产力:C语言编码比Python编码更繁重,而Java介于两者之间。
尽管交换语言提高了近50×的速度,但利用硬件的特定特性使其运行速度快了1300倍。这一收益来自于并行化代码以在所有18个处理核心(版本4)上运行,利用处理器的内存层次结构(版本5),对代码进行向量化(版本6),以及使用Intel的特殊高级向量扩展(AVX)指令(版本7)。最终的操作时间代码只在0.41秒内完成任务——比原始Python代码的7小时快60000倍!
本例子的目的是说明从天真编码软件的性能工程中获得的潜在收益。在矩阵乘法的特殊情况下,一个好的程序员可以通过使用来自现有软件库的优化代码来避免这种编程工作。然而,如果她正在编写代码来解决一个新问题,她将需要自己优化代码。虽然不是每个应用程序都能通过性能工程提高近5个数量级,但大多数现代软件系统都有足够的机会来提高性能,特别是在代码库足够大的情况下。
在后摩尔时代,使代码快速运行将变得更加重要,特别是根据它运行的硬件对代码进行定制。现代计算机提供了旨在使代码快速运行的架构特性。例如,版本4和版本6利用并行性,即计算机同时执行多个操作的能力。版本5利用了局部性,即计算机在数据元素被配置在内存中(空间局部性)或已被重新访问(时间局部性)时有效地访问它们的能力。版本7通过仔细协调使用英特尔的AVX指令,同时利用了并行性和局部性。 正如我们将在硬件体系结构部分看到的,体系结构可能变得越来越异构,包括通用和特殊电路。 为了提高性能,程序将需要公开更多的并行性和局部性,以供硬件利用。此外,软件性能工程师将需要与硬件架构师协作,以便新的处理器呈现出简单和引人注目的抽象,使其尽可能容易地利用硬件。
除了根据硬件定制软件之外,还有一个膨胀的问题:软件膨胀从何而来?当然,有些膨胀来自于对其他理想特性的效率的权衡,比如编码的简易性,正如矩阵乘法代码的版本1到3所说明的那样。膨胀也来自于未能为底层架构定制代码,如版本4到7所示。但是很多软件膨胀来自于软件开发的过程。
减少开支的想法是这样的。假设您是一个程序员,他已经给了一个问题a来解决(例如,区分是或不是的口头回答)。 你可以编写专门的代码来直接解决A,但是,你可能会注意到一个相关的问题B已经被解决了(现有的语音识别软件可以理解很多单词,包括是和否)。通过将A转换为一个可以用现有的B代码来解决的问题,即通过将A简化为B,那么来解决A的工作量要少得多。
低效率性既可以来自还原本身(将A转换为B),也可以来自B的普遍性(B的解决方案不是专门针对A而定制的)。但最大的膨胀来自于减少的复合:减少A到B,B到C,C到D,等等。 即使每一次减少都达到了令人印象深刻的80%的效率,两个独立的减少序列也只达到了80%×80%=64%。 复合20倍的效率小于1%,或100×的膨胀。
由于累积的膨胀由摩尔时期多年的还原主义设计时代,有很大的机会使程序运行得更快。不幸的是,使用专用软件直接解决问题 A 需要 A 领域和性能工程方面的专业知识,这使得该过程比简单地使用减少。由此产生的专用软件求解 A 通常比将 A 简化为 B 的软件更复杂。例如,表 1(版本 7)中的完全优化代码比原始 Python 版本(版本 1)的源代码长 20 倍以上。
事实上,简单的代码往往很慢,而且快速的代码往往很复杂,为了创造一个容易编写快速代码的世界,应用程序员必须具备性能工程师的知识和技能,并且必须大大提高生产力工具。 抽象地,软件性能工程可以看作是一个简单的过程,涉及一个单一的循环:(i)测量程序A的性能。(ii)改变程序A以产生一个希望更快的程序A′。(iii)测量程序A’的性能(iv) 如果A’ 击败 A, Set A = A’. (V) 如果 A 仍然不够快,请转到 (ii). 但是今天,我们的系统非常复杂,必须经常重复测量,以建立一个版本的程序优于另一种的信心。
随着硬件变得越来越专业化和异构化(见硬件架构部分),高性能代码将变得更加难以编写,因为在后摩尔时代,较快的软件对于更好的性能将越来越重要,但是计算行业、研究人员和政府都应该有很好的发展动力性能工程技术。
算法
算法的进步已经在性能增长方面取得了许多进展,并且将来会继续这样做,一个主要目标是解决计算量更少的问题,例如,通过使用Strassen的算法来进行矩阵乘法,表1中的高度优化代码可以通过提升 10% 。对一些问题来说,收益可能会更令人印象深刻:总统科学与技术顾问委员会在 2010 年得出结论:“由于算法改进而带来的性能提升甚至超过了由于处理器增加而带来的巨大性能提升”
因为算法设计需要人的创造力,所以很难预料到进步.为了说明算法进度的本质,考虑在网络中寻找最大流量的经典运算研究问题[(17),第26章],它可以用来模拟道路网络中的交通流动, 血液通过循环系统,或电路中的电,线性规划是解决最大流量问题的一种简单方法,但在1975年至1995年之间的20年中,我们看到了一系列算法创新,对它有了很大的改进。

图1显示了最大流量算法随时间的进展。最佳算法的性能增益与摩尔定律38年来的性能增益相媲美(略高于4个数量级,而略低于5个数量级),尽管在过去20年里没有任何新的算法改善了这个特定问题的性能。这个例子强调了关于算法的三个显著的观察结果:(i)对给定算法问题的进展发生不均匀和零星。(ii)算法创新的收益可以与摩尔定律的收益相媲美。(iii)解决任何给定问题的算法改进最终都必须减少。
然而,因为这个例子关注的是一个众所周知的问题,所以它忽略了算法性能工程如何加快计算速度的一个关键方面:通过为新问题提供有效的解决方案。例如,在2016年计算机协会(ACM)离散算法研讨会上的146篇论文中,超过四分之一关注了以前没有被算法研究过的问题。因此,尽管对旧问题的重新搜索仍可能会产生边际收益,但算法的大部分进展将来自三个来源: (i)攻击新的问题领域,(ii)解决可伸缩性问题,以及(iii)定制算法以利用现代硬件。我们依次讨论每个来源。
新的问题领域不断地产生了对新算法的需求。机器学习、社交网络、安全、机器人技术、博弈论、传感器网络和视频编码等领域在30年前还很小或不存在,但现在在经济上足够重要,需要高效的算法。许多公司都通过算法获得了竞争优势。谷歌的PageRank算法(18)使其万维网搜索更为优越,谷歌AdWords(19)的拍卖算法(19)允许广告商根据用户的搜索词竞标显示空间,使其利润丰厚。内容传递网络在2016年提供了超过一半的互联网流量(20个),它依赖于高效的算法来避免拥堵。许多科学也依赖于好的算法。例如,计算生物学中的DNA测序依赖于高效的动态规划算法(21)。
摩尔定律使得今天的高端计算机能够在主存中存储超过1兆兆字节的数据,而且由于问题的大小相应增长,需要高效的算法来使解决方案负担得起。次线性算法(22,23)提供了一个如何解决规模问题的例子。 例如,要找到1万亿个数字的中位数,仅仅是读取输入数据就需要至少1万亿个内存操作。但是许多问题并不需要精确的中位数,只有一个很好的估计就能很好地工作。对于这些问题,我们可以提取一个随机的样本,比如说,一百万个数字,并计算该样本的中位数。其结果是对真实中位数的一个高度准确的估计,其计算速度可以快一百万倍。该算法领域充满了处理可伸缩性的策略。
定制一个算法来利用现代硬件可以使其速度更快(表1)。然而,今天的大多数算法仍然是使用最初在60年代和70年代开发的串行随机访问机器模型(24)设计的,该模型假设处理器一次只能做一次操作,并且访问内存的任何部分的成本是相同的。这种算法使用现代硬件往往效率低下,因为它们没有充分利用机器的许多并行处理核心和向量单元,每个时钟周期可以执行许多操作,而且它们不能利用缓存,缓存可以将数据访问速度提高两个数量级。
尽管算法研究已经为现代计算机的显著特征开发了数学模型,如并行和向量处理(25-32)和缓存层次结构(33-35),但算法和实现之间仍然存在巨大的差距。部分问题在于,每个模型倾向于只解决一个方面——比如并行性、向量单位或缓存——然而,为现代计算机定制算法需要对这些算法全部理解所。此外,为了获得每一点的性能,一些硬件特性——如同时多线程、动态电压和频率缩放、定向映射缓存,和各种特殊目的的指令——实际上使定制算法更难于硬件,因为它们导致可变性和不可预测性,简单的理论模型不容易捕获。
一种可能的解决方案是自动调优(36,37),它搜索可能实现的参数化空间,以找到最快的实现。在现代机器学习中,甚至有可能包含差异超过几个参数的值的实现。不幸的是,自动调优和机器学习往往太耗时了,因此无法要求每个算法都会产生如此大的前期成本。此外,这些方法实际上使算法设计变得更加困难,因为设计者不容易理解设计选择的后果。在后摩尔时代,算法设计者和硬件架构师共同努力,找到让他们能够理解的简单抽象是至关重要的。
硬件架构
从历史上看,计算机架构师使用越来越多的晶体管来使串行计算运行得更快,这极大地增加了处理核心的复杂性,尽管性能的提高会随着时间的推移而下降(38)。我们认为,在后摩尔时代,架构师将需要采取相反的策略,并专注于硬件的流线型化:使用更少的晶体管和更少的硅面积来实现硬件功能。
正如我们将看到的,硬件流线型的主要优势来自于为更多的电路并行操作提供额外的芯片区域。因此,具有充分并行性的应用程序将获得最大的好处。实际上,对于没有太多并行性的应用程序的硬件性能已经停滞不前。但在许多新兴的应用领域中,如机器学习、图形处理、视频和图像处理、感觉计算和信号处理。在摩尔定律结束后,计算机架构师应该能够设计出流线型的架构,为这些领域和其他领域提供更高的性能。
我们可以使用历史数据来观察架构依赖于并行性的趋势。图2绘制了微处理器的三组基准数据: SPECint性能(黑色方块和灰色菱形)、SPECinterate性能(黑色、橙色、蓝色和红色方块)和微处理器时钟频率(绿点)。如图中的绿点所示,从1985年到2005年,时钟速度增加了200多倍以上,但由于丹纳德尺度的结束,时钟速度趋于稳定,我们将稍后讨论。在登纳德时代,在增加的时钟速度和其他架构变化的驱动下,微处理器性能迅速提高,通过SPECint和SPECint速率基准(黑色方块)衡量,目的是在典型的用户工作负载上模拟计算机性能(39)。SPECint基准测试主要由串行代码组成,而SPECintrate基准测试是并行的。这两个基准测试在单处理器计算机上执行的性能相同。但在2004年之后,随着机器添加了多个核和其他形式的显式并行性,这两者出现了分歧。事实上,从2004年到2015年,并行应用程序在性能最好的芯片(彩色方块)上的性能每年增长了30倍,平均每两年提高了约2倍。相比之下,在同一时期内,大量连续的 SPECint基准测试(灰色钻石)只扩大了三倍。
除了并行性之外,应用程序还需要局部性来从简化中获益。例如,当数据从外部动态随机存取存储器(DRAM)存储器芯片传输到处理芯片时,它在被传输回来之前应该被使用多次。对于局部性较小的应用程序,增加并行性会导致芯片外内存的流量按比例增加最终超过了其对内存的带宽,因此应用程序是内存绑定的。然而,对于具有良好局部性的应用程序,随着并行性的增加,芯片外内存流量的增长速度会慢得多,这使得所有芯片的通信引擎都可以在不空转的情况下完成有用的工作。幸运的是,许多重要的应用程序域都包含了大量的局部性和并行性。
硬件简化可以通过其他方式利用本地性,特别是对于特定于领域的处理器,我们将很快讨论这一点。例如,显式数据编排(40)利用局部性来提高数据在整个内存层次结构中移动的效率.如果使用它们的应用程序包含局部性,片上互连可以变得更简单,消耗更少的功率和面积。例如,收缩期阵列(42)可以使用面积高效的网格互连比通用的互连更有效地执行矩阵计算。
虽然硬件会因为流线型而增加能力,但我们不认为在摩尔定律结束后,平均时钟速度会增加,而且它实际上可能会略有下降。图2显示,在2005年微处理器设计变得功率限制时,时钟速度趋于稳定。在2004年之前,计算机建筑师找到了在不达到硬功率限制的情况下增加时钟频率的方法。 丹纳德缩放-随着时钟频率的增加而降低电压-允许处理器在不增加用电量的情况下运行得更快。(在实践中,处理器制造商经常增加时钟频率,而没有按比例降低电压,这确实增加了芯片功率。)然而,自2004年以来,摩尔定律为每个芯片提供了更多的晶体管,但由于它们的供电能力没有明显增长(43),建筑师们被迫创新,只是为了防止时钟率下降。稍低的时钟频率和电源电压降低了每个晶体管的功率,足以使基本上更多的电路可以并行运行。如果工作负载有足够的并行性,那么添加的计算将会补偿较慢的时钟。串行应用程序的性能可能更差,但聪明可以降低成本。例如,英特尔的“Turbo”模式[(41),第28页],当更少的内核被激活时,时钟运行得更快。(减少晶体管开关的其他技术包括在缓存中使用更多的晶体管,电源门控未使用的电路,以及最小化信号开关。)

现在设计人员已经接受了并行性,主要的问题将是如何简化处理器来利用应用程序的并行性。我们希望有两种策略占主导地位:处理器简化和领域专门化。
处理器简化(44)用一个更简单的核心取代了一个简单的处理核心,它需要更少的晶体管。现代核心包含许多昂贵的机制,以使串行指令流运行得更快,例如投机执行,其中硬件猜测并追求代码执行的未来路径,如果猜测错误,则中止和重新执行。如果一个核心可以被简化为,比如说,占用一半的晶体管,那么芯片上就可以容纳两倍的核心。为了使这种权衡是值得的,工作负载必须有足够的并行性,以使额外的核保持繁忙,并且两个简化的核必须比单个复杂的核做更有用的计算。
领域专门化(11、43、45)可能比简化更重要。为应用程序领域定制的硬件可以更加精简,使用更少的晶体管,使应用程序的运行速度可以快数十到数百倍(46)。也许今天最好的例子是图形处理单元(GPU),它包含许多并行的“通道”,具有专门用于计算机图形学的简化处理器。gpu在图形计算上提供了更多的性能,尽管它们的时钟更慢,因为它们可以利用更多的并行性。集成到笔记本电脑微处理器中的GPU逻辑占芯片面积从2010年的15%增长到25%,到2017年的40%以上(见方法),这显示了GPU加速器的重要性。此外,根据追踪高性能计算技术的前500强网站,2012年进入前500强的超级计算机中,只有大约10%包含加速器(通常是gpu),但到2017年,这一比例增长到了38%(12%)。亨尼诗和帕特森(45)预见了从通用到特定领域的架构,该架构运行大型系统的小型计算密集型内核,用于对象识别或语音理解等任务。关键的要求是,在应用程序领域中,最昂贵的计算具有大量的并行性和局部性。
一个专门的处理器通常首先被实现为一个与通用处理器相连的附加设备。但是,鼓励专业化的力量必须与需要扩大专业化的力量相平衡:扩展专用处理器的功能,使其从通用处理器更加自治,并对其他应用程序领域更广泛地有用(47)。
gpu的发展证明了这种权衡。gpu最初是专门为渲染图形而开发的,因此,gpu对于许多其他计算任务几乎无用,比如编译计算机程序或运行操作系统。但是,gpu已经扩展到方便的各种非图形化任务,如线性代数。考虑软件部分中的矩阵乘法问题。高级微设备(AMD)FirePro S9150 GPU(48)能产生70 ms的结果,比优化代码(版本7)快5.4倍,比原始Python代码(版本1)快36万倍
作为拓宽和专业化之间权衡的另一个例子,gpu对于“深度学习”革命至关重要(49),因为它们能够训练大型神经网络,而通用处理器无法快速训练(50,51)。 但专业化也取得了成功。谷歌开发了一个专门为深度学习设计的张量处理单元(TPU)(52),包括特殊目的的处理,减少了gpu更广泛的功能。
在摩尔时代,专业化通常屈服于扩大,因为开发特殊用途设备的投资回报必须在有限的时间内摊销,直到摩尔定律才能生产出性能良好的通用处理器。然而,在后摩尔时代,我们希望看到更多的特殊用途设备,因为它们不会有性能相当的通用处理器来竞争。我们还期望有专门针对不同应用领域的各种硬件加速器,以及混合专门化,其中一个设备为多个领域量身定制,例如自动驾驶汽车的图像处理和机器学习(53)。云计算将通过聚合不同用户之间的需求来鼓励这种多样性(12)。
大部件
在后摩尔时代,性能工程、算法的开发和硬件流线化在大型系统组件中将是最有效的(54)。一个大的组件是可重用的软件,通常有超过100万行代码,相当复杂的硬件,或类似的大型软硬件混合体。本节讨论了技术和经济原因,为什么大部件是获得顶级性能的沃土。
对系统的更改可以在工程师之间不进行太多协调的情况下进行,只要这些更改不相互干扰。将代码分解成模块,并将其实现隐藏在接口后面,从而使开发速度更快,软件也更健壮(55)。模块化有助于性能工程,因为这意味着模块中可以改进代码,而不需要系统的其他部分进行调整。同样,模块化有助于硬件简化,因为硬件可以重新构造而不影响应用程序编程接口(api)。不需要协调的性能工程和硬件精简已经以这种方式发生了,我们希望它们能够继续这样做。
然而,许多最有价值的未来提高性能的机会不会出现在单个模块中,而是来自于影响系统主要部分的许多模块的广泛和系统的变化。例如,因为如此多的软件都是简化的,系统越大,当层层又层层的简化被精益和直接的实现所取代时,获得巨大性能提高的机会就越大。但是影响许多模块的大规模再造需要许多工程师的协调,这是昂贵和风险的。
大型系统组件(web浏览器、数据库系统、操作系统、微处理器、gpu、编译器、磁盘存储系统等)既提供了使应用程序快速运行的技术机会,也提供了一个经济上可行的利用它们的上下文。作为可以在大组件中进行的更改类型的一个例子,考虑一个微处理器。指令集体系结构(ISA)是软件告诉处理器该做什么的接口。制造商通常在不更改ISA的情况下,通过内部更改ISA来提高性能,从而使旧软件继续正常运行。例如,1978年发布的英特尔8086有29000个晶体管(56),而2016年发布的22核XE5-2699v4有大约248000倍的晶体管(57),其性能超过100万倍。 在这段时间里,ISA的增长不到4倍(58倍),即使界面添加了新功能,旧程序也可以工作。
大组件提供了获得性能的良好机会,但仅凭机会是不够的。为了超过做出改变的成本和风险,就必须存在一种经济激励机制。如果一个商业企业或非营利组织拥有一个很大的组成部分,它可以证明投资以提高绩效的合理性,因为它能在工作完成时获得利益。单一所有权也有助于支付协调成本。如果许多政党必须同意做出改变,但只需要少数人就可以否决,那么改变就很难发生。如果涉及太多,即使对高协调成本的恐惧也会阻碍大量代码库的变化。但当一个实体拥有一个很大的组成部分时,它就有能力做出巨大的改变,并汇集成本和收益。它可以选择重新设计尽可能多的模块,以经济的方式证明,并只在大组件的界面上与外部世界进行协调。
总结
随着小型化的衰落,底层的晶硅制造改进将不再提供社会50多年来所享有的可预测的、广泛的计算机性能进步。在后摩尔时代,软件的性能工程、算法的开发和硬件的简化可以继续使计算机应用程序更快,可以与摩尔定律多年来积累的收益相媲美。然而,与底部的历史收益不同,顶部的收益将是机会主义的、不均匀的、零星的,而且随着问题得到更好的探索,收益将会递减。但是,即使在存在机会的地方,如果对组件的必要修改需要与其他组件兼容,也可能很难利用它们。大的组件可以让他们的所有者从顶部的性能提升中获得经济优势,同时最大限度地减少外部干扰。 除了顶层的潜力,新兴技术——如3D堆叠、量子计算、光子学、超导电路、神经形态计算和石墨烯芯片——可能从底层提供提升。 目前,这些技术还处于起步阶段,缺乏在不久的将来与今天的硅基半导体技术竞争的成熟度(59)。尽管我们称赞对这些技术的投资具有长期潜力,但我们认为,至少在短期内,大多数应用程序的性能提升更有可能来自顶部。
- 作者:VON
- 链接:https://baisihan.asia/article/ba944e86-e02b-4a08-9a45-c96927b69455
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。