CN118113631A - 一种数据处理***、方法、设备、介质及计算机程序产品 - Google Patents
一种数据处理***、方法、设备、介质及计算机程序产品 Download PDFInfo
- Publication number
- CN118113631A CN118113631A CN202410534079.XA CN202410534079A CN118113631A CN 118113631 A CN118113631 A CN 118113631A CN 202410534079 A CN202410534079 A CN 202410534079A CN 118113631 A CN118113631 A CN 118113631A
- Authority
- CN
- China
- Prior art keywords
- consistency
- interface
- request
- cache
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 226
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004590 computer program Methods 0.000 title claims abstract description 34
- 230000006870 function Effects 0.000 claims abstract description 146
- 238000004891 communication Methods 0.000 claims abstract description 46
- 230000001360 synchronised effect Effects 0.000 claims description 45
- 230000000977 initiatory effect Effects 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 33
- 238000001514 detection method Methods 0.000 claims description 32
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 238000003672 processing method Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 16
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 11
- 230000001427 coherent effect Effects 0.000 description 6
- 238000012549 training Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了计算机技术领域内的一种数据处理***、方法、设备、介质及计算机程序产品。本发明在设备中部署一致性功能处理器件和至少一个一致性接口,并使不同一致性接口一对一的实现通信连接,从而实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性。该方案支持更多应用场景,具有灵活的拓展性,能够满足高内存容量要求和高延时要求,提升了不同设备之间的缓存一致性的灵活性和可扩展性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据处理***、方法、设备、介质及计算机程序产品。
背景技术
CXL(Compute Express Link,高速缓存一致性互连技术)是非对称的缓存一致性总线,一般使用Master(主模式)和Slave(从模式)进行Master间以及Slave间的互连,存在Master、Slave的角色限制;且Master与Slave间的互连需要借助扩展卡完成扩展,使用场景受限。
因此,如何提升不同设备之间的缓存一致性的灵活性和可扩展性,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据处理***、方法、设备、介质及计算机程序产品,以提升不同设备之间的缓存一致性的灵活性和可扩展性。其具体方案如下:
第一方面,本发明提供了一种数据处理***,包括:至少一个处理器设备以及与所述至少一个处理器设备连接的至少一个目标设备;
各处理器设备和各目标设备中均包括:一致性功能处理器件和至少一个一致性接口;在同一设备中,一致性功能处理器件和至少一个一致性接口通信连接;
不同处理器设备中的、不同目标设备中的、任意处理器设备与任意目标设备中的,两个一致性接口之间通信连接,用于实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性。
另一方面,任意一致性功能处理器件包括:
寄存器配置模式选择模块,用于根据接收到的寄存器配置请求,将用于连接一致性接口的接口配置为AXI接口或ACE接口;
ACE接口处理模块,用于根据接收到的一致性协议请求的事务类型确定当前一致性协议请求的处理逻辑;
接口转换模块,用于实现AXI接口与ACE接口之间的接口转换。
另一方面,任意一致性功能处理器件还包括:
多路探测模块,用于在探测到当前设备中的对等处理器缓存中存在请求处理器所需的响应数据时,将对等处理器缓存中的响应数据写入请求处理器缓存。
另一方面,任意一致性功能处理器件还包括:
二级缓存接口模块,用于将接收到的二级缓存访问请求的数据格式转换为与二级缓存接口匹配的数据格式,并处理接收到的二级缓存访问请求;处理完成后,使处理结果原路返回至二级缓存访问请求的发送端。
另一方面,任意一致性功能处理器件还包括:
虚拟内存事务模块,用于若确定一致性协议请求的事务类型为分布式虚拟内存事务,则检测当前一致性协议请求是否为无效请求;若为无效处理,则处理该无效请求。
另一方面,任意一致性功能处理器件还包括:ACE_AXI接口处理模块,用于检测当前有效接口类型,并按照当前有效接口类型处理接收到的一致性协议请求,滤除与当前有效接口类型不匹配的请求处理逻辑;当前有效接口类型为ACE接口或AXI接口。
另一方面,任意一致性接口包括:
ACE/AXI转CPI接口模块,用于将接收到的ACE接口信号或AXI接口信号转换为CPI接口格式。
另一方面,任意一致性接口还包括:
接口通道模块,用于实现物理层、链路层和传输层的传输控制功能;其中,物理层的传输控制功能包括:物理链路的初始化及控制功能,链路层的传输控制功能包括:数据链路状态控制与管理功能,传输层的传输控制功能包括:报文的封装与解封装。
另一方面,任意一致性接口还包括:
配置模块,用于响应于所述接口通道模块的配置指令,对所述接口通道模块进行配置空间配置和内存空间寄存器的配置。
另一方面,将任意处理器设备或任意目标设备作为发起端,将所述发起端的任意通信对端作为目的端,则所述发起端与所述目的端之间的缓存一致性过程包括:
所述发起端中的一致性功能处理器件将内存数据同步请求传输至所述发起端中的对应目标一致性接口;所述目标一致性接口根据内存数据同步请求生成一致性协议请求,并将所述一致性协议请求传输至所述目的端中的目的一致性接口;所述目的一致性接口将所述一致性协议请求传输至所述目的端中的一致性功能处理器件;所述目的端中的一致性功能处理器件将所述一致性协议请求转换为内存协议请求;所述目的端中的内存***根据所述内存协议请求读取所述内存***中的相应数据,并使读取的数据原路返回至所述发起端。
另一方面,任意处理器设备与任意目标设备之间的缓存一致性过程包括:
当前处理器设备加载当前目标设备的内存数据同步请求;
若当前处理器缓存中已存在当前内存数据同步请求的请求数据,则从当前处理器缓存中读取得到所述请求数据。
另一方面,任意处理器设备与任意目标设备之间的缓存一致性过程还包括:
若当前处理器缓存中不存在当前内存数据同步请求的请求数据,则将当前内存数据同步请求通过当前处理器设备的一致性功能处理器件中的ACE接口发送至当前处理器设备的一致性功能处理器件中的ACE接口处理模块,以使ACE接口处理模块判断当前内存数据同步请求是否为无效请求;
若不是无效请求,则ACE接口处理模块将当前内存数据同步请求发送至当前处理器设备的一致性功能处理器件中的多路探测模块,以使多路探测模块探测当前处理器设备中的二级缓存和对等处理器缓存;
若二级缓存或对等处理器缓存中存在所述请求数据,则从二级缓存或对等处理器缓存中读取得到所述请求数据,并更新缓存行状态。
另一方面,任意处理器设备与任意目标设备之间的缓存一致性还包括:
若二级缓存和对等处理器缓存中均不存在所述请求数据,则当前处理器设备中的一致性功能处理器件根据当前内存数据同步请求生成一致性协议请求,并将当前内存数据同步请求传输至当前处理器设备中的对应目标一致性接口;所述目标一致性接口根据当前内存数据同步请求生成一致性协议请求,并将所述一致性协议请求传输至当前目标设备中的目的一致性接口;所述目的一致性接口将所述一致性协议请求传输至当前目标设备中的一致性功能处理器件;当前目标设备中的一致性功能处理器件将所述一致性协议请求转换为内存协议请求;当前目标设备中的内存***根据所述内存协议请求读取所述内存***中的相应数据,并使读取的数据原路返回至当前处理器设备。
另一方面,不同目标设备之间的缓存一致性过程包括:
第一目标设备加载第二目标设备的内存数据同步请求;
若第一目标设备缓存中已存在当前内存数据同步请求的请求数据,则从第一目标设备缓存中读取得到所述请求数据。
另一方面,不同目标设备之间的缓存一致性过程包括:
若第一目标设备缓存中不存在当前内存数据同步请求的请求数据,则通过第一目标设备的一致性功能处理器件和一致性接口发送探测请求至第二目标设备的一致性接口;第二目标设备的一致性接口根据探测请求检查本地缓存状态,如果命中第二目标设备的本地缓存,则从第二目标设备的本地缓存读取得到请求数据;如果未命中第二目标设备的本地缓存,则从第二目标设备的本地内存读取得到请求数据。
另一方面,不同设备之间的缓存一致性协议为MESI、MOESI或MESIF。
另一方面,本发明提供了一种数据处理方法,应用于数据处理***,该数据处理***包括:至少一个处理器设备以及与所述至少一个处理器设备连接的至少一个目标设备;各处理器设备和各目标设备中均包括:一致性功能处理器件和至少一个一致性接口;在同一设备中,一致性功能处理器件和至少一个一致性接口通信连接;不同处理器设备中的、不同目标设备中的、任意处理器设备与任意目标设备中的,两个一致性接口之间通信连接,用于实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性;
其中,将任意处理器设备或任意目标设备作为发起端,将所述发起端的任意通信对端作为目的端,则所述数据处理方法包括:
所述发起端中的一致性功能处理器件将内存数据同步请求传输至所述发起端中的对应目标一致性接口;所述目标一致性接口根据内存数据同步请求生成一致性协议请求,并将所述一致性协议请求传输至所述目的端中的目的一致性接口;所述目的一致性接口将所述一致性协议请求传输至所述目的端中的一致性功能处理器件;所述目的端中的一致性功能处理器件将所述一致性协议请求转换为内存协议请求;所述目的端中的内存***根据所述内存协议请求读取所述内存***中的相应数据,并使读取的数据原路返回至所述发起端。
另一方面,本发明提供了一种处理器设备,包括:一致性功能处理器件和至少一个一致性接口;一致性功能处理器件和至少一个一致性接口通信连接;
所述处理器设备的任意一致性接口与其他设备的一致性接口之间通信连接,用于实现所述处理器设备与其他设备之间的缓存一致性。
另一方面,本发明提供了一种加速器设备,包括:一致性功能处理器件和至少一个一致性接口;一致性功能处理器件和至少一个一致性接口通信连接;
所述加速器设备的任意一致性接口与其他设备的一致性接口之间通信连接,用于实现所述加速器设备与其他设备之间的缓存一致性。
另一方面,本发明提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的数据处理方法。
另一方面,本发明提供了一种非易失性存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的数据处理方法。
另一方面,本发明提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现前述公开的数据处理方法的步骤。
通过以上方案可知,本发明提供了一种数据处理***,包括:至少一个处理器设备以及与所述至少一个处理器设备连接的至少一个目标设备;各处理器设备和各目标设备中均包括:一致性功能处理器件和至少一个一致性接口;在同一设备中,一致性功能处理器件和至少一个一致性接口通信连接;不同处理器设备中的、不同目标设备中的、任意处理器设备与任意目标设备中的,两个一致性接口之间通信连接,用于实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性。
可见,本发明的有益效果为:在设备中部署一致性功能处理器件和至少一个一致性接口,并使不同一致性接口一对一的实现通信连接,从而实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性。该方案支持更多应用场景,具有灵活的拓展性,能够满足高内存容量要求和高延时要求,提升了不同设备之间的缓存一致性的灵活性和可扩展性。
相应地,本发明提供的一种数据处理方法、设备、非易失性存储介质及计算机程序产品,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明公开的一种数据处理***示意图;
图2为本发明公开的一种基于RISC-V处理器实现的一致性互连示意图;
图3为本发明公开的图3的细节示意图;
图4为本发明公开的一致性功能处理模块示意图;
图5为本发明公开的缓存一致性协议接口模块示意图;
图6为本发明公开的一种数据处理方法示意图;
图7为本发明提供的一种服务器结构图;
图8为本发明提供的一种终端结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实例,都属于本发明保护的范围。
处理器的互连总线包括片上以及片间的,片上互连指芯片内部IP模块间的互连,如RISC-V处理器片上互连TileLink总线等;片间互连指芯片间的互连,又分为处理器间的和处理器与外设间的互连,处理器间的互连包括Intel处理器间的UPI(Ultra PathInterconnect),AMD超微半导体处理器间的IF(Infinity Fabric)总线等;处理器与外设的互连总线包括I2C(Inter-Integrated Circuit)接口、SPI(Serial PeripheralInterface,串行外设接口)、USB(Universal Serial Bus,通用串行总线)、HDMI(HighDefinition Multimedia Interface,一种数字化视频/音频接口技术)等低速总线以及PCIE(Peripheral Component Interconnect Express,一种高速串行计算机扩展总线标准)等高速总线。
目前,CXL总线是非对称的缓存一致性总线,一般使用Master模式和Slave模式进行Master间以及Slave间的互连,存在Master、Slave的角色限制;且Master与Slave间的互连需要借助CXL Switch完成扩展,使用场景受限。为此,本发明提供了一种数据处理方案,能够提升不同设备之间的缓存一致性的灵活性和可扩展性。
参见图1所示,本发明实施例公开了一种数据处理***,包括:至少一个处理器设备以及与至少一个处理器设备连接的至少一个目标设备。
其中,各处理器设备和各目标设备中均包括:一致性功能处理器件和至少一个一致性接口。当然,各处理器设备和各目标设备中还会包括:多级缓存、内存等常规模块。在同一设备中,一致性功能处理器件和至少一个一致性接口通信连接;不同处理器设备中的、不同目标设备中的、任意处理器设备与任意目标设备中的,两个一致性接口之间通信连接,用于实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性。目标设备可以具体为加速器设备、内存设备等。需要说明的是,任意两个一致性接口可以直接一对一连接,也可以通过交换机或其他扩展卡连接。在通过交换机或其他扩展卡连接时,同一个一致性接口可实现复用。
在一种示例中,将任意处理器设备或任意目标设备作为发起端,将发起端的任意通信对端(即其他处理器设备或其他目标设备)作为目的端,则发起端与目的端之间的缓存一致性过程包括:发起端中的一致性功能处理器件将内存数据同步请求传输至发起端中的对应目标一致性接口;目标一致性接口根据内存数据同步请求生成一致性协议请求,并将一致性协议请求传输至目的端中的目的一致性接口;目的一致性接口将一致性协议请求传输至目的端中的一致性功能处理器件;目的端中的一致性功能处理器件将一致性协议请求转换为内存协议请求;目的端中的内存***根据内存协议请求读取内存***中的相应数据,并使读取的数据原路返回至发起端。
在一种实施方式中,任意一致性功能处理器件包括:
寄存器配置模式选择模块,用于根据接收到的寄存器配置请求,将用于连接一致性接口的接口配置为AXI接口或ACE接口。
ACE接口处理模块,用于根据接收到的一致性协议请求的事务类型确定当前一致性协议请求的处理逻辑。
接口转换模块,用于实现AXI接口与ACE接口之间的接口转换。
多路探测模块,用于在探测到当前设备中的对等处理器缓存中存在请求处理器所需的响应数据时,将对等处理器缓存中的响应数据写入请求处理器缓存。
二级缓存接口模块,用于将接收到的二级缓存访问请求的数据格式转换为与二级缓存接口匹配的数据格式,并处理接收到的二级缓存访问请求;处理完成后,使处理结果原路返回至二级缓存访问请求的发送端。
虚拟内存事务模块,用于若确定一致性协议请求的事务类型为分布式虚拟内存事务,则检测当前一致性协议请求是否为无效请求;若为无效处理,则处理该无效请求。
ACE_AXI接口处理模块,用于检测当前有效接口类型,并按照当前有效接口类型处理接收到的一致性协议请求,滤除与当前有效接口类型不匹配的请求处理逻辑;当前有效接口类型为ACE接口或AXI接口。
在一种实施方式中,任意一致性接口包括:ACE/AXI转CPI接口模块,用于将接收到的ACE接口信号或AXI接口信号转换为CPI接口格式。接口通道模块,用于实现物理层、链路层和传输层的传输控制功能;其中,物理层的传输控制功能包括:物理链路的初始化及控制功能,链路层的传输控制功能包括:数据链路状态控制与管理功能,传输层的传输控制功能包括:报文的封装与解封装。配置模块,用于响应于所述接口通道模块的配置指令,对接口通道模块进行配置空间配置和内存空间寄存器的配置。
在一种实施方式中,任意处理器设备与任意目标设备之间的缓存一致性过程包括:当前处理器设备加载当前目标设备的内存数据同步请求(该内存数据同步请求用于访问当前目标设备的内存数据);若当前处理器缓存(即当前处理器设备中加载内存数据同步请求的处理器核心中的一级缓存)中已存在当前内存数据同步请求的请求数据,则从当前处理器缓存中读取得到请求数据。若当前处理器缓存中不存在当前内存数据同步请求的请求数据,则将当前内存数据同步请求通过当前处理器设备的一致性功能处理器件中的ACE接口发送至当前处理器设备的一致性功能处理器件中的ACE接口处理模块,以使ACE接口处理模块判断当前内存数据同步请求是否为无效请求;若不是无效请求,则ACE接口处理模块将当前内存数据同步请求发送至当前处理器设备的一致性功能处理器件中的多路探测模块,以使多路探测模块探测当前处理器设备中的二级缓存(即当前处理器设备中的二级缓存)和对等处理器缓存(当前处理器设备中未加载内存数据同步请求的其他处理器核心中的一级缓存);若二级缓存或对等处理器缓存中存在请求数据,则从二级缓存或对等处理器缓存中读取得到请求数据,并更新缓存行状态。若二级缓存和对等处理器缓存中均不存在请求数据,则当前处理器设备中的一致性功能处理器件根据当前内存数据同步请求生成一致性协议请求,并将当前内存数据同步请求传输至当前处理器设备中的对应目标一致性接口;目标一致性接口根据当前内存数据同步请求生成一致性协议请求,并将一致性协议请求传输至当前目标设备中的目的一致性接口;目的一致性接口将一致性协议请求传输至当前目标设备中的一致性功能处理器件;当前目标设备中的一致性功能处理器件将一致性协议请求转换为内存协议请求;当前目标设备中的内存***根据内存协议请求读取内存***中的相应数据,并使读取的数据原路返回至当前处理器设备。
在一种实施方式中,不同目标设备之间的缓存一致性过程包括:第一目标设备加载第二目标设备的内存数据同步请求;若第一目标设备缓存中已存在当前内存数据同步请求的请求数据,则从第一目标设备缓存中读取得到请求数据。若第一目标设备缓存中不存在当前内存数据同步请求的请求数据,则通过第一目标设备的一致性功能处理器件和一致性接口发送探测请求至第二目标设备的一致性接口;第二目标设备的一致性接口根据探测请求检查本地缓存状态,如果命中第二目标设备的本地缓存,则从第二目标设备的本地缓存读取得到请求数据;如果未命中第二目标设备的本地缓存,则从第二目标设备的本地内存读取得到请求数据。
在一种实施方式中,不同设备之间的缓存一致性协议为MESI、MOESI或MESIF。
可见,本实施例在每个设备中部署一致性功能处理器件和至少一个一致性接口,并使不同一致性接口一对一的实现通信连接,从而实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性。该方案支持更多应用场景,具有灵活的拓展性,能够满足高内存容量要求和高延时要求,提升了不同设备之间的缓存一致性的灵活性和可扩展性。
下面对本发明实施例提供的一种数据处理方法进行介绍,下文描述的一种数据处理方法与本文描述的其他实施例可以相互参照。
本发明提供了一种数据处理方法,应用于数据处理***,该数据处理***包括:至少一个处理器设备以及与至少一个处理器设备连接的至少一个目标设备;各处理器设备和各目标设备中均包括:一致性功能处理器件和至少一个一致性接口;在同一设备中,一致性功能处理器件和至少一个一致性接口通信连接;不同处理器设备中的、不同目标设备中的、任意处理器设备与任意目标设备中的,两个一致性接口之间通信连接,用于实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性。
本实施例将任意处理器设备或任意目标设备作为发起端,将发起端的任意通信对端作为目的端,则数据处理方法包括:发起端中的一致性功能处理器件将内存数据同步请求传输至发起端中的对应目标一致性接口;目标一致性接口根据内存数据同步请求生成一致性协议请求,并将一致性协议请求传输至目的端中的目的一致性接口;目的一致性接口将一致性协议请求传输至目的端中的一致性功能处理器件;目的端中的一致性功能处理器件将一致性协议请求转换为内存协议请求;目的端中的内存***根据内存协议请求读取内存***中的相应数据,并使读取的数据原路返回至发起端。
在一种实施方式中,任意一致性功能处理器件包括:寄存器配置模式选择模块,用于根据接收到的寄存器配置请求,将用于连接一致性接口的接口配置为AXI接口或ACE接口;ACE接口处理模块,用于根据接收到的一致性协议请求的事务类型确定当前一致性协议请求的处理逻辑;接口转换模块,用于实现AXI接口与ACE接口之间的接口转换。
在一种实施方式中,任意一致性功能处理器件还包括:多路探测模块,用于在探测到当前设备中的对等处理器缓存中存在请求处理器所需的响应数据时,将对等处理器缓存中的响应数据写入请求处理器缓存。
在一种实施方式中,任意一致性功能处理器件还包括:二级缓存接口模块,用于将接收到的二级缓存访问请求的数据格式转换为与二级缓存接口匹配的数据格式,并处理接收到的二级缓存访问请求;处理完成后,使处理结果原路返回至二级缓存访问请求的发送端。
在一种实施方式中,任意一致性功能处理器件还包括:虚拟内存事务模块,用于若确定一致性协议请求的事务类型为分布式虚拟内存事务,则检测当前一致性协议请求是否为无效请求;若为无效处理,则处理该无效请求。
在一种实施方式中,任意一致性功能处理器件还包括:ACE_AXI接口处理模块,用于检测当前有效接口类型,并按照当前有效接口类型处理接收到的一致性协议请求,滤除与当前有效接口类型不匹配的请求处理逻辑;当前有效接口类型为ACE接口或AXI接口。
在一种实施方式中,任意一致性接口包括:ACE/AXI转CPI接口模块,用于将接收到的ACE接口信号或AXI接口信号转换为CPI接口格式。
在一种实施方式中,任意一致性接口还包括:接口通道模块,用于实现物理层、链路层和传输层的传输控制功能;其中,物理层的传输控制功能包括:物理链路的初始化及控制功能,链路层的传输控制功能包括:数据链路状态控制与管理功能,传输层的传输控制功能包括:报文的封装与解封装。
在一种实施方式中,任意一致性接口还包括:配置模块,用于对接口通道模块进行配置空间配置和内存空间寄存器的配置。
在一种实施方式中,将任意处理器设备或任意目标设备作为发起端,将发起端的任意通信对端作为目的端,则发起端与目的端之间的缓存一致性过程包括:发起端中的一致性功能处理器件将内存数据同步请求传输至发起端中的对应目标一致性接口;目标一致性接口根据内存数据同步请求生成一致性协议请求,并将一致性协议请求传输至目的端中的目的一致性接口;目的一致性接口将一致性协议请求传输至目的端中的一致性功能处理器件;目的端中的一致性功能处理器件将一致性协议请求转换为内存协议请求;目的端中的内存***根据内存协议请求读取内存***中的相应数据,并使读取的数据原路返回至发起端。
在一种实施方式中,任意处理器设备与任意目标设备之间的缓存一致性过程包括:当前处理器设备加载当前目标设备的内存数据同步请求;若当前处理器缓存中已存在当前内存数据同步请求的请求数据,则从当前处理器缓存中读取得到请求数据。
在一种实施方式中,任意处理器设备与任意目标设备之间的缓存一致性过程还包括:若当前处理器缓存中不存在当前内存数据同步请求的请求数据,则将当前内存数据同步请求通过当前处理器设备的一致性功能处理器件中的ACE接口发送至当前处理器设备的一致性功能处理器件中的ACE接口处理模块,以使ACE接口处理模块判断当前内存数据同步请求是否为无效请求;若不是无效请求,则ACE接口处理模块将当前内存数据同步请求发送至当前处理器设备的一致性功能处理器件中的多路探测模块,以使多路探测模块探测当前处理器设备中的二级缓存和对等处理器缓存;若二级缓存或对等处理器缓存中存在请求数据,则从二级缓存或对等处理器缓存中读取得到请求数据,并更新缓存行状态。
在一种实施方式中,任意处理器设备与任意目标设备之间的缓存一致性还包括:若二级缓存和对等处理器缓存中均不存在请求数据,则当前处理器设备中的一致性功能处理器件根据当前内存数据同步请求生成一致性协议请求,并将当前内存数据同步请求传输至当前处理器设备中的对应目标一致性接口;目标一致性接口根据当前内存数据同步请求生成一致性协议请求,并将一致性协议请求传输至当前目标设备中的目的一致性接口;目的一致性接口将一致性协议请求传输至当前目标设备中的一致性功能处理器件;当前目标设备中的一致性功能处理器件将一致性协议请求转换为内存协议请求;当前目标设备中的内存***根据内存协议请求读取内存***中的相应数据,并使读取的数据原路返回至当前处理器设备。
在一种实施方式中,不同目标设备之间的缓存一致性过程包括:第一目标设备加载第二目标设备的内存数据同步请求;若第一目标设备缓存中已存在当前内存数据同步请求的请求数据,则从第一目标设备缓存中读取得到请求数据。
在一种实施方式中,不同目标设备之间的缓存一致性过程包括:若第一目标设备缓存中不存在当前内存数据同步请求的请求数据,则通过第一目标设备的一致性功能处理器件和一致性接口发送探测请求至第二目标设备的一致性接口;第二目标设备的一致性接口根据探测请求检查本地缓存状态,如果命中第二目标设备的本地缓存,则从第二目标设备的本地缓存读取得到请求数据;如果未命中第二目标设备的本地缓存,则从第二目标设备的本地内存读取得到请求数据。
在一种实施方式中,不同设备之间的缓存一致性协议为MESI、MOESI或MESIF。
可见,本实施例能够实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性。该方案支持更多应用场景,具有灵活的拓展性,能够满足高内存容量要求和高延时要求,提升了不同设备之间的缓存一致性的灵活性和可扩展性。
下面对本发明实施例提供的一种处理器设备和一种加速器设备进行介绍,下文描述的一种处理器设备和一种加速器设备与本文描述的其他实施例可以相互参照。
本发明提供了一种处理器设备,包括:一致性功能处理器件和至少一个一致性接口;一致性功能处理器件和至少一个一致性接口通信连接;处理器设备的任意一致性接口与其他设备(如本发明提供的加速器设备或处理器设备)的一致性接口之间通信连接,用于实现处理器设备与其他设备之间的缓存一致性。
本发明还提供了一种加速器设备,包括:一致性功能处理器件和至少一个一致性接口;一致性功能处理器件和至少一个一致性接口通信连接;加速器设备的任意一致性接口与其他设备(如本发明提供的加速器设备或处理器设备)的一致性接口之间通信连接,用于实现加速器设备与其他设备之间的缓存一致性。
在一种实施方式中,任意一致性功能处理器件包括:寄存器配置模式选择模块,用于根据接收到的寄存器配置请求,将用于连接一致性接口的接口配置为AXI接口或ACE接口;ACE接口处理模块,用于根据接收到的一致性协议请求的事务类型确定当前一致性协议请求的处理逻辑;接口转换模块,用于实现AXI接口与ACE接口之间的接口转换。
在一种实施方式中,任意一致性功能处理器件还包括:多路探测模块,用于在探测到当前设备中的对等处理器缓存中存在请求处理器所需的响应数据时,将对等处理器缓存中的响应数据写入请求处理器缓存。
在一种实施方式中,任意一致性功能处理器件还包括:二级缓存接口模块,用于将接收到的二级缓存访问请求的数据格式转换为与二级缓存接口匹配的数据格式,并处理接收到的二级缓存访问请求;处理完成后,使处理结果原路返回至二级缓存访问请求的发送端。
在一种实施方式中,任意一致性功能处理器件还包括:虚拟内存事务模块,用于若确定一致性协议请求的事务类型为分布式虚拟内存事务,则检测当前一致性协议请求是否为无效请求;若为无效处理,则处理该无效请求。
在一种实施方式中,任意一致性功能处理器件还包括:ACE_AXI接口处理模块,用于检测当前有效接口类型,并按照当前有效接口类型处理接收到的一致性协议请求,滤除与当前有效接口类型不匹配的请求处理逻辑;当前有效接口类型为ACE接口或AXI接口。
在一种实施方式中,任意一致性接口包括:ACE/AXI转CPI接口模块,用于将接收到的ACE接口信号或AXI接口信号转换为CPI接口格式。
在一种实施方式中,任意一致性接口还包括:接口通道模块,用于实现物理层、链路层和传输层的传输控制功能;其中,物理层的传输控制功能包括:物理链路的初始化及控制功能,链路层的传输控制功能包括:数据链路状态控制与管理功能,传输层的传输控制功能包括:报文的封装与解封装。
在一种实施方式中,任意一致性接口还包括:配置模块,用于对接口通道模块进行配置空间配置和内存空间寄存器的配置。
在一种实施方式中,将任意处理器设备或任意目标设备作为发起端,将发起端的任意通信对端作为目的端,则发起端与目的端之间的缓存一致性过程包括:发起端中的一致性功能处理器件将内存数据同步请求传输至发起端中的对应目标一致性接口;目标一致性接口根据内存数据同步请求生成一致性协议请求,并将一致性协议请求传输至目的端中的目的一致性接口;目的一致性接口将一致性协议请求传输至目的端中的一致性功能处理器件;目的端中的一致性功能处理器件将一致性协议请求转换为内存协议请求;目的端中的内存***根据内存协议请求读取内存***中的相应数据,并使读取的数据原路返回至发起端。
在一种实施方式中,任意处理器设备与任意目标设备之间的缓存一致性过程包括:当前处理器设备加载当前目标设备的内存数据同步请求;若当前处理器缓存中已存在当前内存数据同步请求的请求数据,则从当前处理器缓存中读取得到请求数据。
在一种实施方式中,任意处理器设备与任意目标设备之间的缓存一致性过程还包括:若当前处理器缓存中不存在当前内存数据同步请求的请求数据,则将当前内存数据同步请求通过当前处理器设备的一致性功能处理器件中的ACE接口发送至当前处理器设备的一致性功能处理器件中的ACE接口处理模块,以使ACE接口处理模块判断当前内存数据同步请求是否为无效请求;若不是无效请求,则ACE接口处理模块将当前内存数据同步请求发送至当前处理器设备的一致性功能处理器件中的多路探测模块,以使多路探测模块探测当前处理器设备中的二级缓存和对等处理器缓存;若二级缓存或对等处理器缓存中存在请求数据,则从二级缓存或对等处理器缓存中读取得到请求数据,并更新缓存行状态。
在一种实施方式中,任意处理器设备与任意目标设备之间的缓存一致性还包括:若二级缓存和对等处理器缓存中均不存在请求数据,则当前处理器设备中的一致性功能处理器件根据当前内存数据同步请求生成一致性协议请求,并将当前内存数据同步请求传输至当前处理器设备中的对应目标一致性接口;目标一致性接口根据当前内存数据同步请求生成一致性协议请求,并将一致性协议请求传输至当前目标设备中的目的一致性接口;目的一致性接口将一致性协议请求传输至当前目标设备中的一致性功能处理器件;当前目标设备中的一致性功能处理器件将一致性协议请求转换为内存协议请求;当前目标设备中的内存***根据内存协议请求读取内存***中的相应数据,并使读取的数据原路返回至当前处理器设备。
在一种实施方式中,不同目标设备之间的缓存一致性过程包括:第一目标设备加载第二目标设备的内存数据同步请求;若第一目标设备缓存中已存在当前内存数据同步请求的请求数据,则从第一目标设备缓存中读取得到请求数据。
在一种实施方式中,不同目标设备之间的缓存一致性过程包括:若第一目标设备缓存中不存在当前内存数据同步请求的请求数据,则通过第一目标设备的一致性功能处理器件和一致性接口发送探测请求至第二目标设备的一致性接口;第二目标设备的一致性接口根据探测请求检查本地缓存状态,如果命中第二目标设备的本地缓存,则从第二目标设备的本地缓存读取得到请求数据;如果未命中第二目标设备的本地缓存,则从第二目标设备的本地内存读取得到请求数据。
在一种实施方式中,不同设备之间的缓存一致性协议为MESI、MOESI或MESIF。
可见,本实施例能够实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性。该方案支持更多应用场景,具有灵活的拓展性,能够满足高内存容量要求和高延时要求,提升了不同设备之间的缓存一致性的灵活性和可扩展性。
下面以RISC-V处理器为例,介绍在RISC-V处理器(基于精简指令集的免费开源的处理器)侧实现服务器级对称的缓存一致性互连总线的方案,由此可进行RISC-V服务器的设计,支持远端一致性内存扩展,也支持远端设备一致性访问RISC-V处理器内存,能够拓展RISC-V处理器的应用范围。
请参见图2,在RISC-V处理器侧实现的一致性互连的示意图中,RISC-V处理器部署一致性功能处理器件和缓存一致性外设接口(即一致性接口),该缓存一致性外设接口连接外设的存一致性接口。外设可以是FPGA、GPU和存储单元。通过图2所示互连总线可以拓展RISC-V处理器的应用,设计基于RISC-V的高性能服务器,以用于云计算、AI和金融等场景。
在图2所示方案中,总线的缓存一致性特性支持处理器可以一致性访问远端设备内存,远端设备也可以一致性访问处理器内存,特别适合模型训练等对内存需求高的场景,以及网卡等需要与处理器内存交互的场景。也就是说:处理器中的内存供处理器和下游外设共享,故称为共享内存;下游外设中的内存供处理器和下游外设共享,故也称为共享内存。总线缓存一致性的对称性使得RISC-V处理器间可以一致性访问,设备间也可以一致性访问,原生支持MESH拓扑,可扩展性高。其中,针对不同的RISC-V处理器实现缓存一致性协议方式不同,一致性互连总线可通过寄存器配置切换到与处理器一致的缓存一致性协议,如支持MESI的RISC-V处理器与设备的互连使用MESI一致性协议,对于支持MOESI的RISC-V处理器与设备互连使用MOESI一致性协议,而对于NUMA(Non-Uniform Memory Access,非一致性内存访问)结构的RISC-V处理器***,则使用MESIF协议。针对当前处理器***的应用场景不同,可灵活使用不同的接口模式,降低功耗。
下面具体以开源的玄铁C910的RISC-V处理器内核进行方案设计,支持1-4个核心可配置,支持RISC-V 64GC指令架构,12级深流水架构,3译码8执行的超标量架构,基于该处理器内核进行服务器级缓存一致性总线的设计。请参见图3,第一接口类型为ACE,第二接口类型为AXI,第三接口类型为CPI。RISC-V Core模块为RISC-V处理器内核(如图3中的核0和核1),可以是开源的RISC-V核,也可以是商用的RISC-V核,实现了取指、指令译码、执行、访存、回写、分支预测等流水线处理功能,对外接口为AMBA(Advanced Microcontroller BusArchitecture,模块间互连的协议规范)的ACE(AXI Coherency Extensions,一种支持缓存一致性的互连协议)接口。一致性功能处理模块是主机侧的缓存一致性处理模块,利用ACE接口实现缓存一致性协议,实现了6态状态机,可根据处理器的不同进行寄存器配置而选择不同的一致性协议,如可配置成MESI、MOESI、MESIF状态实现对应协议。该模块接收Core发起的一致性请求发送给下游缓存一致性外设接口模块,再发送给外设,实现一致性访问远端内存;同时接收外设发起的一致性读写请求发送给内存单元,实现设备一致性访问主机内存。二级缓存为多核共享的二级缓存单元。缓存一致性外设接口模块是主机侧的一致性互连总线接口,实现主机侧的一致性互连协议;寄存器单元模块用于实现一致性互连协议的配置空间以及内存空间的寄存器读写功能;AXI互连模块用于实现AXI接口互连,用于连接多个AXI设备,比如内存子***,串口等外设单元。
请参见图4,一致性功能处理模块包括:
寄存器配置模式选择模块:Core-0发起配置模式寄存器写请求,该模块进行解析并输出为两个模式选择寄存器,其中协议模式寄存器给ACE接口处理模块用于缓存一致性协议模式的配置,而接口模式寄存器给ACE_AXI接口处理模块用于模块的用户接口格式选择,值为1表示AXI接口,值为0表示ACE接口。
ACE接口处理模块:接收RISC-V Core发起的一致性读写请求,根据请求的事务类型,如果是分布式虚拟内存事务,则发送给虚拟捏成事务模块进行后续处理,其他事务类型发送给多路探测模块进行后续处理。
ACE_AXI接口处理模块:接收缓存一致性外设接口发起的一致性读写请求,实现功能类同ACE接口处理模块,增加ACE/AXI接口模式切换功能:如果配置接口模式寄存器为AXI模式,则bypass掉ACE接口相关逻辑(该模块逻辑占用相对较大),可以节省资源从而节省功耗。
虚拟内存事务模块:处理分布式虚拟内存事务请求,主要处理TLB和指令Cache的无效请求。
多路探测模块:进行MESI缓存行状态的处理。在探测对等Cache是否有请求地址数据时,如果发现对等cache有响应的数据,直接把对等cache数据写入当前cache地址,省去了写内存的操作,提高查找性能。
L2缓存接口模块:把各模块发起的读写L2缓存的请求转换为L2 Cache接口
ACE2AXI接口转换模块:完成ACE接口到AXI接口的转换。
请参见图5,缓存一致性协议接口模块包括:
ACE/AXI转CPI接口模块:把一致性功能处理模块输出ACE接口信号格式或AXI接口转化成一致性协议接口通道模块的CPI接口格式。
其中,ACE/AXI接口信号格式为AMBA AXI/ACE标准规范定义的格式,而CPI(Conherence Protocol Interface)为自定义的一致性协议接口通道输出的接口信号,主要有三个信号,分别为请求,响应和数据,其中请求信号格式请参见表1。
表1:CPI的请求信号格式
CPI的数据信号格式请参见表2。
表2:CPI的数据信号格式
CPI的响应信号格式请参见表3。
表3:CPI的响应信号格式
其中,有效标识字段表示信号是否有效,操作码字段表示什么类型的请求或响应,ID号表示序列号,负载数据和响应数据为读写数据内容,地址为读写内存地址,结束标识字段标识数据结束。
一致性协议接口通道模块:分为物理层,链路层和传输层,物理层完成物理链路初始化及控制相关功能,链路层完成数据链路状态控制与管理,传输层完成报文的封装与解封装,能解析多种一致性协议报文。
配置模块:完成对设备端的一致性协议接口通道模块的初始化配置,主要进行配置空间与内存空间寄存器的初始化配置。
其中,一致性功能处理单元的ACE_AXI接口处理模块,根据请求的目的地址选择不同的缓存一致性外设接口,用于连接不同的片外接口。
请参见图5,以两个处理器以及两个加速器外设的拓扑为例,实现:处理器一致性访问加速器设备内存或远端处理器内存、加速器设备一致性访问远端加速器设备内存或处理器内存。并以处理器一致性访问加速器设备内存,以及加速器设备一致性访问远端设备内存为例说明处理器、加速器的一致性互连访问过程。如图5,处理器、加速器外设通过缓存一致性接口直连,形成MESH拓扑,支持处理器之间,处理器与加速器之间,加速器之间的一致性访问。MESH拓扑是一种拓扑方式,所有节点互相连接,并且每一个节点至少连接其他两个节点,所有的节点之间形成一个整体的网络。
图5所示***上电初始化流程包括:上电后,处理器侧和设备端的缓存一致性外设接口的物理层完成链路的训练和链接;链接后,处理器侧的配置模块发起对外设的缓存一致性外设接口的配置空间和内存空间寄存器的初始化配置;同时配置本机和设备端的ID号,用于协议层的转发;RISC-V核心根据处理器类型和操作类型发起模式寄存器配置请求,配置协议模式寄存器为MESI协议,接口模式寄存器为AXI接口。然后主机核心会发起读写设备内存的请求。第一接口类型为ACE,第二接口类型为AXI,第三接口类型为CPI。
其中,处理器一致性访问加速器设备内存的数据处理流程请参见图6。在图6中,处理器中的一个核心发起加载外设内存数据的请求;当前核心的一级缓存中是否已缓存了外设内存的数据;若是,则从一级缓存读取数据;若否,则请求通过ACE接口发送到一致性功能处理模块的ACE接口处理模块;根据请求类型判断是否是无效LTB/ICACHE请求;若是,则发送请求到缓存交换模块进行后续处理。当前场景不会跳转到该模块。若不是无效请求,则发送请求到多路探测模块,多路探测模块读取二级缓存和探测其他核心是否有对应数据,如果请求数据在二级缓存中,则直接读取二级缓存的数据返回,二级缓存不命中则查看探测结果是否有命中的,有则读取其他核心的数据,并更新缓存行的状态,都没有命中则把请求通过AXI接口发送给缓存一致性外设接口模块去读取外设内存。缓存一致性外设接口把AXI请求转化成一致性协议接口CPI格式的请求发送给一致性协议接口通道;一致性协议接口通道把一致性请求转化成串行数据通过物理链路发送给外设的缓存一致性外设接口;一致性协议接口通道把一致性请求转化成串行数据通过物理链路发送给外设的缓存一致性外设接口;外设的缓存一致性接口通道把链路发送的串行数据转化成自定义的CPI格式请求数据发送给外设的一致性功能处理模块;外设的一致性功能处理模块把CPI格式的一致性请求转化为AXI内存总线接口格式;外设的内存子***读取对应内存数据通过反方向数据流发送回发起请求的核心,该核心把数据缓存在二级缓存和自身一级缓存中。第一接口为ACE,第二接口为AXI,第三接口为CPI。
其中,加速器之间的一致性访问内存流程包括:加速器发起读写远端设备内存请求,一致性功能处理单元查找设备缓存,如果命中则读取设备缓存数据,如果不命中,则发送探测信号,通过缓存一致性接口模块发送给远端加速器,远端加速器的缓存一致性接口接收探测请求并检查本地缓存状态,返回缓存状态给本地加速器;本地加速器查看收到的peer缓存状态,如果命中则发起请求从peer缓存取数,如果peer缓存不命中则发起读写内存地址的操作,返回的数据写回设备缓存并返回给用户加速单元。其中,用户加速单元的对外接口为AXI时,可以配置寄存器选择AXI接口,其他转换类似。
需要说明的是,处理器访问远端处理器内存的流程也类似,在此不再赘述。而且,处理器和加速器内的一致性处理单元的功能类似,可以支撑对称的一致性处理,数据流是解耦主机的,但初始化配置还是需要处理器来发起。
本实施例通过处理器侧的一致性功能处理模块和缓存一致性外设接口实现一致性互连功能,处理器侧和设备侧都包含一致性功能处理模块、缓存一致性外设接口模块以及内存子***,构成对称的一致性模型,支持原生的MESH拓扑,从而支持处理器与外设、处理器间的以及设备间的一致性访存功能,支持更多应用场景,灵活的拓展性。而处理器一致性访问设备内存以及设备一致性访问主机内存的特性提高了多种应用场景的性能,比如大模型训练、金融加速、高性能网卡等等对内存容量要求高、延时要求高的场景。另外,对于内存扩展,支持多种内存介质,如PMEM持久内存,LPDDR(低功耗DDR),SSD等。
具体实现中,针对不同的RISC-V处理器支持不同的缓存一致性协议模式配置,如支持MESI的RISC-V处理器与设备的互连使用MESI一致性协议,对于支持MOESI的RISC-V处理器与设备互连使用MOESI一致性协议,而对于NUMA结构的RISC-V处理器***,则使用MESIF协议,可用于多种类型RISC-V处理器用于实现服务器级应用。针对当前处理器***的应用场景不同,可灵活使用不同的接口模式,如内存扩展应用场景(主机读写设备内存)可以使用AXI接口,而高性能低延时网卡需要读写主机内存的需要配置成ACE接口用户,通过灵活配置接口模式,资源利用率达到最低,降低功耗。
在本实施例中,设计了一种对称的缓存一致性接口,该接口的缓存一致性使处理器可以一致性访问外设内存,外设也可以一致性访问主机内存,对于内存扩展相关的应用,如大模型训练,可以提高性能,对于网卡等应用可以极大降低延时。对称性支持灵活的扩展方式,支持处理器间的一致性内存访问以及设备间的一致性内存访问。以上有效缓解了内存墙和IO墙。
下面对本发明实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与本文描述的其他实施例可以相互参照。
本发明实施例公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
进一步的,本发明实施例还提供了一种电子设备。其中,上述电子设备既可以是如图7所示的服务器,也可以是如图8所示的终端。图7和图8均是根据一示例性实施例示出的电子设备结构图,图中的内容不能被认为是对本发明的使用范围的任何限制。
图7为本发明实施例提供的一种服务器的结构示意图。该服务器具体可以包括:至少一个处理器、至少一个存储器、电源、通信接口、输入输出接口和通信总线。其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行,以实现前述任一实施例公开的数据处理中的相关步骤。
本实施例中,电源用于为服务器上的各硬件设备提供工作电压;通信接口能够为服务器创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作***、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
其中,操作***用于管理与控制服务器上的各硬件设备以及计算机程序,以实现处理器对存储器中数据的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序除了包括能够用于完成前述任一实施例公开的数据处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据除了可以包括应用程序的更新信息等数据外,还可以包括应用程序的开发商信息等数据。
图8为本发明实施例提供的一种终端的结构示意图,该终端具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
通常,本实施例中的终端包括有:处理器和存储器。
其中,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器可以包括一个或多个计算机非易失性存储介质,该计算机非易失性存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器至少用于存储以下计算机程序,其中,该计算机程序被处理器加载并执行之后,能够实现前述任一实施例公开的由终端侧执行的数据处理方法中的相关步骤。另外,存储器所存储的资源还可以包括操作***和数据等,存储方式可以是短暂存储或者永久存储。其中,操作***可以包括Windows、Unix、Linux等。数据可以包括但不限于应用程序的更新信息。
在一些实施例中,终端还可包括有显示屏、输入输出接口、通信接口、传感器、电源以及通信总线。
本领域技术人员可以理解,图8中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件。
下面对本发明实施例提供的一种非易失性存储介质进行介绍,下文描述的一种非易失性存储介质与本文描述的其他实施例可以相互参照。
一种非易失性存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的数据处理方法。其中,非易失性存储介质为计算机可读的非易失性存储介质,其作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作***、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
下面对本发明实施例提供的一种计算机程序产品进行介绍,下文描述的一种计算机程序产品与本文描述的其他实施例可以相互参照。
一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现前述公开的数据处理方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的非易失性存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (22)
1.一种数据处理***,其特征在于,包括:至少一个处理器设备以及与所述至少一个处理器设备连接的至少一个目标设备;
各处理器设备和各目标设备中均包括:一致性功能处理器件和至少一个一致性接口;在同一设备中,一致性功能处理器件和至少一个一致性接口通信连接;
不同处理器设备中的、不同目标设备中的、任意处理器设备与任意目标设备中的,两个一致性接口之间通信连接,用于实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性。
2.根据权利要求1所述的***,其特征在于,任意一致性功能处理器件包括:
寄存器配置模式选择模块,用于根据接收到的寄存器配置请求,将用于连接一致性接口的接口配置为AXI接口或ACE接口;
ACE接口处理模块,用于根据接收到的一致性协议请求的事务类型确定当前一致性协议请求的处理逻辑;
接口转换模块,用于实现AXI接口与ACE接口之间的接口转换。
3.根据权利要求1所述的***,其特征在于,任意一致性功能处理器件还包括:
多路探测模块,用于在探测到当前设备中的对等处理器缓存中存在请求处理器所需的响应数据时,将对等处理器缓存中的响应数据写入请求处理器缓存。
4.根据权利要求1所述的***,其特征在于,任意一致性功能处理器件还包括:
二级缓存接口模块,用于将接收到的二级缓存访问请求的数据格式转换为与二级缓存接口匹配的数据格式,并处理接收到的二级缓存访问请求;处理完成后,使处理结果原路返回至二级缓存访问请求的发送端。
5.根据权利要求2所述的***,其特征在于,任意一致性功能处理器件还包括:
虚拟内存事务模块,用于若确定一致性协议请求的事务类型为分布式虚拟内存事务,则检测当前一致性协议请求是否为无效请求;若为无效处理,则处理该无效请求。
6.根据权利要求2所述的***,其特征在于,任意一致性功能处理器件还包括:
ACE_AXI接口处理模块,用于检测当前有效接口类型,并按照当前有效接口类型处理接收到的一致性协议请求,滤除与当前有效接口类型不匹配的请求处理逻辑;当前有效接口类型为ACE接口或AXI接口。
7.根据权利要求1所述的***,其特征在于,任意一致性接口包括:
ACE/AXI转CPI接口模块,用于将接收到的ACE接口信号或AXI接口信号转换为CPI接口格式。
8.根据权利要求1所述的***,其特征在于,任意一致性接口还包括:
接口通道模块,用于实现物理层、链路层和传输层的传输控制功能;其中,物理层的传输控制功能包括:物理链路的初始化及控制功能,链路层的传输控制功能包括:数据链路状态控制与管理功能,传输层的传输控制功能包括:报文的封装与解封装。
9.根据权利要求8所述的***,其特征在于,任意一致性接口还包括:
配置模块,用于响应于所述接口通道模块的配置指令,响应于所述接口通道模块的配置指令,对所述接口通道模块进行配置空间配置和内存空间寄存器的配置。
10.根据权利要求1所述的***,其特征在于,
将任意处理器设备或任意目标设备作为发起端,将所述发起端的任意通信对端作为目的端,则所述发起端与所述目的端之间的缓存一致性过程包括:
所述发起端中的一致性功能处理器件将内存数据同步请求传输至所述发起端中的对应目标一致性接口;所述目标一致性接口根据内存数据同步请求生成一致性协议请求,并将所述一致性协议请求传输至所述目的端中的目的一致性接口;所述目的一致性接口将所述一致性协议请求传输至所述目的端中的一致性功能处理器件;所述目的端中的一致性功能处理器件将所述一致性协议请求转换为内存协议请求;所述目的端中的内存***根据所述内存协议请求读取所述内存***中的相应数据,并使读取的数据原路返回至所述发起端。
11.根据权利要求1所述的***,其特征在于,任意处理器设备与任意目标设备之间的缓存一致性过程包括:
当前处理器设备加载当前目标设备的内存数据同步请求;
若当前处理器缓存中已存在当前内存数据同步请求的请求数据,则从当前处理器缓存中读取得到所述请求数据。
12.根据权利要求11所述的***,其特征在于,任意处理器设备与任意目标设备之间的缓存一致性过程还包括:
若当前处理器缓存中不存在当前内存数据同步请求的请求数据,则将当前内存数据同步请求通过当前处理器设备的一致性功能处理器件中的ACE接口发送至当前处理器设备的一致性功能处理器件中的ACE接口处理模块,以使ACE接口处理模块判断当前内存数据同步请求是否为无效请求;
若不是无效请求,则ACE接口处理模块将当前内存数据同步请求发送至当前处理器设备的一致性功能处理器件中的多路探测模块,以使多路探测模块探测当前处理器设备中的二级缓存和对等处理器缓存;
若二级缓存或对等处理器缓存中存在所述请求数据,则从二级缓存或对等处理器缓存中读取得到所述请求数据,并更新缓存行状态。
13.根据权利要求11所述的***,其特征在于,任意处理器设备与任意目标设备之间的缓存一致性还包括:
若二级缓存和对等处理器缓存中均不存在所述请求数据,则当前处理器设备中的一致性功能处理器件根据当前内存数据同步请求生成一致性协议请求,并将当前内存数据同步请求传输至当前处理器设备中的对应目标一致性接口;所述目标一致性接口根据当前内存数据同步请求生成一致性协议请求,并将所述一致性协议请求传输至当前目标设备中的目的一致性接口;所述目的一致性接口将所述一致性协议请求传输至当前目标设备中的一致性功能处理器件;当前目标设备中的一致性功能处理器件将所述一致性协议请求转换为内存协议请求;当前目标设备中的内存***根据所述内存协议请求读取所述内存***中的相应数据,并使读取的数据原路返回至当前处理器设备。
14.根据权利要求1所述的***,其特征在于,不同目标设备之间的缓存一致性过程包括:
第一目标设备加载第二目标设备的内存数据同步请求;
若第一目标设备缓存中已存在当前内存数据同步请求的请求数据,则从第一目标设备缓存中读取得到所述请求数据。
15.根据权利要求14所述的***,其特征在于,不同目标设备之间的缓存一致性过程包括:
若第一目标设备缓存中不存在当前内存数据同步请求的请求数据,则通过第一目标设备的一致性功能处理器件和一致性接口发送探测请求至第二目标设备的一致性接口;第二目标设备的一致性接口根据探测请求检查本地缓存状态,如果命中第二目标设备的本地缓存,则从第二目标设备的本地缓存读取得到请求数据;如果未命中第二目标设备的本地缓存,则从第二目标设备的本地内存读取得到请求数据。
16.根据权利要求1至15任一项所述的***,其特征在于,不同设备之间的缓存一致性协议为MESI、MOESI或MESIF。
17.一种数据处理方法,其特征在于,应用于数据处理***,该数据处理***包括:至少一个处理器设备以及与所述至少一个处理器设备连接的至少一个目标设备;各处理器设备和各目标设备中均包括:一致性功能处理器件和至少一个一致性接口;在同一设备中,一致性功能处理器件和至少一个一致性接口通信连接;不同处理器设备中的、不同目标设备中的、任意处理器设备与任意目标设备中的,两个一致性接口之间通信连接,用于实现不同处理器设备之间的缓存一致性、不同目标设备之间的缓存一致性、任意处理器设备与任意目标设备之间的缓存一致性;
其中,将任意处理器设备或任意目标设备作为发起端,将所述发起端的任意通信对端作为目的端,则所述数据处理方法包括:
所述发起端中的一致性功能处理器件将内存数据同步请求传输至所述发起端中的对应目标一致性接口;所述目标一致性接口根据内存数据同步请求生成一致性协议请求,并将所述一致性协议请求传输至所述目的端中的目的一致性接口;所述目的一致性接口将所述一致性协议请求传输至所述目的端中的一致性功能处理器件;所述目的端中的一致性功能处理器件将所述一致性协议请求转换为内存协议请求;所述目的端中的内存***根据所述内存协议请求读取所述内存***中的相应数据,并使读取的数据原路返回至所述发起端。
18.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求17所述的方法。
19.一种非易失性存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求17所述的方法。
20.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求17所述的数据处理方法的步骤。
21.一种处理器设备,其特征在于,包括:一致性功能处理器件和至少一个一致性接口;一致性功能处理器件和至少一个一致性接口通信连接;
所述处理器设备的任意一致性接口与其他设备的一致性接口之间通信连接,用于实现所述处理器设备与其他设备之间的缓存一致性。
22.一种加速器设备,其特征在于,包括:一致性功能处理器件和至少一个一致性接口;一致性功能处理器件和至少一个一致性接口通信连接;
所述加速器设备的任意一致性接口与其他设备的一致性接口之间通信连接,用于实现所述加速器设备与其他设备之间的缓存一致性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410534079.XA CN118113631B (zh) | 2024-04-30 | 一种数据处理***、方法、设备、介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410534079.XA CN118113631B (zh) | 2024-04-30 | 一种数据处理***、方法、设备、介质及计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118113631A true CN118113631A (zh) | 2024-05-31 |
CN118113631B CN118113631B (zh) | 2024-07-02 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110221985A (zh) * | 2019-06-06 | 2019-09-10 | 成都海光集成电路设计有限公司 | 跨芯片维护缓存一致性策略的装置与方法 |
US20190347125A1 (en) * | 2016-12-31 | 2019-11-14 | Intel Corporation | Systems, methods, and apparatuses for heterogeneous computing |
CN116418869A (zh) * | 2022-01-07 | 2023-07-11 | 三星电子株式会社 | 用于缓存一致性的装置和方法 |
EP4273706A1 (en) * | 2022-05-02 | 2023-11-08 | Samsung Electronics Co., Ltd. | Storage device, memory device, and system including storage device and memory device |
CN117407194A (zh) * | 2023-10-27 | 2024-01-16 | 中电科申泰信息科技有限公司 | 一种基于缓存一致性的异构通信架构 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190347125A1 (en) * | 2016-12-31 | 2019-11-14 | Intel Corporation | Systems, methods, and apparatuses for heterogeneous computing |
CN110221985A (zh) * | 2019-06-06 | 2019-09-10 | 成都海光集成电路设计有限公司 | 跨芯片维护缓存一致性策略的装置与方法 |
CN116418869A (zh) * | 2022-01-07 | 2023-07-11 | 三星电子株式会社 | 用于缓存一致性的装置和方法 |
EP4273706A1 (en) * | 2022-05-02 | 2023-11-08 | Samsung Electronics Co., Ltd. | Storage device, memory device, and system including storage device and memory device |
CN117407194A (zh) * | 2023-10-27 | 2024-01-16 | 中电科申泰信息科技有限公司 | 一种基于缓存一致性的异构通信架构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6918012B2 (en) | Streamlined cache coherency protocol system and method for a multiple processor single chip device | |
JP3904244B2 (ja) | シングル・チップ・データ処理装置 | |
US8037253B2 (en) | Method and apparatus for global ordering to insure latency independent coherence | |
CN108268385B (zh) | 具有集成目录高速缓存的优化的高速缓存代理 | |
US8806232B2 (en) | Systems and method for hardware dynamic cache power management via bridge and power manager | |
TW200534110A (en) | A method for supporting improved burst transfers on a coherent bus | |
TW200910100A (en) | Cache memory having configurable associativity | |
CN113495861A (zh) | 用于计算的***和方法 | |
JP2011258193A (ja) | 持続性メモリのためのキャッシュコヒーレンスプロトコル | |
JP2020523674A (ja) | システム内のキャッシュ転送のオーバーヘッドの削減 | |
US9864687B2 (en) | Cache coherent system including master-side filter and data processing system including same | |
US9311243B2 (en) | Emulated message signaled interrupts in multiprocessor systems | |
WO2014052383A1 (en) | System cache with data pending state | |
US20140025930A1 (en) | Multi-core processor sharing li cache and method of operating same | |
KR20060023963A (ko) | 멀티쓰레디드 컴퓨터 프로세싱을 제공하는 방법, 장치 및시스템 | |
US20030023794A1 (en) | Cache coherent split transaction memory bus architecture and protocol for a multi processor chip device | |
EP4235441A1 (en) | System, method and apparatus for peer-to-peer communication | |
EP4123649A1 (en) | Memory module, system including the same, and operation method of memory module | |
US20150074357A1 (en) | Direct snoop intervention | |
TW201423403A (zh) | 共用資源的存取請求之有效率處理 | |
CN115827513A (zh) | 利用可编程交织粒度的用于cxl类型-2设备的可扩展地址解码方案 | |
CN115114186A (zh) | 用于多核架构的近数据加速的技术 | |
US11436146B2 (en) | Storage control apparatus, processing apparatus, computer system, and storage control method | |
CN118113631B (zh) | 一种数据处理***、方法、设备、介质及计算机程序产品 | |
CN118113631A (zh) | 一种数据处理***、方法、设备、介质及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |