中文 英语

较慢的金属会降低SoC性能

互联正在成为先进节点的限制因素。

受欢迎程度

金属互连延迟正在增加,抵消了每个连续工艺节点上更快的晶体管带来的一些好处。

旧的架构诞生于计算时间是限制因素的时代。但随着互联越来越被视为高级节点的限制因素,我们有机会重新思考如何构建systems-on-chips(soc)。

公司高级产品营销经理Steve Williams表示:“对于任何计算机架构来说,互连延迟都是一个基本的权衡点。节奏.“处理器架构总是由互连延迟决定的。”

然而,过去架构上的互连延迟主要集中在芯片之间的数据移动上。越来越多的数据可能需要相当多的时间才能到达需要它的地方,即使数据仍然保存在芯片上。这导致了针对soc的新的高级架构方法。

相反的方向移动
缩小工艺尺寸的目标基本上是双重的——制造更快的晶体管,以及在给定的硅区域内挤进更多的晶体管。两者都取得了成功。但是连接这些更快的晶体管需要互联,如果这些互连占用太多空间,那么集成目标将无法实现。

芯片制造商用越来越窄的线来压缩这些互连,这些线之间的距离越来越近。但线路电阻率与导线的横截面积成反比。让它变窄会缩小横截面。这种缺陷可以通过提高线路来弥补(类似于DRAM存储电容器所采取的方法),但如果过于紧密地放置在一起,这样高的线路实际上会成为具有高电容的金属板。这反过来又会增加延误。

图1:金属线的电阻率与其横截面成正比。左上角是旧宽线条的概念插图。右上方显示了这些线变窄、靠得更近,截面减小,电阻率更高。底部的版本显示了试图保持原始的截面积与紧密的间距,但它导致高互电容。资料来源:Bryon Moyer/Semiconductor Engineering

因此,在横截面和抗线高电阻和互电容之间取得了平衡。净效应是,金属延误比大约20年前增加了10倍。

Tachyum的首席执行官Rado Danilak说:“当时,1毫米的电线大约有100皮秒的延迟。“今天,1毫米的电线有1200皮秒的延迟。”这不利于晶体管速度的提高,但它也改变了晶体管和互连之间延迟贡献的平衡。

虽然线速降低了,但它并不总是在给定信号的实际延迟上造成很大的差异。“是的,从技术上讲,互连电阻和电容已经上升,”João Geada指出有限元分析软件.“但晶体管之间的平均距离要小得多。”尽管如此,设计师和架构师比以往任何时候都更加关注这些芯片上的延迟。

现代金属堆叠在5nm节点上可以有多达16层,而在28nm节点上只有10层。不过,并非所有这些层都受到了这种放缓的影响。线条最小的最低层效果最好。

Cadence公司的高级设计工程架构师Eliot Gerstner表示:“在28nm之后,层堆栈开始伸缩。“你有那些底层是双重图案。在这些较低水平的金属上,你只能在三到四个细胞宽的距离上进行通信,因为它们非常耐电。”

因此,需要传输更远距离的信号可能需要被提升到更高的层,在那里更宽、电阻性更低的金属可以将信号传输到更远的距离。但即便如此,挑战依然存在。帮助在层与层之间传递信号的过孔和过柱的电阻也越来越大。而且,由于先进的晶体管驱动器比前几代更低,长线路更容易受到噪声的影响,这些长信号可能需要缓冲。

这意味着将信号通过金属层返回到硅层,在硅层中,缓冲器可以将信号恢复到更高的金属层,以进行更远的传输。“通过使用上层金属层,你可以更好地进行远程通信,因为你在顶部有更厚的金属,”Michael Frank说Arteris IP.“成本是你必须进入多个缓冲级来驱动这些又长又重的电线。”

像往常一样,这是一个权衡的问题。Cadence的Williams说:“在处理器内部,乘数和寄存器文件等结构受到所有‘线路’的限制,这些‘线路’用于路由操作数并启用多个入口/出口端口。”“太多的电线会影响你的面积和速度。没有足够多的电线,你就不能从你的设计中得到最大的东西。”

有三个层次可以解决这些延迟。最基本的层面涉及到过程本身。除此之外,延迟的挑战通常已经在实施层面得到解决。但当事情变得更加困难时,架构就成为处理金属延迟的一个重要方面。

流程与实施
在工艺层面上,电线延迟导致了对使用哪种金属的重新评估。当线变细时,铜的晶格结构就成了一个弱点。晶格中的振动(声子)缩短了电子的平均自由路径,增加了电阻率。Arteris IP的Frank说:“我们正在研究晶格和量子力学效应,在非常窄的宽度下,金属中的铜晶格在声子和载流子之间发生相互作用。”

这就是为什么钴被考虑在这些应用中。“钴有不同的晶格结构,”弗兰克解释说。对于大导线来说,它的导电性能不如铜,但对于非常细的导线来说,它的电阻性不如铜。“如果是20或30纳米以下的线,钴就有优势,”他说。这一点,再加上在过孔中使用钴而不是钨的举措,可以帮助从源头上缓解一些延迟影响。

在实现层面,设计人员依靠复杂的EDA工具以及手工操作来引导设计完成。提高时钟速度的两种经典方法是并行和流水线。

较低级别的并行性牺牲了门数来换取速度。威廉姆斯说:“如果你的构建模块太大,你就会把你的功能分解成多个并行单元,并使用多个并行数据路径。”这意味着在多个地方进行相同的计算。

弗兰克说:“只要你能负担得起电力,有时重新计算结果比把它们从这里运到那里更便宜。”

与此同时,管道缩短了路径以获得更快的时钟周期,但潜在的代价是延迟。“为了获得更高的核心周期时间,你把你所做的工作分成更小的部分,”史蒂文·吴(Steven Woo)说Rambus.“步数增加了,但每一步都变小了一点。”

威廉姆斯表示同意。他说:“当你不能用缓冲区解决延迟时,你可以使用流水线将长事件分解成一系列短事件,每个事件都可以快速完成,从而实现更高的时钟速率。”

这两种技术都需要额外的门或触发器,但仍然可以通过降低晶体管的负担来减少净面积。Cadence的Gerstner指出:“在给定的频率下,设计师实际上会比没有这些人字拖时消耗更少的面积和能量。”他指的是流水线所需的额外人字拖。

但在实施过程中能做的事情也就这么多了。在某种程度上,必须在架构级别考虑金属延迟,远在设计工作开始之前。

noc和时钟
逻辑延迟曾经主导了有限但快速的金属延迟,现在这些金属延迟在性能问题中占了更大的比例。“距离是非常昂贵的,”郭士纳说。在金属延迟不那么重要的时代做出的基本架构决策可能会受到新的现实的挑战。

一个架构上的变化是主要芯片互连的总线概念让位于片上网络(NoC)。Williams表示:“国有石油公司利用(流水线的想法)将长互连分解成小互连链。”

Arteris IP的Frank对此表示赞同。他说:“从180纳米到5nm的整个转变促使很多人选择noc而不是总线结构,因为你无法在大面积范围内关闭时序。”

国家石油公司越来越多地依赖于先进的大型芯片。Arteris IP营销副总裁Kurt Shuler表示:“如今,几乎所有拥有超过20个IP区块的soc都在使用noc。他指出,该公司近一半的NoC设计采用了7纳米或更小的工艺。

然而,使用国有石油公司是有成本的。使用NoC的大量信号需要仲裁才能在网络上放置一个数据包,这可能需要数十个时钟周期,这增加了延迟。Cadence技术和战略营销集团总监Pierre-Xavier Thomas指出:“你需要考虑互连中所有导致拥塞问题的仲裁。

并行性在这里也有作用。郭士纳说:“如果沟通成本很高,你就必须在一次沟通中进行大量沟通。“因此,对于下一代,我们已经计划使用1024位接口。”

这有助于平摊仲裁延迟或其他互连开销。“当你付出延迟成本时,你可以得到更多的数据,”Williams指出。

架构变化的另一个基本方面涉及时钟域。在一个越来越大的芯片上保持一致的时间(按照延迟标准)的挑战促使人们重新思考广泛的时钟域,以支持“局部同步,全局异步”的时钟。

“与10年前相比,现在人们更多地考虑异步时钟域,”Frank说。“这直接影响到架构,因为每一次跨越时钟边界的转换都会增加延迟。”

使用这种方法,只在给定的半径内优化特定的时钟域。除此之外,人们可以认为遥远的目的地有自己的时间。信号需要在长距离运行时保持同步,但它缓解了跨越长距离和在大块之间保持完全同步的时间封闭挑战。

静态存储器提出自己独特的挑战。性能不会随着芯片其他部分的变化而变化。格斯特纳指出:“记忆体的收缩速度没有标准细胞快。”Cadence的方法是“触发器”,即登记数据进出内存。“在我们的新架构上,我们现在的入站内存请求和出站结果都是失败的,”Gerstner说。

Synopsys在这方面更进一步。ARC处理器IP的首席工程师Carlos Basto说:“在我们的下一代中,SRAM将在自己的时钟域内运行。Synopsys对此.“SRAM的速度将完全与核心其他部分的速度脱钩。这样做的代价是访问内存的延迟增加。”

当然,这意味着必须提供适当的时钟域交叉,以确保可靠的信令。Basto说:“在SRAM访问之前和之后的循环必须非常非常仔细地设计。”

图2:SRAM计时可以通过流水线(左)来简化,或者通过将SRAM置于自己的域中(右)来与核心计时解耦。当信号从一个域移动到另一个域时,必须使用时钟域交叉。资料来源:Bryon Moyer/Semiconductor Engineering

此外,内存块的大小受到代工厂的限制。“内存编译器不会扩展单个宏单元的最大大小,”Gerstner说。“因此,我们不得不储存更多的记忆。”

改变账户
延迟贡献的变化甚至会影响指令集和相关的软件开发工具。“因为数据移动是性能的限制因素,突然之间,那些制作指令集的人,那些制作编译器的人,以及程序员自己都不能再把硬件视为抽象的东西了,”Rambus的Woo说。“你实际上必须了解其潜在结构。”

“处理器和加速器的架构和微架构正在进行调整,以确保管道可以有效地输入,”微软公司的高级产品经理、架构和技术组Francisco Socal说手臂.“在架构层面,GEMM(通用矩阵乘法)等特性允许软件更有效地使用内存,而微架构则继续发展诸如推测、缓存和缓冲等技术。”

处理器初创企业Tachyum正试图利用这一变化,重新洗牌指令集体系结构(ISA)。该公司通过讨论如何实现5GHz时钟(200皮秒的时钟周期)来说明其方法(根据Tachyum的说法,这是为了方便计算,但并非不切实际)。问题是,200ps能做什么?任何不能在这个时间框架内完成的事情都需要分解成更小的块,通过流水线,或者跨越多个时钟周期。ISA是架构师可以任意选择的一个领域。

Tachyum的主张是,目前许多著名的isa都是在晶体管延迟占主导地位的时候开发的。随着这些延迟的减少,算术逻辑单元(alu)完成工作所需的时间也减少了。在过去,逻辑延迟会占用200-ps周期的大部分时间。但现在逻辑可能只占不到100皮秒。Danilak说:“计算时间不到一半,一半时间是从其他ALU中获取ALU数据。”

延迟如何影响ISA的一个例子与将数据发送到ALU有关。给定多个并行ALU,其中一个ALU上的给定操作可以从以下三个来源之一获取输入:寄存器、ALU本身(带有其先前操作的结果)或不同的ALU。Tachyum说前两项可以在100ps内完成。然而,如果数据来自不同的ALU,则需要超过100ps。

该公司的解决方案是拆分指令集。在数据源允许的情况下使用单周期指令。否则使用两个周期指令。编译器做出决定,因为在大多数情况下,编译器知道ALU输入将驻留在哪里。

图3:根据数据来源的不同,Tachyum的ISA具有1周期和2周期指令。来自寄存器和同一个ALU的数据可以在一个周期内到达。其他alu的数据需要2个周期才能到达。编译器会选择指令的适当版本。资料来源:Bryon Moyer/Semiconductor Engineering

然而,使用动态库时,数据的位置可能在编译时不知道。在这种情况下,编译器需要乐观地工作,假设数据就在附近。但他差姆增加了一项保障措施,以防这种假设是错误的。丹尼拉克说:“我们的硬件可以检测我们何时过早地消耗数据,这会使机器停机。”这提供了其中一些指令的两个版本——单周期版本和双周期版本。但只有在频繁地需要单周期版本才能发挥作用。Tachyum声称93%的指令使用更快的版本。

使用周期计数也是处理器架构的一种策略,比如Cadence的Tensilica,它允许为应用程序定制指令。它们在定义给定自定义指令将消耗的时钟周期数时提供了灵活性。“原生指令有一个固定的周期计数,”Gerstner说。“任何额外的自定义指令将得到每个设计的周期计数。”

ISA更改会产生巨大的影响,必须支持遗留代码的公司可能没有重做ISA的自由。Tensilica内核中的自定义指令通常是特定于嵌入式应用程序的。这些内核不太可能执行其他内核创建的各种程序,因此遗留问题就不那么重要了。

任何架构方法的挑战都是必须在规划的早期就考虑它们。然而,它们的好处是可以减少实现的负担,最终提供更快的上市时间和更快的性能。我们可能会继续关注架构,以适应不断变化的延迟动态。

相关的
互联性成为绩效的关键问题
复杂性、丰富的选项和工具上的限制使这成为一个日益具有挑战性的领域。
互联挑战增长,工具滞后
更多的数据,更小的设备正在触及当前技术的极限。修复可能会很昂贵。
微小互连中的大变化
在7nm以下,准备好迎接新材料、新结构和非常不同的性能。



留下回复


(注:此名称将公开显示)

Baidu