NoC 互连拓扑解释
作者:Andy Nightingale
Andy Nightingale (安迪·南丁格尔), Arteris产品营销副总裁,在高科技行业拥有超过35年的经验,其中包括在Arm担任各种工程和产品管理职位23年。
当今复杂的片上系统(SoC)设计可能包含数十到数百个 IP 模块。每个IP模块可能有自己的数据宽度和时钟频率,并采用标准SoC接口协议(比如:OCP,APB,AHB,AXI,STBus,DTL等)之一。连接所有这些 IP 是一项重大的挑战。
功能性 IP 模块通过套接字连接到片上网络(NoC)。对于发起方 IP,套接字对 IP 生成的数据进行序列化和分组打包,为每个数据包分配一个 ID 并将其发送到网络中。当数据包到达其目标 IP 时,关联的套接字会从数据包中提取数据并将其转换为目标IP 所需的协议。在任何给定时间,大量的数据包可以同时在整个网络中传输。
拓扑类型和目标应用
术语拓扑指的是某事物的组成部分是如何相互关联或排列的。本文在这里将讨论在各种NoC 拓扑中 IP 节点的连接方式。
NoC具有令人难以置信的多功能性。如图 1 所示,除了使用交叉矩阵的crossbar NoC 实现(这与传统的crossbar switch实现不同)以外,当今的SoC 中通常部署的其他拓扑结构包括 1D 星型(star)、环型(ring)和树型(tree),以及 2D 网格(mesh)和花式(torus)。更复杂的结构,包括3D立方体(cube)和4D超立方体(hypercube),也是可能的,但在实践中很少使用。
图 1. 常见的NoC 拓扑的结构形式。资料来源:Arteris, Inc.
在比较不同的NoC拓扑时,一个典型的重要指标是布线成本的概念,它基本上包括了与NoC的互连部分相关的所有事项: 费用、功耗、面积和拥塞。基于这一点考虑,我们对图 1 中所示的各种 NoC 拓扑总结概括如下:
NoC Crossbar 拓扑
优点:
• 在所有节点之间提供直接同步连接。
• 不争用共享资源。
• 高吞吐量和低延迟。
缺点:
• 对于大型系统而言,布线的成本高。
• 由于交换机中的端口数量有限,可扩展性低。
比较:
• 具有最低延迟和最高吞吐量。
• 具有最高功耗和最高布线成本。
使用案例:
• 高性能计算系统(如超级计算机或数据中心)需要低延迟和高吞吐量来传输大量数据。
• 高端图形处理器(GPU)和其他高速处理器需要高带宽和低延迟的通信。
• 一些商业互连提供商提供crossbar交叉互连作为通用解决方案。但是,网格或树型等拓扑可能更适合小型嵌入式系统。
Star 星型拓扑
优点:
• 简单。
缺点:
• 仅在中央集线器或交换机中提供单点故障 - 如果集线器或交换机发生故障的话,则整个系统将失灵。
• 星型拓扑的总带宽受限于中央集线器或交换机的容量。如果处理部件(processing element)需要的带宽超过集线器或交换机所能提供的带宽,则系统的性能将受到限制。
• 虽然星型拓扑在一定程度上是可扩展的,但处理部件超过一定数量以后,扩展可能会变得困难且昂贵。
• 由于所有消息必须通过中央集线器或交换机,因此星型拓扑的延迟可能高于网格拓扑或花式拓扑。
使用案例:
• 对于处理部件有限且带宽要求低的小型嵌入式系统或消费类电子产品,星型拓扑是一个不错的选择。但是,它可能不适合具有高带宽要求或容错和可扩展性至关重要的系统。
Ring 环型拓扑
优点:
• 低功耗和低布线成本。
• 在节点之间提供有保证的路径。
缺点:
• 由于环中的节点数量固定,可扩展性低。
• 由于消息需要遍历整个环从而导致高延迟。
比较:
• 与网格拓扑和花式拓扑相比,功耗更低,布线成本更低。
• 相比网格拓扑和树型拓扑,延迟更高。
使用案例:
• 适用于节点数量有限的较小设计,例如嵌入式系统或传感器网络。
• 适用于必须按特定顺序传递消息的系统,例如实时系统中的令牌环。
Tree 树型拓扑
优点:
• 可扩展,低功耗,布线成本低,适用于大型系统。
• 由于节点之间具有多条路径因而具有容错性。
缺点:
• 树根部存在高争用和拥塞。
• 延迟高于网格拓扑。
比较:
• 相比crossbar拓扑结构,具有更低功耗和电线成本。
• 延迟低于环型拓扑。
使用案例:
• 适用于分层系统,包括具有“发起方 - 目标”结构的系统,或具有多个外围设备的中央处理器(CPU)的系统。
• 适用于群集系统,其中节点分组,并且必须与其组领导通信。
• 与网格拓扑相比,树型拓扑可能更具成本效益,并且对于小型系统来说更容易实现,因为它们需要更少的电线和开关。树型拓扑也可以更节能,因为数据可以直接路由到其目的地,而无需通过多个节点。
Mesh 网格拓扑
优点:
• 可扩展,功耗低,布线成本低,适用于大型系统。
• 由于节点之间具有多条路径因而具有容错性。
缺点:
• 网格中间会出现高争用和拥塞。
• 延迟高于crossbar拓扑。
比较:
• 与环型拓扑和树型拓扑相比,延迟更低,吞吐量更高。
• 相比crossbar拓扑结构,功耗更低,布线成本更低。
使用案例:
• 适用于具有许多节点和中等通信需求的系统。
• 对于消费类电子产品或小型嵌入式系统来说,网格拓扑可能比crossbar拓扑更好。这是因为网格拓扑通常比crossbar拓扑更具成本效益且更易于实现。它使用更少的电线和开关,非常适合资源有限的小型系统。
• 适用于多核处理器,其中每个内核都连接到其最近的邻居以进行内核间通信。
• 对于可扩展性和容错至关重要的大型数据中心网络,采用网格拓扑也有好处。
• 网格拓扑也是 AI 应用程序的不错选择。具有良好的容错能力和可扩展性,可以适应不同的通信模式和工作负载。
Torus花式拓扑
优点:
• 为 2D 或 3D 芯片设计提供自然且规则的布局。
• 由于节点之间的多条路径而具有高容错性。
• 可以满足中小型系统的低延迟和高吞吐量的要求。
缺点:
• 应用于大型系统时,高功耗,高布线成本。
• 与其他拓扑相比,实现方式更为复杂。
比较:
• 相比crossbar拓扑结构,功耗更低,布线成本更低。
• 延迟低于环型拓扑。
• 比网格拓扑和树型拓扑具有更高的吞吐量。
使用案例:
• 适用于具有常规 2D 或 3D 网格结构的系统,例如图形处理器或视频处理单元。
• 适用于容错要求较高的大型系统,如数据中心或云计算系统。
• 花式拓扑是AI应用的替代拓扑,因为它为数据传输提供了冗余路径,并确保了高可用性和可靠性。花式拓扑还可以提供可扩展性,因为它可以通过添加更多节点轻松扩展。
没有“适用于所有设计”的拓扑结构
虽然一些简单的设计可能仍然可以使用单个网络来实现,但小型和大型的复杂SoC将受益于使用相似或不同拓扑的NoC。
一些 SoC 采用分层的树结构和多个单独的树,而不是单个树拓扑。在某些情况下,芯片(例如机器学习推理引擎)的一部分,可能会利用网格拓扑。同时,芯片的其他部分可能会采用一种或多种不同的拓扑,以便更好地适于该设计。
要记住的主要事情是,每个SoC都存在独特的互连挑战。NoC 提供最强大、最通用的互连解决方案。某些 SoC 可以从混合 NoC 拓扑中受益。最重要的是,在NoC方面,没有“适用于所有设计”的解决方案。
为特定应用选择最佳 NoC 拓扑或拓扑组合并不总是一项简单的任务。 Arteris是经过硅验证的领先的NoC IP行业供应商,可以为SoC公司提供建议,以帮助他们选择适合其设计和NoC要求的最佳技术。点击这里 获取更多信息。
作者: ArterisIP, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3893295.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论