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

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

  • NoC结构与性能
    • NoC层次
    • NoC基本属性
    • NoC常见的拓扑结构
      • 2D Mesh
      • 2D Torus
      • 3D Mesh
      • Octagon/Spidergon结构
      • Cluster Mesh结构
      • 树状结构
      • 蝶状结构
    • 各种结构之间的比较
  • 参考文献

NoC结构与性能

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

NoC层次

NoC技术和网络通信中的OSI(Open System Interconnection)技术有很多相似之处,NoC技术的提出也是因为借鉴了并行计算机的互联网络和以太网络的分层思想,二者的相同点有:支持包交换、路由协议、任务调度、可扩展等。NoC更关注交换电路和缓存器的面积占用,在设计时主要考量的方面也是这些。
NoC(Network on Chip)学习笔记(1)_第1张图片
NoC的基本组成为:IP核、路由器、网络适配器以及网络链路,IP核和路由器位于系统层,网络适配器位于网络适配层。针对NoC的这四个基本组成,也衍生出了许多的研究方向和优化途径。有效的IP核映射及拓扑结构,能够缩短路由跳数,减少通信量,避免数据拥塞。合理的缓冲分配、可靠的交换技术、高效的路由算法以及合理的功耗管理策略可以提高通信效率,降低整体功耗。

NoC基本属性

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

NoC常见的拓扑结构

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

2D Mesh

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

2D Torus

NoC(Network on Chip)学习笔记(1)_第3张图片
将2D Mesh结构的每行首尾节点连接起来,每列的首位节点也连接起来,便是2D Torus结构,该结构每个节点在几何上都是等价的,缩短了节点间的平均距离,减小了网络直径,同时该结构可能因为过长的环形链路而产生额外的延迟。

3D Mesh

3D Mesh为三维的网格结构,将多个2D Mesh叠加并对应节点连接起来,这样做进一步降低了网络直径和平均距离,但物理实现难度比较大。
NoC(Network on Chip)学习笔记(1)_第4张图片

Octagon/Spidergon结构

Octagon为八边形结构,共包含8个IP核,每个节点与三个节点相连,分别是序号相邻的节点和最远的节点。该结构也可以扩展为8个以上节点,变为Spidergon结构。
NoC(Network on Chip)学习笔记(1)_第5张图片NoC(Network on Chip)学习笔记(1)_第6张图片

Cluster Mesh结构

Cluster Mesh 结构改变了传统的一个IP核连接一个路由器,将4个IP核连接1个路由器。这样做减少了路由器数量,简化了拓扑结构,但更容易造成数据拥塞。
NoC(Network on Chip)学习笔记(1)_第7张图片

树状结构

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

SPIN结构是一种树状结构,具有16个叶子节点以及8个路由器节点。每个节点拥有4个父节点,通过增加路由节点冗余度的方式,增加多路径选择性,提高系统性能。但是该结构的路由节点复杂,芯片实现难度大。
NoC(Network on Chip)学习笔记(1)_第8张图片

蝶状结构

该结构有些类似于FFT中的结构,是一种对数结构。一个n维的蝶形拓扑结构由2n个IP核和n×(2n-1)个路由器的节点组成,路由器分为n层,每层有N/2个路由器。
NoC(Network on Chip)学习笔记(1)_第9张图片

各种结构之间的比较

拓扑结构 节点数 节点度 网络直径 链路数
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.

你可能感兴趣的:(片上网络)