一种二维片上网络的拓扑结构以及路由方法
【技术领域】
[0001]本发明属于电子物理技术领域,更进一步涉及微电子技术领域中的一种二维片上网络的拓扑结构以及路由方法技术。本发明采用了流量控制器连接各个路由节点构成网络拓扑结构,同时通过负载均衡的自适应路由选择方法,使得本发明的路由选着方法可以很好地避免网络拥塞,提高了网络数据传输及负载均衡的效率,同时本发明的路径多样性也得到了提升。
【背景技术】
[0002]片上网络NoC(Network-on-Chip)借鉴了计算机网络通信的思想,由路由和包交换技术替代了传统的总线通讯方式,实现了处理单元(IP核)与通信结构(网络)的分离,解决了 SoC(System-on-Chip)的总线结构所固有的三大问题:(I)由于地址空间有限而引起的可扩展性问题;(2)由于分时通讯而引起的通讯效率问题;(3)由于全局同步而引起的功耗和面积问题。在NoC中,每个节点与一个路由器相连接。路由器通过局部互连线与其他临近的路由器相连接,节点之间的通讯需要经过多个跳步。微处理器的设计也将从以计算为中心逐渐过渡到以通讯为中心。
[0003]传统的二维网状片上网络结构(2D Mesh)的规则性和易扩展性,有利于布局布线,因此有关片上网络很多的路由算法、容错、服务质量、功耗等问题的研宄都是基于Mesh结构及变型结构。本发明就是基于二维网状片上网络的变型,提出来一种均衡负载、结构简单、可复用的片上网络拓扑结构。本发明的目的就是为了解决复杂片上系统SoC面临的性能、功耗、延时和可靠性等各种问题。
[0004]西安邮电学院拥有的专利技术“一种双层双环型片上网络拓扑结构”(申请号200810232463.5,授权公告号CN 101420380 B,公开日为2009.04.29),公开了一种双层双环型片上网络拓扑结构,包括IP单元、交换单元、网络适配器、链路单元等。其中交换单元实现各IP单元的相互通信,使用时分复用和优先级相结合机制,实现了公平路由和带宽的空分复用,同时有效的避免了拥塞和死锁。该专利技术存在的不足是,需要两组环网,每组环中又包含一个控制环和一个数据环,环网拓扑结构的网络直径较小,路径多样性较差,硬件资源开销较大。
[0005]西安电子科技大学拥有的专利技术“二维网状片上网络系统”(申请号201010507200.8,授权公告号CN 102013984 B,公开日为2011.4.13)中公开了一种二维网状片上网络系统。该系统用于解决多内核片上系统处理大量数据时的传输延时和功耗大的问题。该系统包括N个内核、N个路由节点(N多2)和一个二级缓存器L2,其数据交互方法是:将二级缓存器L2设置在内核外,并采用具有内存接入端口的新型交换开关,使二级缓存器L2通过交换开关中的内存接入端口与处理单元PE交换数据,实现所有处理单元PE对二级缓存器L2的共享,并把传统二维网状片上网络系统中处理单元PE之间的写/读操作分为从处理单元PE到共享的二级缓存器L2,再从共享的二级缓存器L2到处理单元PE两步。该专利技术存在的不足是,在传统交叉开关加入内存接入端口,虽然降低了片上网络的功耗,但是每个路由节点依然采用交叉开关阵列来实现数据分组的路由,使得硬件资源的开销增大。
[0006]上海交通大学申请的专利“一种基于片上网络的无死锁路由方法”(申请号201110321481.2,公开号 CN 102333038 A,公开日为 2012.01.25)中公开了一种在 2D 片上网络上的三条非交叉路径的路由方法。该方法的具体步骤是:在源节点将数据包复制η份,n ^ 3 ;在片上网络中设定η条自源节点的不交叉的通道,η份数据包分别在η条通道上传输,到达目的节点后再通过表决器得到正确的结果,实现空间上的冗沉。该方法存在的不足之处是,虽然解决了片上网络无死锁路径的计算,但是电路的面积和功耗开销较大,负载均衡时效率低,而且存在数据传输的拥塞问题。
【发明内容】
[0007]本发明的目的在于克服上述现有技术的不足,解决传统二维片上网络路径多样性差,硬件资源开销较大的问题,提出来一种二维片上网络的拓扑结构和基于该拓扑结构的路由方法,该拓扑结构具有结构简单、硬件资源开销低、低功耗的特点,并可以通过IP复用技术组成通信网络,应用在片上网络系统中;该路由方法具有简单、高效、负载均衡的特点。
[0008]本发明一种二维片上网络的拓扑结构,包括路由节点和流量控制器;在ηΧη网络中,η彡2,包含η2个路由节点和2Χ (η-1)个流量控制器;所述η 2个路由节点排列成ηΧη的方形网络;在ηΧη网络中每每相邻的两行路由节点之间放置一个流量控制器;在ηΧη网络中每每相邻的两列路由节点之间放置一个流量控制器;所述路由节点通过数据总线与相邻的流量控制器相连。其中:
[0009]路由节点,用于接收数据分组并对数据分组进行分配,将来自本地端口的数据分组根据奇偶注入原则注入相邻的流量控制器,将来自路由端口的数据分组分类转发至本地端口或目的地址对应的路由节点端口。
[0010]流量控制器,用于接收来自路由节点的数据分组,根据路由方法为这些路由分配优先级,根据优先级的不同为数据分组分配链路资源,将数据分组输出至下一个路由节点。
[0011]本发明的路由方法,包括由路由节点实现的路由选择方法和由流量控制器实现的仲裁控制方法两部分。其步骤如下:
[0012](I)路由节点接收数据分组:
[0013](Ia)路由节点接收来自路由端口的数据分组。
[0014](Ib)路由节点接收来自本地端口的数据分组。
[0015](2)判断数据分组的来源:
[0016]路由节点判断接收的数据分组是否来自本地端口,若是,则执行步骤(3)。否则,执行步骤出)。
[0017](3)对路由节点的的坐标进行分类:
[0018]若当前路由节点的横坐标值与纵坐标值之和为偶数,则执行步骤(4) ο否则执行步骤(5)。
[0019](4)本地数据分组偶注入:
[0020](4a)当目的节点的横坐标值大于当前节点的横坐标值时,路由节点将本地端口的数据分组传输给与路由的东端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7)。
[0021](4b)当目的节点的横坐标值小于当前节点的横坐标值时,路由节点将本地端口的数据分组传输给与路由的西端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7)。
[0022](4c)当目的节点的横坐标值等于当前节点的横坐标值时,判断目的节点的纵坐标值是否大于当前节点的纵坐标值,若是,路由节点将本地端口的数据分组传输给与路由的南端口相连的流量控制器。否则,路由节点将本地端口的数据分组传输给与路由的北端口相连的流量控制器,数据分组在路由节点中传输时禁止转弯,执行步骤(7)。
[0023](5)本地数据分组奇注入:
[0024](5a)当目的节点的纵坐标值大于当前节点的纵坐标值时,路由节点将本地端口的数据分组传输给与路由的南端口相连的流量控制器,执行步骤(7)。
[0025](5b)当目的节点的纵坐标值小于当前节点的纵坐标值时,路由节点将本地端口的数据分组传输给与路由的北端口相连的流量控制器,执行步骤(7)。
[0026](5c)当目的节点的纵坐标值等于当前节点的纵坐标值时,判断目的节点的横坐标值是否大于当前节点的横坐标值,若是,路由节点将本地端口的数据分组传输给与东端口相连的流量控制器;否则,路由节点将本地端口的数据分组传输给与西端口相连的流量控制器,执行步骤(7)。
[0027](6)分类转发数据分组:
[0028](6a)若路由节点端口接收的数据分组的目的地址为本地IP,则将数据分组直接传输给本地端口,本次路由结束。
[0029](6b)若路由节点端口接收的数据分组的目的地址不是本地IP,则将数据分组直接传输给目的地址对应的路由节点端口。
[0030](7)流量控