快捷搜索: 王者荣耀 脱发

NoC(Network on Chip)学习笔记(1)

NoC结构与性能

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

NoC层次

NoC基本属性

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

NoC常见的拓扑结构

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

2D Mesh

2D Mesh结构为二维网格架构,路由器节点按二维网格的方式排列,每个节点上再连接网络适配器和IP核。下图所示为一个4×4的2D Mesh结构。 在 N×N 的2D Mesh中,每个节点与相邻的节点连接(边界节点除外)。该结构具有结构简单,易于实现,可扩展性好等优点,较为广泛使用。

2D Torus

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

3D Mesh

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

Octagon/Spidergon结构

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

Cluster Mesh结构

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

树状结构

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

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

蝶状结构

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

各种结构之间的比较

拓扑结构 节点数 节点度 网络直径 链路数 2D Mesh N=n2 4 2n-2 2(N-n) 2D Torus N=n2 4 n 2N 3D Mesh N=3n 4 n 2(N-n) Octagon N=n2 3 [N/4] [(N mod 8) +1]×12 Spidergon N=n2 3 [N/4] 3N/2 Cluster Mesh N=n2 4 2n-2 5N-2n Spin N=2n 4 N/8 5N/2 蝶形结构 N=2n 2 n+1 (n-1)×N

参考文献

[1]张剑贤. 高性能片上网络关键技术研究[D].西安电子科技大学,2012.

经验分享 程序员 微信小程序 职场和发展