一种基于可扩展互联裸芯的封装级网络路由算法转让专利

申请号 : CN202111015390.6

文献号 : CN113709040B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖志强魏敬和黄乐天曹文旭鞠虎王淑芬高营顾林郑利华刘国柱

申请人 : 中国电子科技集团公司第五十八研究所

摘要 :

本发明涉及互联裸芯网络路由算法技术领域,具体涉及一种基于可扩展互联裸芯的封装级网络路由算法,该算法结构包括两级:对互联裸芯内的裸芯级网络,采用XY维序路由算法将NoD定义为X和Y两个方向的二维网络,规定数据从源节点出发,首先在X维度上进行传输,然后再在Y维度上进行传输,该算法禁止在Y维度前进的数据包转向进入X维度,即相应地禁止了两种转向情况,可以解决传统片上网络中的环形死锁问题;对由互联裸芯组成的环形网络,采用转弯模型配合最短路径路由算法进行路由选择,有利于最短路径的数据传输,提升了数据传输速度。

权利要求 :

1.一种基于可扩展互联裸芯的封装级网络路由算法,其特征在于,该算法结构包括两级:对互联裸芯内的裸芯级网络,采用XY维路由算法;对由互联裸芯组成的环形网络,采用转弯模型配合最短路径路由算法进行路由选择;

在XY维路由算法中,将网状拓扑的NoD定义为X和Y两个方向的二维网络,为网络的每一行节点和每一列节点都标定其对应的Y坐标和X坐标,规定数据从源节点出发,首先在X维度上进行传输,直到到达X坐标与目的节点的X坐标相同的节点,然后在Y维度上进行传输,最终抵达目的节点;

XY维路由算法的执行流程为:S1:根据数据包格式中所定义的NoD内节点ID,计算目的节点与源节点的X坐标之差x,若x<0,则先向X负方向进行路由,直到当前节点的X坐标等于目的节点的X坐标;若x>0,则反向X正方向进行路由,直到当前节点的X坐标等于目的节点的X坐标;若x=0,则不进行X方向的路由;S2:计算目的节点与源节点的Y坐标之差y,若y<0,则先向Y负方向进行路由,直到当前节点的Y坐标等于目的节点的Y坐标;若y>0,则反向Y正方向进行路由,直到当前节点的Y坐标等于目的节点的Y坐标;若y=0,则不进行Y方向的路由;若当前节点的Y坐标等于目的节点的Y坐标,则完成XY未路由,到达目的节点;

在互联裸芯组成的环形网络中,对每个方向的环路分别增加一条等同环路,该等同环路实现一处转向限制。

2.根据权利要求1所述的一种基于可扩展互联裸芯的封装级网络路由算法,其特征在于,在互联裸芯组成的环形网络中,首先计算路由结构中源NoD和目的NoD分别采用顺时针环路和逆时针子网络的路由距离,基于此选择距离较短的路径进行路由,然后对于任一方向中的两条路径,若其完全等价,则任意选择一条路径,若两条路径中只有一条可以满足源NoD和目的NoD的路由要求,则选择满足的条件的路径。

3.根据权利要求2所述的一种基于可扩展互联裸芯的封装级网络路由算法,其特征在于,裸芯间转弯模型路由算法的执行步骤包括:

S1:以NoP中节点的三维坐标分别表示NoD的ID、NoD内节点X方向坐标、NoD内节点Y方向坐标,设源节点s(i,j,k),去到目的节点d(p,q,t);

S2:首先判断i与p的大小关系,若二者相等则不需要NoP环形路由,在NoD中采用XY路由到达目的节点;若二者不相等则计算i与p差的绝对值,若该值小于阈值,则选择顺时针环形路径,若大于阈值,则选择逆时针环形路径,最后根据路由选择确定下一个NoD节点,并将数据包发送至下一个节点。

4.根据权利要求1所述的一种基于可扩展互联裸芯的封装级网络路 由算法,其特征在于,所述等同环路通过虚通道实现。

说明书 :

一种基于可扩展互联裸芯的封装级网络路由算法

技术领域

[0001] 本发明涉及互联裸芯网络路由算法技术领域,具体涉及一种基于可扩展互联裸芯的封装级网络路由算法。

背景技术

[0002] 互联裸芯是一种用于裸芯扩展和数据传输的通用标准裸芯。在NoP中,不同类型的功能裸芯通过互联裸芯相互联接起来,形成微组件。多个微组件之间再采用一定的拓补结构互联起来,便构成了NoP整体,即微系统。微系统体系庞大,网络与网络之间层层包含,数据链路复杂,能否提出一种结构清晰、运行高效的NoP数据路由算法成为了当前决定NoP和互联裸芯能否最大程度发挥其高效性的关键问题之一。

发明内容

[0003] 针对现有技术中存在的不足,本发明提供了一种基于可扩展互联裸芯的封装级网络路由算法,解决了数据路由面临的环形死锁问题,从而有利于NoP最大程度、高效率地发挥功能。
[0004] 为解决上述技术问题,本发明提供的技术方案是:一种基于可扩展互联裸芯的封装级网络路由算法,该算法结构包括两级:对互联裸芯内的裸芯级网络,采用XY维路由算法;对由互联裸芯组成的环形网络,采用转弯模型配合最短路径路由算法进行路由选择。
[0005] 进一步地,在XY维路由算法中,将网状拓扑的NoD定义为X和Y两个方向的二维网络,为网络的每一行节点和每一列节点都标定其对应的Y坐标和X坐标,规定数据从源节点出发,首先在X维度上进行传输,直到到达X坐标与目的节点的X坐标相同的节点,然后在Y维度上进行传输,最终抵达目的节点。
[0006] 进一步地,XY维路由算法的执行流程为:S1:根据数据包格式中所定义的NoD内节点ID,计算目的节点与源节点的X坐标之差x,若x<0,则先向X负方向进行路由,直到当前节点的X坐标等于目的节点的X坐标;若x>
0,则反向X正方向进行路由,直到当前节点的X坐标等于目的节点的X坐标;若x=0,则不进行X方向的路由;
[0007] S2:计算目的节点与源节点的Y坐标之差y,若y<0,则先向Y负方向进行路由,直到当前节点的Y坐标等于目的节点的Y坐标;若y>0,则反向Y正方向进行路由,直到当前节点的Y坐标等于目的节点的Y坐标;若y=0,则不进行Y方向的路由;若当前节点的Y坐标等于目的节点的Y坐标,则完成XY未路由,到达目的节点。
[0008] 进一步地,在互联裸芯组成的环形网络中,对每个方向的环路分别增加一条等同环路,该等同环路实现一处转向限制。
[0009] 进一步地,在互联裸芯组成的环形网络中,首先计算路由结构中源NoD和目的NoD分别采用顺时针环路和逆时针子网络的路由距离,基于此选择距离较短的路径进行路由,然后对于任一方向中的两条路径,若其完全等价,则任意选择一条路径,若两条路径中只有一条可以满足源NoD和目的NoD的路由要求,则选择满足的条件的路径。
[0010] 进一步地,裸芯间转弯模型路由算法的执行步骤包括:
[0011] S1:以NoP中节点的三维坐标分别表示NoD的ID、NoD内节点X方向坐标、NoD内节点Y方向坐标,设源节点s(i,j,k),去到目的节点d(p,q,t);
[0012] S2:首先判断i与p的大小关系,若二者相等则不需要NoP环形路由,在NoD中采用XY路由到达目的节点;若二者不相等则计算i与p差的绝对值,若该值小于阈值,则选择顺时针环形路径,若大于阈值,则选择逆时针环形路径,最后根据路由选择确定下一个NoD节点,并将数据包发送至下一个节点。
[0013] 进一步地,等同环路通过虚通道实现。
[0014] 本技术方案所带来的有益效果是:1、采用XY维路由算法的方式可以使得数据包一旦开始在Y维度移动,就无法在X维度移动,由此禁止了两种转向情况,从而无法形成依赖环路的必要条件,进而解决了传统片上网络中的环形死锁问题;2、在裸芯间环形拓扑回路中,对每个方向分别增加一条等同环路并进行转向限制来避免死锁;3、裸芯间的转弯模型有利于最短路径的数据传输,提升了数据传输速度;4、使用虚通道来实现等同环路,能有效降低硬件开销、涉及难度和系统复杂程度,保证了NoD互联原本具有的简明性;5、整体上结构层次清晰,易于扩展,算法简洁。

附图说明

[0015] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0016] 图1为X维路由的结构图;
[0017] 图2为Y维路由的结构图;
[0018] 图3为裸芯间转弯模型路由结构图;
[0019] 图4为裸芯间路由方向选择;
[0020] 图5为裸芯间路由路径选择;
[0021] 图6为裸芯间转弯模型路由结构中虚通道等同环路的微观结构图;
[0022] 图7为互联裸芯的内部打破死锁产生可能的结构示意图。

具体实施方式

[0023] 以下结合附图对本发明的优选实例进行说明,应当理解,此处所描述的优选实例仅用于说明和解释本发明,并不用于限定本发明。这种基于可扩展互联裸芯的封装级网络路由算法,主要包括两级结构,首先是对互联裸芯内的裸芯级网络,采用XY维路由算法,而对于互联裸芯组成的环形网络,采用转弯模型配合最短路径路由算法进行路由选择。
[0024] 首先,在XY维路由算法中,将网状拓扑的NoD定义为X和Y两个方向的二维网络,为网络的每一行节点和每一列节点都标定其对应的Y坐标和X坐标,规定数据从源节点出发,首先在X维度上进行传输,直到到达X坐标与目的节点的X坐标相同的节点,然后在Y维度上进行传输,最终抵达目的节点。
[0025] 具体的,XY维路由算法的执行流程为:
[0026] S1:根据数据包格式中所定义的NoD内节点ID,计算目的节点与源节点的X坐标之差x,若x<0,则先向X负方向进行路由,直到当前节点的X坐标等于目的节点的X坐标;若x>0,则反向X正方向进行路由,直到当前节点的X坐标等于目的节点的X坐标;若x=0,则不进行X方向的路由;
[0027] S2:计算目的节点与源节点的Y坐标之差y,若y<0,则先向Y负方向进行路由,直到当前节点的Y坐标等于目的节点的Y坐标;若y>0,则反向Y正方向进行路由,直到当前节点的Y坐标等于目的节点的Y坐标;若y=0,则不进行Y方向的路由;若当前节点的Y坐标等于目的节点的Y坐标,则完成XY未路由,到达目的节点。
[0028] 如图1和2所示,在该实施例中,其源节点为A,目的节点为B,首先计算B与A的坐标差值为3,因此需要先从源节点A开始沿X方向路由3跳(hop),直到节点的当前X坐标等于目的节点B的X坐标。此时再计算Y方向B与当前节点 的坐标差值为‑2,因此需要从当前节点向Y负方向路由跳直到节点的当前Y坐标等于目的节点B的Y坐标。
[0029] 多个互联裸芯通过其内部NoD内的外部接口(同步控制器)按照环形的拓扑结构互联起来,由于其互联总线一般分为输入总线和输出总线两组总线,因此该环形拓扑回路可以分为顺时针和逆时针两个环路,每个环路上数据呈单向流动。然而这种环形拓扑仍然存在环形死锁的可能,因此可以采用限制一处转向的方式来避免死锁。再这种情况下,当数据需要经过被限制处传输时就无法正常传输,只能选择相反方向的环路,然后反向传输到达目的NoD。但是这不能保证数据的最短距离传输,因此大大降低了数据的传输效率。进而在此基础上,对于每个方向的环路,分别增加一条等同环路,该等同环路同样进行一处转向限制,但是限制位置与原回路不同。
[0030] 如图3所示,在本实施例中,6个互联裸芯为核心的微组件组成NoP,分别为NoD1‑NoD6。NoD之间采用环形拓扑连接,共设有4条环路,分别为子网络1‑子网络4,其中子网络1和子网络2为顺时针方向环路,两者互为等同环路,子网络3和子网络4为逆时针方向环路,两者亦互为等同环路。子网络1和子网络3限制了NoD4处的转向,而子网络2和子网络4限制了NoD1处的转向。
[0031] 其次,在互联裸芯组成的环形网络中,首先计算路由结构中源NoD和目的NoD分别采用顺时针环路和逆时针子网络的路由距离,基于此选择距离较短的路径进行路由,然后对于任一方向中的两条路径,若其完全等价,则任意选择一条路径,若两条路径中只有一条可以满足源NoD和目的NoD的路由要求,则选择满足的条件的路径。
[0032] 在本实施例中,源NoD为NoD3,目的NoD为NoD5,其顺时针方向距离为2(最外侧线),逆时针方向距离为4(最内侧线),同理选择顺时针方向作为路由,如图4所示,对于顺时针方向的两条路径,从NoD3到NoD5,只有路径2(从外侧起第二条线)满足路由要求,因此选择该路径进行路由,如图5所示。
[0033] 裸芯间转弯模型路由算法的执行步骤包括:
[0034] S1:以NoP中节点的三维坐标分别表示NoD的ID、NoD内节点X方向坐标、NoD内节点Y方向坐标,设源节点s(i,j,k),去到目的节点d(p,q,t);
[0035] S2:首先判断i与p的大小关系,若二者相等则不需要NoP环形路由,在NoD中采用XY路由到达目的节点;若二者不相等则计算i与p差的绝对值,若该值小于阈值,则选择顺时针环形路径,若大于阈值,则选择逆时针环形路径,最后根据路由选择确定下一个NoD节点,并将数据包发送至下一个节点。
[0036] 图6和7为互联裸芯内部结构,此处展示了与互联裸芯外部接口(同步控制器)相连的路由器,路由器的四个方向的传输总线均分为输入总线和输出总线两组总线,这两组总线通过同步控制器连接至互联裸芯外部,映射到NoP互联总线的输入总线和输出总线。
[0037] 由于数据在NoD间的传输的底层过程也是由NoD内部的路由器支撑完成的,因此,对NoP互联总线设置两个虚通道,其本质是在微观上对互联裸芯NoD内部的路由器设置两组缓冲器(Buffer),这两组Buffer相互独立,分别用于存储NoP同一方向的两条等同环路上传输的数据,他们的输入或输出分时复用同一条物理总线。
[0038] 对转弯模型路由结构的顺时针和逆时针两个方向的环路分别标号为1和2,对于同一个方向的两条等同环路标号为a和b,于是每一个路由器的每一个方向的接口都设置了4个虚通道buffer,分别为1a、1b、2a、2b。
[0039] 最后应说明的是:以上所述仅为本发明的优选实例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。