中文 英语

数据海啸突破了IC互连的边界

设计团队重新考虑数据在芯片上、芯片外以及芯片之间的移动。

受欢迎程度

机器生成数据的快速增长推动了对高性能多核计算的需求,迫使设计团队重新考虑数据在芯片上、芯片外以及芯片之间的移动。

在过去,这在很大程度上是由片上互连处理的,这通常是设计中的次要考虑因素。但随着从自动驾驶到人工智能等市场的数据量不断增加,soc和打包系统正在围绕数据的移动进行架构设计。因此,互连现在是该方案的核心组件,它们变得更复杂,更昂贵,对整体设计的成功更加关键。

芯片内部的互连,通常被称为芯片上的网络,以及芯片之间的互连,随着旧的方法失去动力,已经发生了巨大的发展。

“有越来越多先进的2.5D和3D封装选项,具有高带宽、低功耗的模对模接口,提供类似于芯片上互连的特性,”Jeff Defilippi说,该公司产品管理总监手臂该公司的基础设施业务。“现在,高性能互连设计需要跨多芯片进行优化,而不会对性能产生不利影响或增加系统功率预算。随着复杂性的增加,传统的服务质量技术已经不够用了。为动态缓存、带宽和内存管理添加智能和软件钩子对于提供高效、可预测的工作负载性能至关重要。”

芯片之间的互连本质上被视为芯片上互连(通常被称为芯片上网络)的扩展,两个芯片之间互连的数字控制器部分与每个芯片上互连紧密耦合。

“数字控制器是将数字数据包传输到芯片上的底层PHY或SERDES物理层(甚至是一堆裸露的电线/针),以便由其他芯片/芯片物理层接收,然后是数字控制器,”库尔特·舒勒解释说,该公司营销副总裁Arteris IP.“它还可以提供流量控制和纠错功能。”


图1:D2D数字控制器是片上NoC互连的一部分。来源:Arteris IP

我们的目标是使这些互连尽可能短,以最大限度地减少数据的移动,从而最大限度地提高能源效率和性能。这一点在片外存储器(如HBM)中很明显,随着封装技术的改进,信号需要传输的距离一直在稳步缩小。

“这些芯片就在处理器旁边,在3D堆叠领域已经开始有了一些进展,”ibm的杰出发明家史蒂文·吴(Steven Woo)说Rambus.“芯片之间不再是相邻的,也不再是毫米级的互连,现在他们把芯片堆叠在一起,互连长度提高了一到两个数量级。”

但是也有大量的架构选择,并且随着更多的芯片被添加到包中,它们正在成倍增加。这些选项对必须移动哪些数据、必须移动到哪里以及移动数据的最佳管道有很大的影响。

该公司产品营销总监马克•斯温宁表示:“2.5D芯片的价格和上一层芯片的价格一样贵。有限元分析软件.“如果你必须在芯片上移动超过10微米,你也可以向上移动,这与移动到下一个芯片到上面的芯片的成本相同。所以它不需要是一条很长的线在你证明上下移动之前。技术正在接近这一点,并且变得越来越细粒度。”

到目前为止,还不存在这种细粒度划分的方法和工具。“这些工具将如何在芯片之间分离路径和线路?在实践中,我们仍然划分为块,整个功能块在一个芯片或另一个芯片上。然后是导线,目前还不清楚如何在芯片上实现这种细粒度的原子分散。”

但是互联本身的工具是存在的。Rambus的Woo表示:“目前,该行业有多种不同的工具。“从长远来看,我们有光学设备。对于中等距离,我们有像以太网这样的东西。在服务器中,我们有像PCI Express这样的东西。油气行业已经开发了许多工具,而距离是决定你使用哪种工具的主要因素。”

任何数据移动的最大权衡是移动数据所需的功率,以及在数据移动时需要解决的电气和物理效应的数量。

Synopsys公司的产品营销经理斯科特·达兰特(Scott Durrant)说:“当我们谈到互连时,光接口和电接口之间存在有趣的差异,以及这些差异对延迟和功率的影响,以及实际上的可维护性。”“关于使用界面类型的决定肯定会在所有这些因素中发挥作用,以及从哪里开始,更不用说它的经济效益了。”

数据需要传输多远是一个重要的考虑因素,它对功率和性能都有重大影响。Durrant说:“如果它在一个机架内,就有一套不同的标准需要关注——比如它是在数据中心之间还是在全国范围内——所有这些都是决定在芯片层面使用什么接口的重要因素,因此也就决定了在芯片层面上使用什么接口。”

许多这些考虑和权衡取决于应用程序,它们可能有很大差异。这反过来又会影响互连之间的关系,包括用于这些互连的IP和接口。“在可能或实际的情况下,设计师试图使互连模块化,这样他们就可以在必要时更换它们,”Durrant说。“虽然从灵活性的角度来看这很好,但它不一定能优化功率或延迟或其他标准,即使它让最终用户可以根据特定部署的需求灵活地更改界面。”

节省电力
还有其他的旋钮可以用来省电。例如,芯片对芯片通信通常会最大化和减少通道数量。

Mixel首席执行官Ashraf Takla说:“例如,如果你有一个芯片对芯片的通信和媒体,而这两个芯片的处理器都允许你以更高的数据速率运行,那么我将设计系统以最高数据速率运行。”“这样做可以减少车道的数量。当然,当你以高数据速率运行时,你会消耗更少的能量。但是你也减少了车道的数量。通常这会节省系统的总功率。显然,这更多是一个系统问题,但它确实会影响到IP。”

芯片内部有更多节省电力的选项。“对于片上互连,主要问题是如何连接芯片内部的不同块,以便数据以有效的方式在这些不同块之间传递,”该公司营销总监Tom Wong说节奏的IP组。“几十年前芯片还不那么复杂的时候,这根本不是问题,因为一个简单的硅总线就足够了。随着设备的复杂性逐渐增加,总线的操作也逐渐增加。”

这一点在微控制器上很明显,它包含CPU, EEPROM,简单的通信接口,如UART,以及看门狗定时器和其他元素来完成基本功能。

“微控制器内部的通信方式已经建立了30年,”Wong说,“我们称之为硅总线。你有一个主板,也就是PCB。你把CPU放在上面,你把分立的芯片放在上面,这些设备通过PCB上的铜线相互连接。当微控制器变得复杂时,他们复制了原来的结构,并在芯片中放入了总线。每个模块都有一个以太网地址或寄存器。你把位翻到1,就能坐公交车。你把位翻转到0,你不关心数据,因为其他人想要总线。PCB总线被复制到硅上进行连接。这发生在芯片系统的早期。芯片不再是专用的。 There was a system inside the chip, and it communicated between blocks, on a PCB, or in a module. That worked for a few decades.”

随着智能手机应用处理器的出现,高通(Qualcomm)、英伟达(Nvidia)和三星(Samsung)等公司开始构建复杂的soc,它们的功能远远超过简单的MCU。他说:“它不再是一个只有一个Arm核心的微控制器,甚至不再是一个专有的微控制器核心,以及非易失性存储器和少数几个IOs。”“他们开始在边缘处理器中添加更多东西。它需要一个小模块来与触摸屏对话。它需要一个麦克风,一个扬声器。它需要做一些语音处理。别忘了相机。现在SoC必须从相机中获取像素,处理图像和视频数据,然后将其发送到其他地方以生成JPEG或MPEG文件。所以这是SoC内部的视频处理和音频处理。”

这也意味着带寄存器的简单硅总线不再工作了。“老式的控制器意味着完成一些计算,设置寄存器,它与这个块交谈,数据从芯片外传输到其他地方,然后就完成了。但是当你在做音频处理、视频处理、调制解调器和WiFi时,这些功能不是一个方向的。一个数据包被处理,它被发送回系统,系统做一些事情,并将它发送到另一个块。这意味着简单的硅总线不能再工作了。互连结构本质上是智能总线。它不仅可以通过来回发送电子来进行通信,它实际上还具有处理数据包的能力,知道数据包从哪里来,以及它们需要去哪里。”

早期的互连促进了这些应用处理器的开发,每个制造商的处理器都采用了这种架构,从soc转移到异构soc。将区块引入硅片以促进通信,将硅总线提升到一个新的水平。这种方法在十多年前一直有效,直到几年前,互联网巨头开始做AI/ML,并想要制造自己的芯片。

Wong说:“他们说,他们将不得不建造自己的芯片,而不是让英特尔处理器与Xilinx FPGA或一些定制的ASIC进行通信,并将这些芯片连接到主板上,因为他们负担不起在主板上安装所有所需的芯片。”“不是单CPU或双CPU,现在有4、16、128个核心——所有这些都需要相互通信,因为工作负载被划分到适当的核心,以最小化功耗和最大化性能,比如Arm的大内核。小建筑。这是在核心1中处理某些内容的地方,结果需要送到核心2、3、4,这取决于工作负载。现在,突然之间,不是在SoC内部的模块之间发送最小的数据,而是不断地发送大量流量。这就是为什么所有的瓶颈都出现了,而一个简单的芯片网络已经不能解决它了。与此同时,应用程序处理器以大约1千兆赫的速度运行。但是ML/AI芯片不能以千兆赫的速度运行。它们的速度要快得多。你会得到更多的数据,更多的流量,并受益于摩尔定律。一切都需要跑得更快。 However, Moore’s Law does a lot of bad things when you try to run fast, because the signal level is shrunk. The signal-to-noise ratio goes bad, and a lot of other problems show up. The original concept of a NoC has run out of juice because we didn’t anticipate people putting them in a data center for servers, running machine learning algorithms, running facial recognition, or doing autonomous driving prediction. Now we have a bottleneck inside the chip.”

解决方案
研究片上/片上总线上的网络是一个很好的开始,因为目前片上互连的最大挑战之一是可伸缩性。

“随着芯片变得非常大,互连会接触到芯片中的所有IP块。阿特里斯IP的首席技术官Benoit de Lescure。“这样,互联网络就像芯片一样不断增长。其他组件则不然。PCI控制器仍然是PCI控制器,但是互连尺寸随着芯片的大小而增加,因此存在可伸缩性问题,特别是因为设计一个良好的互连需要理解它将如何在物理上实现。它将如何连接芯片上的所有组件?模具上有多少自由空间可供互连使用?您将实现什么样的交换机拓扑,以便稍后在物理方面更容易?随着问题的规模越来越大,提出良好的互连决策将变得更加困难。”

Lescure指出,越来越多的工程团队被建议在他们对平面图有合理的了解之前不要开始互连设计过程,至少从一个非常高的层面上。“否则,他们做出的决定以后可能不得不重新做。以前有两种方法。一种是分而治之,这意味着当问题太大时,它会被分割成更小的问题,以便于解决。此外,层次结构将被构建到设计中,将为子系统创建子互连。这是连接到骨干互连,使一切都保持在合理的大小。这是一种方法。另一种方法是纸和笔,和客户一起坐下来,看着平面图,试图提出一个合理的开关组织,这样开关之间的每个连接都保持在合理的距离范围内,诸如此类。”

由于大学研究人员的关注,以及超大规模计算领域的每一家大公司都需要一种更好的方法来处理芯片内部和芯片之间的数据,在这个领域有很多本土研究正在进行。半导体生态系统认识到,今天必须向超级智能NoC移动,必须彻底考虑工作负载,并且必须解决数据移动问题。计算快速链接(CXL)就是这个行业的产物。

大约四年前,作为与Arm在CCIX上的联合开发项目的一部分,CXL开始在英特尔内部生活。CCIX变成了1.0、1.1,然后变成了CXL 1.0,并被许多不同的行业联盟采用,包括PCI SIG与PCIe 5.0和PCIe 6.0结合在一起来管理流量。CXL 2.0规范评估副本现已提供下载。

内存行业也注意到了CXL, DRAM也将采用CXL接口。“这不再是传统的DRAM I/O,这些I/O和DRAM将变得智能,”Wong说。“CXL无处不在,可以管理不同处理器之间的流量瓶颈,因为现代芯片中的每个块都是一个处理器。不仅仅是CPU核心。DSP的核心是处理器。图形核心是一个处理器。调制解调器是一个处理器。一切都是处理器。当你有数据被移动,被不同的块计算时,所有的答案都必须回到某个地方进行最终的计算。你是怎么用一辆破巴士做到的? The way to fix that is with caches. Every CPU has cache memory. CXL helps maintain cache coherency so that when the data is needed from the next block, CXL calls the next block, and the data gets served up at the right time. That’s what cache coherency does, and it’s built into the CXL spec. This is why DRAM suppliers are supporting CXL. They want their memory, even external, to be cache coherent with the computation.”

Rambus的Woo指出,CXL的开发主要是因为其他工具并不能真正满足人们真正想要的需求。“目前有基于PCI Express的物理互连,但其中有一个逻辑部分有助于满足其他类型互连尚无法满足的需求。从互连设计的角度来看,有一些非常有趣的活动正在发生。例如,人们在看小芯片,你可以在那里做各种各样的事情。AMD在芯片方面做得很好,并展示了如何在系统设计中实际使用它们。”

结论
对于今天的大多数应用程序,中心焦点是数据和数据移动。互连在这些设计中起着关键作用——如何以最少的面积高效、快速地移动数据。

从最初的架构到制造和测试,曾经是相当简单的技术次要考虑现在是所有芯片设计的核心部分。如果没有良好的互连策略,性能将受到影响,功率将被浪费,没有芯片或系统将在预期市场上具有竞争力。

相关的
微小互连中的大变化
在7nm以下,准备好迎接新材料、新结构和非常不同的性能。
领域特定世界中的互连
何时何地,效率和灵活性之间的权衡是有意义的。
不同层次的相互联系
芯片基础:芯片级别的不同层如何影响整个系统的性能。
互联挑战增长,工具滞后
更多的数据,更小的设备正在触及当前技术的极限。修复可能会很昂贵。
CCIX和CXL之间的选择
适合一个设计的东西不一定适合另一个设计。这是为什么。



留下回复


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

Baidu