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

一种不同架构之间CPU调用的方法、装置及互联设备与流程

2022-06-01 06:37:55 来源:中国专利 TAG:

一种不同架构之间cpu调用的方法、装置及互联设备
技术领域
1.本技术涉及cpu调用领域,特别涉及一种不同架构之间cpu调用的方法、装置、互联设备及可读存储介质。


背景技术:

2.在现代系统中,smp(symmetrical multi-processing,对称多处理)是在一个计算机上汇集了一组处理器(多cpu-中央处理器),各cpu之间共享内存子装置以及总线结构,是现在应用最广泛的一个计算机架构。对称多处理在不同的cpu平台都进行了实现,每个平台的实现方案都是大同小异,主要是完成了cpu和内存以及io(input/output,输入/输出)和中断资源的统一,资源的访问主要通过互联总线进行访问,资源之间的调度主要是通过中断机制进行实现。但是由于每个平台都有自身的实现协议,各个协议之间无法兼容,导致不同架构的cpu之间无法互联,使得多路装置的扩展开发受到阻碍,严重影响了国内在大型机以及小型机等多路系统的进一步研发。
3.因此,如何实现不同架构cpu之间的互联是本领域技术人员目前需要解决的技术问题。


技术实现要素:

4.本技术的目的是提供一种不同架构之间cpu调用的方法、装置、互联设备及可读存储介质,用于实现不同架构cpu之间的互联。
5.为解决上述技术问题,本技术提供一种不同架构之间cpu调用的方法,应用于互联设备,所述方法包括:
6.接收第一cpu输入的调用信息;
7.根据所述调用信息确定被调用的第二cpu及对应的调用需求;
8.将所述调用需求传输到所述第二cpu对应的固定内存中,以使所述固定内存触发核间中断,所述第二cpu响应所述核间中断执行所述调用需求;
9.其中,所述第一cpu和所述第二cpu具有cxl接口,所述互联设备通过cxl协议分别与所述第一cpu和所述第二cpu通信。
10.可选的,该方法还包括:
11.接收所述第一cpu输入的访问请求,并根据所述访问请求确定被访问的第三cpu;
12.通过协议转换将所述访问请求转换为一致性内存访问请求,并将一致性内存访问请求发送至所述第三cpu,以使所述第三cpu执行所述一致性内存访问请求并返回对应的一致性内存结果;
13.将所述一致性内存结果发送至所述第一cpu;
14.其中,所述第三cpu具有所述cxl接口,所述互联设备通过所述cxl协议与所述第三cpu通信。
15.可选的,根据所述访问请求确定被访问的第三cpu,包括:
16.解析所述访问请求得到对应的地址资源;
17.根据预设对应关系表确定所述地址资源对应的所述第三cpu。
18.可选的,在解析所述访问请求得到对应的地址资源之前,还包括:
19.根据输入的地址分配请求为每个cpu分配对应的地址资源;
20.根据每个所述cpu与所述地址资源的对应关系建立所述预设对应关系表。
21.本技术还提供一种不同架构之间cpu调用的装置,该装置包括:
22.第一接收模块,用于接收第一cpu输入的调用信息;
23.确定模块,用于根据所述调用信息确定被调用的第二cpu及对应的调用需求;
24.传输模块,用于将所述调用需求传输到所述第二cpu对应的固定内存中,以使所述固定内存触发核间中断,所述第二cpu响应所述核间中断执行所述调用需求;
25.其中,所述第一cpu和所述第二cpu具有cxl接口,所述互联设备通过cxl协议分别与所述第一cpu和所述第二cpu通信。
26.可选的,该装置还包括:
27.第二接收模块,用于接收所述第一cpu输入的访问请求,并根据所述访问请求确定被访问的第三cpu;
28.转换模块,用于通过协议转换将所述访问请求转换为一致性内存访问请求,并将一致性内存访问请求发送至所述第三cpu,以使所述第三cpu执行所述一致性内存访问请求并返回对应的一致性内存结果;
29.发送模块,用于将所述一致性内存结果发送至所述第一cpu;
30.其中,所述第三cpu具有所述cxl接口,所述互联设备通过所述cxl协议与所述第三cpu通信。
31.可选的,所述第二接收模块包括:
32.解析子模块,用于解析所述访问请求得到对应的地址资源;
33.确定子模块,用于根据预设对应关系表确定所述地址资源对应的所述第三cpu。
34.可选的,所述第二接收模块还包括:
35.分配子模块,用于根据输入的地址分配请求为每个cpu分配对应的地址资源;
36.建立子模块,用于根据每个所述cpu与所述地址资源的对应关系建立所述预设对应关系表。
37.本技术还提供一种互联设备,该互联设备包括:
38.存储器,用于存储计算机程序;
39.处理器,用于执行所述计算机程序时实现如上述任一项所述不同架构之间cpu调用的方法的步骤。
40.本技术还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述不同架构之间cpu调用的方法的步骤。
41.本技术所提供不同架构之间cpu调用的方法,应用于互联设备,该方法包括:接收第一cpu输入的调用信息;根据调用信息确定被调用的第二cpu及对应的调用需求;将调用需求传输到第二cpu对应的固定内存中,以使固定内存触发核间中断,第二cpu响应核间中断执行调用需求;其中,第一cpu和第二cpu具有cxl接口,互联设备通过cxl协议分别与第一cpu和第二cpu通信。
42.本技术所提供的技术方案,通过互联设备依据cxl协议分别与第一cpu和第二cpu通信,在接收第一cpu输入的调用信息时将调用需求传输到第二cpu对应的固定内存中,以使固定内存触发核间中断,第二cpu响应核间中断执行调用需求,实现了不同架构之间cpu计算能力的共享,进而提升了系统的资源扩展能力,大大提高了服务器性价比以及产品的竞争力。本技术同时还提供了一种不同架构之间cpu调用的装置、互联设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
43.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
44.图1为本技术实施例所提供的一种不同架构之间cpu调用的方法的流程图;
45.图2为现有技术中一种多路服务器互联框图;
46.图3为本技术实施例所提供的一种多路服务器互联框图;
47.图4为本技术实施例所提供的另一种不同架构之间cpu调用的方法的流程图;
48.图5为本技术实施例所提供的一种不同架构之间cpu调用的装置的结构图;
49.图6为本技术实施例所提供的一种互联设备的结构图。
具体实施方式
50.本技术的核心是提供一种不同架构之间cpu调用的方法、装置、互联设备及可读存储介质,用于实现不同架构cpu之间的互联。
51.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.请参考图1,图1为本技术实施例所提供的一种不同架构之间cpu调用的方法的流程图。
53.应用于互联设备,其具体包括如下步骤:
54.s101:接收第一cpu输入的调用信息。
55.在现代系统中,对称多处理是在一个计算机上汇集了一组处理器(多cpu),各cpu之间共享内存子装置以及总线结构,是现在应用最广泛的一个计算机架构。对称多处理在不同的cpu平台都进行了实现,每个平台的实现方案都是大同小异,主要是完成了cpu和内存以及io和中断资源的统一,资源的访问主要通过互联总线进行访问,资源之间的调度主要是通过中断机制进行实现。但是由于每个平台都有自身的实现协议,各个协议之间无法兼容,导致不同架构的cpu之间无法互联,使得多路装置的扩展开发受到阻碍,严重影响了国内在大型机以及小型机等多路系统的进一步研发。
56.这里以intel(英特尔)多路互联系统为例进行说明,请参考图2,图2为现有技术中一种多路服务器互联框图,如图2所示,可以看到现有技术中主要是通过intel qpi
(quickpath interconnect,高速互联总线)实现cpu的互联,cpu之间的资源共享主要是通过qpi协议进行传输,目前技术的情况下,最多只能扩展到8路系统,而且该方法无法实现不同架构cpu之间的互联,故本技术提供了一种不同架构之间cpu调用的方法,用于解决上述问题。
57.s102:根据调用信息确定被调用的第二cpu及对应的调用需求。
58.这里提到的第一cpu和第二cpu具有cxl(compute express link,计算快速链接)接口,互联设备通过cxl协议分别与第一cpu和第二cpu通信,cxl是一种开放式互连新标准,面向cpu和专用加速器的密集型工作负载,这些负载都需要在主机和设备之间实现高效稳定的存储器访问。cxl标准通过提供利用pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)5.0物理层和电气元件的接口来消除其中一些限制,同时提供极低延迟路径,用于主机处理器和需要共享内存资源的设备(如加速器和内存扩展器)之间进行内存访问和一致缓存,能够极大的提高cpu之间的调用速度。
59.s103:将调用需求传输到第二cpu对应的固定内存中,以使固定内存触发核间中断,第二cpu响应核间中断执行调用需求。
60.由于cxl没有实现ipi(inter-processor interrupt,处理器间中断)的数据类型,无法实现互联系统中的cpu调用需求,故在本步骤中将调用需求传输到第二cpu对应的固定内存中,以使固定内存触发核间中断,第二cpu响应核间中断执行调用需求,即通过写固定内存的方式进行需求发送,互联芯片收到需求,会根据传递内存的方式进行转发,对应cpu收到需求后会写入可以引起ipi中断的内存中,进而可以实现cpu调用需求的功能。
61.在一个具体实施例中,请参考图3,图3为本技术实施例所提供的一种多路服务器互联框图,如图3所示,本技术是通过设置互联设备依据cxl协议与各个cpu进行通信,图中可以看到cpu之间的资源共享主要通过实现cxl的互联设备进行传输,实现了不同架构之间cpu计算能力的共享,进而提升了系统的资源扩展能力,大大提高了服务器性价比以及产品的竞争力。
62.基于上述技术方案,本技术所提供的一种不同架构之间cpu调用的方法,通过互联设备依据cxl协议分别与第一cpu和第二cpu通信,在接收第一cpu输入的调用信息时将调用需求传输到第二cpu对应的固定内存中,以使固定内存触发核间中断,第二cpu响应核间中断执行调用需求,实现了不同架构之间cpu计算能力的共享,进而提升了系统的资源扩展能力,大大提高了服务器性价比以及产品的竞争力。
63.在上述实施例的基础上,在一个具体实施例中,还可以通过该互联设备实现一cpi对另一cpu的内存数据进行访问,具体可以通过执行图4所示的步骤实现,下面结合图4进行说明。
64.请参考图4,图4为本技术实施例所提供的另一种不同架构之间cpu调用的方法的流程图。
65.应用于互联设备,其具体包括以下步骤:
66.s401:接收第一cpu输入的访问请求,并根据访问请求确定被访问的第三cpu。
67.这里提到的第三cpu具有cxl接口,互联设备通过cxl协议与第三cpu通信;
68.在一个具体实施例中,每个cpu在互联设备中都有一个分配好的地址范围,以使cpu之间的内存互访可以通过每个cpu的地址范围进行访问,即这里提到的根据访问请求确
定被访问的第三cpu,其具体可以为:
69.解析该访问请求得到对应的地址资源;
70.根据预设对应关系表确定地址资源对应的第三cpu。
71.在上述实施例的基础上,在一个具体实施例中,在解析访问请求得到对应的地址资源之前,还可以执行如下步骤建立该预设对应关系表:
72.根据输入的地址分配请求为每个cpu分配对应的地址资源;
73.根据每个cpu与地址资源的对应关系建立预设对应关系表。
74.s402:通过协议转换将访问请求转换为一致性内存访问请求,并将一致性内存访问请求发送至第三cpu,以使第三cpu执行一致性内存访问请求并返回对应的一致性内存结果。
75.s403:将一致性内存结果发送至第一cpu。
76.基于上述技术方案,本技术所提供的另一种不同架构之间cpu调用的方法,通过协议转换将访问请求转换为一致性内存访问请求,并将一致性内存访问请求发送至第三cpu,以使第三cpu执行一致性内存访问请求并返回对应的一致性内存结果,使得利用cxl协议替代qpi等私有协议,并通过协议转换实现了不同cpu之间的内存访问,进而实现了内存共享,进一步提升了系统的资源扩展能力。
77.请参考图5,图5为本技术实施例所提供的一种不同架构之间cpu调用的装置的结构图。
78.该装置可以包括:
79.第一接收模块100,用于接收第一cpu输入的调用信息;
80.确定模块200,用于根据调用信息确定被调用的第二cpu及对应的调用需求;
81.传输模块300,用于将调用需求传输到第二cpu对应的固定内存中,以使固定内存触发核间中断,第二cpu响应核间中断执行调用需求;
82.其中,第一cpu和第二cpu具有cxl接口,互联设备通过cxl协议分别与第一cpu和第二cpu通信。
83.在上述实施例的基础上,在一个具体实施例中,该装置还可以包括:
84.第二接收模块,用于接收第一cpu输入的访问请求,并根据访问请求确定被访问的第三cpu;
85.转换模块,用于通过协议转换将访问请求转换为一致性内存访问请求,并将一致性内存访问请求发送至第三cpu,以使第三cpu执行一致性内存访问请求并返回对应的一致性内存结果;
86.发送模块,用于将一致性内存结果发送至第一cpu;
87.其中,第三cpu具有cxl接口,互联设备通过cxl协议与第三cpu通信。
88.在上述实施例的基础上,在一个具体实施例中,该第二接收模块可以包括:
89.解析子模块,用于解析访问请求得到对应的地址资源;
90.确定子模块,用于根据预设对应关系表确定地址资源对应的第三cpu。
91.在上述实施例的基础上,在一个具体实施例中,该第二接收模块还可以包括:
92.分配子模块,用于根据输入的地址分配请求为每个cpu分配对应的地址资源;
93.建立子模块,用于根据每个cpu与地址资源的对应关系建立预设对应关系表。
94.由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
95.请参考图6,图6为本技术实施例所提供的一种互联设备的结构图。
96.该互联设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器622和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器622可以设置为与存储介质630通信,在互联设备600上执行存储介质630中的一系列指令操作。
97.互联设备600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作系统641,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
98.上述图1至图4所描述的不同架构之间cpu调用的方法中的步骤由互联设备基于该图6所示的结构实现。
99.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
100.在本技术所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
101.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
102.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
103.集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
104.以上对本技术所提供的一种不同架构之间cpu调用的方法、装置、互联设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技
术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
105.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

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

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

相关文献