地址译码路由方法、装置、电子设备及存储介质与流程
- 国知局
- 2024-11-18 18:24:58
本技术涉及计算机,具体而言,本技术涉及一种地址译码路由方法、装置、电子设备及存储介质。
背景技术:
1、soc(system on chips,片上系统)是信息系统核心的芯片集成,用于将系统关键部件集成在一块芯片上,用于通过单个芯片实现一个完整电子系统的功能。noc(network-on-chip,片上网络)是soc的一种通信方法,通过一系列的路由器和通信链路将多个功能模块连接在一起。
2、现有技术的方案中,当soc芯片需要对访问请求进行处理时,一般是通过上游模块生成访问请求对应的待译码地址,并对待译码地址进行译码后根据译码结果将该访问请求分发至中游模块对应的端口(该过程也可称为路由),由于上游模块至中游模块之间的地址映射规则与中游模块至下游模块之间的地址映射规则存在差异,因此在中游模块对待译码地址进行处理时,往往需要根据新的地址映射规则重新进行一次新的译码,然后再根据新的译码结果将访问请求分发至下游模块对应的端口。但这种方式由于下游部分(即中游模块至下游模块)重新进行一次译码路由会加重整个soc系统的流量拥塞,以及可能带来访存请求的头阻塞问题。
技术实现思路
1、本技术的目的旨在至少能解决上述的技术缺陷之一,本技术实施例所提供的技术方案如下:
2、第一方面,本技术实施例提供了一种地址译码路由方法,应用于目标芯片,包括:
3、获取目标请求的第一目标地址;
4、若第一目标地址满足预设条件,则通过第一模式对第一目标地址进行处理;
5、通过第一模式对第一目标地址进行处理,具体包括:
6、基于第一目标地址通过目标芯片的上游模块确定待译码地址;其中,待译码地址为第一目标地址中用于地址转换功能以外的地址信息;
7、对待译码地址进行译码,得到第一译码结果;
8、基于第一译码结果进行路由,确定针对目标芯片的中游模块的第一路由结果和针对目标芯片的下游模块的第二路由结果;路由结果表征目标请求在对应模块对应的端口以及访问路径。
9、在本技术的一种可选实施例中,对待译码地址进行译码,得到第一译码结果,具体包括:
10、对待译码地址进行哈希运算,得到待译码地址对应的第一哈希运算结果,并将第一哈希运算结果作为第一译码结果;
11、基于第一译码结果进行路由,确定针对目标芯片的中游模块的第一路由结果,具体包括:
12、基于第一译码结果确定目标请求在中游模块所属的目标端口,并基于目标端口确定第一路由结果。
13、在本技术的一种可选实施例中,对待译码地址进行哈希运算,得到待译码地址对应的第一哈希运算结果,具体包括:
14、获取所述中游模块中存在的端口总数,并基于所述端口总数确定对应的分组数;
15、基于各地址位在所述待译码地址中的第一位置顺序以及分组数,依次将各地址位分配至对应的组中;
16、对于每一组地址位,基于组地址位中包含的各地址位在待译码地址中的第一位置顺序,获取组地址位在第一哈希运算结果中的第二位置顺序,并基于包含的各地址位进行异或运算,得到组地址位的异或运算结果;
17、基于各组地址位对应的异或运算结果和对应的第二位置顺序,确定第一哈希运算结果。
18、在本技术的一种可选实施例中,目标芯片电路是基于初始目标芯片电路生成的;
19、该方法还具体包括:
20、将初始目标芯片中的中游模块与下游模块之间的通路删除,得到目标芯片电路。
21、在本技术的一种可选实施例中,该方法还具体包括:
22、接收用户通过预设寄存器发送的模式切换指令;其中,预设寄存器用于指示目标芯片电路当前执行的模式;
23、基于模式切换指令对当前执行的模式进行切换;当前执行的模式包括第一模式、第二模式或第三模式中的任一种。
24、在本技术的一种可选实施例中,若第一目标地址不满足预设条件,则通过第二模式对第一目标地址进行处理;
25、通过第二模式对第一目标地址进行处理,具体包括:
26、对第一目标地址进行哈希运算,得到第一目标地址对应的第二哈希运算结果,并将第二哈希运算结果作为第二译码结果;
27、基于第二译码结果进行路由,确定针对目标芯片的中游模块的第三路由结果,并基于中游模块获取第一目标地址对应的第二目标地址;
28、对第二目标地址进行译码,得到第三译码结果;
29、基于第三译码结果进行路由,确定针对目标芯片的下游模块的第四路由结果。
30、在本技术的一种可选实施例中,若指示所述目标芯片电路当前执行的模式为第三模式,则通过第三模式对第一目标地址进行处理;
31、通过第三模式对第一目标地址进行处理,具体包括:
32、基于中游模块对第一目标地址进行交织,不进行哈希处理,得到第一目标地址对应的第三译码结果;
33、基于第三译码结果进行路由,确定针对中游模块的第五路由结果和针对下游模块的第六路由结果。
34、第二方面,本技术实施例提供了一种地址译码路由装置,包括:
35、目标地址获取模块,用于获取目标请求的第一目标地址;
36、目标地址处理模块,用于若第一目标地址满足预设条件,则通过第一模式对第一目标地址进行处理;
37、译码地址获取模块,用于基于第一目标地址通过目标芯片的上游模块确定待译码地址;其中,待译码地址为第一目标地址中用于地址转换功能以外的地址信息;
38、译码结果获取模块,用于对待译码地址进行译码,得到第一译码结果;
39、路由结果获取模块,用于基于第一译码结果进行路由,确定针对目标芯片的中游模块的第一路由结果和针对目标芯片的下游模块的第二路由结果;路由结果表征目标请求在对应模块对应的端口以及访问路径。
40、在本技术的一种可选实施例中,译码结果获取模块具体用于:
41、对待译码地址进行哈希运算,得到待译码地址对应的哈希运算结果,并将哈希运算结果作为第一译码结果;
42、路由结果获取模块具体用于:
43、基于第一译码结果确定目标请求在中游模块所属的目标端口,并基于目标端口确定第一路由结果。
44、在本技术的一种可选实施例中,译码结果获取模块进一步用于:
45、获取所述中游模块中存在的端口总数,并基于所述端口总数确定对应的分组数;
46、基于各地址位在所述待译码地址中的第一位置顺序以及分组数,依次将各地址位分配至对应的组中;
47、对于每一组地址位,基于组地址位中包含的各地址位在待译码地址中的第一位置顺序,获取组地址位在第一哈希运算结果中的第二位置顺序,并基于包含的各地址位进行异或运算,得到组地址位的异或运算结果;
48、基于各组地址位对应的异或运算结果和对应的第二位置顺序,确定第一哈希运算结果。
49、在本技术的一种可选实施例中,该装置还包括目标芯片电路生成模块,具体用于:
50、将初始目标芯片中的中游模块与下游模块之间的通路删除,得到目标芯片电路。
51、在本技术的一种可选实施例中,该装置还包括模式转换模块,具体用于:
52、接收用户通过预设寄存器发送的模式切换指令;其中,预设寄存器用于指示目标芯片电路当前执行的模式;
53、基于模式切换指令对当前执行的模式进行切换;当前执行的模式包括第一模式、第二模式或第三模式中的任一种。
54、在本技术的一种可选实施例中,若第一目标地址不满足预设条件,则通过第二模式对第一目标地址进行处理;
55、译码结果获取模块还可以用于:
56、对第一目标地址进行哈希运算,得到第一目标地址对应的第二哈希运算结果,并将第二哈希运算结果作为第二译码结果;
57、路由结果获取模块还可以用于:
58、基于第二译码结果进行路由,确定针对目标芯片的中游模块的第三路由结果,并基于中游模块获取第一目标地址对应的第二目标地址;
59、译码结果获取模块还可以用于:
60、对第二目标地址进行译码,得到第三译码结果;
61、路由结果获取模块还可以用于:
62、基于第三译码结果进行路由,确定针对目标芯片的下游模块的第四路由结果。
63、在本技术的一种可选实施例中,若指示所述目标芯片电路当前执行的模式为第三模式,则通过第三模式对第一目标地址进行处理;
64、译码结果获取模块还可以用于:
65、基于中游模块对第一目标地址进行交织,不进行哈希处理,得到第一目标地址对应的第三译码结果;
66、路由结果获取模块还可以用于:
67、基于第三译码结果进行路由,确定针对中游模块的第五路由结果和针对下游模块的第六路由结果。
68、第三方面,本技术实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序;
69、处理器执行计算机程序以实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
70、第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
71、本技术实施例提供的技术方案带来的有益效果是:
72、本技术提供的方案,在获取上游模块生成的目标请求对应的目标地址后,先确定出用于地址转换功能之外的地址部分,然后对该部分地址进行译码,并根据译码结果进行路由,确定出目标请求在中游模块的对应的端口以及在下游模块的端口,并根据确定出的端口确定访问路径。由于仅对用于地址转换功能之外的地址部分的地址进行译码,能够保证目标请求在中游模块和下游模块进行译码时的译码结果不会因地址映射规则的不同而产生不同,因此无需进行多次译码路由,能有效减少整个soc系统的流量拥塞、减少带宽重复,从而能提高整体系统性能。
本文地址:https://www.jishuxx.com/zhuanli/20241118/328657.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。