CN105119833B - 一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 - Google Patents
一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 Download PDFInfo
- Publication number
- CN105119833B CN105119833B CN201510567531.3A CN201510567531A CN105119833B CN 105119833 B CN105119833 B CN 105119833B CN 201510567531 A CN201510567531 A CN 201510567531A CN 105119833 B CN105119833 B CN 105119833B
- Authority
- CN
- China
- Prior art keywords
- network
- node
- binary tree
- localized
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
Abstract
本发明涉及一种用于片上网络的混合互连结构。所述混合互连结构包括全局网络和多个局部网络,所述全局网络为由多个网络节点组成的二叉树结构,所述局部网络为由多个网络节点组成的二维Mesh结构,局部网络的中心节点与所述全局网络上的网络节点相连。本发明中全局网络采用二叉树结构和局部网络采用二维Mesh结构,并设计了匹配的网络节点编码方法和混合路由算法,从而能够平衡局部和全局之间的数据流量,能够减少局部节点之间的路径平均距离,减少网络直径,从而提高网络的平均传输延迟和网络数据吞吐量,同时还有效的节省了连线资源,在相同的连线资源的基础上,能够加入的网络节点数更多。
Description
技术领域
本发明属于片上网络互连技术领域,具体涉及用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法。
背景技术
随着半导体工艺技术的快速发展,微电子技术从集成电路设计向系统芯片设计飞速转变着。然而随着工艺技术的持续发展,出现了一些与SoC(system-on-chip)自身特征相关的问题,且这类问题在SoC传统架构下难以解决。基于此情形,片上网络NoC(network onchip)概念在1999年左右被提出。其核心思想是计算单元与通信架构相互分离,而其通信部分则借鉴了计算机网络技术,并将其移植到集成电路设计中来,这样便可以从体系结构上解决片上通信的瓶颈问题。
片上网络的拓扑结构定义了网络中各个模块在芯片上分布和连接的物理布局。拓扑结构的选择将直接影响到网络节点度、网络直径、网络规模,从而影响了网络时延、吞吐量、能耗、面积以及容错等,最终对网络性能参数产生重要影响。因此,在片上网络中,对拓扑结构的设计研究是目前研究的重点之一。
NoC的研究通常涉及以下几种拓朴结构:二维网格结构(2D Mesh),蜘蛛网,肥胖树,环,网格以及带环网格等。其中,二维网格结构是一种规则型结构,是片上网络研究过程中最常用、最简单直观的拓扑结构,Mesh结构具有可扩展性好、规则性、逻辑结构简单、便于实现和分析等优点,因此在片上网络中得到广泛应用。这种结构设计的缺点是:对称性易引起中央区域拥塞和热点,造成网络负载分布不均衡;其边缘节点相对闭塞,远端节点间长距离多跳通信易造成延迟在网络架构方面,必须斟酌拓扑结构的路径平均距离、可扩展性、节点数量、网络直径等。
片上网络的路由算法依赖于网络拓扑结构。在拓扑结构相同的片上网络中,路由算法决定了数据包传输的路径,从而决定了网络链路的负载分布和拥塞程度。不同路由算法所决定的通讯路径长短将直接影响到整个片上网络的传输延迟、路由传输能耗和缓存排队能耗。良好的片上网络路由算法不仅能够平衡网络负载分布,而且可以使路由路径尽可能短。这些都将对网络吞吐量、通信延迟以及能耗起到关键性作用,也将极大影响整个网络的通信性能,是片上网络设计过程中的重点和难点。
在实际应用中,片上网络的各个节点之间的通信频率是有差别的,往往局部各核之间通信较为频繁,采用上述的几种单一的拓扑结构不能很好的兼顾到这种差异性,很难满足现实的需求。
发明内容
本发明要解决的技术问题是:提供一种能够平衡全局和局部网络之间数据流量的用于片上网络的混合互连结构。
基于混合互连结构,本发明的另一目的是提供一种与用于片上网络的混合互连结构匹配的网络节点编码方法。
基于混合互连结构,本发明的又一目的是提供一种与用于片上网络的混合互连结构匹配的混合路由算法。
本发明解决其技术问题所采用的技术方案是:一种用于片上网络的混合互连结构,包括全局网络和多个局部网络,所述全局网络为由多个网络节点组成的二叉树结构,所述局部网络为由多个网络节点组成的二维Mesh结构,局部网络的中心节点与所述全局网络上的网络节点相连。
具体的,所述二维Mesh结构呈N×N的正方形结构,其中N为正方形边的网络节点数,当N为偶数时,中心节点为二维Mesh结构在中心处形成的正方形的四个端部的网络节点;当N为奇数时,中心节点为二维Mesh结构在中心处的网络节点。
一种用于片上网络的混合互连结构的网络节点编码方法,所述网络节点的地址编码为(L,X,Y,Q),其中L=L1_L2…_Lk…_Ln,n为二叉树结构的层数,1<k≤n,X和Y为用XY坐标编码方式以局部网络的中心节点为坐标原点获得的坐标值,Q值为用于表示所述网络节点是在二叉树结构上还是局部网络的坐标原点的值,
当所述网络节点为二叉树结构上第1层的节点时,L1=L2=…=Lk=…=Ln=00,X=Y=0;
当所述网络节点为二叉树结构上第k层的节点时,L1=L(k+1)=…=Ln=00,X=Y=0,L2至Lk中的任一个记为La,La值根据第k层节点在a层的父节点的位置确定,当在a层的父节点为a层的左节点,La=10,当在a层的父节点为a层的右节点,La=11;
当所述网络节点为N×N的二维Mesh结构上的网络节点时,L值等于二叉树结构上与该网络节点所在局部网络连接的网络节点的L值,X=X0_Xoffset,Y=Y0_Yoffset,其中,X0和Y0分别为表示所述网络节点相对于坐标原点方向的值,Xoffset和Yoffset分别为所述网络节点相对坐标原点的在X方向和在Y方向的偏移量。
优选的,当N为偶数时,选择二维Mesh结构在中心处形成的正方形的四个端部中的一个网络节点为坐标原点,当N为奇数时,选择二维Mesh结构在中心处的网络节点为坐标原点。
具体的,当所述网络节点在二叉树结构上时,Q=1;当所述网络节点在二维Mesh结构上且为坐标原点时,Q=0;当所述网络节点在二维Mesh结构上且不是坐标原点时,Q为无效值。
一种用于片上网络的混合互连结构的混合路由算法,当数据在片上网络的网络节点之间进行传输通信时,数据输入的网络节点为源节点,数据输出的网络节点为目标节点,通过二叉树算法和/或XY路由算法确定数据从源节点传输到目标节点的传输路径,当源节点和目标节点在全局网络的二叉树结构上时,采用二叉树算法确定数据的传输路径;当源节点和目标节点在同一局部网络的二维Mesh结构上时,采用XY路由算法确定数据的传输路径;当源节点和目标节点两个网络节点中的一个在全局网络的二叉树结构上,另一个在局部网络的二维Mesh结构上时,采用二叉树算法确定在二叉树结构上的网络节点至二叉树结构上与对应局部网络连接的网络节点的传输路径,采用XY路由算法确定在二维Mesh结构上的网络节点到中心节点的传输路径;当源节点和目标节点在不同局部网络的二维Mesh结构上时,采用XY路由算法确定源/目标节点到源/目标节点所在局部网络的中心节点的传输路径,采用二叉树算法确定二叉树结构上与源节点所在局部网络连接的网络节点到二叉树结构上与目标节点所在局部网络连接的网络节点的传输路径。
优选的,根据上述的网络节点编码方法,确定数据从源节点传输到目标节点的传输路径并根据传输路径进行数据的传输,具体包括如下步骤:
1)根据源节点和目标节点的地址编码中X、Y和Q的值判断源节点和目标节点的位置,按照二叉树算法和/或XY路由算法确定传输路径,当网络节点的X和Y的值为零且Q=1时,所述网络节点在全局网络的二叉树结构上,当网络节点的X和Y的值为零且Q=0时,所述网络节点为局部网络的二维Mesh结构上的坐标原点,当网络节点的X和Y的值不都为零,所述网络节点为在局部网络的二维Mesh结构上的非坐标原点,
当源节点和目标节点均在全局网络的二叉树结构上,转到步骤2),当源节点和目标节点均在局部网络的二维Mesh结构上,转到步骤3),当源节点在全局网络的二叉树结构上,目标节点在局部网络的二维Mesh结构上转到步骤4),当源节点在局部网络的二维Mesh结构上,目标节点在全局网络的二叉树结构上转到步骤5);
2)采用二叉树算法确定传输路径,即将源节点与目标节点的地址编码中的L进行对比,确定传输路径,数据沿确定的传输路径从源节点传输至目标节点,具体为:
2.1)从L1位到Ln位寻找源节点与目标节点第一个不相等的位,记为Li,
2.2)从Ln位到L1位寻找源节点中第一个不为00的位,记为Lj,
2.3)从源节点依次向上寻找父节点,寻找父节点的次数记为m,m通过公式(1)获得:
m=i-j+1 (1)
2.4)从步骤2.3)中寻找到的最高级的父节点开始,根据目标节点的Li至Ln位逐一向下选择传输路径,Li至Ln中的任一个记为Lb,当Lb为10时,向下层的左节点传输,当Lb为11时,向下层的右节点传输,当Lb为00时,数据传输完成;
3)当源节点和目标节点的L值相同时,源节点和目标节点在同一局部网络的二维Mesh结构上,根据XY路由算法,确定源节点和目标节点的传输路径,当源节点和目标节点的L值不同时,源节点和目标节点在不同局部网络的二维Mesh结构上,根据XY路由算法,确定源/目标节点到源/目标节点所在局部网络的中心节点的传输路径,采用步骤2)所述的二叉树算法确定二叉树结构上与源节点所在局部网络连接的网络节点到二叉树结构上与目标节点所在局部网络连接的网络节点的传输路径,数据沿确定的传输路径从源节点传输至目标节点;
4)采用步骤2)所述的二叉树算法确定源节点到全局网络的二叉树结构上与目标节点所在局部网络连接的网络节点的传输路径,根据XY路由算法,确定局部网络的中心节点到目标节点的传输路径,数据沿确定的传输路径从源节点传输至目标节点;
5)根据XY路由算法,确定源节点到局部网络的中心节点的传输路径,采用步骤2)所述的二叉树算法确定目标节点到全局网络的二叉树结构上与源节点所在局部网络连接的网络节点的传输路径,数据沿确定的传输路径从源节点传输至目标节点。
本发明的有益效果是,本发明中全局网络采用二叉树结构和局部网络采用二维Mesh结构,并设计了匹配的网络节点编码方法和混合路由算法,从而能够平衡局部和全局之间的数据流量,能够减少局部节点之间的路径平均距离,减少网络直径,从而提高网络的平均传输延迟和网络数据吞吐量,同时还有效的节省了连线资源,在相同的连线资源的基础上,能够加入的网络节点数更多。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明一种用于片上网络的混合互连结构的一实施例的结构示意图。
图2是图1中相关网络节点的地址编码表。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
本发明的具体实施例如图1所示,本发明所述的一种用于片上网络的混合互连结构,包括全局网络和多个局部网络。所述全局网络为由多个网络节点组成的二叉树结构,所述局部网络为由多个网络节点组成的二维Mesh结构,局部网络的中心节点与所述全局网络上的网络节点相连。所述二维Mesh结构呈N×N的正方形结构,其中N为正方形边的网络节点数,当N为偶数时,中心节点为二维Mesh结构在中心处形成的正方形的四个端部的网络节点;当N为奇数时,中心节点为二维Mesh结构在中心处的网络节点。这种合互连结构可以减少在二维网络上的平均寻址路径。
本实施例中采用四层的二叉树结构作为全局网络,另外选取全局网络上的两个网络节点分别挂接一个局部网络构成片上网络的混合互连结构。对图1中的部分网络节点进行编号,网络节点D为二叉树结构的第一层的网络节点,在第四层的网络节点G上挂接一个4×4的二维Mesh结构,其中心处的正方形具有四个中心节点,分别为右上角中心节点A、左上角中心节点H、右下角中心节点Z和左下角中心节点Y。所述四个中心节点分别与网络节点G连接。在二叉树结构的第三层的一网络节点N上挂接一个5×5的二维Mesh结构,其中心节点Q与网络节点N相连。
针对上述的片上网络的混合互连结构,采用一种用于片上网络的混合互连结构的网络节点编码方法。全局网络的网络节点是根据二叉树结构的分层层次性,采用二级编址的方式。这种编址方式采用类赫夫曼编码的方式.对赫夫曼编码进行了改进,,为了使结构中的任意节点都有等长的地址,分别用2位二进制位表示路由节点的地址。局部网络的网络节点采用XY坐标编址方法。具体编码方法如下:所述网络节点的地址编码为(L,X,Y,Q),其中L=L1_L2…_Lk…_Ln,n为二叉树结构的层数,1<k≤n,X和Y为用XY坐标编码方式以局部网络的中心节点为坐标原点获得的坐标值,Q值为用于表示所述网络节点是在二叉树结构上还是局部网络的坐标原点的值,
当所述网络节点为二叉树结构上第1层的节点时,L1=L2=…=Lk=…=Ln=00,X=Y=0;
当所述网络节点为二叉树结构上第k层的节点时,L1=L(k+1)=…=Ln=00,X=Y=0,L2至Lk中的任一个记为La,La值根据第k层节点在a层的父节点的位置确定,当在a层的父节点为a层的左节点,La=10,当在a层的父节点为a层的右节点,La=11;
当所述网络节点为N×N的二维Mesh结构上的网络节点时,L值等于二叉树结构上与该网络节点所在局部网络连接的网络节点的L值,X=X0_Xoffset,Y=Y0_Yoffset,其中,X0和Y0分别为表示所述网络节点相对于坐标原点方向的值,Xoffset和Yoffset分别为所述网络节点相对坐标原点的在X方向和在Y方向的偏移量。
当N为偶数时,选择二维Mesh结构在中心处形成的正方形的四个端部中的一个网络节点为坐标原点,本实施例中4×4的二维Mesh结构的局部网络中选择右上角中心节点A为坐标原点;当N为奇数时,选择二维Mesh结构在中心处的网络节点为坐标原点,本实施例中5×5的二维Mesh结构的局部网络选择中心节点Q为坐标原点。向右方向为X轴正向,X0=0,向左方向为X轴负向,X0=1;向上方向为Y轴正向,Y0=0,向下方向为Y轴负向,Y0=1.
当所述网络节点在二叉树结构上时,Q=1;当所述网络节点在二维Mesh结构上且为坐标原点时,Q=0;当所述网络节点在二维Mesh结构上且不是坐标原点时,Q为无效值。
根据上述的网络节点的编码方法,对图1中的部分节点编码如图2所示,其中Q为x表示在这种情况下此位无效。
针对上述的片上网络的混合互连结构,采用一种用于片上网络的混合互连结构的混合路由算法,当数据在片上网络的网络节点之间进行传输通信时,数据输入的网络节点为源节点,数据输出的网络节点为目标节点,通过二叉树算法和/或XY路由算法确定数据从源节点传输到目标节点的传输路径,当源节点和目标节点在全局网络的二叉树结构上时,采用二叉树算法确定数据的传输路径;当源节点和目标节点在同一局部网络的二维Mesh结构上时,采用XY路由算法确定数据的传输路径;当源节点和目标节点两个网络节点中的一个在全局网络的二叉树结构上,另一个在局部网络的二维Mesh结构上时,采用二叉树算法确定在二叉树结构上的网络节点至二叉树结构上与对应局部网络连接的网络节点的传输路径,采用XY路由算法确定在二维Mesh结构上的网络节点到中心节点的传输路径;当源节点和目标节点在不同局部网络的二维Mesh结构上时,采用XY路由算法确定源/目标节点到源/目标节点所在局部网络的中心节点的传输路径,采用二叉树算法确定二叉树结构上与源节点所在局部网络连接的网络节点到二叉树结构上与目标节点所在局部网络连接的网络节点的传输路径。
具体的,根据上述的网络节点编码方法,确定数据从源节点传输到目标节点的传输路径并根据传输路径进行数据的传输,具体包括如下步骤:
1)根据源节点和目标节点的地址编码中X、Y和Q的值判断源节点和目标节点的位置,按照二叉树算法和/或XY路由算法确定传输路径,当网络节点的X和Y的值为零且Q=1时,所述网络节点在全局网络的二叉树结构上,如图1中的D、E、M、F、N、G,当网络节点的X和Y的值为零且Q=0时,所述网络节点为局部网络的二维Mesh结构上的坐标原点,如图1中的A和Q,当网络节点的X和Y的值不都为零,所述网络节点为在局部网络的二维Mesh结构上的非坐标原点,如图1中的B、C、H、Y、Z、J。
当源节点和目标节点均在全局网络的二叉树结构上,转到步骤2),当源节点和目标节点均在局部网络的二维Mesh结构上,转到步骤3),当源节点在全局网络的二叉树结构上,目标节点在局部网络的二维Mesh结构上转到步骤4),当源节点在局部网络的二维Mesh结构上,目标节点在全局网络的二叉树结构上转到步骤5);
2)采用二叉树算法确定传输路径,即将源节点与目标节点的地址编码中的L进行对比,确定传输路径,数据沿确定的传输路径从源节点传输至目标节点,具体为:
2.1)从L1位到Ln位寻找源节点与目标节点第一个不相等的位,记为Li,
2.2)从Ln位到L1位寻找源节点中第一个不为00的位,记为Lj,
2.3)从源节点依次向上寻找父节点,寻找父节点的次数记为m,m通过公式(1)获得:
m=i-j+1 (1)
2.4)从步骤2.3)中寻找到的最高级的父节点开始,根据目标节点的Li至Ln位逐一向下选择传输路径,Li至Ln中的任一个记为Lb,当Lb为10时,向下层的左节点传输,当Lb为11时,向下层的右节点传输,当Lb为00时,数据传输完成。
3)当源节点和目标节点的L值相同时,源节点和目标节点在同一局部网络的二维Mesh结构上,根据XY路由算法,确定源节点和目标节点的传输路径。
当源节点和目标节点的L值不同时,源节点和目标节点在不同局部网络的二维Mesh结构上。根据XY路由算法,确定源/目标节点到源/目标节点所在局部网络的中心节点的传输路径。具体的,当源/目标节点为二维Mesh结构上的坐标原点,直接通过源/目标节点与相连的二叉树结构上的网络节点传输数据即可。当源/目标节点不是二维Mesh结构上的坐标原点,N为奇数时,通过XY路由算法确定源/目标节点至中心节点的传输路径,N为偶数时,通过XY路由算法确定源/目标节点至最接近的中心节点的传输路径。具体的,若源/目标节点位于网络坐标零点的东北,正北,正东方向,则执行源节点到最中间正方形右上角节点如图1中的A的XY路由算法,若源/目标节点位于网络坐标零点的西北,正西方向,则执行源节点到最中间正方形左上角节点如图1中的H的XY路由算法,若源/目标节点位于网络坐标零点的西南方向,则执行源节点到最中间正方形左下角节点如图1中的Y的XY路由算法,若源/目标节点位于网络坐标零点的正南,东南方向,则执行源节点到最中间正方形右下角节点如图1中的Z的XY路由算法。然后采用步骤2)所述的二叉树算法确定二叉树结构上与源节点所在局部网络连接的网络节点到二叉树结构上与目标节点所在局部网络连接的网络节点的传输路径,数据沿确定的传输路径从源节点传输至目标节点。
4)采用步骤2)所述的二叉树算法确定源节点到全局网络的二叉树结构上与目标节点所在局部网络连接的网络节点的传输路径,根据XY路由算法,确定局部网络的中心节点到目标节点的传输路径,数据沿确定的传输路径从源节点传输至目标节点。
5)根据XY路由算法,确定源节点到局部网络的中心节点的传输路径,采用步骤2)所述的二叉树算法确定目标节点到全局网络的二叉树结构上与源节点所在局部网络连接的网络节点的传输路径,数据沿确定的传输路径从源节点传输至目标节点。
上述的在二维Mesh结构上进行传输路径的选择时,采用的XY路由算法具体的如下所述:二维Mesh结构上网络节点的坐标X=X0_Xoffset,Y=Y0_Yoffset。其中,Xoffset和Yoffset的值用二位二进制的方式表示,源节点与目标节点之间相对于X轴的偏移量的计算方法如下::
1.当两个网络节点的X0相同时,两个网络节点相对于X轴的偏移量的值为目标节点的Xoffset减去源节点的Xoffset,符号与目标节点的X0一致。
2.当两个网络节点的X0不同时,两个网络节点相对于X轴的偏移量的值为目标节点的Xoffset加上源节点的Xoffset,符号与目标节点的X0一致。
源节点与目标节点之间相对于X轴的偏移量的计算方法与上述类似,此处不再赘述。
根据图1和图2所示,下面将具体描述几个具体的网络节点的数据传输路径的确定。
实施例一:
当网络节点B与网络节点C通信,网络节点B为源节点,网络节点C为目标节点,判断网络节点B,网络节点C都为二维mesh结构上的网络节点,且为同一二维mesh网络上的网络节点,则执行XY路由算法,网络节点B的XY坐标为(110,101),网络节点C点的XY坐标为(001,110),根据偏移量的计算方法,可得Xoffset=011,Yoffset=101,换算为十进制Xoffset为+3,Yoffset为-1。所以沿X轴正向走三步,再沿Y轴负向走一步,即从网络节点B到达网络节点C。
实施例二:
网络节点G与网络节点N通信,网络节点G为源节点,网络节点N为目标节点,判断网络节点G,网络节点N都为全局网络的二叉树结构上的节点,则直接执行二叉树路由算法,过程如下,网络节点G点二叉树编码为00_10_10_11,网络节点N点二叉树编码为00_11_10_00,发现从左向右第一次不相等的位段为L2,然后找到源节点G从右向左第一次不为00的位段为L,,计算m=i-j+1=4-2+1=3,即要进行3次向上寻找父节点,到达第一个分叉的节点D。然后以网络节点D为起点,从目标节点N的L2位开始依次向右根据图2进行判断,目标节点N的L2位为11,路由到网络节点D的右子节点M,然后判断目标节点N的L3位为10,路由到M的左子节点N,然后判断目标节点N的L4位为00,停止路由,网络节点N就是我们的目标节点。此方法也适用于图1中网络节点A、G与网络节点N、Q之间的路由,只要增加网络节点A与网络节点G,网络节点N与网络节点Q之间的连接即可。
实施例三:
网络节点B与网络节点J通信,网络节点B为源节点,网络节点J为目标节点,根据节点位置判断方法可知网络节点B与网络节点J位于不同的二维mesh网络上,则先执行网络节点B到二叉树结构上的网络节点G的路由算法,网络节点B先路由到网络节点Y,参照实施例一可知,沿X正向走一次即可到达网络节点Y。然后网络节点Y直接路由到网络节点G,然后进行网络节点G到网络节点N点的路由,参照实施例二。从网络节点G路由到网络节点N后,再进行网络节点N到对应网络节点Q的直接路由,然后执行网络节点Q点到网络节点J的路由,参照实施例一,可知先沿X正向走两次,再沿Y负向走一次,即可到达网络节点J,至此,路由完成。
本发明所述的一种用于片上网络的混合互连结构能够平衡局部和全局之间的数据流量,能够减少局部节点之间的路径平均距离,减少网络直径,从而提高网络的平均传输延迟和网络数据吞吐量,同时还有效的节省了连线资源,在相同的连线资源的基础上,能够加入的网络节点数更多。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (5)
1.一种用于片上网络的混合互连结构的网络节点编码方法,其特征是:所述用于片上网络的混合互连结构,包括全局网络和多个局部网络,所述全局网络为由多个网络节点组成的二叉树结构,所述局部网络为由多个网络节点组成的二维Mesh结构,局部网络的中心节点与所述全局网络上的网络节点相连;所述二维Mesh结构呈N×N的正方形结构,其中N为正方形边的网络节点数,当N为偶数时,中心节点为二维Mesh结构在中心处形成的正方形的四个端部的网络节点;当N为奇数时,中心节点为二维Mesh结构在中心处的网络节点;
所述网络节点的地址编码为(L,X,Y,Q),其中L=L1_L2…_Lk…_Ln,n为二叉树结构的层数,1<k≤n,X和Y为用XY坐标编码方式以局部网络的中心节点为坐标原点获得的坐标值,Q值为用于表示所述网络节点是在二叉树结构上还是局部网络的坐标原点的值,
当所述网络节点为二叉树结构上第1层的节点时,L1=L2=…=Lk=…=Ln=00,X=Y=0;
当所述网络节点为二叉树结构上第k层的节点时,L1=L(k+1)=…=Ln=00,X=Y=0,L2至Lk中的任一个记为La,La值根据第k层节点在a层的父节点的位置确定,当在a层的父节点为a层的左节点,La=10,当在a层的父节点为a层的右节点,La=11;
当所述网络节点为N×N的二维Mesh结构上的网络节点时,L值等于二叉树结构上与该网络节点所在局部网络连接的网络节点的L值,X=X0_Xoffset,Y=Y0_Yoffset,其中,X0和Y0分别为表示所述网络节点相对于坐标原点方向的值,Xoffset和Yoffset分别为所述网络节点相对坐标原点的在X方向和在Y方向的偏移量。
2.根据权利要求1所述的一种用于片上网络的混合互连结构的网络节点编码方法,其特征是:当N为偶数时,选择二维Mesh结构在中心处形成的正方形的四个端部中的一个网络节点为坐标原点,当N为奇数时,选择二维Mesh结构在中心处的网络节点为坐标原点。
3.根据权利要求2所述的一种用于片上网络的混合互连结构的网络节点编码方法,其特征是:当所述网络节点在二叉树结构上时,Q=1;当所述网络节点在二维Mesh结构上且为坐标原点时,Q=0;当所述网络节点在二维Mesh结构上且不是坐标原点时,Q为无效值。
4.一种用于片上网络的混合互连结构的混合路由算法,其特征是:所述用于片上网络的混合互连结构,包括全局网络和多个局部网络,所述全局网络为由多个网络节点组成的二叉树结构,所述局部网络为由多个网络节点组成的二维Mesh结构,局部网络的中心节点与所述全局网络上的网络节点相连;
所述二维Mesh结构呈N×N的正方形结构,其中N为正方形边的网络节点数,当N为偶数时,中心节点为二维Mesh结构在中心处形成的正方形的四个端部的网络节点;当N为奇数时,中心节点为二维Mesh结构在中心处的网络节点;
当数据在片上网络的网络节点之间进行传输通信时,数据输入的网络节点为源节点,数据输出的网络节点为目标节点,通过二叉树算法和/或XY路由算法确定数据从源节点传输到目标节点的传输路径,当源节点和目标节点在全局网络的二叉树结构上时,采用二叉树算法确定数据的传输路径;当源节点和目标节点在同一局部网络的二维Mesh结构上时,采用XY路由算法确定数据的传输路径;当源节点和目标节点两个网络节点中的一个在全局网络的二叉树结构上,另一个在局部网络的二维Mesh结构上时,采用二叉树算法确定在二叉树结构上的网络节点至二叉树结构上与对应局部网络连接的网络节点的传输路径,采用XY路由算法确定在二维Mesh结构上的网络节点到中心节点的传输路径;当源节点和目标节点在不同局部网络的二维Mesh结构上时,采用XY路由算法确定源/目标节点到源/目标节点所在局部网络的中心节点的传输路径,采用二叉树算法确定二叉树结构上与源节点所在局部网络连接的网络节点到二叉树结构上与目标节点所在局部网络连接的网络节点的传输路径。
5.根据权利要求4所述的一种用于片上网络的混合互连结构的混合路由算法,其特征是:根据权利要求3所述的网络节点编码方法,确定数据从源节点传输到目标节点的传输路径并根据传输路径进行数据的传输,具体包括如下步骤:
1)根据源节点和目标节点的地址编码中X、Y和Q的值判断源节点和目标节点的位置,按照二叉树算法和/或XY路由算法确定传输路径,当网络节点的X和Y的值为零且Q=1时,所述网络节点在全局网络的二叉树结构上,当网络节点的X和Y的值为零且Q=0时,所述网络节点为局部网络的二维Mesh结构上的坐标原点,当网络节点的X和Y的值不都为零,所述网络节点为在局部网络的二维Mesh结构上的非坐标原点,
当源节点和目标节点均在全局网络的二叉树结构上,转到步骤2),当源节点和目标节点均在局部网络的二维Mesh结构上,转到步骤3),当源节点在全局网络的二叉树结构上,目标节点在局部网络的二维Mesh结构上转到步骤4),当源节点在局部网络的二维Mesh结构上,目标节点在全局网络的二叉树结构上转到步骤5);
2)采用二叉树算法确定传输路径,即将源节点与目标节点的地址编码中的L进行对比,确定传输路径,数据沿确定的传输路径从源节点传输至目标节点,具体为:
2.1)从L1位到Ln位寻找源节点与目标节点第一个不相等的位,记为Li,
2.2)从Ln位到L1位寻找源节点中第一个不为00的位,记为Lj,
2.3)从源节点依次向上寻找父节点,寻找父节点的次数记为m,m通过公式(1)获得:
m=i-j+1 (1)
2.4)从步骤2.3)中寻找到的最高级的父节点开始,根据目标节点的Li至Ln位逐一向下选择传输路径,Li至Ln中的任一个记为Lb,当Lb为10时,向下层的左节点传输,当Lb为11时,向下层的右节点传输,当Lb为00时,数据传输完成;
3)当源节点和目标节点的L值相同时,源节点和目标节点在同一局部网络的二维Mesh结构上,根据XY路由算法,确定源节点和目标节点的传输路径,当源节点和目标节点的L值不同时,源节点和目标节点在不同局部网络的二维Mesh结构上,根据XY路由算法,确定源/目标节点到源/目标节点所在局部网络的中心节点的传输路径,采用步骤2)所述的二叉树算法确定二叉树结构上与源节点所在局部网络连接的网络节点到二叉树结构上与目标节点所在局部网络连接的网络节点的传输路径,数据沿确定的传输路径从源节点传输至目标节点;
4)采用步骤2)所述的二叉树算法确定源节点到全局网络的二叉树结构上与目标节点所在局部网络连接的网络节点的传输路径,根据XY路由算法,确定局部网络的中心节点到目标节点的传输路径,数据沿确定的传输路径从源节点传输至目标节点;
5)根据XY路由算法,确定源节点到局部网络的中心节点的传输路径,采用步骤2)所述的二叉树算法确定目标节点到全局网络的二叉树结构上与源节点所在局部网络连接的网络节点的传输路径,数据沿确定的传输路径从源节点传输至目标节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510567531.3A CN105119833B (zh) | 2015-09-08 | 2015-09-08 | 一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510567531.3A CN105119833B (zh) | 2015-09-08 | 2015-09-08 | 一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105119833A CN105119833A (zh) | 2015-12-02 |
CN105119833B true CN105119833B (zh) | 2018-05-01 |
Family
ID=54667728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510567531.3A Active CN105119833B (zh) | 2015-09-08 | 2015-09-08 | 一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105119833B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634960B (zh) * | 2015-12-24 | 2017-04-05 | 中国科学院计算技术研究所 | 基于分形树结构的数据发布装置、方法、控制装置及智能芯片 |
CN105847145B (zh) * | 2016-03-12 | 2019-01-29 | 大连理工大学 | 一种基于网络直径的重要节点搜索方法 |
CN106330702B (zh) * | 2016-08-16 | 2019-09-20 | 清华大学 | 适用于神经形态计算的多阶混合路由系统及其路由方法 |
CN109189720B (zh) * | 2018-08-22 | 2022-11-25 | 曙光信息产业(北京)有限公司 | 层次化片上网络拓扑结构及其路由方法 |
CN110460546B (zh) * | 2019-08-15 | 2021-03-12 | 电子科技大学 | 一种基于片上网络的数据采集方法 |
CN112968833B (zh) * | 2021-04-20 | 2022-03-04 | 山东卓文信息科技有限公司 | 一种基于低压配电网电力线通信路由算法系统 |
CN113242188B (zh) * | 2021-04-22 | 2022-06-21 | 中国电子科技集团公司第二十九研究所 | 微波信道全交换网络构建方法、控制方法、编译码方法 |
CN114185844B (zh) * | 2021-12-07 | 2024-04-26 | 浙江大学 | 一种适用于电力边缘计算的片上网路容错路由方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420355A (zh) * | 2008-11-28 | 2009-04-29 | 西安邮电学院 | 一种星簇双环片上网络拓扑结构 |
CN101485162A (zh) * | 2006-07-05 | 2009-07-15 | Nxp股份有限公司 | 电子设备、芯片上系统以及用于监控数据流量的方法 |
CN103297305A (zh) * | 2013-06-20 | 2013-09-11 | 西安邮电大学 | 一种分层mcc片上网络系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601423B1 (en) * | 2012-10-23 | 2013-12-03 | Netspeed Systems | Asymmetric mesh NoC topologies |
-
2015
- 2015-09-08 CN CN201510567531.3A patent/CN105119833B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101485162A (zh) * | 2006-07-05 | 2009-07-15 | Nxp股份有限公司 | 电子设备、芯片上系统以及用于监控数据流量的方法 |
CN101420355A (zh) * | 2008-11-28 | 2009-04-29 | 西安邮电学院 | 一种星簇双环片上网络拓扑结构 |
CN103297305A (zh) * | 2013-06-20 | 2013-09-11 | 西安邮电大学 | 一种分层mcc片上网络系统 |
Non-Patent Citations (1)
Title |
---|
Timing-driven variation–ware synthesis of hybrid mesh/tree clock distribution networks;Ameer Abdelhadi,etc.;《INTEGRATION,theVLSIjournal》;20130111;第1-2章 * |
Also Published As
Publication number | Publication date |
---|---|
CN105119833A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105119833B (zh) | 一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 | |
CN103986664B (zh) | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 | |
Matsutani et al. | Tightly-coupled multi-layer topologies for 3-D NoCs | |
CN105138493B (zh) | 适用并行运算的无交换器网络建构系统及方法 | |
CN109189720A (zh) | 层次化片上网络拓扑结构及其路由方法 | |
Sahu et al. | Extending Kernighan–Lin partitioning heuristic for application mapping onto Network-on-Chip | |
CN106936645B (zh) | 基于排队论的树形网络拓扑结构的优化方法 | |
CN103268701B (zh) | 城市路网负载平衡方法 | |
CN102780628B (zh) | 面向多核微处理器的片上互连网络路由方法 | |
CN103297305B (zh) | 一种分层mcc片上网络系统 | |
CN105577539B (zh) | 一种面向非规则三维集成电路片上网络的路由方法及系统 | |
CN109561034A (zh) | 三维网络拓扑结构及其路由算法 | |
CN102387077A (zh) | 具有容错功能的热量均衡片上网络路径选择方法 | |
CN112104491A (zh) | 面向服务的网络虚拟化资源管理方法 | |
Marcon et al. | Tiny NoC: A 3D mesh topology with router channel optimization for area and latency minimization | |
CN103747498B (zh) | 基于方向角度的无线传感网络路由空洞优化方法 | |
CN103761212A (zh) | 片上网络中任务与节点间映射方案与拓扑结构的设计方法 | |
CN103826282B (zh) | 基于剩余能量的集合划分多跳路由方法 | |
CN109982404A (zh) | 一种wsn多路径空洞绕行方法 | |
CN104869044A (zh) | 一种虚拟网映射方法及装置 | |
CN104168619B (zh) | 无线体域网下基于d算法的动态路由建立方法 | |
Furhad et al. | A shortly connected mesh topology for high performance and energy efficient network-on-chip architectures | |
CN108847993A (zh) | 基于多阶路径中间节点资源分配的链路预测方法 | |
CN107094116A (zh) | 一种包含跨维度链路的直接网络路由方法和系统 | |
CN106681795A (zh) | 一种利用节点局部拓扑属性和可利用资源容量值的虚拟网络映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |