CN101388834A - 三维片上网络架构方法 - Google Patents
三维片上网络架构方法 Download PDFInfo
- Publication number
- CN101388834A CN101388834A CNA2008100463154A CN200810046315A CN101388834A CN 101388834 A CN101388834 A CN 101388834A CN A2008100463154 A CNA2008100463154 A CN A2008100463154A CN 200810046315 A CN200810046315 A CN 200810046315A CN 101388834 A CN101388834 A CN 101388834A
- Authority
- CN
- China
- Prior art keywords
- node
- numbering
- network
- level
- source node
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种三维片上网络架构方法,其网络结构由水平面方向的De Bruiin图网络和垂直方向的柱状结构组成的三维网络,网络中的节点,大部分是由处理单元和路由单元两种功能模块组成(甲类节点)且处理单元与路由单元(Router)是通过数据单向连线连接,其余是只有交换单元(乙类节点);本方法充分发挥De Bruiin图的优势,首先设计出最简循环路径算法,然后基于最简循环路径算法再设计出简短移位路由算法和最短移位路由算法,利用所设计出的路由算法使数据传输的平均跳数少,网络延时小,吞吐率,再利用De Bruiin图可容错的特点设计出了避免阻塞的数据传输方法,提高了数据传输的可靠性,并且在节点中将处理单元与路由单元直接连接,因此又减数了数据传输环节。
Description
技术领域
本发明属于集成电路芯片的应用技术领域,特别是三维片上网络的拓扑结构,网络节点结构和路由算法。
背景技术
近年来,随着技术的发展,出现了一种新的封装形式——三维封装,即把多个裸片垂直的叠加起来并且封装成一个芯片。三维封装得到的芯片被称为三维IC,和传统的二维IC相比,它具有容量大、密度大等众多优点。
因为三维NoC(Network on Chip,片上网络)的架构对网络的吞吐率、可靠性、应用层的任务映射以及芯片的面积和功耗影响很大,所以三维NoC的架构方案是实现三维NoC最基本、最重要的一个环节。三维NoC的架构一般由网络的拓扑结构、网络节点的结构以及路由算法三方面组成。网络架构中的基本单元是网络节点,网络节点是由一般由处理数据的处理单元和传输数据的路由单元构成,多个网络节点的连接方式形成网络拓扑结构,各节点之间信息交流的途径是由路由算法直接决定的。网络拓扑结构决定了路由算法的难易和复杂程度,合理的路由算法可以提高系统的吞吐率、减小网络的平均延时、提高系统的可靠性并且降低芯片的功耗和面积。
通过查新和广泛收集文献资料,我们发现已经公开的三维NoC方法有如下几类:
参考文献Partha Pratim Pande,Amlan Ganguly,Brett Feero,et.al,Applicability of EnergyEfficient Coding Methodology to Address Signal Integrity in 3D NoC Fabrics,13th IEEEInternational On-Line Testing Symposium,2007.Page(s):161-166和参考文献Brett Feero,Partha Pratim Pande,Performance Evaluation for Three-Dimensional Networks-On-Chip,IEEEComputer Society Annual Symposium on VLSI,2007.Page(s):305-310给出了采用三维Mesh结构的单一拓扑方法,这类结构将三维的网络作为一个整体,采用Mesh网络进行连接,每个节点都与六个方向的节点连接。这种结构中,网络地址是三维坐标(x,y,z)构成。采用维序路由算法,数据包依次在x轴、y轴和z轴上传递到目的坐标。因为Mesh结构具有拓扑简单的优点,所以这种架构的优点是网络结构与路由算法简单,但是由于Mesh结构的网络直径大,以及路由算法没有容错性,一旦网络拥塞,数据包无法重新选择一条新的路径,只能阻塞等待,因此数据包在这类架构中传递时平均跳数较多,网络延时较大,吞吐率较低。
参考文献Hiroki Matsutani,Michihiro Koibuchi,Hideharu Amano,Tightly-CoupledMulti-Layer Topologies for 3-D NoCs,2007 International Conference on Parallel Processing.Page(s):75-75给出了在水平面方向采用Mesh结构与在垂直方向采用柱状结构相结合的分级拓扑作为三维NoC的架构,该架构中网络节点分为两类,一类(甲类)由处理单元和路由单元构成,但处理单元与路由单元之间没有连接,只是它们的地址是相同的,另一类(乙类)由只有交换单元,平面网络采用Mesh结构作为拓扑,垂直网络采用柱状结构进行连接,每个柱状结构有且只有一个乙类节点。每个甲类节点的路由单元除与其所在平面的四个方向上相临的4个甲节点连接外,只与该节点所在柱状结构的乙类节点连接,甲节点地址用水平面网络的编号和垂直方向的坐标点构成二维地址,同一个柱状结构里的节点的甲类节点的水平编号是相同的。由于甲类节点的处理单元和路由单元之间没有连接,数据传输的路由只能是是:数据包首先在源节点所在的柱状结构里传递,然后在水平的Mesh网络中传递到目标节点的所在的柱状结构的节点上,再在目标节点的所在的柱状结构传递到目标节点的处理单元里。由于这种架构也是以Mesh结构为基础的,所以具有数据包平均跳数较多、网络延时较大、无法自适应容错等缺点,另外,节点的处理单元和路由单元没有直接相连,因此数据传递环节较多,但由于柱状结构使得垂直方向的跳数变少,因此它有较高的吞吐率。
参考文献Horiguchi,S.;Ooki,T.;Hierarchical 3D-Torus Interconnection Network,International Symposium on Parallel Architectures,Algorithms and Networks,2000.Page(s):50-56给出了三维Torus结构的构造方法,即由多个三维Mesh网络以Torus结构的方式构成的层次化的三维Torus结构。因为Torus结构只是对Mesh结构进行了简单的扩展,仍然具有Mesh结构的特性,网络节点结构与路由算法也是对Mesh结构算法进行了继承与简单改进,所以也具有网络延时较大、吞吐量较低的缺点。
几乎现有三维NoC架构都是基于Mesh结构的,而De Bruijn图结构具有网络直径小、节点度固定、路径灵活等优点,因此可以利用这些优点来设计更好的路由算法和数据传输方式以提高数据传输效率和吞吐率,但De Bruijn图作为网络结构目前只在二维NoC上实现并应用,参考文献Mohammad Hosseinababy,Mohammad Reza Kakoee,Jimson Mathew,et.al,Reliable Network-on-Chip Based on Generalized de Bruijn Graph,IEEE International HighLevelDesign Validation and Test Workshop,2007.Page(s):3-10就是介绍的用De Bruijn图作为二维NoC的架构方法。
在De Bruijn图拓扑结构中,如果两个节点相邻,则它们的地址编号i和j必须满足下列任一公式:
i=(d*j+r)mod n,r=0,1,...,d-1
j=(d*i+r)mod n,r=0,1,...,d-1
其中,n为节点数,d为地址编号的进制。上式表明任一节点的二进制地址左移或右移,再补充一个比特r,则得到相邻节点的地址。例如,De Bruijn图的节点数为16,地址编号的进制为2时,节点2(0010b)与节点9(1001b)是相邻的,此时i=2,j=9,r=0。
发明内容
为了兼顾复杂度、吞吐率和可靠性问题的综合性能,本发明提出一种将De Bruijn图作为水平面方向的网络结构而垂直方向采用柱状结构的三维NoC架构方法。
为了便于描述,首先对一些术语进行定义:
水平编号、Z坐标:首先假设一个用X、Y、Z表示三个坐标轴的三维坐标,其中X和Y所组成的平面为水平面,,Z轴为垂直方向,即水平层的重叠方向。Z坐标的取值就是水平面的次序对应,比如第i水平面的节点的Z坐标就是i,而同一个水平面上的节点是用编号来区分的,该编号就是水平编号。
源节点:发出数据包起始节点。
目标节点:数据包最终到达的节点。
本发明提供的三维NoC架构方式包括以下三个部分:网络的拓扑结构、网络节点结构和路由算法。
网络节点的组成结构:在各个节点中,大部分是由处理单元和路由单元两种功能模块组成(甲类节点)且处理单元与路由单元(Router)是通过数据单向连线连接,其余是只有交换单元组成(乙类节点)。
网络拓扑结构:网络拓扑结构由水平方向网络(NoT,Network on Tier)和垂直方向网络构成,水平方向的节点连接网络采用De Bruijn拓扑结构,垂直方向由M个柱状结构组成,M是水平面上的节点数,每个柱状结构是由每层水平网络上水平编号相同的甲类节点与某一层中的乙类节点连接在一起而成的星型网络,且在整个网络中要保证垂直方向的每个柱状结构有且只有一个乙类节点,即网络中每个甲类节点都与一个且只与一个乙类节点相连接,一个乙类节点将与N个甲类节点连接。
所述的路由单元和交换单元是用于传递数据的,路由单元完成数据包在水平面上的传递以及将数据包传递给交换单元,而交换单元负责将收到的数据包传递到同一个柱状结构里的处理单元或者路由单元。
数据包传递过程如下:
步骤1、源节点处理单元的数据首先传递到源节点路由单元里;
步骤2、源节点路由单元判断目标节点与源节点的水平编号是否相同,如果相同,直接进入步骤4,否则,则先进入步骤3;
步骤3、源节点路由单元利用路由计算方法(例如采用本项专利所提出的简短移位路由算法或本项专利所提出最短移位路由算法)计算出从源节点到与目标节点有相同水平编号且与源节点具有相同Z坐标的中转节点的路由路径,然后数据包通过该路由传递到中转节点的路由单元,中转节点与目标节点在同一个柱状结构里;
步骤4、数据包从源节点或步骤3中所述的中转节点传递到与源节点或中转节点同在一个柱状结构里的交换单元(也就是乙类节点),然后再从交换单元直接传递到目标节点的处理单元。
第3步中,数据包在路由中的各节点传递过程中,要排除不可靠链路,其方法如下:
每个节点收到数据包后都要检测从本节点到下一个节点的路由单元的链路是否拥塞或不可靠,如果某节点检测出到下一个节点的链路拥塞或不可靠,且下一个节点不是中转节点,则转入步骤a,如果某节点检测出到下一个节点的链路拥塞或者不可靠,且下一个路由单元是中转节点的路由单元则转入步骤b,
步骤a:将所述的某节点作为新的源节点,再由新的源节点按照容错要求用某种路由算法(采用简短移位路由算法或最短移位路由算法计算)重新计算新的源节点到中转节点的路由,完毕;
步骤b:所述的某节点将数据包传递给与所述的某节点具有相同水平编号的交换单元(也就是乙类节点),然后由该交换单元将数据包送给除了所述的某节点所在水平面之外的任一水平面上和交换单元具有相同水平编号节点的路由单元,最后由该路由单元将数据包送给所选水平面上与原中转节点具有相同水平编号的新的中转节点,完毕;
上述的数据包的传递过程实质是:在没有故障或者链路拥塞的情况下,最多只包含了一次水平面传递和一次垂直柱状结构里的传递,而在有故障或链路拥塞情况下,可以避免数据丢失。从而是数据可靠传输。
所述的简短移位路由算法和所述的最短移位路由算法是基于最简移位路径算法的,因此在简短移位路由算法和最短移位路由算法之前,先描述最简移位路径算法。
所述的最简移位路径算法分为左最简移位路径算法和右最简移位路径算法。
左最简移位路径算法的具体步骤如下:
步骤1、将节点的水平编号用m位比特的二进制数代替,设一个水平面的节点数为N(N的取值是2的幂次方),则m=logN;命源节点的编号为新编号,H=m-1,F=m
步骤2、将新编号的低H位与目标节点的水平编号的高H位比较进行比较,如果不相同且H>=2,则将H=H-1,然后重复本步,否则命F=H+1,并进入3;
步骤3、将新编号的二进制数从低向高移动一位,并将原来的最高位丢弃,移动后的编号的最低位由目标节点的水平编号中的第F高位补充得到新编号,记录该次的编号,F=F+1;
步骤4、重复3所述过程m-H-1次;
步骤5、将3和4步所记录的所有编号按照记录的前后顺序构成了从源节点到目标节点的左路径。
右最简移位路径算法具体步骤如下:
步骤6、将水平编号用m位比特的二进制数代替,设一个水平面的节点数为N(N的取值是2的幂次方),则m=logN;命源节点的编号为新编号,H=m-1,F=H+1;
步骤7、将源节点的水平编号的高H位与目标节点的水平编号的低H位进行比较,如果不相同且H>=2,则取H=H-1,然后重复本步,否则命F=H+1,进入8;
步骤8、从源节点的水平面的二进制编号从高向低移动一位,并将原来的最低位丢弃,移动后的编号的最高位由目标节点的水平编号中的第F低位补充得到新编号,记录该次的编号,取F=F+1;
步骤9、重复8所述过程m-H-1次;
步骤10、将8和9所记录的所有编号按照记录的前后顺序构成从源节点到目标节点的右路径。
所述的简短移位路由计算法如下:
a、根据所述的左最简移位路径算法计算出左路径和根据所述的右最简移位路径算法算出的右路径;
b、选择右路径和左路径两者之中较短(节点数较少)的路径为路由。
所述的最短移位路由算法具体步骤如下:
1)、根据所述的最简移位路径算法计分别算出源节点到目标节点之间左路径和右路径,如果左路径或右路径的跳数小于或等于2,转入5),否则,将n=2,k=1,进入2);
2)、分别将n条路径中的第k跳的终点为新的源节点,再采用最简移位法计算出n条左路径和n条右路径,在每条路径前面分别加上各自新的源节点到源节点之间的路径部分,即成为从源节点开始到目标节点的2n条路由,如2n条路径中的某条路由的跳数为小于或等于k+2,则转入5),否则转入3);
3)、判断k是否小于m,如果k小于m,转入4,否则转入5);
4)、将n=2n,k=k+1;转入2);
5)、选择所有路由中(共2n条)最短(节点数最少)的路径作为数据传输路由。
其中:m是地址的二进制数的长度(比特数)。
数据包头格式以及传输过程中的应用和变化:
数据包包头包括目标处理单元的水平编号,目标处理单元Z坐标,源处理单元水平编号,源处理单元Z坐标,水平面上剩余跳数,移位方向序列,填充序列错误!未找到引用源。,交换单元送出的数据包的传递方向值等部分,其中移位方向序列长度(比特位数)为路由的跳数,每位表示编号一次移动的方向(0表示左移,1表示右移);填充序列中每位是一次编号移位后需要填充的值。数据包头在数据包的传递过程中配合路由算法包头有做如下用法和变化:在水平方向传递过程中,各节点的路由单元先根据移动方向的序列和填充序列的最高位选择输出端口,转发数据包后将移动方向序列和填充序列的最高位都丢弃,将剩余跳数的值减1,再将该数据包发送到输出端口;在垂直方向传递过程中,如果交换单元送出的数据包的传递方向数据为0,则将数据包送给处理单元,交换单元送出的数据包的传递方向数据为1,则将数据包送给路由单元。
发明的实质与实际效果:
本发明提出了的三维片上网络架构,是将De Bruijn图作为水平面的网络结构与将柱状结构作为垂直方向的网络结构应用相结合的成果,本方法充分发挥De Bruijn图的优势,首先设计出最简移位路径算法,然后基于最简移位路径算法再设计出简短移位路由算法和最短移位路由算法,因此数据传输的平均跳数少,网络延时小,吞吐率,再利用De Bruijn图可容错的特点设计出了避免拥塞的数据传输方法,提高了数据传输的可靠性,并且在节点中将处理单元与路由单元直接连接,因此又减少了数据传输环节。
附图说明
图1是由4个水平面组成的网络拓扑实施例。
图2是每个水平面上有16个节点的水平面网络和水平编号示意图。
图3是本发明采用的数据包的包头格式。
1是水平面网络,2是垂直方向的柱状结构,3是甲类节点,4是乙类节点,5是节点的水平编号数据,6是数据包头的目标处理单元水平编号,7是数据包头的目标处理单元Z坐标,8是数据包头的源处理单元水平编号,9是数据包头的源处理单元Z坐标,10是数据包头的水平面上剩余跳数。11是数据包头的移位方向序列,其长度(比特位数)为路由的跳数,每位表示编号一次移动的方向(0表示左移,1表示右移),12是数据包头的填充序列,每位是一次编号移位后需要填充的值错误!未找到引用源。,13是数据包头的交换单元送出的数据包的传递方向值。
具体实施方式
图1示出的网络中每个水平层中有16个节点,图2示出了其中任意一层的节点编号。每层编号为1的节点都分别与同一个交换单元(乙类节点)连接,每层编号为2的节点都分别与同一个交换单元(乙类节点)连接,以此类推,每层编号为16的节点都分别与同一个交换单元(乙类节点)连接,实际上,各个交换单元可以分别分布在任何一个水平面上。
以从地址为(1,3)的源节点(在第3水平面上水平编号为1的节点,水平编号从0开始。)向地址为(15,2)的目标节点(在第2水平面上水平编号为15的节点)传数据包为例,介绍数据包从该网络的传递处理过程。
源节点(1,3)中处理单元发出的数据包首先传递给与其相连的路由单元。源节点(1,3)的路由单元判断源节点和目标节点的水平编号是否相同,显然不相同,因此采用所述的简短移位路由算法计算出从坐标为(1,3)的节点到坐标为(15,3)的节点的最短路径,然后将数据包沿该路由传递到(15,3)节点,数据包到达(15,3)节点后,再传递到水平编号为15的交换单元里,最后从水平编号为15的交换单元传递到目标节点(15,2)。
下面再详细叙述数据从节点(1,3)向节点(15,3)传递数据的简短移位路由算法过程;
首先将源节点的水平编号和目标节点的水平编号分别用4比特的二进制数代替,源节点的水平二进制编号为0001,目标节点的水平二进制编号为1111;
一、首先计算左路由:
1、比较源节点的水平编号的低3(H的初始值取4-1,为3)位001与目标节点的水平编号的高3位111是否相同,由于源节点的水平编号的低3位与目标节点的水平编号的高3位不同,所以又将源节点的水平编号的低2位01与目标节点的水平编号的高2位11进行比较,还是不同,所以又将源节点的水平编号的低1位1与目标节点的水平编号的高1位1进行比较,由于源节点的水平编号的低1位和目标节点的水平编号的高1位相同,因此,此时H=1;
2、将源节点水平面地址的二进制编号0001从低向高移动一位并抛弃最高位得到001,由于在第1步的源节点的水平编号与目标节点的水平编号的比较是经过了第三次比较后才出现了相同的编号,H=1,因此将目标节点的水平编号中的第2高位(第H+1高位)的值1补充到移动之后的编号的末尾作为最低位,得到的新编号为0011,记录该次的编号0011;
3、将2中所得到的二进制编号0011从低向高移动一位并抛弃最高位得到011,将目标节点的水平编号中的第3高位的值1补充到移动之后的编号的末尾作为最低位,得到的新编号为0111,记录该次的编号0111;
4、将3中所得到的二进制编号0111从低向高移动一位并抛弃最高位得到1110,将目标节点的水平编号中的第4高位的值1补充到移动之后的编号的末尾作为最低位,得到的新编号为1111的编号,记录该次的编号1111;
二、再计算右路由
1、比较源节点的水平编号的高3位000与目标节点的水平编号的低3位111是否相同,由于源节点的水平编号的高3位与目标节点的水平编号的低3位不同,所以又将源节点的水平编号的高2位00与目标节点的水平编号的低2位11进行比较,还是不同,所以又将源节点的水平编号的高1位0与目标节点的水平编号的低1位1进行比较,由于源节点的水平编号的高1位和目标节点的水平编号的低1位还是不同,并且这是最后一位的比较,因此进入2,此时H=0;
2、从源节点的水平面的二进制编号0001从高向低移动一位并抛弃最低位变成000,由于在第1步的源节点的水平编号与目标节点的水平编号的所有比较过程中没有出现相同的情况,H=0,因此将目标节点的水平编号中的第1低位(第H+1低位)的值1补充到移动之后的编号的首位作为最高位,得到的新编号为1000,记录该次的编号1000;
3、将2步所得到的编号1000从高向低移动一位并抛弃最低位变成100,将目标节点的水平编号中的第2低位的值1补充到移动之后的编号的首位作为最高位,得到的新编号为1100,记录该次的编号1100:
4、将3步所得到的编号1100从高向低移动一位并抛弃最低位变成110,将目标节点的水平编号中的第3低位的值1补充到移动之后的编号的首位作为最高位,得到的新编号为1110,记录该次的编号1110;
5、将3步所得到的编号1110从高向低移动一位并抛弃最低位变成111,将目标节点的水平编号中的第4低位的值1补充到移动之后的编号的首位作为最高位,得到的新编号为1111,记录该次的编号1111;
数据包在传递过程中配合路由算法,对包头做如下调整:在水平方向传递过程中,各节点的路由单元先根据移动方向的序列11和填充序列12的最高位选择输出端口,转发数据包后将移动方向的序列11和填充序列12的最高位都丢弃,将剩余跳数10的值减1,再将该数据包发送到输出端口;在垂直方向传递过程中,如果交换单元送出的数据包的传递方向数据13为0,则将数据包送给处理单元,交换单元送出的数据包的传递方向数据13为1,则将数据包送给路由单元。
Claims (5)
1、三维片上网络架构方法,包括网络结构、网络节点的组成和路由计算方法,有的网络节点是甲类,还有的网络节点是乙类,网络拓扑结构由水平方向网络和垂直方向网络构成三维网络,其特点在于:由路由单元和处理单元组成的节点中的路由单元与处理单元之间有单向数据线连接;网络拓扑结构由水平方向网络和垂直方向网络构成,水平方向的节点连接网络采用De Bruijn拓扑结构,垂直方向由M个柱状结构组成,M是水平面上的节点数,每个柱状结构是由每层水平网络上水平编号相同的甲类节点与某一层中的乙类节点连接在一起而成的星型网络,垂直方向的每个柱状结构有且只有一个乙类节点,即网络中每个甲类节点都与一个且只与一个乙类节点相连接,一个乙类节点将与N个甲类节点连接;数据包传递过程如下:
步骤1、源节点处理单元的数据包首先传递到源节点路由单元里;
步骤2、源节点路由单元判断目标节点与源节点的水平编号是否相同,如果相同,直接进入步骤4,否则,则先进入步骤3;
步骤3、源节点路由单元利用路由计算方法计算出从源节点到与目标节点有相同水平编号且与源节点具有相同Z坐标的中转节点的路由路径,然后数据包通过该路由传递到中转节点的路由单元,中转节点与目标节点在同一个柱状结构里;
步骤4、数据包从源节点或步骤3中所述的中转节点传递到与源节点或中转节点同在一个柱状结构里的交换单元,然后再从交换单元直接传递到目标节点的处理单元。
2、据权利要求1所述的三维片上网络架构方法,其特征在于:第3步中,数据包在路由中的各节点传递过程中,要排除不可靠链路,其方法如下:
每个节点收到数据包后都要检测从本节点到下一个节点的路由单元的链路是否拥塞或不可靠,如果某节点检测出到下一个节点的链路拥塞或不可靠,且下一个节点不是中转节点,则转入步骤a,如果某节点检测出到下一个节点的链路拥塞或者不可靠,且下一个路由单元是中转节点的路由单元则转入步骤b;
步骤a:将所述的某节点作为新的源节点,再由新的源节点按照容错要求用某种路由算法重新计算新的源节点到中转节点的路由,完毕;
步骤b:所述的某节点将数据包传递给与所述的某节点具有相同水平编号的交换单元,然后由该交换单元将数据包送给除了所述的某节点所在水平面之外的任一水平面上和交换单元具有相同水平编号节点的路由单元,最后由该路由单元将数据包送给所选水平面上与原中转节点具有相同水平编号的新的中转节点,完毕。
3、据权利要求1或权利要求2所述的三维片上网络架构方法,其特征在于:所述某种路由计算方法可以是简短移位路由算法,所述的算法简短移位路由算法为:先分别利用左最简循环路径算法和右最简循环路径算法计算出左路径和右路径,然后在左路径和右路径两者之间选择出最短的路径作为最终计算所得到的路径;
所述的左最简移位路径算法为:
步骤1、将源节点的水平编号用m位比特的二进制数代替,设一个水平面的节点数为N,N的取值是2的幂次方,则m=logN,取H=m-1,F=m;
步骤2、将新编号的低H位与目标节点的水平编号的高H位比较进行比较,如果不相同且H>=2,则将H=H-1,然后重复本步,否则,命源节点的水平编号为新编号,取F=H+1,并进入3;
步骤3、将新编号的二进制数从低向高移动一位,并将原来的最高位丢弃,移动后的编号的最低位由目标节点的水平编号中的第F高位补充得到新编号,记录该次的编号,取F=F+1;
步骤4、重复3所述过程m-H-1次;
步骤5、将3和4步所记录的所有编号按照记录的前后顺序构成了从源节点到目标节点的左路径;
所述的右最简移位路径算法具体步骤如下:
步骤6、将水平编号用m位比特的二进制数代替,设一个水平面的节点数为N,N的取值是2的幂次方,则m=logN;取H=m-1,F=m
步骤7、将源节点的水平编号的高H位与目标节点的水平编号的低H位进行比较,如果不相同且H>=2,则取H=H-1,然后重复本步,否则,命源节点的水平编号为新编号,F=H+1,进入8;
步骤8、将新编号从高向低移动一位,并将原来的最低位丢弃,移动后的编号的最高位由目标节点的水平编号中的第F低位补充得到新编号,记录该次的编号,取F=F+1;
步骤9、重复8所述过程m-H-1次;
步骤10、将8和9所记录的所有编号按照记录的前后顺序构成从源节点到目标节点的右路径。
4、据权利要求1或权利要求2所述的三维片上网络架构方法,其特征在于,所述某种路由计算方法可以是最短移位路由算法,所述的最短移位路由算法过程如下:
1)、采用权利要求3中所述的左最简循环路径算法和右最简循环路径算法分别算出源节点到目标节点之间左路径和右路径,如果左路径或右路径的跳数小于等于2,转入5),否则,将n=2,k=1,进入2);
2)、分别将n条路径中的第k跳的终点为新的源节点,再采用最简移位法计算出n条左路径和n条右路径,在每条路径前面分别加上各自新的源节点到源节点之间的路径部分,即成为从源节点开始到目标节点的2n条路由,如2n条路径中的某条路由的跳数为小于等于k+2,则转入5),否则转入3);
3)、判断k是否小于m,如果k小于m,转入4,否则转入5);
4)、将n=2n,k=k+1;转入2);
5)、选择所有路由中最短的路径作为数据传输路由;
其中:m是地址的二进制数的长度。
5、据权利要求1、2、3或4所述的三维片上网络架构方法,其特征在于其中的数据包的包头格式包括目标处理单元的水平编号,目标处理单元Z坐标,源处理单元水平编号,源处理单元Z坐标,水平面上剩余跳数,移位方向序列,每位表示编号一次移动的方向,填充序列每位表示编号一次移动的填充值,交换单元送出的数据包的传递方向值等部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100463154A CN101388834B (zh) | 2008-10-20 | 2008-10-20 | 三维片上网络架构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100463154A CN101388834B (zh) | 2008-10-20 | 2008-10-20 | 三维片上网络架构方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101388834A true CN101388834A (zh) | 2009-03-18 |
CN101388834B CN101388834B (zh) | 2012-05-30 |
Family
ID=40478029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100463154A Expired - Fee Related CN101388834B (zh) | 2008-10-20 | 2008-10-20 | 三维片上网络架构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101388834B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473210A (zh) * | 2013-09-03 | 2013-12-25 | 上海大学 | 多芯核三维芯片的拓扑系统和数据包路由方法 |
CN104394072A (zh) * | 2014-10-10 | 2015-03-04 | 南京大学 | 一种用于三维片上网络的双泵垂直通道 |
CN104811395A (zh) * | 2015-04-30 | 2015-07-29 | 上海交通大学 | 一种双层片上网络装置及其核间通信自动调度方法 |
CN105072032A (zh) * | 2015-09-17 | 2015-11-18 | 浪潮(北京)电子信息产业有限公司 | 一种确定片上网络路由路径的方法及系统 |
WO2016127892A1 (zh) * | 2015-02-15 | 2016-08-18 | 华为技术有限公司 | 一种基于3D-mesh网络的点对多点通信方法及通信节点 |
CN106953800A (zh) * | 2017-04-21 | 2017-07-14 | 中国人民解放军国防科学技术大学 | 一种基于片上网络的自适应垂直路由方法及路由单元 |
CN107517159A (zh) * | 2017-09-04 | 2017-12-26 | 电子科技大学 | 基于蝶形网络编码的片上网络架构及其最短路径获取方法 |
CN111427835A (zh) * | 2020-03-13 | 2020-07-17 | 苏州浪潮智能科技有限公司 | 一种基于混合路由算法的片上网络设计方法和装置 |
CN111490922A (zh) * | 2019-01-25 | 2020-08-04 | 上海虹驰通信工程有限公司 | 一种通信网络布线方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252515A (zh) * | 2008-03-21 | 2008-08-27 | 北京大学深圳研究生院 | 一种片上网络芯片 |
-
2008
- 2008-10-20 CN CN2008100463154A patent/CN101388834B/zh not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473210A (zh) * | 2013-09-03 | 2013-12-25 | 上海大学 | 多芯核三维芯片的拓扑系统和数据包路由方法 |
CN104394072A (zh) * | 2014-10-10 | 2015-03-04 | 南京大学 | 一种用于三维片上网络的双泵垂直通道 |
CN105991378B (zh) * | 2015-02-15 | 2019-11-29 | 华为技术有限公司 | 一种基于3D-mesh网络的点对多点通信方法及通信节点 |
WO2016127892A1 (zh) * | 2015-02-15 | 2016-08-18 | 华为技术有限公司 | 一种基于3D-mesh网络的点对多点通信方法及通信节点 |
CN105991378A (zh) * | 2015-02-15 | 2016-10-05 | 华为技术有限公司 | 一种基于3D-mesh网络的点对多点通信方法及通信节点 |
CN104811395A (zh) * | 2015-04-30 | 2015-07-29 | 上海交通大学 | 一种双层片上网络装置及其核间通信自动调度方法 |
CN104811395B (zh) * | 2015-04-30 | 2019-01-25 | 上海交通大学 | 一种双层片上网络装置及其核间通信自动调度方法 |
CN105072032B (zh) * | 2015-09-17 | 2018-05-18 | 浪潮(北京)电子信息产业有限公司 | 一种确定片上网络路由路径的方法及系统 |
CN105072032A (zh) * | 2015-09-17 | 2015-11-18 | 浪潮(北京)电子信息产业有限公司 | 一种确定片上网络路由路径的方法及系统 |
CN106953800A (zh) * | 2017-04-21 | 2017-07-14 | 中国人民解放军国防科学技术大学 | 一种基于片上网络的自适应垂直路由方法及路由单元 |
CN106953800B (zh) * | 2017-04-21 | 2019-12-17 | 中国人民解放军国防科学技术大学 | 一种基于片上网络的自适应垂直路由方法及路由单元 |
CN107517159A (zh) * | 2017-09-04 | 2017-12-26 | 电子科技大学 | 基于蝶形网络编码的片上网络架构及其最短路径获取方法 |
CN107517159B (zh) * | 2017-09-04 | 2021-05-04 | 电子科技大学 | 基于蝶形网络编码的片上网络架构及其最短路径获取方法 |
CN111490922A (zh) * | 2019-01-25 | 2020-08-04 | 上海虹驰通信工程有限公司 | 一种通信网络布线方法 |
CN111427835A (zh) * | 2020-03-13 | 2020-07-17 | 苏州浪潮智能科技有限公司 | 一种基于混合路由算法的片上网络设计方法和装置 |
CN111427835B (zh) * | 2020-03-13 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种基于混合路由算法的片上网络设计方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101388834B (zh) | 2012-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101483614B (zh) | 三维片上网络架构方法 | |
CN101388834B (zh) | 三维片上网络架构方法 | |
US9137098B2 (en) | T-Star interconnection network topology | |
US9674116B2 (en) | Data distribution packet-flow interconnect fabric modular management optimized system | |
Chalasani et al. | Communication in multicomputers with nonconvex faults | |
CN103973482A (zh) | 具有全局通信事务管理能力的容错片上网络系统及方法 | |
CN107612746B (zh) | 一种构建Torus网络的方法、Torus网络和路由算法 | |
JP4959792B2 (ja) | 保証された決定性の説明を有する、フレーム交換ネットワークにおける仮想リンクの経路指定のための方法 | |
CN104579951B (zh) | 片上网络中新颖的故障与拥塞模型下的容错方法 | |
CN102868604B (zh) | 一种应用于片上网络的二维Mesh双缓冲容错路由单元 | |
CN102761475B (zh) | 一种基于通道依赖关系图的片上互联网络容错路由方法 | |
Nitin et al. | Designing a fault-tolerant fully-chained combining switches multi-stage interconnection network with disjoint paths | |
CN102780628B (zh) | 面向多核微处理器的片上互连网络路由方法 | |
CN102629912A (zh) | 面向无缓冲片上网络的容错偏转路由方法及装置 | |
CN105577539B (zh) | 一种面向非规则三维集成电路片上网络的路由方法及系统 | |
Somasundaram et al. | Deadlock free routing algorithm for minimizing congestion in a Hamiltonian connected recursive 3D-NoCs | |
Hosseinabady et al. | Reliable network-on-chip based on generalized de Bruijn graph | |
Chen et al. | De Bruijn graph based 3D Network on Chip architecture design | |
Garhwal et al. | Designing a fault-tolerant fully-chained combining switches multi-stage interconnection network with disjoint paths | |
Yang et al. | Fault-tolerant routing schemes in RDT (2, 2, 1)//spl alpha/-based interconnection network for networks-on-chip design | |
Adamu et al. | Review of deterministic routing algorithm for network-on-chip | |
Konstantinidou | Deterministic and chaotic adaptive routing in multicomputers | |
Somisetty et al. | Regional Congestion Aware Odd Even Routing with Fair Arbitration for Network on Chip | |
Jouybari et al. | FT-Z-OE: A fault tolerant and low overhead routing algorithm on TSV-based 3D network on chip links | |
Agyeman | A low overhead fault reporting scheme for resilient 3D network-on-chip applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20141020 |
|
EXPY | Termination of patent right or utility model |