一种片上网络拓扑结构、路由路径确定方法、装置及电子设备

文档序号:763045 发布日期:2021-04-06 浏览:28次 >En<

阅读说明:本技术 一种片上网络拓扑结构、路由路径确定方法、装置及电子设备 (On-chip network topology structure, method and device for determining routing path, and electronic equipment ) 是由 韩胜 徐祥俊 黄维 于 2020-12-02 设计创作,主要内容包括:本发明的实施例公开一种片上网络拓扑结构、路由路径确定方法、装置及电子设备,该片上网络拓扑结构包括:根据Mesh结构对角线对所述Mesh结构划分的四个区域,其中,划分后的Mesh结构的左右边缘分别增加竖向长连线,左边缘竖向长连线连接所述Mesh结构最左一列的第一个节点和最后一个节点,右边缘竖向长连线连接所述Mesh结构最右一列的第一个节点和最后一个节点,所述Mesh结构的上下边缘分别增加横向长连线,上边缘横向长连线连接所述Mesh结构最上一行的第一个节点和最后一个节点,下边缘横向长连线连接所述Mesh结构的最下一行的第一个节点和最后一个节点,所述Mesh结构为N行N列的Mesh结构且所述Mesh结构的对角线相连接,其中,N为正整数。该片上网络拓扑结构在传输数据时可以减小了网络直径,降低了传输延迟,对片上长距离的传输有较好效果,并且增加的长连线要少于Torus,降低了布线的难度,因此,解决了相关技术中片上网络拓扑结构带来的传输数据延迟大、布线困难等问题。(The embodiment of the invention discloses a network-on-chip topological structure, a method and a device for determining a routing path and electronic equipment, wherein the network-on-chip topological structure comprises the following components: the method comprises the steps that four areas divided by a Mesh structure are divided according to diagonal lines of the Mesh structure, wherein vertical long connecting lines are respectively added to the left edge and the right edge of the divided Mesh structure, the left edge vertical long connecting line is connected with a first node and a last node of the leftmost column of the Mesh structure, the right edge vertical long connecting line is connected with a first node and a last node of the rightmost column of the Mesh structure, horizontal long connecting lines are respectively added to the upper edge and the lower edge of the Mesh structure, the upper edge horizontal long connecting line is connected with a first node and a last node of the uppermost line of the Mesh structure, the lower edge horizontal long connecting line is connected with a first node and a last node of the lowermost line of the Mesh structure, the Mesh structure is a Mesh structure with N rows and N columns, the diagonal lines of the Mesh structure are connected, and N is a positive integer. The network-on-chip topological structure can reduce the network diameter when transmitting data, reduces the transmission delay, has better effect on the long-distance transmission on the chip, increases long connecting lines less than Torus, and reduces the difficulty of wiring, thereby solving the problems of large data transmission delay, difficult wiring and the like caused by the network-on-chip topological structure in the related technology.)

一种片上网络拓扑结构、路由路径确定方法、装置及电子设备

技术领域

本发明涉及半导体技术领域,尤其涉及一种片上网络拓扑结构、路由路径确定方法、装置及电子设备。

背景技术

随着半导体技术的不断发展,片上系统(System on Chip,简称为SoC)以高集成度、低功耗、低成本、小体积等优势,成为了集成电路系统设计的主流方向。为了满足复杂多样的应用需求,片上系统需要集成的处理器核的数目急剧增加,迎来了多核片上系统(MultiProcessorSystem on Chip,简称为MPSoC)的快速发展,但也给SoC设计带来了新的挑战,传统的以共享总线为基础的SoC设计技术会在芯片的性能、功耗、可靠性、可扩展性等方面面临着巨大的挑战。为了实现处理器核之间高性能数据传输,核间互联架构需要较高吞吐率和较低传输延迟。

通过将计算机网络技术引入到MPSoC中,采用路由和分组交换进行数据通信的片上网络(Network on Chip,简称为NoC)设计技术应运而生。目前,二维网格状的NoC体系结构,以Mesh和Torus最为常见。Mesh拓扑结构中,资源节点和路由节点相连,而路由节点与其相邻的4个路由节点相连,其结构简单、可扩展性强,但是随着网格变大,长距离传输的路由跳数会增多,数据的延迟变大,影响系统性能。Torus结构则在Mesh结构的基础上,将每一行与每一列中位于边缘的两个节点连接,利于边缘节点间的通信,但是增加的长连线与其他连线有大量交叉,布线比较困难。

针对相关技术中片上网络拓扑结构带来的传输数据延迟大、布线困难等问题,尚未提出有效的解决方案。

发明内容

有鉴于此,本发明实施例提供一种片上网络拓扑结构、路由路径确定方法、装置及电子设备,能够解决相关技术中片上网络拓扑结构带来的传输数据延迟大、布线困难等问题。

第一方面,本发明实施例提供一种片上网络拓扑结构,包括:根据Mesh结构对角线对Mesh结构划分的四个区域,其中,划分后的Mesh结构的左右边缘分别增加竖向长连线,左边缘竖向长连线连接Mesh结构最左一列的第一个节点和最后一个节点,右边缘竖向长连线连接Mesh结构最右一列的第一个节点和最后一个节点,Mesh结构的上下边缘分别增加横向长连线,上边缘横向长连线连接Mesh结构最上一行的第一个节点和最后一个节点,下边缘横向长连线连接Mesh结构的最下一行的第一个节点和最后一个节点,Mesh结构为N行N列的Mesh结构且Mesh结构的对角线相连接,其中,N为正整数。

根据本发明实施例的一种具体实现方式,在N为奇数时,竖直长连线和横向长连线涵盖的最小路由节点数为3;在N为偶数时,竖直长连线和横向长连线涵盖的最小路由节点数为4。

根据本发明实施例的一种具体实现方式,片上网络拓扑结构中路由节点的坐标为(P,R,L),其中,P为路由节点所处的当前三角形区域,R为路由节点所处的当前三角形区域的当前行上的节点总数,L为路由节点所处的当前三角形区域的当前行按逆时针计数的节点位置。

根据本发明实施例的一种具体实现方式,片上网络拓扑结构中的路由包括区域路由、行路由和点路由,上述区域路由包括区顺路由和区逆路由,其中,区顺路由为按顺时针在四个三角形区域间移动的过程,区逆路由为按逆时针在四个三角形区域间移动的过程;上述行路由包括行外路由和行内路由,其中,行外路由为在一个三角形区域中从对角线中点向片上网络拓扑结构的边界移动的过程,行内路由为在一个三角形区域中从片上网络拓扑结构的边界向对角线中点移动的过程;上述点路由包括点顺路由和点逆路由,其中,点顺路由为在当前行顺时针移动的过程,点逆路由为在当前行逆时针移动的过程。

第二方面,本发明实施例提供一种适用于上述片上网络拓扑结构的路由路径确定方法,包括:获取当前节点的坐标(Pcur,Rcur,Lcur)和目标节点的坐标(Pdst,Rdst,Ldst);在Rcur大于Rdst时,当前节点按行路由-区域路由-点路由的顺序移动到目标节点;在Rcur小于等于Rdst时,当前节点按区域路由-行路由-点路由的顺序移动到目标节点。

根据本发明实施例的一种具体实现方式,当前节点按行路由移动包括:确定当前节点是否为边界节点;在确定结果为是的情况下,当前节点先按点路由移动,再按行路由移动,直到Rcur等于Rdst,当前节点继续按顺序移动,顺序为行路由-区域路由-点路由,或者,区域路由-行路由-点路由;在确定结果为否的情况下,当前节点按行路由移动,直到Rcur等于Rdst,当前节点继续按顺序移动。

根据本发明实施例的一种具体实现方式,在确定当前节点是否为边界节点之前,还包括:在Rcur等于Rdst时,当前节点继续按顺序移动。

根据本发明实施例的一种具体实现方式,当前节点按区域路由移动包括:确定Pcur是否等于Pdst;在确定结果为是的情况下,当前节点继续按顺序移动;在确定结果为否的情况下,当前节点按Pcur和Pdst区域间的长连线移动,直到Pcur等于Pdst,当前节点继续按顺序移动。

根据本发明实施例的一种具体实现方式,当前节点按点路由移动包括:确定Lcur是否等于Ldst;在确定结果为是的情况下,当前节点结束移动;在确定结果为否的情况下,当前节点按点路由移动,直到Lcur等于Ldst,当前节点结束移动。

第三方面,本发明实施例提供一种适用于上述片上网络拓扑结构的路由路径确定装置,包括:获取模块,用于获取当前节点的坐标(Pcur,Rcur,Lcur)和目标节点的坐标(Pdst,Rdst,Ldst);第一移动模块,用于在Rcur大于Rdst时,当前节点按行路由-区域路由-点路由的顺序移动到目标节点;第二移动模块,用于在Rcur小于等于Rdst时,当前节点按区域路由-行路由-点路由的顺序移动到目标节点。

第四方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实现方式所述的方法。

第五方面,本发明的实施例还提供一种应用程序,所述应用程序被执行以实现本发明任一实施方式所述的方法。

本发明实施例提供的一种片上网络拓扑结构、路由路径确定方法、装置及电子设备,本实施例的片上网络拓扑结构将N行N列的Mesh结构按对角线相连且按对角线划分为四个三角形区域,Mesh结构的左右边缘分别增加竖向长连线,Mesh结构的上下边缘分别增加横向长连线,该片上网络拓扑结构在传输数据时可以减小了网络直径,降低了传输延迟,对片上长距离的传输有较好效果,并且增加的长连线要少于Torus,降低了布线的难度,因此,解决了相关技术中片上网络拓扑结构带来的传输数据延迟大、布线困难等问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例一的片上网络拓扑结构示意图;

图2为本发明实施例一的另一种片上网络拓扑结构示意图;

图3为本发明实施例一的7*7的MC-Mesh拓扑图的各个区域的坐标分布图;

图4为本发明实施例二的路由路径确定方法流程图;

图5为本发明路由路径确定方法的实施例三的流程图;

图6为本发明实施例三中区域1的行内路由步骤图;

图7为本发明路由路径确定装置实施例四的结构示意图;

图8为本发明电子设备一个实施例的结构示意图。

具体实施方式

下面结合附图对本发明实施例进行详细描述。应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例一

本实施例提供一种片上网络拓扑结构,以7行7列Mesh结构为基础进行说明。

图1为本发明实施例一的片上网络拓扑结构示意图,如图1所示,本实施例的应用场景是片上网络。

本实施例的片上网络拓扑结构可以包括:据Mesh结构对角线对Mesh结构划分的四个区域,其中,划分后的Mesh结构的左右边缘分别增加竖向长连线,左边缘竖向长连线连接Mesh结构最左一列的第一个节点和最后一个节点,右边缘竖向长连线连接Mesh结构最右一列的第一个节点和最后一个节点,Mesh结构的上下边缘分别增加横向长连线,上边缘横向长连线连接Mesh结构最上一行的第一个节点和最后一个节点,下边缘横向长连线连接Mesh结构的最下一行的第一个节点和最后一个节点,Mesh结构为N行N列的Mesh结构且Mesh结构的对角线相连接,其中,N为正整数。

本实施例,通过将N行N列的Mesh结构按对角线相连且按对角线划分为四个三角形区域,Mesh结构的左右边缘分别增加竖向长连线,Mesh结构的上下边缘分别增加横向长连线,使得在传输数据时可以减小了网络直径,降低了传输延迟,对片上长距离的传输有较好效果,并且增加的长连线要少于Torus,降低了布线的难度,因此,解决了相关技术中片上网络拓扑结构带来的传输数据延迟大、布线困难等问题。

需要说明的是,以下东西边缘即左右边缘,南北边缘即上下边缘。

具体地,以图1所示的7行7列Mesh结构为基础说明本实施例的MC-mesh拓扑结构,7*7代表的是每一行7个路由节点,每一列7个路由节点,拓扑结构按照Mesh结构的对角线,将拓扑结构分为东向、南向、西向和北向四个三角区域,其中东向和西向增加三角形的竖向长连线,南向和北向增加三角形的横向长连线,如图1所示,整个拓扑图内部有多层的圆环,所以取名为Multiple Circle Mesh(MC-Mesh)拓扑结构。

根据本发明实施例的一种具体实现方式,在N为奇数时,竖直长连线和横向长连线涵盖的最小路由节点数为3;在N为偶数时,竖直长连线和横向长连线涵盖的最小路由节点数为4。

具体地,当N为偶数时,拓扑结构中节点的坐标为(P,2i,j),(i为1,2...N/2;j为1,2...2i);当N为奇数时,拓扑结构中节点的坐标为(P,2i+1,j),(i为0,1,2...(N-1)/2,j为1,2...2i+1)。

图2为本发明实施例一的另一种片上网络拓扑结构示意图,如图2所示,以8行8列Mesh结构为基础进行说明,该片上网络拓扑结构仍按照N*N Mesh结构的对角线相连,将拓扑结构分为东向、南向、西向和北向四个三角区域,其中,东向和西向增加三角形的竖向长连线,南向和北向增加三角形的横向长连线,构成N*N MC-Mesh拓扑结构。在该实施例中,N为8,故长连线涵盖的最小路由节点数为4。

需要说明的是,采用MC_Mesh(Multiple Circle Mesh)的拓扑结构,连接的是对角线上的点,也可以通过连接同一层圆环中的非对角线上点,如连接垂直平分线上的点。

根据本发明实施例的一种具体实现方式,片上网络拓扑结构中路由节点的坐标为(P,R,L),其中,P为路由节点所处的当前三角形区域,R为路由节点所处的当前三角形区域的当前行上的节点总数,L为路由节点所处的当前三角形区域的当前行按逆时针计数的节点位置。

具体地,N*N的片上网络拓扑结构按照对角线分成四个三角区域,下方三角区域记为1,区域计数随逆时针方向增加,将当前节点所处三角区域记为坐标P,将当前节点所处三角区域的行的节点总数记为坐标R,将当前节点按逆时针计数,在该行的节点位置作为坐标L,构成新的坐标(区域P,行R,点L),并通过新的坐标系来进行从源节点到目标节点的路由。

以图1所示的7行7列MC-Mesh结构为例说明拓扑结构节点的坐标。图3为本发明实施例一的7*7的MC-Mesh拓扑图的各个区域的坐标分布图,如图3所示,在一个三角区域中,由上而下,行坐标依次增加,以逆时针为方向,起点的点坐标为1,之后依次增加,到终点。区域1的坐标为(1,1,1),(1,3,1),(1,3,2),(1,3,3),(1,5,1),(1,5,2),(1,5,3),(1,5,4),(1,5,5),(1,7,1),(1,7,2),(1,7,3),(1,7,4),(1,7,5),(1,7,6),(1,7,7);区域2的坐标为(2,1,1),(2,3,1),(2,3,2),(2,3,3),(2,5,1),(2,5,2),(2,5,3),(2,5,4),(2,5,5),(2,7,1),(2,7,2),(2,7,3),(2,7,4),(2,7,5),(2,7,6),(2,7,7);区域3的坐标为(3,1,1),(3,3,1),(3,3,2),(3,3,3),(3,5,1),(3,5,2),(3,5,3),(3,5,4),(3,5,5),(3,7,1),(3,7,2),(3,7,3),(3,7,4),(3,7,5),(3,7,6),(3,7,7);区域4的坐标为(4,1,1),(4,3,1),(4,3,2),(4,3,3),(4,5,1),(4,5,2),(4,5,3),(4,5,4),(4,5,5),(4,7,1),(4,7,2),(4,7,3),(4,7,4),(4,7,5),(4,7,6),(4,7,7)。其中相邻的边界点属于同一个节点,如(1,1,1),(2,1,1),(3,1,1),(4,1,1)属于同个节点,(1,3,3)与(2,3,1),(1,5,5)与(2,5,1),(1,7,7)与(2,7,1),(2,3,3)与(3,3,1),(2,5,5)与(3,5,1),(2,7,7)与(3,7,1),(3,3,3)与(4,3,1),(3,5,5)与(4,5,1),(3,7,7)与(4,7,1),(4,3,3)与(1,3,1),(4,5,5)与(1,5,1),(4,7,7)与(1,7,1)都分别属于同一个节点。

需要说明的是,上述坐标可以采用(区域,行,点)的坐标定位方式,也可以采用(行,区域,点)的坐标定位方式。

根据本发明实施例的一种具体实现方式,片上网络拓扑结构中的路由包括区域路由、行路由和点路由,上述区域路由包括区顺路由和区逆路由,其中,区顺路由为按顺时针在四个三角形区域间移动的过程,区逆路由为按逆时针在四个三角形区域间移动的过程;上述行路由包括行外路由和行内路由,其中,行外路由为在一个三角形区域中从对角线中点向片上网络拓扑结构的边界移动的过程,行内路由为在一个三角形区域中从片上网络拓扑结构的边界向对角线中点移动的过程;上述点路由包括点顺路由和点逆路由,其中,点顺路由为在当前行顺时针移动的过程,点逆路由为在当前行逆时针移动的过程。

具体地,在本实施例的片上网络拓扑结构中的对角线上的边界节点上会分布着长链路,可以进行区域的路由,将向顺时针区域路由的操作称之为区顺路由,将向逆时针区域路由的操作称之为区逆路由。行路由同样分为两种,向外(由对角线中点向拓扑的边界)的行路由称之为行外路由,向内(由拓扑的边界向对角线中点)的行路由称之为行内路由。点路由也分为两种,顺时针点路由称之为点顺路由,逆时针点路由称之为点逆路由。

采用本发明的坐标定位方式,将所属区域P,所属行的节点总数R,所属行的节点位置L作为三个坐标向量,构成(P,R,L)。

实施例二

相关技术中,片上网络的路由策略对系统的性能也起着至关重要的作用,对一个N×N的网络结构,通常采用二维坐标的定位方式,在原有的拓扑结构上建立坐标系,每个节点的坐标都可以用(X,Y)形式表示,令源节点的坐标为(Xs,Ys),目标节点的坐标为(Xd,Yd),dX表示目标节点同源节点在X维的方向偏移,即dX=Xd-Xs,dY表示目标节点同源节点在Y维的方向偏移,即dY=Yd-Ys,通过dX,dY两个偏移量,来确定路由路径,传统的定位方式只能给出X维和Y维的相对偏移信息,系统获得的信息量少,难以给出最优的路由策略。

本实施例提供一种适用于上述片上网络拓扑结构的路由路径确定方法,以7行7列Mesh结构为基础进行说明。

图4为本发明实施例二的路由路径确定方法流程图,如图4所示,本实施例的应用场景是片上网络。

本实施例的方法可以包括:

S401、获取当前节点的坐标(Pcur,Rcur,Lcur)和目标节点的坐标(Pdst,Rdst,Ldst);

S402、在Rcur大于Rdst时,当前节点按行路由-区域路由-点路由的顺序移动到目标节点;

S403、在Rcur小于等于Rdst时,当前节点按区域路由-行路由-点路由的顺序移动到目标节点。

本实施例中,通过新坐标能够表示出节点在拓扑图的位置信息,并且该种路由路径确定方式能够很好适用于本发明提出的片上网络拓扑结构,能够缩减网络直径,对片上网络拓扑结构上的长距离数据运输有改善效果,即,通过上述路由路径确定方式可以在N*N的MC-Mesh拓扑结构中两个节点间距离较远时,可以通过圆环长链路进行区域的路由,相比Mesh结构,可以减少路由路径的跳数,保证路由路径最优,从而可以降低数据延迟,增大数据的吞吐率,对于N*N的MC-Mesh拓扑结构,N越大效果越显著。

需要说明的是,在N*N MC-Mesh拓扑结构中,每一个节点都连接着一个本地处理器核,将传输至本地处理器核的端口称之为本地端口。

根据本发明实施例的一种具体实现方式,当前节点按行路由移动包括:确定当前节点是否为边界节点;在确定结果为是的情况下,当前节点先按点路由移动,再按行路由移动,直到Rcur等于Rdst,当前节点继续按顺序移动,顺序为行路由-区域路由-点路由,或者,区域路由-行路由-点路由;在确定结果为否的情况下,当前节点按行路由移动,直到Rcur等于Rdst,当前节点继续按顺序移动。

根据本发明实施例的一种具体实现方式,在确定当前节点是否为边界节点之前,还包括:在Rcur等于Rdst时,当前节点继续按顺序移动。

具体地,边界点的判断:当L等于1或者R时,则在边界上,当L等于1时,在左侧边界,L等于R时,在右侧边界。

根据本发明实施例的一种具体实现方式,当前节点按区域路由移动包括:确定Pcur是否等于Pdst;在确定结果为是的情况下,当前节点继续按顺序移动;在确定结果为否的情况下,当前节点按Pcur和Pdst区域间的长连线移动,直到Pcur等于Pdst,当前节点继续按顺序移动。

根据本发明实施例的一种具体实现方式,当前节点按点路由移动包括:确定Lcur是否等于Ldst;在确定结果为是的情况下,当前节点结束移动;在确定结果为否的情况下,当前节点按点路由移动,直到Lcur等于Ldst,当前节点结束移动。

具体地,在N*N的MC-Mesh片上片上网络拓扑结构中,采用上述坐标以及定义的几种操作来设计路由策略,主要包括以下步骤:

步骤1,在MC-Mesh片上片上网络拓扑结构中,依据本发明提出的坐标表示方式,获得源节点坐标和目标节点坐标。

步骤2,判断当前节点与目标节点坐标是否一致,若一致,则结束路由,传输至当前节点的本地端口;若不一致,判断目标节点的行坐标是否小于当前节点的,若是,执行步骤3;否的话,执行步骤4。

步骤3,行路由,当前节点坐标位置在边界点时,则先进行点路由,之后进行行路由,直到当前节点的行坐标等于目标节点的行坐标,执行步骤4;若当前坐标不在边界点,则行路由,当到达边界时,行坐标不相等,则执行步骤3,否则,当行坐标相等时,执行步骤4。

步骤4,判断当前节点与目标节点区域坐标是否相等,若一致,则执行步骤6;若不一致,则点路由到区域的边界点,执行步骤5。

步骤5,区域的变换,当目标区域与源区域之间有长链路时,选择长链路区域路由,直到区域坐标相等,执行步骤6。

步骤6,判断当前节点与目标节点行坐标是否相等,若相等,则执行到步骤7;否的话执行行路由。

步骤7,判断当前节点的点坐标与目标节点坐标是否相等,如果不相等,则进行点路由操作,当前节点的坐标与目标节点相同时,结束路由,传输至目标节点的本地端口。

需要说明的是,区顺路由的坐标变换,当节点在右侧边界时(P,R,R),选择长链路区域内路由,(P,R,R)->(P,R,1);当已经处于左侧边界时,进行坐标变换(P,R,1)->(P-1,R,R)。区逆路由的坐标变换,当节点在左侧边界时(P,R,1),选择长链路区域内路由,(P,R,1)->(P,R,R);当已经处于右侧边界时,进行坐标变换(P,R,R)->(P+1,R,1)。行内路由的坐标变换,(P,R,L)->(P,R-2,L-1);行外路由的坐标变换,(P,R,L)->(P,R+2,L+1)。点顺路由的坐标变换,(P,R,L)->(P,R,L-1);点逆路由的坐标变换,(P,R,L)->(P,R,L+1)。

实施例三

下面采用一个具体的实施例,对图4中所示方法实施例的技术方案进行详细说明。

图5为本发明路由路径确定方法的实施例三的流程图,本实施例的适用场景可以是片上网络数据传输,实施例中以7*7MC-Mesh的拓扑结构,介绍新的坐标定义以及路由确定方式,如图5所示,具体的新坐标的路由路径确定方式如下:当源节点的行坐标大于目标节点时,采用行路由->区域路由->点路由的顺序;当源节点的行坐标小于等于目标节点时,采用区域路由->行路由->点路由的方式,这样的话能保证路由路径最优。

步骤1、本发明实施例中,依据本发明提出的坐标定义方式,源节点坐标为(Psrc,Rsrc,Lsrc)和目标节点坐标为(Pdst,Rdst,Ldst),当进行路由时,当前节点的坐标为(Pcur,Rcur,Lcur),开始时,当前节点就是源节点。在区域的边界点,会有长链路,可以进行区域的路由。各个节点会有都会有本地端口,连接着本地的处理器核。

边界点的判断:当Lcur等于1或者Rcur时,则在边界上,当Lcur等于1时,在左侧边界,Lcur等于Rcur时,在右侧边界。

步骤2,本发明实施例中,判断当前节点坐标与目标节点坐标是否一致,若一致,则结束路由。若不一致,当Rcur>Rdst时,按照行路由-区域路由-点路由的顺序,执行步骤3;其他情况,按照区域路由-行路由-点路由的顺序,执行步骤4,这样能保证路由的路径最优。

步骤3,本发明实施例中,向内行路由时(Rcur>Rdst),为保证在同一个区域内完成操作,当前节点在左边界时(即Lcur=1),则点逆路由(Rcur-Rdst)/2个单位;当前节点在右边界时(即Lcur=Rcur)时,则点顺路由(Rcur-Rdst)/2个单位,然后进行行内路由。当前节点处于非边界点时,行内路由,当到达边界点时还没路由到Rdst,则执行上述步骤。向外行路由时(Rcur<Rdst),则可以直接移动当前节点到达目标行。当Rcur=Rdst时,执行步骤4。

行内路由的坐标变换,(Pcur,Rcur,Lcur)=(Pcur,Rcur-2,Lcur-1);行外路由的坐标变换,(Pcur,Rcur,Lcur)=(Pcur,Rcur+2,Lcur+1)

点顺路由的坐标变换,(Pcur,Rcur,Lcur)=(Pcur,Rcur,Lcur-1);点逆路由的坐标变换,(Pcur,Rcur,Lcur)=(Pcur,Rcur,Lcur+1)

以实施例中区域1的三种情况做说明,图6为本发明实施例三中区域1的行内路由步骤图,如图6所示,假定行坐标由7路由到3:

第一种,当源节点处于(1,7,1)时,首先需要点路由到(1,7,3),在行路由到(1,3,1),如图5所示;

第二种,当源节点处于(1,7,4)时,则可以直接行路由到(1,3,2),如图5所示;

第三种,当源节点处于(1,7,6)时,首先行路由到边界点(1,5,5),在进行点路由到(1,5,4),最后行路由到(1,3,3),如图6所示;

步骤4,本发明实施例中,当前节点与目标节点的区域坐标一致时(即Pcur等于Pdst),执行步骤6。

当前节点与目标节点的区域坐标不一致时(即Pcur不等于Pdst),则首先进行点路由的操作,分为两种情况,当Lcur<=M时,进行点顺路由,移动至Lcur=1;当Lcur>M时,进行点逆路由,移动至Lcur=Rcur,执行步骤5,这样能保证到达边界点的路由路径最优。

本发明实施例中,M=(Rcur+1)/2,若Rcur=3,则M=2;若Rcur=5,则M=3,若Rcur=7,则M=4。

步骤5,本实施例中,区域路由时,Pdst-Pcur=-1时,选择区顺路由,Pdst-Pcur=1时,选择区逆路由,其他情况,根据步骤4的点路由方向,来决定区域路由的方向。由于区域4与区域1是边界,所以设定区域4+1=区域1。

边界变换,当前坐标为(Pcur,Rcur,1)时,变换为(Pcur-1,Rcur,Rcur),当前坐标为(Pcur,Rcur,Rcur),变换为(Pcur+1,Rcur,1)。

区顺路由,当Lcur等于Rcur时,首先选择长链路路由,坐标变为(Pcur,Rcur,1);当Lcur等于1时,边界坐标变换,若Pcur不等于Pdst,选择长链路路由,进行边界坐标变换;若Pcur等于Pdst,判断Ldst,当Ldst<M时,继续选择长链路路由,当Ldst>=M时,结束区域路由。

区逆路由,当Lcur等于1时,首先选择长链路路由,坐标变为(Pcur,Rcur,Rcur);当Lcur等于Rcur时,边界坐标变换,若Pcur不等于Pdst,选择长链路路由,进行边界坐标变换;若Pcur等于Pdst,判断Ldst,当Ldst>M时,继续选择长链路路由,当Ldst<=M时,结束区域路由。

本发明实施例中,M=(Rcur+1)/2,若Rcur=3,则M=2;若Rcur=5,则M=3,若Rcur=7,则M=4。

步骤6,本实施例中,步骤3处理了源节点行坐标大于目标节点的情况(即Rcur>Rdst),若不相等时,当前节点的行坐标小于目标节点(即Rcur<Rdst),直接行外路由,坐标变换(Pcur,Rcur,Lcur)=(Pcur,Rcur+2,Lcur+1),直到Rcur=Rdst。

步骤7,本实施例中,若当前节点的点坐标与目标节点不相等(即Lcur不等于Ldst),当Lcur<Ldst时,进行点逆路由,进行坐标变换(Pcur,Rcur,Lcur)=(Pcur,Rcur,Lcur+1);当Lcur>Ldst时,进行点顺路由,进行坐标变换(Pcur,Rcur,Lcur)=(Pcur,Rcur,Lcur-1);直到Lcur=Ldst,结束路由,传输至本地端口。

本发明所描述的实施例为7*7的MC-Mesh结构,可以说明的是,本发明的拓扑结构可以应用于不同的N*N的拓扑结构中,N可以为奇数,也可以为偶数。实施例中的路由策略,可以通过设计硬件来完成,适用于不同的N*N的拓扑结构。该结构以及路由策略可以适用于有需求的NoC片上系统中。

片上拓扑结构中,从源节点到目标节点,所经过的路由跳数的最大值,我们称之为网络直径,可以通过缩减网络直径来改善拓扑结构的性能,7*7的Mesh结构网络直径为12,7*7的MC-Mesh中,网络直径为7,是优于mesh结构的。所增加的长链路要少于Torus。

本发明的路由节点位置的定义方式能够表示出节点在拓扑图的具体位置信息,并且该种路由位置定义方式能够很好适用于本发明提出的MC-Mesh拓扑结构,对拓扑结构上不同区域节点的长距离数据运输有改善效果,可以降低数据延迟,增大数据的吞吐率,对于N*N的MC-Mesh拓扑结构,N越大效果越显著。

实施例四

图7为本发明路由路径确定装置实施例四的结构示意图,如图7所示,本实施例的装置可以包括:获取模块72、第一移动模块74和第二移动模块76,其中,获取模块72,用于获取当前节点的坐标(Pcur,Rcur,Lcur)和目标节点的坐标(Pdst,Rdst,Ldst);第一移动模块74,用于在Rcur大于Rdst时,当前节点按行路由-区域路由-点路由的顺序移动到目标节点;第二移动模块76,用于在Rcur小于等于Rdst时,当前节点按区域路由-行路由-点路由的顺序移动到目标节点。

本实施例的装置,可以用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。

图8为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-3所示实施例的流程,如图8所示,上述电子设备可以包括:壳体81、处理器82、存储器83、电路板84和电源电路85,其中,电路板84安置在壳体81围成的空间内部,处理器82和存储器83设置在电路板84上;电源电路85,用于为上述电子设备的各个电路或器件供电;存储器83用于存储可执行程序代码;处理器82通过读取存储器83中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的路由路径确定方法。

处理器82对上述步骤的具体执行过程以及处理器82通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图4-6所示实施例的描述,在此不再赘述。

该电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

第五方面,本发明的实施例还提供一种应用程序,所述应用程序被执行以实现本发明任一实施例提供的方法。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。

尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:异形版图内标准单元布局方法及装置、服务器和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类