片上网络通信方法、装置、计算机设备及存储介质与流程
- 国知局
- 2024-10-09 15:30:53
本发明涉及计算机,具体涉及片上网络通信方法、装置、计算机设备及存储介质。
背景技术:
1、随着大规模集成电路技术的发展,对通信效率和系统实时性的要求越来越高。片上网络(network on chip,简称:noc)应运而生,且被广泛应用于通信领域。
2、相关技术中,通过将noc层层堆叠形成3d noc,以缩短关键链路长度,减少信号延迟。
3、但是,对于片上网络中节点较多的情况下,利用相关技术中的3d noc结构进行通信时,信号延迟仍然较高。
技术实现思路
1、有鉴于此,本发明提供了一种片上网络通信方法、装置、计算机设备及存储介质,以解决对于片上网络中节点较多的情况,利用相关技术中的3d noc结构进行通信,信号延迟仍然较高的问题。
2、第一方面,本发明提供了一种片上网络通信方法,所述方法包括:
3、为多个三维交叉超立方体分配层编号;其中,所述三维交叉超立方体包括8个路由节点,网络直径为2,连通度为3,各所述路由节点设有第一路由编号,各所述路由节点之间通过局部链路连接;
4、按照各所述三维交叉超立方体的层编号,以每个所述三维交叉超立方体为一层,建立各所述三维交叉超立方体上的路由节点之间的连接关系,以得到目标片上网络拓扑结构;其中,不同三维交叉超立方体之间采用全局链路连接;
5、获取所述目标片上网络拓扑结构的路由请求,以确定所述路由请求对应的源路由节点和目的路由节点;
6、根据所述源路由节点和目的路由节点对应的源层编号、目的层编号、源路由编号和目的路由编号,确定中间路由节点所对应的中间层编号和中间路由编号;
7、根据所述中间层编号和中间路由编号,将源路由节点发出的数据包通过所述中间路由节点发送至所述目的路由节点。
8、本实施例提供的片上网络通信方法,通过为多个三维交叉超立方体分配层编号,按照各三维交叉超立方体的层编号,以每个三维交叉超立方体为一层,建立各三维交叉超立方体上的路由节点之间的连接关系,以得到目标片上网络拓扑结构,基于该目标片上网络拓扑结构实现数据包从源路由节点到目的路由节点的通信。其中,三维交叉超立方体的网络直径为2,则目标片上网络拓扑结构的网络直径为5,相较于相关技术中的3d noc结构,网络直径小,进而保证了较低的信号延迟。
9、在一种可选的实施方式中,在为多个三维交叉超立方体分配层编号之前,所述方法还包括:
10、基于三维超立方体,生成所述三维交叉超立方体。
11、本实施例提供的片上网络通信方法,通过基于三维超立方体,生成三维交叉超立方体,有助于减少数据传输的复杂性。
12、在一种可选的实施方式中,所述基于三维超立方体,生成所述三维交叉超立方体,包括:
13、将第一二维超立方体的第一路由节点与第二二维超立方体的第一路由节点进行连接,将第一二维超立方体的第二路由节点与第二二维超立方体的第二路由节点进行连接,将第一二维超立方体的第三路由节点与第二二维超立方体的第三路由节点进行连接,将第一二维超立方体的第四路由节点与第二二维超立方体的第四路由节点进行连接,以生成所述三维超立方体;
14、对所述三维超立方体中的一个平面的两条平行边做交叉处理,获得所述三维交叉超立方体;
15、其中,所述二维超立方体包括4个路由节点,每个路由节点对应唯一的第二路由编号;通过在第一二维超立方体的路由节点对应的第二路由编号前添加第一预设标识,在第二二维超立方体的路由节点对应的第二路由编号前添加第二预设标识,以生成所述三维超立方体中每个路由节点对应的第三路由编号;
16、将所述三维超立方体中每个路由节点对应的第三路由编号作为所述三维交叉超立方体中每个路由节点对应的第一路由编号。
17、本实施例提供的片上网络通信方法,通过基于两个二维超立方体,生成一个三维超立方体,利用上述连接方式将第一二维超立方体与第二二维超立方体中的路由节点进行连接,以生成三维超立方体,进而生成三维交叉超立方体。可以优化数据传输路径,减少通信延迟,提升网络的整体传输效率和并行处理能力。
18、在一种可选的实施方式中,所述建立各所述三维交叉超立方体上的路由节点之间的连接关系,包括:
19、针对所述三维交叉超立方体中的任一路由节点,根据该路由节点对应的第一路由编号和层编号,获得与该路由节点连接的目标路由节点对应的第一路由编号和层编号,以基于所述目标路由节点对应的第一路由编号和层编号,建立该路由节点与所述目标路由节点之间的连接关系。
20、本实施例提供的片上网络通信方法,通过根据任意路由节点对应的第一路由编号和层编号,获得与该路由节点连接的目标路由节点,进而建立该路由节点与目标路由节点之间的连接关系,使得任意两个三维交叉超立方体之间至少通过一条全局链路相连,进而实现目标片上网络拓扑结构的网络直径为5,相较于相关技术中的3d noc结构,网络直径小,进而保证了较低的信号延迟。
21、在一种可选的实施方式中,所述根据该路由节点对应的第一路由编号和层编号,获得与该路由节点连接的目标路由节点对应的第一路由编号和层编号,包括:
22、通过以下公式获得所述目标路由节点对应的第一路由编号和层编号:
23、
24、py=(qy+px+001)mod 1001
25、其中,qy为目标路由节点对应的第一路由编号,qx为该路由节点对应的第一路由编号,px为该路由节点对应的层编号,py为目标路由节点对应的层编号。
26、本实施例提供的片上网络通信方法,通过将任一路由节点对应的第一路由编号和层编号输入以上公式即可得到与该路由节点连接的目标路由节点,进而实现任一路由节点与对应目标路由节点的连接,保证了任意两个三维交叉超立方体之间进行连接的准确性。
27、在一种可选的实施方式中,所述根据所述源路由节点和目的路由节点对应的源层编号、目的层编号、源路由编号和目的路由编号,确定中间路由节点所对应的中间层编号和中间路由编号,包括:
28、通过以下公式确定所述中间路由节点所对应的中间路由编号:
29、qm1=(ps-pd+8)mod n
30、qm2=qm1⊕000
31、其中,qm1为第一中间路由节点所对应的第一中间路由编号,ps为源路由节点对应的源层编号,pd为目的路由节点对应的目的层编号,n为所述目标片上网络拓扑结构的层数,qm2为第二中间路由节点所对应的第二中间路由编号;
32、将所述源路由节点对应的源层编号确定为所述第一中间路由节点对应的第一中间层编号;
33、将所述目的路由节点对应的目的层编号确定为所述第二中间路由节点对应的第二中间层编号。
34、本实施例提供的片上网络通信方法,通过源路由节点和目的路由节点对应的源层编号、目的层编号、源路由编号和目的路由编号,确定中间路由节点所对应的中间层编号和中间路由编号,以根据中间路由节点将源路由节点发出的数据包发送至目的路由节点,该路由方法简单,降低了成本开销。
35、在一种可选的实施方式中,所述中间路由节点包括第一中间路由节点和第二中间路由节点,所述根据所述中间层编号和中间路由编号,将源路由节点发出的数据包通过所述中间路由节点发送至所述目的路由节点,包括:
36、创建并初始化第一最短路径路由节点集合;
37、创建并初始化第一优先级队列,其中,所述第一优先级队列用于存储源路由节点所在层所有的路由节点以及路由节点对应的距离值;
38、从所述第一优先级队列中取出距离值最小的第一最小路由节点,将所述第一最小路由节点作为第一最短路径路由节点添加至所述第一最短路径路由节点集合;
39、从所述第一优先级队列中确定与当前第一最短路径路由节点连接的多个第一待连接路由节点;
40、针对任一第一待连接路由节点,确定所述源路由节点经过所述当前第一最短路径路由节点到所述第一待连接路由节点的第一新距离值;
41、基于所述第一新距离值,更新所述第一优先级队列中所述第一待连接路由节点对应的距离值,并将所述第一待连接路由节点的前驱路由节点设置为当前第一最短路径路由节点;
42、返回执行从所述第一优先级队列中取出距离值最小的第一最小路由节点的步骤,直至所述第一优先级队列为空或所述第一中间路由节点被添加至所述第一最短路径路由节点集合中,以获得所述源路由节点到所述第一中间路由节点的第一最短路径;
43、基于所述第一最短路径,将所述源路由节点发出的数据包发送至所述第一中间路由节点;
44、获取所述第一中间路由节点到所述第二中间路由节点的第二最短路径;
45、基于所述第二最短路径,将所述源路由节点发送的数据包从所述第一中间路由节点发送至所述第二中间路由节点;
46、获取所述第二中间路由节点到所述目的路由节点的第三最短路径;
47、基于所述第三最短路径,将所述源路由节点发送的数据包从所述第二中间路由节点发送至所述目的路由节点。
48、本实施例提供的片上网络通信方法,通过不断从优先级队列中选择距离值最小的路由节点,并更新待连接路由节点的距离值和前驱路由节点,能够找到源路由节点到各个中间路由节点以及目的路由节点的最短路径。这样可以提高数据包传输的效率,减少传输延迟。且该路由算法简单,降低了成本开销。
49、第二方面,本发明提供了一种片上网络通信装置,所述装置包括:
50、分配模块,用于为多个三维交叉超立方体分配层编号;其中,所述三维交叉超立方体包括8个路由节点,网络直径为2,连通度为3,各所述路由节点设有第一路由编号,各所述路由节点之间通过局部链路连接;
51、建立模块,用于按照各所述三维交叉超立方体的层编号,以每个所述三维交叉超立方体为一层,建立各所述三维交叉超立方体上的路由节点之间的连接关系,以得到目标片上网络拓扑结构;其中,不同三维交叉超立方体之间采用全局链路连接;
52、获取模块,用于获取所述目标片上网络拓扑结构的路由请求,以确定所述路由请求对应的源路由节点和目的路由节点;
53、确定模块,用于根据所述源路由节点和目的路由节点对应的源层编号、目的层编号、源路由编号和目的路由编号,确定中间路由节点所对应的中间层编号和中间路由编号;
54、发送模块,用于根据所述中间层编号和中间路由编号,将源路由节点发出的数据包通过所述中间路由节点发送至所述目的路由节点。
55、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的片上网络通信方法。
56、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的片上网络通信方法。
57、第五方面,本发明提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的片上网络通信方法。
本文地址:https://www.jishuxx.com/zhuanli/20241009/308986.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表