NoC简介

article/2025/11/5 5:14:00

目录

一、什么是NoC

二、NoC的优势

三、什么是路由

四、NoC的种类


一、什么是NoC

NoC(network on chip),片上网络

想要了解NoC,首先需要知道什么是SoC

SoC(System on Chip)片上系统,具有集成度高、功耗低、成本低、体积小等优点,已经成为超大规模集成电路系统设计的主流方向。

SoC整体架构图如下:

SoC架构

 目前,SoC通讯架构的设计相对比较成熟。大部分芯片公司芯片制造都采用SoC架构。然而,随着商业应用开始不断追求指令运行并存性和预测性,芯片中集成的核数目将不断增多,基于总线架构的SoC将逐渐难以不断增长的计算需求。

二、NoC的优势

1、可扩展性和设计成本。SoC系统设计是从系统需求分析开始,确定硬件系统中的模块。为了使系统能够正确工作,SoC中各物理模块在芯片上的位置是相对固定的。一旦在物理设计完毕后,要进行修改,实际上就有可能是一次重新设计的过程。另一方面,基于总线架构的SoC,由于总线架构固有的仲裁通信机制,即同一时刻只能有一对处理器核心进行通信,限制了可以在其上扩展的处理器核心的数量。
2、平均通信效率。SoC中采用基于独占机制的总线架构,其各个功能模块只有在获得总线控制权后才能和系统中其他模块进行通信。从整体来看,一个模块取得总线仲裁权进行通信时,系统中的其他模块必须等待,直到总线空闲。

片上网络具有非常丰富的信道资源,为系统提供了一个网络化的通信平台。网络中的多个节点可以同时利用网络中的不同物理链路进行信息交换,支持多个IP 核并发地进行数据通信。随着网络规模的增大,网络上的信道资源也相应增多。因此,NoC 技术相对于Bus 互连技术具有较高的带宽,以及更高的通信效率。当并发进行数据通信时网络会产生竞争,即会存在请求同一条物理链路的节点对。NoC 的路由节点通过分时复用物理链路来解决竞争,与Bus 结构相比,NoC 能够降低竞争发生的概率。
3、单一时钟同步问题。总线结构采用全局同步时钟,随着芯片集成度的提高,芯片的工作频率也在不断提高,在芯片内会形成很庞大的时钟树,因此很难实现片上各个模块的全局同步时钟。采用时钟树(Clock Tree)优化的方法可以改善由时钟翻转引起的时钟偏差和时钟抖动,但同步时钟网络所产生的动态功耗甚至可达总功耗的40%以上。为了提高系统的时钟频率,只能对全局互连线采用分布式流水线结构,或者采用全局异步局部同步(Global Asynchronous Local Synchronous,GALS)的时钟策略。

4、功耗。随着SoC 规模的不断增大,总线上每次信息交互都需要驱动全局互连线,因此总线结构所消耗的功耗将显著增加,并且随着集成电路工艺的不断发展,想要保证全局时钟同步也将变得难以实现。而在NoC 中,信息交互消耗的功耗与进行通讯的路由节点之间的距离密切相关,距离较近的两个节点进行通讯时消耗的功耗就比较低。

三、什么是路由

NoC的主题思想是将宏观网络的通讯措施应用于芯片上,每个核当做一个独立的单元,IP核经过网络接口与特定的路由器相连。由此,将IP核之间的通信转换为路由器与路由器的通信。通常情况下的NoC架构如下图所示:

NoC通讯架构

R为路由节点,IP为计算节点。

那么,什么是路由呢?

路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。

让我们试着通过一个类比来理解路由。想象一个场景,你下班后正准备从公司开车回家,此时路上塞满了车辆,你将在手机地图上查找道路和交通状况。根据路况,你将选择最通畅的那条路回家。

类似地,在路由中,有关数据包移动的决策是根据网络的状态做出的,路由器负责做出这些逻辑数据决策。

设置路由器的主要目的是找到数据包从源到目的地的最有效路径。使用非常复杂的算法,路由器决定当前数据包必须通过哪个路由器或设备发送。重复此过程,直到数据包最终到达目的地。

路由可以分为两类:静态路由和动态路由。在静态路由中,所有路由都是在一个路由器中手动设置的。因此,如果网络有任何变化,路由也不会有任何变化,除非有人手动更正它。

在动态路由中,路由是由软件根据网络的当前状态来设置的。

网络变化,如链路故障、流量变化等,将在每一个离散时间步更新。根据这些信息,将在每个时间步长确定新路线。动态路由优于静态路由,因为路由器会根据网络中的变化进行实时更新。

举个例子,将上图的NoC架构图中的路由节点编号,如图所示:

 若00要将数据发送到21,需经过10、20,后到21 

四、NoC的种类

NoC的属性:

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

NoC常见的拓扑结构
NoC常见的拓扑结构包括规则拓扑和不规则拓扑两种。规则拓扑主要包括2D Mesh、2D Torus、3D Mesh、Octagon、Cluster Mesh、Spidergon、超立方、蜂窝式、树形和蝶形等拓扑结构。不规则拓扑包括专用网络、分层网络、网络总线混合拓扑以及由规则拓扑组合而成的拓扑结构。

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

2D Mesh结构示意

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

2D Torus

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

3D Mesh

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

3D Mesh结构

Octagon/Spidergon结构

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

在这里插入图片描述

Cluster Mesh结构

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

在这里插入图片描述

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

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

 碟状结构

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

 在这里插入图片描述

各种结构之间的比较

 


http://chatgpt.dhexx.cn/article/8fOWDlqr.shtml

相关文章

树莓派入门(四)—— 使用NOOBS为树莓派4B安装系统

首先,使用《树莓派入门(三)—— 使用win32DiskImager为树莓派安装系统》中的方法就可以实现Raspbian系统的安装,所以本文不是必须掌握的,由于Noobs也是官方推荐的工具,而且是一个很不错的工具,所…

Raspberry pi,一个好玩的派:第四季 NOOBS

今天换个玩法,不继续深入探索Raspbian系统了,研究一下官网推荐的另一种安装方法NOOBS。 那么什么是NOOBS呢?它是专为Raspberry pi打造的简单易用的图形界面的操作系统管理工具。全称为:New Out Of the Box Software 官方截图如下…

【树莓派】树莓派4无痛安装系统(NOOBS篇)

【树莓派】树莓派3Pi4无痛安装系统(新手NOOBS篇) 前言一、准备工作桌面端软件 二、系统下载TF卡准备工作 四、树莓派部分五、VNC & SSH(远程桌面)SSH简单测试SSH服务 换源Tips补充 前言 此篇文章面向对象:刚刚接触…

【树莓派】使用NOOBS安装树莓派系统

【树莓派】使用NOOBS安装树莓派系统 通过NOOBS进行安装 什么是NOOBS New Out Of Box Software (NOOBS)(NOOBS)是Raspberry Pi的一个简单的操作系统安装管理器。 下载sd卡格式化安装器 下载地址为 https://www.sdcard.org/downloads/formatter_4/ 下载…

油猴脚本管理器使用指南

油猴脚本管理器,爬虫,破解,优化脚本让你的浏览器充满各种可能。本文详细介绍了油猴的各种安装方法,包括脚本的查找和使用。 下载油猴 你可以在油猴官网,下载所有主流浏览器的扩展。 推荐你使用微软最新的 Edge 浏览器&…

一个超简单的油猴脚本!

一个超简单的油猴脚本! 对于油猴脚本神驰已久,一直没有时间研究,找了几篇博客一看,发现简单的脚本实现起来并不难!初次学习,模仿了一个CSDN一键点赞评论的demo脚本,感谢原作者! 原博文链接: 如…

Tampermonkey油猴脚本安装及入门

一、简介 油猴脚本是是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome, Microsoft Edge, Safari, Opera Next, 和 Firefox,通过它可以让浏览器实现各种各样的扩展功能,和浏览器扩展的作用类似。比如获去链接重定向、微博页…

油猴脚本的使用和安装

1.下载tampermonkey,这个google浏览器插件,插件可以去百度搜索下载。 或者进入Tampermonkey.net下载,第二种方法里点击下载按钮访问的是Google需要科学上网 2.在谷歌浏览器地址栏输入chrome://extensions/ 勾选开发者模式,火狐浏览…

Greasy Fork发布油猴脚本

在控制台中选择发布你编写的脚本 https://greasyfork.org/zh-CN/users 选择脚本想要分享给其他人 在这里输入编写的代码以及对应的描述信息,描述信息中可以添加五张超过200KB的图片 最后,点击发布 最后发布成功 44291838)]

油猴脚本开发及发布流程

以下教程以Chrome浏览器为例 安装油猴脚本管理器 打开Chrome网上应用店,搜索Tampermonkey ,点击第一个结果(一般)然后添加到Chrome。 可以点击这个链接直接到安装页面,其他安装方法不再赘述,网上搜索一下就…

油猴脚本更改tw样式

date:2022/07/23 title:编写油猴脚本更改tw作业样式 tag:脚本 编写油猴脚本更改tw作业样式 需求 如图1,作答后的作业颜色暗淡,不便复习 更改后如图2,变丑了但是显眼一些 原页面与更改后页面 原页面与更改后页面 图一 图二 代码 grant处引入油猴脚本的GM_addStyle 用style变量中…

油猴脚本

油猴插件—脚本控制的瑞士军刀 油猴是什么 Tampermonkey是最受欢迎的用户脚本管理器,拥有超过1000万用户。 它适用于Chrome,Microsoft Edge,Safari,Opera Next和Firefox。Tampermonkey使您可以非常轻松地管理用户脚本,并提供诸如运行脚本的清晰概述,内置编辑器,基于ZIP…

油猴脚本链接

油猴脚本https://greasyfork.org/zh-CN tampermonkeyhttps://www.tampermonkey.net/scripts.php?version4.16.1&extiikm&updatedtrue

油猴脚本编写

文章目录 准备第一个简单的脚本获取新脚本正式学习编写额外可以参考我的练习1. b站获取视频选集名称2. csdn 写文章去图片水印3. csdn 浏览图片去水印4. csdn 写文章自动解析链接 准备 Tampermonkey 官网: https://www.tampermonkey.net/ 官方文档: ht…

如何开发一个油猴脚本- 从零开始编写一个油猴脚本

📢博客主页:https://blog.csdn.net/mukes 📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正! 📢本文由 mukes 原创,首发于 csdn 目录 前言开发脚本之前的准备工作1.什么是油猴(Tampermonke…

浏览器辅助神器:油猴脚本使用教程

「油猴脚本」是一段脚本代码,通过它可以让浏览器实现各种各样的扩展功能,和浏览器扩展的作用类似。 比如获去链接重定向、微博页面精简、去广告等,相当于给浏览器开了个挂,可以说是浏览器的辅助神器了! 相信很多用户…

4r照片尺寸是多大_4R照片是什么尺寸,跟普通照片有什么区别? – 手机爱问

2013-01-25 照片尺寸对照表像素,规格? 数码相机和可冲印照片最大尺寸对照表: 照片规格(英寸) (厘米) (像素) 1寸 2。5*3。5cm 413*295 身份证大头照 3。 3*2。2 390*260 2寸 3。5*5。3cm 626*413 小2寸(护照) 4。8*3。3cm 567*390 5 寸 5x3。…

计算机一级照片错误怎么改,电脑上要怎么修改一寸照片大小

怎么修改电脑上的一寸照片大小呢?只要借助电脑自带的画图软件,就能解决一寸照片的修改问题,其他照片也适用此法。 1、找到想要修改的一寸照,右击,在下拉列表中选择【打开方式】——【画图】。“画图”软件是我们电脑自…

Java 应用一般架构

原文链接:http://www.iteye.com/news/31115 当我们架设一个系统的时候通常需要考虑到如何与其他系统交互,所以我们首先需要知道各种系统之间是如何交互的,使用何种技术实现。 1. 不同系统不同语言之间的交互 现在我们常见的不同系统不同语…