一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种跨芯片访问控制的方法、装置、设备及介质与流程

2022-06-22 20:02:13 来源:中国专利 TAG:


1.本发明涉及芯片技术领域,特别涉及一种跨芯片访问控制的方法、装置、设备及介质。


背景技术:

2.在大型计算芯片中,尤其是服务器产品中,常常会用到芯片与芯片互联的技术。在芯片互联中,通常有2条通路需要跨芯片的操作,一个是用于在芯片的寄存器间传输寄存器访问信息的寄存器通路,另一个是用于在芯片间传输数据信息的内存访问通路。
3.其中,内存访问通路用于大数据的搬移,其对带宽要求比较高;寄存器通路主要用于间歇性地在芯片间传递控制信息,因此寄存器通路对带宽以及实时性的要求都比内存访问通路小很多。
4.在跨芯片互联的实现中,每条通路都需要通过pcie的phy(物理层)和controller(控制层)进行物理连接,但是,寄存器通路和内存访问通路对应的pcie的phy和controller会在芯片内占用较大的面积,同时也消耗较大的功耗。因此,对于数据量不大的寄存器通路来说是比较浪费的。
5.现有技术中,有将寄存器通路与内存访问通路做简单的仲裁和合并的技术方案,如此虽然可以省去一条通路(寄存器通路)的布置,但是由于寄存器通路占用时间长(尤其是读操作需要等待响应数据),从而严重影响到内存访问通路的大数据传输性能。


技术实现要素:

6.针对现有技术存在的互联的芯片中寄存器通路会在芯片内占据较大的芯片以及消耗较大的功耗的问题,本发明的目的在于提供一种跨芯片访问控制的方法、装置、设备及介质。
7.为实现上述目的,本发明的技术方案为:第一方面,本发明提供了一种跨芯片访问控制的方法,所述方法应用于通过总线接口互联的发送芯片与接受芯片间的通讯,所述总线接口的物理链路包括用于传输数据信息的内存访问通路,所述方法包括以下步骤:发送芯片接收寄存器访问请求,所述寄存器访问请求携带有需传递给接受芯片中寄存器的访问信息;发送芯片按照预设的打包规则将所述寄存器访问请求打包成数据包;发送芯片将所述数据包写入到所述总线接口的内存访问通路上,以便于所述数据包通过所述内存访问通路被发送到所述接受芯片的预设地址上;所述接受芯片从其预设地址上获取所述数据包;所述接受芯片按照预设的解包规则对所述数据包进行解包,获得所述寄存器访问请求;所述接受芯片将所述寄存器访问信息写入寄存器总线,以便于所述接受芯片中的
寄存器接收所述寄存器访问请求。
8.进一步的,所述方法还包括以下步骤:所述接受芯片生成响应信息;所述接受芯片按照所述预设的打包规则将所述响应信息打包成响应数据包;所述接受芯片将所述响应数据包写入到所述总线接口的内存访问通路上,以便于所述响应数据包通过所述内存访问通路被发送到所述发送芯片的预设地址上;所述发送芯片从其预设地址上获取所述响应数据包;所述发送芯片按照所述预设的解包规则对所述响应数据包进行解包,获得所述响应信息。
9.优选的,所述发送芯片与所述接受芯片通过pcie总线接口互联。
10.第二方面,本发明还提供一种跨芯片访问控制的装置,所述装置应用于通过总线接口互联的发送芯片与接受芯片间的通讯,所述总线接口的物理链路包括用于传输数据信息的内存访问通路,所述装置包括路由模块;在发送芯片一侧,所述路由模块用于接收寄存器访问请求,所述寄存器访问请求携带有需传递给接受芯片中寄存器的访问信息;所述路由模块还用于按照预设的打包规则将所述寄存器访问请求打包成数据包,并将所述数据包写入到所述总线接口的内存访问通路上以便于所述数据包通过所述内存访问通路被发送到接受芯片的预设地址上;在接受芯片一侧,所述路由模块用于从接受芯片的预设地址上获取数据包,并根据预设的解包规则对所述数据包进行解包,从而获取发送芯片发送来的寄存器访问请求,并将获取到的寄存器访问请求发送给接受芯片中的寄存器。
11.进一步的,还包括响应模块;在接受芯片一侧,所述响应模块用于在所述路由模块将获取到的寄存器访问请求发送给接受芯片中的寄存器后,生成响应信息并将所述响应信息发送给所述路由模块,而所述路由模块还用于按照预设的打包规则将所述响应信息打包成响应数据包,并将所述响应数据包写入到所述总线接口的内存访问通路上以便于所述响应数据包通过所述内存访问通路被发送到所述发送芯片的预设地址上;在发送芯片一侧,所述路由模块还用于从芯片的预设地址上获取响应数据包,并根据预设的解包规则对所述响应数据包进行解包,从而获取接受芯片发送来的响应信息。
12.优选的,所述路由模块包括:接收单元,所述接收单元用于接收寄存器访问请求,所述寄存器访问请求携带有需传递给接受芯片中寄存器的访问信息;打包单元,所述打包单元用于按照预设的打包规则将所述寄存器访问请求打包成数据包;写入单元,所述写入单元用于将所述数据包写入到所述总线接口的内存访问通路上以便于所述数据包通过所述内存访问通路被发送到接受芯片的预设地址上;获取单元,所述获取单元用于从芯片的预设地址上获取数据包;解包单元,所述解包单元用于根据预设的解包规则对所述数据包进行解包,从而获取接受芯片发送来的寄存器访问请求;发送单元,所述发送单元用于将获取到的寄存器访问请求发送给寄存器。
13.优选的,所述路由模块通过寄存器总线将所述寄存器访问请求发送给对应的寄存器。
14.优选的,所述寄存器总线为axi总线协议。
15.第三方面,本发明还提供一种多芯片互联的服务器集群,包括多个通过总线接口互联的节点,所述总线接口的物理链路包括用于传输数据信息的内存访问通路,且任意两个所述节点间具有至少一条路径,其特征在于:任意两个所述节点通过如上所述的方法进行数据的传输。
16.优选的,当任意两个所述节点间具有至少两条路径时,则所述任意两个所述节点间用于传输数据信息的内存访问通路以及用于传输寄存器访问信息的内存访问通路分别建立在不同的两条路径上。
17.第四方面,本发明还提供一种电子设备,包括寄存器、处理器和存储器,所述电子设备上还设置有用于与另一电子设备通讯的总线接口,所述总线接口的物理链路包括用于传输数据信息的内存访问通路,所述存储器存储有可执行程序代码,且所述处理器调用所述可执行程序代码时,执行如上所述的方法。
18.第五方面,本发明还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的方法。
19.采用上述技术方案,本发明的有益效果在于:1、由于将携带有寄存器访问信息的寄存器访问请求通过打包成数据包的方式,借助于内存访问通路传递给另一个芯片,使得另一个芯片只需要对其接收到的数据包进行解包即可获得寄存器访问请求,如此可以省去芯片间用于实现寄存器通路的物理链路的布置,从而提高了芯片的有效使用面积;2、本发明提供的方法,将读操作在跨芯片访问时转化成全写的操作,提高访问效率;由于读操作需要等待接收端的回复,因此容易阻塞后续的访问,而写操作在发出写请求后就可以继续后续的操作,因此能够有效地提高跨芯片访问效率;3、在本发明提供的服务器集群中,当节点间存在复杂的拓扑连接结构并且在两个节点之间有不同的路径时,在寄存器通路和内存访问通路合并的情况下,拓扑的互联资源可以得到非常大的节省,拓扑越复杂,效果越明显;如此,虽然物理链路是共享的,但是寄存器通路和内存访问通路的路由策略是不同的,因此在相同的物理拓扑连接下,寄存器和内存访问仍然可以走不同的路径,从而使效率达到最优。
附图说明
20.图1为本发明一种跨芯片访问控制的装置的结构示意图。
21.图2为本发明一种跨芯片访问控制的装置的另一结构示意图。
22.图3为两个芯片间互联的结构示意图。
23.图4为本发明一种跨芯片访问控制的方法的流程图。
24.图5为本发明一种跨芯片访问控制的方法中包含响应信息返回流程的流程图。
25.图6为由四个芯片构成的服务器集群的拓扑连接示意图。
具体实施方式
26.下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
27.需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示对本发明结构的说明,仅是为了便于描述本发明的简便,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
28.对于本技术方案中的“第一”和“第二”,仅为对相同或相似结构,或者起相似功能的对应结构的称谓区分,不是对这些结构重要性的排列,也没有排序、或比较大小、或其他含义。
29.另外,除非另有明确的规定和限定,术语“安装”、“连接”应做广义理解,例如,连接可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个结构内部的连通。对于本领域的普通技术人员而言,可以根据本发明的总体思路,联系本方案上下文具体情况理解上述术语在本发明中的具体含义。
30.实施例一一种跨芯片访问控制的装置,该装置应用于通过总线接口互联的芯片间的通讯,互联的芯片通常有两个,包括用于发送信息的发送芯片以及用于接受信息的接受芯片,并且可以理解的是,在实际应用中,某一芯片既可以是发送芯片,又可以是接受芯片。其中,总线接口的物理链路包括用于传输数据信息的内存访问通路,例如,总线接口为pcie总线接口,则进行互联的两个芯片上均布置有pcie的phy和controller以便于进行物理连接。
31.如图1所示,该装置具体包括路由模块,该路由模块布置在进行互联的芯片中。
32.在发送芯片一侧,例如某一芯片作为发送信息的发送芯片时,该路由模块用于接收寄存器访问请求,寄存器访问请求由外部输入设备输入给发送芯片,并且该寄存器访问请求携带有需传递给接受芯片中寄存器的访问信息,以便于接受芯片根据该访问信息进行对应的功能控制和调整。同时,该路由模块还用于按照预设的打包规则将寄存器访问请求打包成数据包,并将数据包写入到总线接口的内存访问通路上,以便于该数据包通过内存访问通路被发送到接受芯片的预设地址上。
33.其中,数据包的最终格式符合内存访问通路的数据发送方式,而内存访问通路在互联的两个芯片内,均对应有用于存储数据的存储地址,只需要在存储地址中分出一部分特定地址专门用于存储该数据包,则该特定地址即为芯片的预设地址。并且通过总线接口互联的两个芯片上均具有该预设地址,以便于互联的两个芯片互相接收对方发送来的数据包。
34.而在接受芯片一侧,即当某一芯片作为接受信息的接受芯片时,该路由模块则用于从接受芯片的预设地址上获取数据包,并根据预设的解包规则对数据包进行解包,从而获取发送芯片发送来的寄存器访问请求,并将获取到的寄存器访问请求发送给接受芯片中的寄存器。
35.其中,预设的解包规则与上述预设的打包规则相匹配。另外,路由模块具体是将寄
存器访问请求以符合寄存器总线协议的方式发送到寄存器总线上,从而使接受芯片中的寄存器获得所需的寄存器访问请求,而该寄存器总线优选为axi总线协议。
36.至此,在互联的芯片间完成一次寄存器访问请求的传递。并且,芯片内省略了传统技术方案中用于寄存器通路传输的pcie phy和controller的布置,节省了芯片内的面积和运行功耗。
37.对应上述路由模块的功能,本实施例具体设置上述路由模块包括:接收单元,接收单元用于接收寄存器访问请求,寄存器访问请求携带有需传递给接受芯片中寄存器的访问信息;打包单元,打包单元用于按照预设的打包规则将寄存器访问请求打包成数据包;写入单元,写入单元用于将数据包写入到总线接口的内存访问通路上以便于数据包通过内存访问通路被发送到接受芯片的预设地址上;获取单元,获取单元用于从芯片的预设地址上获取数据包;解包单元,解包单元用于根据预设的解包规则对数据包进行解包,从而获取接受芯片发送来的寄存器访问请求;发送单元,发送单元用于将获取到的寄存器访问请求发送给寄存器。
38.而在一个优选实施例中,如图2所示,设置跨芯片访问控制的装置还包括响应模块。
39.在接受芯片一侧,即某一芯片作为接受信息的接受芯片时,该响应模块用于在路由模块将获取到的寄存器访问请求发送给接受芯片中的寄存器后,生成响应信息并将该响应信息发送给上述的路由模块,而路由模块则还用于按照预设的打包规则将响应信息打包成响应数据包,并由路由模块继续将该响应数据包写入到总线接口的内存访问通路上,以便于该响应数据包通过内存访问通路被发送到发送芯片的预设地址上。
40.而在发送芯片一侧,即某一芯片作为发送信息的发送芯片时,上述的路由模块还用于从该发送芯片的预设地址上获取由互联的接受芯片发送而来的响应数据包,并根据预设的解包规则对该响应数据包进行解包,从而获取由接受芯片发送来的响应信息。至此,互联的芯片间完成了一次完整的寄存器访问请求跨芯片操作。
41.可以理解的是,由于某一芯片既可以作为发送芯片,又可以作为接受芯片,因此对于单一芯片来说,其所搭载的路由模块以及响应模块的功能都是完整的,在进行具体的芯片互联操作时,参与互联的芯片根据其所扮演的角色执行路由模块以及响应模块的对应功能。
42.如图3所示,其具体展示了两个芯片间互联的结构示意图,可见,两个芯片间只通过一条物理链路连接,在同一芯片内,寄存器访问信息通过芯片内置的路由模块以及响应模块在寄存器通路(register path)与内存访问通路(data path)间传递,并借助于上述的物理链路在两个芯片间传递寄存器访问信息。
43.实施例二一种跨芯片访问控制的方法,该方法应用于通过总线接口互联的芯片将的通讯,总线接口的物理链路包括用于传输数据信息的内存访问通路,其中,互联的芯片至少包括发送芯片以及接受芯片,如图4所示,该方法包括以下步骤:s1,发送芯片接收寄存器访问请求,寄存器访问请求携带有需传递给接受芯片中
寄存器的访问信息;s2,发送芯片按照预设的打包规则将寄存器访问请求打包成数据包;s3,发送芯片将数据包写入到总线接口的内存访问通路上,以便于数据包通过内存访问通路被发送到接受芯片的预设地址上;s4,接受芯片从其预设地址上获取数据包;s5,接受芯片按照预设的解包规则对数据包进行解包,获得寄存器访问请求;s6,接受芯片将寄存器访问信息写入寄存器总线,以便于接受芯片中的寄存器接收寄存器访问请求。
44.另外,如图5所示,该方法还包括以下步骤:s7,接受芯片生成响应信息;s8,接受芯片按照预设的打包规则将响应信息打包成响应数据包;s9,接受芯片将响应数据包写入到总线接口的内存访问通路上,以便于响应数据包通过内存访问通路被发送到发送芯片的预设地址上;s10,发送芯片从其预设地址上获取响应数据包;s11,发送芯片按照预设的解包规则对响应数据包进行解包,获得响应信息。
45.实施例三一种多芯片互联的服务器集群,包括多个通过总线接口互联的节点,总线接口的物理链路包括用于传输数据信息的内存访问通路,且任意两个节点间具有至少一条路径,任意两个节点通过实施例二提供的方法进行数据的传输。如图6所示,其显示了四个芯片,两两之间互联的拓扑连接示意图。
46.当任意两个节点间具有至少两条路径时,则该任意两个节点间用于传输数据信息的内存访问通路以及用于传输寄存器访问信息的内存访问通路分别建立在不同的两条路径上。例如图6中,在s0芯片与s2芯片之间,用于传输数据信息的内存访问通路可以是s0-s2的路径,用于传输寄存器访问信息的内存访问通路可以是s0-s1-s2的路径。
47.实施例四一种电子设备,具体为一种芯片,包括有寄存器、处理器和存储器,所述电子设备上还设置有用于与另一电子设备通讯的总线接口,总线接口的物理链路包括用于传输数据信息的内存访问通路,存储器存储有可执行程序代码,且处理器调用可执行程序代码时,执行实施例二公开的方法。
48.实施例五一种计算机存储介质,计算机存储介质中存储有计算机程序,计算机程序被处理器运行时实施例二公开的方法。
49.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
50.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
51.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
52.以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献