傻白探索Chiplet,Chiplet的通信结构(八)

news2024/11/18 21:24:36

目录

一、SoC总线结构

二、NoC结构

2.1 NoC层次

2.2  NoC基本组成和属性

2.3 NoC常见的拓扑结构

2.3.1 2D Mesh

2.3.2 2D Torus

2.3.3 3D Mesh

2.3.4 Octagon/Spidergon结构

2.3.5 Cluster Mesh结构

2.3.6 树状结构

2.3.7 蝶状结构

2.4 各种结构之间的比较 

2.5 NoC优势

三、Chiplet的通信结构


一、SoC总线结构

随着SoC所包含的IP核数目的增加,特别是片上计算资源的快速增加,片上模块间通信对SoC系统性能的影响也随之增大。片上连接方式成为影响SoC的关键因素。SoC系统片内各组件间通信方式一直采用传统的总线通讯方式,典型的SoC结构如下图所示。虽然人们对片上总线技术作了很多改进,从单一的共享总线改进为多总线的桥接,甚至层次化总线等更复杂的结构。但是,当MPSoC集成的处理器越来越多时,仍无法解决片上通信问题,如Sony 公司的Emotion Enginel1.101和IBM公司的CELL。

 典型的SoC结构

SoC的总线结构在性能、功耗、延迟信号完整性、时钟同步和可靠性等方面面临着巨大的挑战,成为限制 MPSoC发展的主要瓶颈。

  1. 设备扩展性总线限制了所连接的设备的数量。总线是一种共享介质的互连结构,只能实现共享信道的通信。某一时刻只允许一个设备使用总线,在总线被占用期间,其他所有请求被阻塞,直到总线空闲。当多个设备同时争用一条总线时,就会带来严重的竞争冲突,降低信道的吞吐量。
  2. 信号完整性。随着特征尺寸的减小和集成电路规模的增大,互连线宽度及间距相应减小,线间耦合电容则相应增大,细长的全局并行总线会引起较大的信号串扰,影响信号完整性及传输正确性,导致额外的延迟。而且导线越长电阻越大,将消耗大量的能量
  3. 信号延迟。随着集成特征尺寸的下降,连线延迟成为影响信号延迟的主要因素。总线结构为全局控制,在10亿晶体管时代,全局连线延迟大于时钟周期,因此,总线结构的全局连线使得时钟的偏移很难管理。
  4. 全局同步。总线结构要求采用全局同步时钟,随着芯片集成度的增加和芯片速度提高,在芯片内部将形成庞大的时钟树,片上各部分模块很难实现全局信号同步。当工艺特征尺寸在180nm 以下、工作频率达到几个GHz时,时钟信号的布线成为最为棘手的问题。虽然采用时钟树(Clock Tree)优化的方法可以改善由时钟翻转信号引起的时钟偏差和时钟抖动,但同步时钟网络所产生的动态功耗始终难以接受,甚至可占据芯片总功耗的40%以上。因此,设计单一系统时钟控制的全局同步电路变得极其困难。为了保持甚至提高系统时钟频率,只能对全局连线采用分布式流水线模式,或采用全局异步局部同步(Global Asynchronous LocalSynchronous, GALS) 时钟策略。

二、NoC结构

NoC技术是在SoC(System on Chip)基础上发展演变来的。SoC通常是指在单一芯片上实现的数字计算机系统,通过总线完成其中各模块之间的交互,但随着半导体工艺和需求的快速发展,总线的宽度已经成为SoC发展的瓶颈,大大限制了SoC内部通信的速度。上世纪90年代NoC技术被提出来解决SoC的架构问题,并一直发展到现在。

片上网络(Network on Chip, NoC) 借鉴了分布式计算系统的通信方式,采用路由和分组交换技术替代传统总线,是最有希望解决复杂片上通信问题的新方法。NoC技术从体系结构上解决了SoC的总线结构所固有的三大问题:

  • 由于地址空间有限而引起的可扩展性问题
  • 由于分时通讯而引起的通讯效率问题
  • 以及由于全局同步而引起的功耗和面积问题
  • 2.1 NoC层次

NoC技术和网络通信中的OSI(Open System Interconnection)技术有很多相似之处,NoC技术的提出也是因为借鉴了并行计算机的互联网络和以太网络的分层思想,二者的相同点有:支持包交换、路由协议、任务调度、可扩展等。NoC更关注交换电路和缓存器的面积占用,在设计时主要考量的方面也是这些。

2.2  NoC基本组成和属性

NoC由计算资源和通信网络两部分组成:

  1. 计算资源:一般由IP核(资源节点)和本地内存组成,完成广义的“计算”任务,IP核可以是CPU、DSP、RAM、高带宽的I/O设备、可重构硬件单元等。
  2. 通信网络:实现计算资源之间的通信,主要包含:路由器(通信节点)、网络适配器(资源网络接口)以及网络链路(通道)。

IP核和路由器位于系统层,网络适配器位于网络适配层。所有IP核都通过网络适配器与路由器进行连接,通过一定的路由协议可以实现任意两个IP核之间的数据通信。针对NoC的这四个基本组成,也衍生出了许多的研究方向和优化途径。有效的IP核映射及拓扑结构,能够缩短路由跳数,减少通信量,避免数据拥塞。合理的缓冲分配、可靠的交换技术、高效的路由算法以及合理的功耗管理策略可以提高通信效率,降低整体功耗。

  1. 资源节点:主要包含计算节点和存储节点。计算节点包含处理器即IP核(CPU、DSP等),存储节点包含ROM、RAM、DRAM、SDRAM等
  2. 通信节点:即路由节点或路由器,主要负责完成IP核之间的数据通信任务。NoC中资源节点产生一个数据包后,会通过特定的接口发送到源路由器中,源路由器会读取数据包的头微片中的地址信息,通过特定的路由算法计算出最佳路由路径,从而树立可靠的传输到目的节点,最终由目的IP核接收此信息。
  3. 资源网络接口:其功能就是作为通信节点与功能节点之间的接口。主要功能有完成数据包的封装与解封装,在源节点的资源网络接口中将原地址信息以及目的地址信息等封装到数据包的头微片中;在目的节点的资源网络接口中将原地址信息以及目的地址信息等删除。
  4. 通道:实质为双向金属链路,用以保证节点间的数据传输分为内部通道和外部通道,内部通道为资源节点和通信节点之间的金属链路,外部通道指通信节点之间的金属链路。

NoC的基本属性包括:

  • 节点度:一个节点与相邻节点连接链路的数目。
  • 网络直径:网络中任意两个节点之间的最短路径的长度的最大值,与网络的通信延迟成线性正比关系。
  • 平均最短距离:网络中任意两IP节点之间的最小距离的和与该和所包含的路径数之比。
  • 网络规模:网络中节点的数目。
  • 可扩展性:网络模块的可扩展能力,扩展必须伴随着所期望的性能按比例地提高。
     

2.3 NoC常见的拓扑结构

2.3.1 2D Mesh

2D Mesh结构为二维网格架构,路由器节点按二维网格的方式排列,每个节点上再连接网络适配器和IP核。下图所示为一个4×4的2D Mesh结构。

在 N×N 的2D Mesh中,每个节点与相邻的节点连接(边界节点除外)。该结构具有结构简单,易于实现,可扩展性好等优点,较为广泛使用。

2.3.2 2D Torus

将2D Mesh结构的每行首尾节点连接起来,每列的首位节点也连接起来,便是2D Torus结构,该结构每个节点在几何上都是等价的,缩短了节点间的平均距离,减小了网络直径,同时该结构可能因为过长的环形链路而产生额外的延迟。

2.3.3 3D Mesh

3D Mesh为三维的网格结构,将多个2D Mesh叠加并对应节点连接起来,这样做进一步降低了网络直径和平均距离,但物理实现难度比较大。

2.3.4 Octagon/Spidergon结构

Octagon为八边形结构,共包含8个IP核,每个节点与三个节点相连,分别是序号相邻的节点和最远的节点。该结构也可以扩展为8个以上节点,变为Spidergon结构。

2.3.5 Cluster Mesh结构

Cluster Mesh 结构改变了传统的一个IP核连接一个路由器,将4个IP核连接1个路由器。这样做减少了路由器数量,简化了拓扑结构,但更容易造成数据拥塞。

2.3.6 树状结构

该结构类似于数据结构中的树结构,IP为叶子节点,路由器节点作为父节点,在父节点之上可以在增加父节点,层层相扣。降低了设计难度,也降低了物理设计的复杂度。

SPIN结构是一种树状结构,具有16个叶子节点以及8个路由器节点。每个节点拥有4个父节点,通过增加路由节点冗余度的方式,增加多路径选择性,提高系统性能。但是该结构的路由节点复杂,芯片实现难度大。

2.3.7 蝶状结构

该结构有些类似于FFT中的结构,是一种对数结构。一个n维的蝶形拓扑结构由2n个IP核和n×(2n-1)个路由器的节点组成,路由器分为n层,每层有N/2个路由器。

2.4 各种结构之间的比较 

2.5 NoC优势

  1. 良好的可扩展能力。一方面,相比于SoC架构,不在受限于总线架构,可以扩展任意数量的计算节点。另一方面,需要对系统功能进行扩展时,只需要将设计好的功能模块通过资源网络接口植入网络,无需重新设计网络整体架构。
  2. 较高的通信效率。一方面NoC将IP核之间的数据传输演变成为路由器之间的数据转发,IP核节约了一部分的计算资源。另一方面避免了总线架构同一时刻只能有一对通信节点进行通信的问题,可以实现同一时刻多对节点通信
  3. 功耗。NoC中采用全局异步局部同步的时钟机制,其功耗开销远低于SoC。NoC中局部模块运用同步时钟域,而全局上采用异步时钟,降低了由于全局时钟同步所带来的动态开销,同时,NoC中的时钟树设计复杂度也低于SoC。

 

三、Chiplet的通信结构

        芯片的主流通信结构有总线和片上网络但是目前Chiplet之间的通信没有统一的标准各个厂商都有自己的通信方案例如AMD采用的可扩展数据结构SDF),TSMC采用的LIPINCON技术Intel采用的高级接口总线advanced interface busAIB和其他厂商的NoC结构。具体可参看:(10条消息) 傻白探索Chiplet,互连技术研究现状(七)_好啊啊啊啊的博客-CSDN博客

        本文不讨论具体的通信细节和标准协议,只讨论各个产商采取的通信结构大多数Chiplet之间的通信结构还是基于总线和NoC的创新例如AMD的第EPYC处理器就是类似总线的通信结构没有路由节点芯片之间只能进行边到边的通信EPYC处理器就类似于NoC的结构中间的I/O芯片是起到节点路由的功能所有的芯片通信都必须通过它来调度

        基于总线的通信结构更加简洁,没有路由节点的开销但是一旦Chiplet的数量过多通信就会变得低效并且只针对边到边的通信结构也不支持多个芯片通信

        如果采用路由节点以第EPYC为例芯片设计以I/O芯片为核心将计算芯片变成可扩展的部分,如图(b),所有计算芯片通过无线结构和I/O芯片相连数据的输入输出由I/O芯片统一调配各个计算芯片之间没有数据通信这就消除了原先计算芯片之间相连但是只能边与边通信的限制并且采用I/O芯片统一调配的方式还可以有效降低芯片通信死锁的风险缺点是所有芯片的通信都必须通过I/O芯片一旦芯片过多需要设计高效的仲裁算法且仍会效率降低解决方案是采用中介层来实现片上网络

        不同中介层实现NoC的方法不同为了在有源中介层中实现NoC我们只需将NoC链接(电线)和路由节点(晶体管)都放在中介层,下显示一个小型的采取有源中介层的NoC实例其中NoC的链接和节点全部在中介层上如果使用无源中介层不能放有源器件如下图),路由器的活动组件(例如缓冲区、仲裁器)放置在CPU裸片但是NoC链接仍使用中介层的路由资源这种方法可以利用中介层的金属层进行NoC路由但要花费一些CPU裸片来实现NoC的逻辑组件。下图中的NoC在拓扑和功能上都是相同的。

         基于中介层的NoC结构更加高效但是节点开销较大不过在大量Chiplets通信的情况下性能更好。NoC提供了统一的接口来连接不同的系统组件。NoC方法不是要求系统设计人员对每个通信模块之间实现特定的接口而是采用了模块化和可扩展性更高的设计方法从而使不同的小芯片自然地组合在一起

        路由会显著影响网络性能、可靠性和功耗设计不正确的路由算法可能会导致网络中的资源依赖关系从而导致死锁这可能对系统造成致命影响解决死锁的方案有虚拟通道和转向模型其中虚拟通道必须提前配置且每个虚拟通道都有自己的输入缓冲区增加虚拟通道的数量会增大NoC的面积代价很高另外3D NoC基于转向的算法要求每个路由节点都与其他芯片层垂直连接增加了每个芯片层的TSV区域开销代价也很高

        因此针对这种具有各种拓扑结构的小芯片系统南加州大学和多伦多大学联合提出了一种模块化的,没有死锁的路由方法(Modular routing,具体见参考资料2)。该方案无需了解其他Chiplet或中介层NoC的详细信息每个Chiplet都可以单独设计从任何一个Chiplet的角度看系统的其他部分Chiplet的总数或者中介层的复杂性无关都可以看作个虚拟节点然后应用了转向限制的边界路由将Chiplet和虚拟节点连接起来这种模块化的方法易于分析和优化Chiplet的粒度

 基于有源介质的3D封装

参考资料:

Chiplet封装结构与通信结构概述_陈桂林

Modular Routing Design for Chiplet-Based Systems | IEEE Conference Publication | IEEE Xplore (7条消息) 片上网络NOC(Network on Chip)相关总结转载~_一起倾听丶的博客-CSDN博客_片上网络

(7条消息) NoC(Network on Chip)学习笔记(2)_Tommyll的博客-CSDN博客_forwarding-noc

(7条消息) NoC(Network on Chip)学习笔记(1)_Tommyll的博客-CSDN博客_noc学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/107090.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络技术期末复习~基础理论题

问题1.1试述五层协议的网络体系结构的要点,包括各层的主要功能。 解: 物理层:传输比特流。 数据链路层:传送以帧为单位的数据,实现网络中相邻两个节点直接的连接。 网络层:提供主机间的通信服务。&…

【小学信息技术教资面试】《数据计算》教案

1.题目:数据计算 2.内容: 3.基本要求 (1)掌握公式和函数的使用方法。 (2)试讲中体现学生的参与性。 (3)配合板书讲解。 《数据计算》教案 一、教学目标 1.了解公式的组成&#x…

Hadoop综合项目——二手房统计分析(起始篇)

Hadoop综合项目——二手房统计分析(起始篇) 文章目录Hadoop综合项目——二手房统计分析(起始篇)0、 写在前面1、项目背景与功能1.1 项目背景1.2 项目功能2、数据集和数据预处理2.1 数据集2.2 数据预处理2.2.1 字段空值处理2.2.2 无…

计算机毕设Python+Vue养生知识平台(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

浅析在线教育行业发展所面临的困境

2013年,在线教育行业悄然兴起,一时间引发讨论。到新冠疫情期间,受到疫情和政策的双重抨击,线下教育行业遭到重创,又有更多人开始关注到并开始看好在线教育。作为技术发展下的产物,在线教育跨越了时间、空间…

【小学信息技术教资面试】《认识Windows程序窗口》教案

1.题目:认识Windows程序窗口 2.内容: 3.基本要求: (1)学生掌握改变窗口大小和位置的方法。 (2)教学中注意师生间的交流互动。 (3)让学生明白Windows窗口组成。 《认识W…

超标量处理器设计——第七章_寄存器重命名

超标量处理器设计——第七章_寄存器重命名 参考《超标量处理器》姚永斌著 文章目录超标量处理器设计——第七章_寄存器重命名7.1 简述7.2 寄存器重命名方式7.2.1 用ROB进行寄存器重命名7.2.2 扩展ARF进行寄存器重命名7.2.3 使用统一的PRF进行寄存器重命名7.3 重命名映射表&…

UI 自动化测试实战(二)| 测试数据的数据驱动

关注公众号,获取测试开发实战干货合辑。本文节选自霍格沃兹《测试开发实战进阶》课程教学内容,进阶学习文末加群。 数据驱动就是通过数据的改变驱动自动化测试的执行,最终引起测试结果的改变。简单来说,就是参数化在自动化测试中的…

企业生产管理必备模板,助力企业数字化转型

如今企业在市场经济中快速发展,不少企业在市场中得到了更好的发展机遇。然而机遇与挑战往往是共存的,市场同时也给制造企业生产方面提出了更高要求——企业需要在产品结构优化、生产系统改良以及运作模式创新的基础上,注重管理思维模式的改进…

【实时数仓】DWM层订单宽表之维表关联优化 -- 异步查询

文章目录一 DWM层-订单宽表1 维表关联代码实现(1)优化2:异步查询a 封装线程池工具类b 封装维度异步查询的函数类DimAsyncFunctionc 自定义维度查询接口DimJoinFunctiond 使用DimAsyncFunction关联用户维度源码测试配置配置表历史数据同步总结…

构建Web应用程序哪个最好:PHP,Python还是Ruby?

在本文中,我们将了解哪种PHP,Python和Ruby最适合构建Web应用程序。 什么是 Python? Python 是一种具有动态语义的解释型、面向对象的高级编程语言。其高级内置数据结构,以及动态绑定和动态类型,使其特别适合用作脚本…

如何计算并有效降低独立站的客户流失率?

关键词:客户流失率 独立站 对于跨境电商的独立站运营来说,现在获取一个新用户的成本越来越高,成本可能是维护现有客户的5倍;品牌有大约60%–70% 的机会向现有客户销售产品,而仅有大约 20% 的机会向新客户销售产品。 所以&#xff…

有奖征文活动:从 RTC 到 RTE,从音视频到「实时万象」!

Hi 小伙伴们, 社区已经更名 RTE 两个月辣~大家对于 RTC 和 RTE 的区分,是否还有疑惑呢?🤔 关于这两者的区别,我们创始人兼 CEO 赵斌老师说: “RTC(实时音视频)从 Commu…

k8s-Service简单学习

目录 Service介绍 Service类型 Service使用 实验环境准备 ClusterIP类型的Service HeadLiness类型的Service NodePort类型的Service LoadBalancer类型的Service ExternalName类型的Service Ingress介绍(最好) Ingress使用 环境准备 Http代理 …

网络安全实战之植入后门程序

在VMware上建立两个虚拟机:win7和kali。 Kali:它是Linux发行版的操作系统,它拥有超过300个渗透测试工具,就不用自己再去找安装包,去安装到我们自己的电脑上了,毕竟自己从网上找到,也不安全。它…

搞懂 Dubbo 入门理论,这一篇就够

RPC简介 ● RPC, Remote Procedure Call ,远程过程调用,是一种跨系统间服务调用的协议或框架 ● 在很多企业,在内部存在大量的业务子系统,这些子系统都承担独立的业务功能,并相互协作,实现企业…

[思维模式-10]:《如何系统思考》-6- 认识篇 - 结构决定功能,如何进行深度思考

目录 第1章 深度思考概述 1.1 深度思考的本质 1.2 深度思考的冰山模型 1.3 行为模式:结构与现象之间的桥梁 第2章 复杂多变的现象背后的六种基本的行为模式 第3章 透过模式/趋势看清内在的结构 第1章 深度思考概述 1.1 深度思考的本质 结构决定功能&#x…

超标量处理器设计——第三章_虚拟存储器

超标量处理器设计——第三章_虚拟存储器 参考《超标量处理器》姚永斌著 文章目录超标量处理器设计——第三章_虚拟存储器3.2 地址转换3.2.1 单级页表3.2.2 多级页表3.2.3 Page Fault3.3 程序保护3.4 加入TLB和Cache3.4.1 TLB的设计TLB缺失TLB的写入对TLB进行控制3.4.2 Cache的设…

时变电磁场 工程电磁场 P24

两个重要定律 首先是两个非常重要的定理 法拉第电磁感应定律完整形式: 应用斯托克斯定律,我们可以得到 在静止媒质钟我们有 全电流定律 对于非恒定的电流,我们可以写成 相应的微分形式 电磁感应定律与全电流定律构成了电磁场理论的基石 这两…

python自学难吗?零基础学python难吗?

作为一名小白,学习任务新东西的时候都会关系,要学的东西难吗?学习Python时自然也会关心Python难吗?能学会吗? 从编程语言的角度来看,Python相比于其他语言真的是不难,Python本身极简的语法&…