CN104683242B - 一种二维片上网络的拓扑结构以及路由方法 - Google Patents
一种二维片上网络的拓扑结构以及路由方法 Download PDFInfo
- Publication number
- CN104683242B CN104683242B CN201510112474.XA CN201510112474A CN104683242B CN 104683242 B CN104683242 B CN 104683242B CN 201510112474 A CN201510112474 A CN 201510112474A CN 104683242 B CN104683242 B CN 104683242B
- Authority
- CN
- China
- Prior art keywords
- packet
- routing
- node
- routing node
- flow controller
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种二维片上网络的拓扑结构以及路由方法,本发明的网络的拓扑结构包括路由节点和流量控制器,数据分组的路由路径选择由路由器和流量控制器共同实现。基于该拓扑结构。本发明的路由方法具体步骤为:1路由节点接收数据分组;2判断数据分组的来源;3对路由节点的坐标进行分类;4本地数据分组偶注入;5本地数据分组奇注入;6分类转发数据分组;7流量控制器接收来自路由节点的数据分组;8分配优先级;9分配链路资源;10输出至下一个路由节点。该路由方法是一种最短路径、无死锁的自适自应路由方法。本发明主要具有结构简单、功耗低、负载均衡的优点。
Description
技术领域
本发明属于电子物理技术领域,更进一步涉及微电子技术领域中的一种二维片上网络的拓扑结构以及路由方法技术。本发明采用了流量控制器连接各个路由节点构成网络拓扑结构,同时通过负载均衡的自适应路由选择方法,使得本发明的路由选着方法可以很好地避免网络拥塞,提高了网络数据传输及负载均衡的效率,同时本发明的路径多样性也得到了提升。
背景技术
片上网络NoC(Network-on-Chip)借鉴了计算机网络通信的思想,由路由和包交换技术替代了传统的总线通讯方式,实现了处理单元(IP核)与通信结构(网络)的分离,解决了SoC(System-on-Chip)的总线结构所固有的三大问题:(1)由于地址空间有限而引起的可扩展性问题;(2)由于分时通讯而引起的通讯效率问题;(3)由于全局同步而引起的功耗和面积问题。在NoC中,每个节点与一个路由器相连接。路由器通过局部互连线与其他临近的路由器相连接,节点之间的通讯需要经过多个跳步。微处理器的设计也将从以计算为中心逐渐过渡到以通讯为中心。
传统的二维网状片上网络结构(2D Mesh)的规则性和易扩展性,有利于布局布线,因此有关片上网络很多的路由算法、容错、服务质量、功耗等问题的研究都是基于Mesh结构及变型结构。本发明就是基于二维网状片上网络的变型,提出来一种均衡负载、结构简单、可复用的片上网络拓扑结构。本发明的目的就是为了解决复杂片上***SoC面临的性能、功耗、延时和可靠性等各种问题。
西安邮电学院拥有的专利技术“一种双层双环型片上网络拓扑结构”(申请号200810232463.5,授权公告号CN 101420380 B,公开日为2009.04.29),公开了一种双层双环型片上网络拓扑结构,包括IP单元、交换单元、网络适配器、链路单元等。其中交换单元实现各IP单元的相互通信,使用时分复用和优先级相结合机制,实现了公平路由和带宽的空分复用,同时有效的避免了拥塞和死锁。该专利技术存在的不足是,需要两组环网,每组环中又包含一个控制环和一个数据环,环网拓扑结构的网络直径较小,路径多样性较差,硬件资源开销较大。
西安电子科技大学拥有的专利技术“二维网状片上网络***”(申请号201010507200.8,授权公告号CN 102013984 B,公开日为2011.4.13)中公开了一种二维网状片上网络***。该***用于解决多内核片上***处理大量数据时的传输延时和功耗大的问题。该***包括N个内核、N个路由节点(N≥2)和一个二级缓存器L2,其数据交互方法是:将二级缓存器L2设置在内核外,并采用具有内存接入端口的新型交换开关,使二级缓存器L2通过交换开关中的内存接入端口与处理单元PE交换数据,实现所有处理单元PE对二级缓存器L2的共享,并把传统二维网状片上网络***中处理单元PE之间的写/读操作分为从处理单元PE到共享的二级缓存器L2,再从共享的二级缓存器L2到处理单元PE两步。该专利技术存在的不足是,在传统交叉开关加入内存接入端口,虽然降低了片上网络的功耗,但是每个路由节点依然采用交叉开关阵列来实现数据分组的路由,使得硬件资源的开销增大。
上海交通大学申请的专利“一种基于片上网络的无死锁路由方法”(申请号201110321481.2,公开号CN 102333038 A,公开日为2012.01.25)中公开了一种在2D片上网络上的三条非交叉路径的路由方法。该方法的具体步骤是:在源节点将数据包复制n份,n≥3;在片上网络中设定n条自源节点的不交叉的通道,n份数据包分别在n条通道上传输,到达目的节点后再通过表决器得到正确的结果,实现空间上的冗沉。该方法存在的不足之处是,虽然解决了片上网络无死锁路径的计算,但是电路的面积和功耗开销较大,负载均衡时效率低,而且存在数据传输的拥塞问题。
发明内容
本发明的目的在于克服上述现有技术的不足,解决传统二维片上网络路径多样性差,硬件资源开销较大的问题,提出来一种二维片上网络的拓扑结构和基于该拓扑结构的路由方法,该拓扑结构具有结构简单、硬件资源开销低、低功耗的特点,并可以通过IP复用技术组成通信网络,应用在片上网络***中;该路由方法具有简单、高效、负载均衡的特点。
本发明一种二维片上网络的拓扑结构,包括路由节点和流量控制器;在n×n网络中,n≥2,包含n2个路由节点和2×(n-1)个流量控制器;所述n2个路由节点排列成n×n的方形网络;在n×n网络中每每相邻的两行路由节点之间放置一个流量控制器;在n×n网络中每每相邻的两列路由节点之间放置一个流量控制器;所述路由节点通过数据总线与相邻的流量控制器相连。其中:
路由节点,用于接收数据分组并对数据分组进行分配,将来自本地端口的数据分组根据奇偶注入原则注入相邻的流量控制器,将来自路由端口的数据分组分类转发至本地端口或目的地址对应的路由节点端口。
流量控制器,用于接收来自路由节点的数据分组,根据路由方法为这些路由分配优先级,根据优先级的不同为数据分组分配链路资源,将数据分组输出至下一个路由节点。
本发明的路由方法,包括由路由节点实现的路由选择方法和由流量控制器实现的仲裁控制方法两部分。其步骤如下:
(1)路由节点接收数据分组:
(1a)路由节点接收来自路由端口的数据分组。
(1b)路由节点接收来自本地端口的数据分组。
(2)判断数据分组的来源:
路由节点判断接收的数据分组是否来自本地端口,若是,则执行步骤(3)。否则,执行步骤(6)。
(3)对路由节点的的坐标进行分类:
若当前路由节点的横坐标值与纵坐标值之和为偶数,则执行步骤(4)。否则执行步骤(5)。
(4)本地数据分组偶注入:
(4a)当目的节点的横坐标值大于当前节点的横坐标值时,路由节点将本地端口的数据分组传输给与路由的东端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7)。
(4b)当目的节点的横坐标值小于当前节点的横坐标值时,路由节点将本地端口的数据分组传输给与路由的西端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7)。
(4c)当目的节点的横坐标值等于当前节点的横坐标值时,判断目的节点的纵坐标值是否大于当前节点的纵坐标值,若是,路由节点将本地端口的数据分组传输给与路由的南端口相连的流量控制器。否则,路由节点将本地端口的数据分组传输给与路由的北端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7)。
(5)本地数据分组奇注入:
(5a)当目的节点的纵坐标值大于当前节点的纵坐标值时,路由节点将本地端口的数据分组传输给与路由的南端口相连的流量控制器,执行步骤(7)。
(5b)当目的节点的纵坐标值小于当前节点的纵坐标值时,路由节点将本地端口的数据分组传输给与路由的北端口相连的流量控制器,执行步骤(7)。
(5c)当目的节点的纵坐标值等于当前节点的纵坐标值时,判断目的节点的横坐标值是否大于当前节点的横坐标值,若是,路由节点将本地端口的数据分组传输给与东端口相连的流量控制器;否则,路由节点将本地端口的数据分组传输给与西端口相连的流量控制器,执行步骤(7)。
(6)分类转发数据分组:
(6a)若路由节点端口接收的数据分组的目的地址为本地IP,则将数据分组直接传输给本地端口,本次路由结束。
(6b)若路由节点端口接收的数据分组的目的地址不是本地IP,则将数据分组直接传输给目的地址对应的路由节点端口。
(7)流量控制器接收来自路由节点的数据分组。
(8)分配优先级:
(8a)若数据分组的目的节点与当前数据分组所在的流量控制器相连,则流量控制器将本次从路由节点接收的数据分组分配为高优先级。
(8b)若数据分组的目的节点与当前数据分组所在的流量控制器不相连,则流量控制器将本次从路由节点接收的数据分组分配为低优先级。
(9)分配链路资源:
(9a)当高优先级的数据分组请求的数据链路为空闲状态时,流量控制器将该数据链路分配给数据分组。若非空闲状态,则等待,直到该数据链路为空闲时优先将其分配给高优先级的数据分组。
(9b)当低优先级的数据分组请求的数据链路为空闲状态时,流量控制器随机分配一条数据链路给数据分组。若非空闲状态,则等待,直到该数据链路为空闲时流量控制器分配给等待的数据分组。
(10)输出至下一个路由节点:
返回步骤(1),数据分组进行新一轮的路由方法,寻找目的路由节点。
本发明与现有技术相比,具有以下特点:
第一,由于本发明的二维片上网络的拓扑结构中采用流量控制器连接各个路由节点构成网络拓扑,克服了现有技术采用双层双环型片上***的网络路径多样性差的问题,使得使用本发明的网络路由的路径多样性好。
第二,由于本发明的二维片上网络的拓扑结构中采用路由器和流量控制器共同实现数据分组的路由路径的选择,克服了现有技术仅仅依靠路由器实现数据分组的路由路径选择导致网络直径增大的问题,使得一个跳步内数据分组到达更多的路由节点,减小了现有技术“二维网状片上网络***”的网路的平均跳跃数,使得使用本发明的拓扑网络结构明显减小了网络直径,提高了网络数据传输的效率。
第三,由于本发明的路由方法中采用了数据分组奇偶注方法,实现了最短路径的无死锁路由路径的选择,同时保证负载均衡;克服了现有技术依靠buffers或者链路来实现负载均衡时效率低的问题,使得本发明的路由方法可以很好地避免网络拥塞,提高了网络数据传输时的负载均衡性。
附图说明
图1为本发明的二维片上网络的拓扑结构与路由节点结构的示意图;
图2为本发明4×4网络拓扑中的路由器节点分布图;
图3为本发明路由方法流程图;
图4为本发明路由器节点奇偶注入流程图;
图5为为本发明流量控制器仲裁控制流程图;
图6为传统XY路由方法和本发明的路由方法的比较图。
具体实施方式:
下面结合附图对本发明做进一步的描述。
参照附图1对本发明的拓扑结构做进一步的描述。
本发明的拓扑结构,包括路由节点和流量控制器。在n×n网络中,n≥2,包含n2个路由节点和2×(n-1)个流量控制器。n2个路由节点排列成n×n的方形网络。在n×n网络中每每相邻的两行路由节点之间放置一个流量控制器,在n×n网络中每每相邻的两列路由节点之间放置一个流量控制器。路由节点通过数据总线与相邻的流量控制器相连。其中:
路由节点,用于接收数据分组并对数据分组进行分配,将来自本地端口的数据分组根据奇偶注入原则注入相邻的流量控制器,将来自路由端口的数据分组分类转发至本地端口或目的地址对应的路由节点端口。
流量控制器,用于流量控制器接收来自路由节点的数据分组,根据路由方法为这些路由分配优先级,根据优先级的不同为数据分组分配链路资源,将数据分组输出至下一个路由节点。
图1中的圆形标识,表示网络中的路由节点,每个路由节点设有四个路由端口和一个本地端口,四个路由端口分别用于连接东、西、南、北四个方向上相邻的流量控制器,本地端口通过NI模块与本地IP连接,用于将数据分组注入n×n方形片上网络和接收n×n方形片上网络排出的数据分组。
在n×n方形片上网络中设定右起第一个节点为片上网络的坐标原点,将坐标原点水平向右的方向作为横坐标的正方向,将坐标原点垂直向下的方向作为纵坐标的正方向,组成一个二维坐标系,在该二维坐标系中,将横坐标值与纵坐标值之和为偶数的路由节点设定为水平路由节点。将横坐标值与纵坐标值之和为奇数的路由节点设定为垂直路由节点。图1中(0,0),(0,1),(0,2),(0,3),(1,0),(1,1),(1,2),(1,3),(2,0),(2,1),(2,2),(2,3),(3,0),(3,1),(3,2),(3,3)标识,表示路由器节点所对应的坐标值。图1中H0、H1、H2、H3的标识,表示水平路由节点组,图1中V0、V1、V2、V3的标识,表示垂直路由节点组。
路由节点为两类不同的路由节点组:其中具有相同横坐标值的路由节点为一个水平路由节点组。具有相同纵坐标值的路由节点组为一个垂直路由节点组。同一组路由节点在流量控制器的控制下共享一组数据链路资源传输数据分组。
流量控制器分为两类:水平流量控制器和垂直流量控制器。水平流量控制器用于连接两个相邻的垂直路由节点组,垂直流量控制器用于连接两个相邻的水平路由节点组。
在4×4网络拓扑中,包含16个路由节点和6个流量控制器。每个路由节点都有其相应的坐标,根据其坐标可以将其分成两组——水平组和垂直组。根据流量控制器传输数据分组的方向,也可以将流量控制器分成两组——用来传输水平数据分组的垂直流量控制器组和用来传输垂直数据分组的水平流量控制器组,路由器和与其相邻的四个流量控制器之间通过总线双向连接。
参照附图2,通过4×4网络拓扑中的路由器节点分布对本发明的路由器节点分布做进一步的描述。
本发明的拓扑结构中n2个路由节点排列成n×n的方形网络。本发明的实施例是以4×4网络拓扑结构为例,来进一步描述本发明路由器节点的分布。图2中设定右起第一个节点为片上网络的坐标原点,将坐标原点水平向右的方向作为横坐标X方向的正方向,将坐标原点垂直向下的方向作为纵坐标Y方向的正方向,组成一个二维坐标系,图2中(0,0),(0,1),(0,2),(0,3),(1,0),(1,1),(1,2),(1,3),(2,0),(2,1),(2,2),(2,3),(3,0),(3,1),(3,2),(3,3)标识,表示路由器节点所对应的坐标值。图2中H0、H1、H2、H3的标识,表示水平路由节点组,图2中V0、V1、V2、V3的标识,表示垂直路由节点组。所有的路由节点可以分为两类不同的路由节点组,将图2中路由节点的横坐标值相同的节点组成一个水平路由节点组,图2中水平路由节点组包括H0、H1、H2和H3。路由节点的纵坐标值相同的节点组成一个垂直路由节点组,图2中垂直路由节点组包括V0、V1、V2和V3。同一组路由节点在流量控制器的控制下共享一组数据链路资源传输数据分组。
参照附图3,对本发明路由方法做进一步的描述。其步骤如下:
步骤1.路由节点接收数据分组。
路由节点接收来自路由端口的数据分组,路由节点接收来自本地端口的数据分组。
步骤2.判断数据分组的来源。
路由节点判断接收的数据分组是否来自本地端口,若是,则执行步骤3。否则,执行步骤6。
步骤3.对路由节点的的坐标进行分类。
若当前路由节点的横坐标值与纵坐标值之和为偶数,则执行步骤4。否则执行步骤5。
步骤4.本地数据分组偶注入。
当目的节点的横坐标值大于当前节点的横坐标值时,路由节点将本地端口的数据分组传输给与路由的东端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤7。
当目的节点的横坐标值小于当前节点的横坐标值时,路由节点将本地端口的数据分组传输给与路由的西端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤7。
当目的节点的横坐标值等于当前节点的横坐标值时,判断目的节点的纵坐标值是否大于当前节点的纵坐标值,若是,路由节点将本地端口的数据分组传输给与路由的南端口相连的流量控制器。否则,路由节点将本地端口的数据分组传输给与路由的北端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤7。
步骤5.本地数据分组奇注入。
当目的节点的纵坐标值大于当前节点的纵坐标值时,路由节点将本地端口的数据分组传输给与路由的南端口相连的流量控制器,执行步骤7。
当目的节点的纵坐标值小于当前节点的纵坐标值时,路由节点将本地端口的数据分组传输给与路由的北端口相连的流量控制器,执行步骤7。
当目的节点的纵坐标值等于当前节点的纵坐标值时,判断目的节点的横坐标值是否大于当前节点的横坐标值,若是,路由节点将本地端口的数据分组传输给与东端口相连的流量控制器;否则,路由节点将本地端口的数据分组传输给与西端口相连的流量控制器,执行步骤7。
步骤6.分类转发数据分组。
若路由节点端口接收的数据分组的目的地址为本地IP,则将数据分组直接传输给本地端口,本次路由结束。
若路由节点端口接收的数据分组的目的地址不是本地IP,则将数据分组直接传输给目的地址对应的路由节点端口。
步骤7.流量控制器接收来自路由节点的数据分组。
步骤8.分配优先级。
若数据分组的目的节点与当前数据分组所在的流量控制器相连,则流量控制器将本次从路由节点接收的数据分组分配为高优先级。
若数据分组的目的节点与当前数据分组所在的流量控制器不相连,则流量控制器将本次从路由节点接收的数据分组分配为低优先级。
步骤9.分配链路资源。
当高优先级的数据分组请求的数据链路为空闲状态时,流量控制器将该数据链路分配给数据分组。若非空闲状态,则等待,直到该数据链路为空闲时优先将其分配给高优先级的数据分组。
当低优先级的数据分组请求的数据链路为空闲状态时,流量控制器随机分配一条数据链路给数据分组。若非空闲状态,则等待,直到该数据链路为空闲时流量控制器分配给等待的数据分组。
步骤10.输出至下一个路由节点。
返回步骤1,数据分组进行新一轮的路由方法,寻找目的路由节点。
参照附图4,对本发明的路由方法中奇偶注入步骤做进一步的描述。
首先,对路由节点的的坐标进行分类。
若当前路由节点的横坐标值与纵坐标值之和为偶数,则执行第二步,否则执行第三步。该步骤如图4的方框中标有(Cx,Cy)的标识,表示数据分组所在当前路由节点的坐标,图4中(Dx,Dy)的标识,表示数据分组的目的节点的坐标。
第二,本地数据分组偶注入。
当目的节点的横坐标值Dx大于当前节点的横坐标值Cx,路由节点将本地端口的数据分组传输给与路由的东端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯。
当目的节点的横坐标值Dx小于当前节点的横坐标值Cx,路由节点将本地端口的数据分组传输给与路由的西端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯。
当目的节点的横坐标值Dx等于当前节点的横坐标值Cx,对目的节点的纵坐标值和当前节点的纵坐标值大小关系判断,若目的节点的纵坐标值Dy大于当前节点的纵坐标值Cy,路由节点将本地端口的数据分组传输给与路由的南端口相连的流量控制器;否则,路由节点将本地端口的数据分组传输给与路由的北端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯。
第三,本地数据分组奇注入。
当目的节点的纵坐标值Dy大于当前节点的纵坐标值Cy,路由节点将本地端口的数据分组传输给与路由的南端口相连的流量控制器。
当目的节点的纵坐标值Dy小于当前节点的纵坐标值Cy,路由节点将本地端口的数据分组传输给与路由的北端口相连的流量控制器。
当目的节点的纵坐标值Dy等于当前节点的纵坐标值Cy,比较目的节点的横坐标值和当前节点的横坐标值的大小,若目的节点的横坐标值Dx大于当前节点的横坐标值Cx,路由节点将本地端口的数据分组传输给与东端口相连的流量控制器;否则,路由节点将本地端口的数据分组传输给与西端口相连的流量控制器。
参照附图5,本发明路由方法中流量控制器仲裁控制方法的具体步骤如下。
第一步,流量控制器接收来自路由节点的数据分组。
第二步,分配优先级:
若数据分组的目的节点与当前数据分组所在的流量控制器相连,则流量控制器将本次从路由节点接收的数据分组分配为高优先级。
若数据分组的目的节点与当前数据分组所在的流量控制器不相连,则流量控制器将本次从路由节点接收的数据分组分配为低优先级。
第三步,分配链路资源:
当高优先级的数据分组请求的数据链路为空闲状态时,流量控制器将该数据链路分配给数据分组;若非空闲状态,则等待,直到该数据链路为空闲时优先将其分配给高优先级的数据分组。
当低优先级的数据分组请求的数据链路为空闲状态时,流量控制器随机分配一条数据链路给数据分组;若非空闲状态,则等待,直到该数据链路为空闲时流量控制器分配给等待的数据分组。
基于该拓扑结构,本发明提出了一种负载均衡的自适应路由方法。这是一种最短路径的自适应路由方法,它可以将网络负载均衡地分布到整个网络。本发明的路由方法包括两部分:由路由节点实现的路由选择方法和由流量控制器实现的仲裁控制方法,它是一种无死锁的路由方法。路由选择方法是指完成数据分组的接收、仲裁和转发功能。仲裁控制方法是指根据数据分组的优先级以及数据链路的工作状态为数据分组分配数据链路。
上述的路由选择方法中,数据分组在路由节点中的传输方向是固定的,若数据分组由东端口输入路由节点,则路由节点将该数据分组传输至西端口。若数据分组由西端口输入路由节点,则路由节点将该数据分组传输至东端口。若数据分组由南端口输入路由节点,则路由节点将该数据分组传输至北端口。若数据分组由北端口输入路由节点,则路由节点将该数据分组传输至南端口。数据分组在路由节点中传输时禁止转弯,这样就可以避免了死锁的形成,从而大大减少路由器设计的复杂性。路由器从本地端口接收数据分组,然后根据奇偶注入原则将数据分组注入网络中。这种方法可以将通信业务均衡地分布到网络中,从而更好地利用网络资源,减轻重负载时的网络阻塞。
上述的仲裁控制方法是本发明的路由方法的关键部分,它决定着网络的性能。传统的均衡负载路由方法依靠buffers或者链路来实现负载的均衡。本发明使用共享资源方法来实现:相邻的两组路由器通过一个流量控制器相互连接,路由器之间共享链路资源。
参照附图6,对现有技术的XY路由方法和本发明的路由方法做进一步的描述。
图6中,左边的4×4的方格阵列表示传统XY方法的4×4路由节点网络,右边的4×4的方格阵列表示本发明路由方法的4×4路由节点网络。图6中标有横向线条的方框的标识表示水平路由器,标有纵向线条的方框的标识表示垂直路由器。图6中实线箭头线的标识,表示数据分组流1的流向;虚线箭头线的标识,表示数据分组流2的流向。本发明的路由方法可以很好的控制网络拥塞。假设有两路数据分组流1、2,数据分组流1从S1到D1,数据分组流2从S2到D2。在XY路由方法中,这两路数据流都需要经过输出端口S2,因此在S2处产生了数据阻塞。而在本发明的路由方法中,S1是垂直路由器(垂直路由器将数据注入到南北子网络中),而S2是水平路由器(水平路由器将数据注入到东西子网络中),因此在这种路由方法下,这两路数据流是分立的,彼此不会发生数据阻塞。
本发明提出的一种二维片上网络的拓扑结构以及路由方法的实现,得益于奇偶注入和资源共享,它可以有效的平衡负载,减轻网络通信阻塞。
Claims (3)
1.一种二维片上网络的路由方法,其特征在于,该方法是基于一种包括路由节点和流量控制器的二维片上网络的拓扑结构实现的;该方法包括由路由节点实现的路由选择方法和由流量控制器实现的仲裁控制方法两部分;其步骤如下:
(1)路由节点接收数据分组:
(1a)路由节点接收来自路由端口的数据分组;
(1b)路由节点接收来自本地端口的数据分组;
(2)判断数据分组的来源:
路由节点判断接收的数据分组是否来自本地端口,若是,则执行步骤(3);否则,执行步骤(6);
(3)对路由节点的的坐标进行分类:
若当前路由节点的横坐标值与纵坐标值之和为偶数,则执行步骤(4),否则执行步骤(5);
(4)本地数据分组偶注入:
(4a)当目的节点的横坐标值大于当前节点的横坐标值时,路由节点将本地端口的数据分组传输给与路由的东端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7);
(4b)当目的节点的横坐标值小于当前节点的横坐标值时,路由节点将本地端口的数据分组传输给与路由的西端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7);
(4c)当目的节点的横坐标值等于当前节点的横坐标值时,判断目的节点的纵坐标值是否大于当前节点的纵坐标值,若是,路由节点将本地端口的数据分组传输给与路由的南端口相连的流量控制器;否则,路由节点将本地端口的数据分组传输给与路由的北端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7);
(5)本地数据分组奇注入:
(5a)当目的节点的纵坐标值大于当前节点的纵坐标值时,路由节点将本地端口的数据分组传输给与路由的南端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7);
(5b)当目的节点的纵坐标值小于当前节点的纵坐标值时,路由节点将本地端口的数据分组传输给与路由的北端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7);
(5c)当目的节点的纵坐标值等于当前节点的纵坐标值时,判断目的节点的横坐标值是否大于当前节点的横坐标值,若是,路由节点将本地端口的数据分组传输给与东端口相连的流量控制器;否则,路由节点将本地端口的数据分组传输给与西端口相连的流量控制器,执行步骤(7);
(6)分类转发数据分组:
(6a)若路由节点端口接收的数据分组的目的地址为本地IP,则将数据分组直接传输给本地端口,本次路由结束;
(6b)若路由节点端口接收的数据分组的目的地址不是本地IP,则将数据分组直接传输给目的地址对应的路由节点端口;
(7)流量控制器接收来自路由节点的数据分组;
(8)分配优先级:
(8a)若数据分组的目的节点与当前数据分组所在的流量控制器相连,则流量控制器将本次从路由节点接收的数据分组分配为高优先级;
(8b)若数据分组的目的节点与当前数据分组所在的流量控制器不相连,则流量控制器将本次从路由节点接收的数据分组分配为低优先级;
(9)分配链路资源:
(9a)当高优先级的数据分组请求的数据链路为空闲状态时,流量控制器将该数据链路分配给数据分组;若非空闲状态,则等待,直到该数据链路为空闲时优先将其分配给高优先级的数据分组;
(9b)当低优先级的数据分组请求的数据链路为空闲状态时,流量控制器随机分配一条数据链路给数据分组;若非空闲状态,则等待,直到该数据链路为空闲时流量控制器分配给等待的数据分组;
(10)输出至下一个路由节点:
返回步骤(1),数据分组进行新一轮的路由方法,寻找目的路由节点。
2.根据权利要求1所述的一种二维片上网络的路由方法,其特征在于:步骤(4a)、步骤(4b)中所述禁止转弯是指:数据分组由路由节点的西端口输入,则该数据分组从路由节点东端口输出,数据分组在路由节点中单向传输不拐弯,不会出现死锁路由路径;数据分组由路由节点的东端口输入,则该数据分组从路由节点西端口输出,数据分组在路由节点中单向传输不拐弯,不会出现死锁路由路径。
3.根据权利要求1所述的一种二维片上网络的路由方法,其特征在于:步骤(5a)、步骤(5b)中所述禁止转弯是指:数据分组由路由节点的北端口输入,则该数据分组从路由节点南端口输出,数据分组在路由节点中单向传输不拐弯,不会出现死锁路由路径;数据分组由路由节点的南端口输入,则该数据分组从路由节点北端口输出,数据分组在路由节点中单向传输不拐弯,不会出现死锁路由路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510112474.XA CN104683242B (zh) | 2015-03-15 | 2015-03-15 | 一种二维片上网络的拓扑结构以及路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510112474.XA CN104683242B (zh) | 2015-03-15 | 2015-03-15 | 一种二维片上网络的拓扑结构以及路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104683242A CN104683242A (zh) | 2015-06-03 |
CN104683242B true CN104683242B (zh) | 2018-05-25 |
Family
ID=53317861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510112474.XA Active CN104683242B (zh) | 2015-03-15 | 2015-03-15 | 一种二维片上网络的拓扑结构以及路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104683242B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049362B (zh) * | 2015-06-18 | 2018-04-17 | 西安电子科技大学 | 一种二维环绕网格片上网络拓扑结构的路由方法 |
CN104901899B (zh) * | 2015-06-18 | 2018-03-06 | 西安电子科技大学 | 二维片上网络拓扑结构的自适应路由方法 |
CN109408257B (zh) * | 2018-11-09 | 2021-04-13 | 北京灵汐科技有限公司 | 用于片上网络noc的数据传输方法、装置及电子设备 |
US11665776B2 (en) * | 2019-12-27 | 2023-05-30 | Arteris, Inc. | System and method for synthesis of a network-on-chip for deadlock-free transformation |
CN111427835B (zh) * | 2020-03-13 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种基于混合路由算法的片上网络设计方法和装置 |
CN114745345B (zh) * | 2022-04-07 | 2023-10-20 | 中国人民解放军国防科技大学 | 一种片上网络动态调节背压的高效路由方法及装置 |
CN116501691B (zh) * | 2023-06-27 | 2023-09-22 | 北京燧原智能科技有限公司 | 互联***的自动化布局方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8223650B2 (en) * | 2008-04-02 | 2012-07-17 | Intel Corporation | Express virtual channels in a packet switched on-chip interconnection network |
CN102333038B (zh) * | 2011-10-21 | 2013-11-13 | 上海交通大学 | 一种基于片上网络的无死锁路由方法 |
CN104202241A (zh) * | 2014-08-06 | 2014-12-10 | 长春理工大学 | 2D-Mesh拓补结构下的片上网络偏转容错路由算法 |
CN104158738B (zh) * | 2014-08-29 | 2017-04-19 | 中国航空无线电电子研究所 | 一种低缓冲区片上网络路由器及路由方法 |
-
2015
- 2015-03-15 CN CN201510112474.XA patent/CN104683242B/zh active Active
Non-Patent Citations (1)
Title |
---|
SRNOC:A novel high performance Shared-Resource routing scheme for Network-on-Chip;Hao Shu*,Pei-jun Ma,Jiang-yi Shi,Zhao Xu,Lin-an Yang;《Microelectronics Journal》;20140620;第3.2至3.4节,图3、4 * |
Also Published As
Publication number | Publication date |
---|---|
CN104683242A (zh) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104683242B (zh) | 一种二维片上网络的拓扑结构以及路由方法 | |
CN101808032B (zh) | 面向静态XY路由算法的二维网格NoC路由器优化设计方法 | |
CN103729331B (zh) | 片上网络通信死锁避免方法、路由器及通信网络 | |
CN104901899B (zh) | 二维片上网络拓扑结构的自适应路由方法 | |
CN103986664A (zh) | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 | |
CN105187313B (zh) | 一种片上网络拓扑结构及其自适应路由方法 | |
CN101834789B (zh) | 面向包-电路交换片上路由器的回退转向路由算法及所用路由器 | |
CN102546417B (zh) | 基于网络信息的片上网络路由器调度方法 | |
CN108337196B (zh) | 一种通过交换芯片构建的交换***及其路由算法 | |
CN105871730A (zh) | 基于网络编码的新型紧凑、高效、快速的片上网络路由器 | |
CN105530206B (zh) | 一种具有双接入结构的Torus网络***及其工作方法 | |
CN109582622A (zh) | 基于三维Mesh片上网络的双链路互连架构 | |
CN105049362B (zh) | 一种二维环绕网格片上网络拓扑结构的路由方法 | |
CN103546397A (zh) | 支持乱序的自路由Omega网络结构 | |
CN106209518B (zh) | 一种基于“包-电路”交换技术的动态转向路由算法 | |
CN107276920A (zh) | 一种应用于混合三维片上网络的分布式流控***及机制 | |
CN116016384B (zh) | 基于环形布局的可扩展片上网络拓扑结构及其路由方法 | |
Nousias et al. | Wormhole routing with virtual channels using adaptive rate control for network-on-chip (NoC) | |
Whelihan et al. | Memory optimization in single chip network switch fabrics | |
Somisetty et al. | Congestion aware negative first routing with fair arbitration for network on chip | |
Fasiku et al. | Effect of routing algorithm on wireless network-on-chip performance | |
Adamu et al. | Review of deterministic routing algorithm for network-on-chip | |
Lee et al. | Design of a feasible on-chip interconnection network for a chip multiprocessor (cmp) | |
Dinesh Kumar et al. | Dynamic low power management technique for decision directed inter-layer communication in three dimensional wireless network on chip | |
Somisetty et al. | Regional Congestion Aware Odd Even Routing with Fair Arbitration for Network on Chip |
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 |