新的存储方法和CMOS扩展的挑战指向半导体设计的根本变化和潜在的巨大改进。
我们认为半导体世界的许多事情都是理所当然的,但如果几十年前做出的一些决定不再可行或最优怎么办?我们看到了finfet的一个小例子,其中平面晶体管将不再缩放。今天,我们面临着几次更大的破坏,将产生更大的连锁反应。
技术的发展往往是线性的。每一步都提供了对之前存在的东西的增量改进,或者克服一些新的挑战。这些挑战来自于一个新的节点、新的物理效应或限制等等。虽然这工作得很好,而且许多单独的步骤都很出色,但它是建立在纸牌上的,因为如果基础上的某些东西要从根本上改变,那么整个设计、实现和验证的涟漪效应会非常显著。
单个连续内存
其中一项改革已经酝酿了一段时间。的冯·诺依曼处理器架构它在1945年首次被描述,具有单一连续存储空间,这是一个绝对的突破。它提供了一个图灵完备解,在这个解上任何有限问题都可以被解决。这成为几乎所有计算机事实上的架构。
内存很快成为了一个限制,无论是在大小上还是在性能上。为了克服这个问题,引入了缓存,使廉价的大容量内存看起来像更昂贵、更快的内存。随着时间的推移,这些缓存变得多层次,在多个主机上保持一致,并在越来越大的地址空间上工作。
但这已不再是许多现代计算函数的必要条件。在基于对象的软件功能和特定领域计算的时代,对内存组织的需求可能是有害的。它基于这样一个前提,即程序可以随机访问它想要的任何东西——安全专家希望这不是真的。
必须充分考虑缓存和一致性的全部成本。公司创始人兼首席执行官西蒙•大卫曼表示:“在硅技术中实现一致性既复杂又昂贵治之软件.“当你使用多级缓存时,内存层次结构会变得越来越复杂,bug越来越多,消耗的电量也越来越大。”
当任务被很好地理解时,可以避免这种开销。“在数据流引擎中,一致性不那么重要,因为你是在传送边缘移动的数据,直接从一个加速器到另一个加速器,”微软的研究员和系统架构师迈克尔·弗兰克(Michael Frank)说Arteris IP.“如果你划分数据集,一致性就会碍事,因为这会让你花费额外的周期。你必须使用查询表。你必须提供更新信息。”
采用面向对象的系统,以及限制类型转换的强类型语言和对程序员的一些限制,可以使执行流可预测,并避免对单个连续内存空间的需求。诸如图形和机器学习中的任务,操作在有限的内存块上,不能从复杂的内存管理或内存硬件控制中获益。
特定于领域的计算引起了对此的许多方面的重新思考。“例如,dsp倾向于提供一个分布式内存池,通常直接在软件中管理,”微软高级首席研究工程师Matt Horsnell说手臂的研发组。“这比传统的共享内存系统更适合带宽需求和专用应用程序的访问模式。这些处理器通常通过直接支持特定的访问模式(例如n -buffer、fifo、行缓冲区、压缩等)来提供某种形式的内存专门化。”
新的内存类型
改变内存架构会带来非常大的影响。“挑战在于,在过去,人们有一个很好的抽象模型来思考计算系统,”Steven Woo说Rambus.“他们从来没有真正考虑过记忆。它是免费的,编程模型使得当你引用内存时,它就会发生。你从来不需要明确你在做什么。开始发生的是,随着摩尔定律变慢,功率缩放停止,人们开始意识到有很多新的记忆可以进入这个等式。但要让它们真正有用,你必须摆脱我们过去持有的非常抽象的观点。”
第二个相关的变化来自于新的存储技术。长期以来,SRAM和DRAM一直在速度、密度和性能方面进行优化。但是DRAM的扩展已经停滞,而SRAM在最新的节点上存在变异性,这使得它难以维持密度。基于不同物理原理的新内存类型可能会更好,但这可能不是主要的好处。
例如,如果ReRAM采用后,存储单元固有地成为模拟,这开辟了许多可能性。Mythic公司负责产品和业务开发的高级副总裁蒂姆·韦林(Tim Vehling)说:“模拟的一个基本理念是,你实际上可以在存储单元本身进行计算。”“你实际上消除了整个内存移动问题,因此电量大幅下降。当模拟开始发挥作用时,您可以获得高效的计算和很少的数据移动。使用模拟内存计算技术,它的功耗实际上比数字同类产品高出几个数量级。”
这与机器学习所需的乘法/累加函数完美吻合。“执行这些MAC操作所消耗的能量是巨大的,”公司产品经理Sumit Vishwakarma说西门子EDA.“神经网络有权重,这些权重存在于内存中。它们必须不断地访问内存,这是一项非常消耗能量的任务。计算的能力是传输数据所需能力的十分之一。为了解决这个问题,公司和大学正在研究模拟计算,将权重存储在内存中。现在我只需要输入一些输入并得到一个输出,这基本上是这些权重与输入的乘法。”
当模拟和数字解耦时,模拟电路就不再是跛行的。Semtech信号完整性解决方案集团营销和应用副总裁Tim Vang表示:“我们可以设计模拟电路,在某些情况下提供与数字电路相同甚至更好的功能,而且我们可以在老式节点上做到这一点。”“成本可以更低,因为我们不需要所有的数字功能,所以模具尺寸可以更小。我们可以降低能耗,因为我们没有那么多的功能。”
当内存发生变化时,软件堆栈中的所有内容都会受到影响。公司产品营销总监普拉萨德•萨格提说:“通常情况是,已经有了一种算法,我们看到了一种优化它的方法,优化内存,这样算法就能更好地实现。Synopsys对此.“另一方面,我们有不同类型的记忆。你能改变你的算法来利用这些新的记忆吗?在过去,使用tcam主要是用于查找IP地址的网络域构造。最近,ML训练引擎开始使用tcam。这需要软件或固件根据可用内存类型进行更改。”
CMOS的终结
但到目前为止,最大的潜在变化是CMOS的终结。随着器件越来越小,掺杂的控制变得具有挑战性,这导致器件的阈值电压的显著变化。掺杂定义了器件的极性,例如PMOS或NMOS器件,正是这些器件的配对创建了CMOS结构,这是所创建的所有数字功能的基础。随着行业向全门finFET结构迁移,一种新的可能性出现了。
École Polytechnique Fédérale De Lausanne的电气工程和计算机科学教授Giovanni De Micheli在DAC 2022的主题演讲中说:“通过水平堆叠的纳米线,你实际上可以构建带有两个门的晶体管。”“你使用第二个栅极来极化晶体管,使晶体管成为P或N晶体管(见图1)。你得到一个更强大的晶体管,因为它创建了一个比较器而不是一个开关。现在,有了这些类型的设备,你可以拥有全新的拓扑结构。”
图1所示。GAA极性门的三维概念视图。资料来源:Michele De Marchi论文,EPFL, 2015
理论上,这可以通过将极性门拆分为两个来进一步实现。这将增加每个晶体管成为高或低阈值电压器件的能力,除了p型或n型之外。因此,每个晶体管在运行过程中可以具有不同的功率/性能特征。
让我们回到逻辑抽象。“几十年来,我们一直在设计带有nand和NORs的数字电路,”De Micheli说。“为什么?因为我们一开始就被洗脑了,因为在CMOS中这是最方便的实现。但是如果从多数逻辑的角度考虑(参见图2),就会意识到这是执行加法和乘法的关键操作符。今天,我们为机器学习实现的所有电路,主要是做加法或乘法。这就是为什么多数是非常重要的。此外,多数逻辑是许多技术的自然模型,如超导体、光学技术、内存中的非易失性逻辑等等。”
图2所示。基于极性门器件的新型逻辑元件。资料来源:De Micheli/EPFL
De Micheli的研究表明,采用多数逻辑设计的电路使用今天稍作改进的EDA工具可以将延迟减少15%至20%。
但这些类型的变化确实需要对合成和其他步骤进行重大的重新思考。Synopsys技术策略师罗布•艾特肯(Rob Aitken)表示:“如果这被证明是一种有前途的载体,你真的需要彻底重新考虑合成引擎。”“许多新设备不会有效地采用NAND/NOR电路并以此为基础进行构建,而是将本机调成xor或多数门或其他一些逻辑功能。会发生什么?综合关心的是你正在构建的基本东西,虽然这是一种过度简化,但逻辑综合将一个PLA折叠成一个多层次的对象。用不同的逻辑风格重新思考很重要。”
改变晶体管的基本功能会对流的许多方面产生重大影响。例如,现在的设备有四个或五个终端,而不是三个,这会对地点和路线产生什么影响?它将如何影响扇进扇出和拥堵?
结论
改变是困难的。一项有前途的技术必须克服现有技术数十年的优化,这就带来了巨大的惯性挑战。它还可能需要同时更改解决方案的许多部分,例如硬件和软件,或者整个实现链中的工具。但随着半导体行业接近一些基本物理极限,它需要变得更灵活,更愿意改变。
相关阅读
提高内存效率和性能
CXL和OMI将促进内存共享和池化,但它们的效果如何以及在哪里工作得最好仍有争议。
CXL和OMI:竞争还是互补?
这取决于你问谁,但两者都有优点。
IC架构的转变,oem缩小了他们的关注点
随着芯片公司定制设计,可能出现的陷阱越来越多。更紧密的合作和收购可能会有所帮助。
我发现这是一篇迷人的文章,非常有启发性!我在半导体行业工作,这真的会改变游戏规则,而且会变得更好!
这篇文章对我来说非常及时。我是一个研究RISC-V板的软件人员,我突然想到寄存器访问非常快,但内存访问要慢得多。所以,我有了这样的想法,寄存器需要是由对象敏感处理器直接操作的对象(使用RISC cf CISC的小指令集)。虽然我将在一些软件中使用这个想法,并看看它是如何工作的,但在硅技术中实现它不是我能做到的。然后我读到如何改变内存如何以不同的方式实现。噢!这真的让我思考。
当你在控卫上出现长时间的故障或噪音时会发生什么?如果PG振荡或亚稳态呢?
谢谢你的这篇深刻的文章。将计算架构连接到Si扩展到软件和安全。在半导体创新驱动的高级计算/存储领域,这是一个非常有趣的时代,本文以一种优雅的方式将主要驱动力和挑战联系起来
改变很难。当它来自一个意想不到的方向时,是最困难的。也就是说,你能想象如果所有这些解决基本问题的工作,如热量、延迟、带宽切换、异步计算和数据交换/传输可以在一夜之间解决吗?大多数人甚至不会尝试去想象它的可能性。即使它已经发生了,而且是可以证明的。但是改变很难。