用于在竞争时执行原子存储器操作的方法技术

技术编号:37189603 阅读:12 留言:0更新日期:2023-04-20 22:51
描述了用于具有竞争的高速缓存线的原子存储器操作的方法和系统。一种处理系统包括:至少两个核心,每个核心具有本地高速缓存;以及与每个本地高速缓存通信的较低层级高速缓存。一种本地高速缓存被配置为:请求高速缓存线以执行原子存储器操作(AMO)指令,经由较低层级高速缓存接收高速缓存线,接收由于其它本地高速缓存在AMO的执行之前请求高速缓存线而导致的探测降级,以及响应于探测降级而向较低层级高速缓存发送AMO指令以供远程执行。层级高速缓存发送AMO指令以供远程执行。层级高速缓存发送AMO指令以供远程执行。

【技术实现步骤摘要】
【国外来华专利技术】用于在竞争时执行原子存储器操作的方法


[0001]本公开涉及高速缓存,并且更具体地涉及用于执行具有竞争的高速缓存线的原子存储器操作的方法。

技术介绍

[0002]高速缓存是存储数据(数据高速缓存)或指令(指令高速缓存)的硬件和/或软件组件,使得能够更快地服务对该数据或指令的未来请求。高速缓存分层结构通常包括连接到一个或多个共享高速缓存的一个或多个专用高速缓存,该共享高速缓存继而连接到备份储存器或存储器。
[0003]共享存储器多处理器系统中的高速缓存通常在高速缓存一致性协议与一致性机制的约束下操作,这确保数据高速缓存中的共享数据的数值变化,例如,以及时方式传播到整个共享存储器多处理器系统。两个常见的高速缓存一致性协议是,例如,修改、独占、共享、无效(MESI)协议和修改、共享、无效(MSI)协议。在实施方式中,独占的一致性协议状态可以被称为唯一一致性协议状态。通常,在修改的一致性协议状态中,高速缓存线仅存在于当前高速缓存中并且是脏的。也就是说,高速缓存线中的数据与备份储存器或存储器中的数据不同。在这种情况下,需要数据高速缓存在将来的某个时间在允许对该(不再有效的)备份储存器进行任何其它读取之前将数据写回备份储存器。在执行写回时,高速缓存线改变到共享一致性协议状态。在独占的一致性协议状态中,高速缓存线仅存在于当前数据高速缓存中且是干净的。也就是说,高速缓存线中的数据与备份储存器中的数据相匹配。可以响应于读取请求而在任何时间将高速缓存线改变至共享一致性协议状态。替代地,当写入至高速缓存线时,可以将高速缓存线改变至修改的一致性协议状态。在共享一致性协议状态中,高速缓存线可以被存储在系统的其它高速缓存中并且是干净的。也就是说,高速缓存线中的数据与备份储存器中的数据相匹配。高速缓存线可以在任何时间被丢弃(改变至无效一致性协议状态)。在无效一致性协议状态中,高速缓存线是无效的(不使用的)。在写回数据高速缓存中,可以将储存器(或多个储存器)发布至处于“干净”(无效,共享或独占)一致性协议状态的(多个)高速缓存线或(多个)高速缓存块,其典型地被定义为具有只读权限。当高速缓存线被建立或升级到修改的一致性协议状态时,才可以自由地执行写入。处于独占一致性协议状态的高速缓存线也必须被升级到修改的一致性协议状态以为全局可见。一致性协议升级能够使用一致性机制来完成,诸如侦听,其中每个数据高速缓存监视地址线以存取它们已经高速缓存的存储器位置、或目录,其中备份控制器记住哪个或哪些高速缓存在哪个或哪些高速缓存块上具有哪个或哪些一致性权限。
[0004]原子存储器操作(AMO)是不可中断的读

修改

写入存储器操作。换言之,它是必须在单个步骤中完成的加载

添加

存储的存储器操作。当高速缓存本地地执行AMO时,从高速缓存请求高速缓存线一致性协议状态升级到“修改”的状态(其中其他高速缓存被侦听探测无效,使得所请求的高速缓存能够得到唯一的高速缓存线(共享

>修改))到高速缓存可以执行AMO之间能够存在延迟。在这个延迟期间,另一高速缓存能够请求相同的高速缓存线,
从而侦听探测原始的请求的高速缓存。这能够导致单个高速缓存线在两个或更多个高速缓存之间跳动,因此降低关于竞争的高速缓存线的AMO的性能。
附图说明
[0005]当结合附图阅读时,从下面的详细描述中可以最佳地理解本公开。要强调的是,根据通常的实践,附图的各种特征不是按比例绘制的。相反,为了清楚起见,各种特征的尺寸被任意地扩大或缩小。
[0006]图1是根据本公开实施例的用于实施具有竞争的高速缓存线的原子存储器操作的处理系统的示例的框图。
[0007]图2是根据本公开实施例的用于实施具有竞争的高速缓存线的原子存储器操作的示例技术或方法的流程图。
[0008]图3是根据本公开实施例的用于实施具有竞争的高速缓存线的原子存储器操作的示例技术或方法的流程图。
[0009]图4是根据本公开实施例的用于实施具有竞争的高速缓存线的原子存储器操作的示例技术或方法的流程图。
[0010]图5是根据本公开实施例的用于实施具有竞争的高速缓存线的原子存储器操作的示例技术或方法的流程图。
[0011]图6是根据本公开实施例的用于实施具有竞争的高速缓存线的原子存储器操作的示例技术或方法的流程图。
[0012]图7是根据本公开实施例的用于实施具有竞争的高速缓存线的原子存储器操作的示例技术或方法的流程图。
具体实施方式
[0013]本文中公开了用于实施具有竞争的高速缓存线的原子存储器操作的系统和方法。多处理器处理系统能够包括多个处理器和共享存储器。每个处理器可以具有或访问连接到一个或多个共享或远程高速缓存的本地高速缓存或L1高速缓存,共享或远程高速缓存继而连接到备份储存器或存储器(统称为“存储器分层结构”)。
[0014]处理器需要执行或进行原子存储器操作(AMO)指令。处理器的本地高速缓存请求来自存储器分层结构的较低层级的高速缓存线以执行AMO指令。在实施方式中,如果在等待执行AMO指令的同时侦听探测本地高速缓存,则本地高速缓存不本地地执行AMO指令,而是改变AMO指令以在存储器分层结构的另一层级中远程地执行,该另一层级更接近于本地高速缓存和导致侦听探测的另一请求的高速缓存之间的共享的共同根。在实施方式中,如果所请求的高速缓存线被存储器分层结构的该另一层级识别或确定为竞争的高速缓存线,则存储器分层结构的另一层级向本地高速缓存发送竞争的高速缓存线消息。本地高速缓存响应于竞争的高速缓存线消息而发送AMO指令以在存储器分层结构的另一层级中远程地执行。在实施方式中,能够基于各种因素来确定高速缓存线是否是竞争的高速缓存线,这些因素包括但不限于:最近最少使用(LRU)算法、来自其它涉及的高速缓存的输入、包含性的高速缓存存在比特、匹配正在运行或从另一高速缓存缓冲的事务、L2是否完全具有高速缓存线、L2是否具有处于共享或唯一一致性状态的高速缓存线、匹配来自较后层级LN高速缓存
的探测、匹配来自L2高速缓存的驱逐、最近访问的可能被竞争的高速缓存线的预测表、不太可能被竞争的高速缓存线的布尔过滤器等。在实施方式中,确定高速缓存线是否是竞争的高速缓存线能够使用竞争侦测机制。在实施方式中,确定高速缓存线是否是竞争的高速缓存线能够使用基于人工智能和机器学习的技术。在实施方式中,确定高速缓存线是否是竞争的高速缓存线能够使用上述的组合。
[0015]使用具有竞争的高速缓存线技术的原子存储器操作通过在本地高速缓存与较低层级存储器结构之间减缓关于所请求的高速缓存线的乒乓效应来提高处理系统性能。所实施的技术可应用于RISC

V和ARM处理器中的弱存储器定序(WMO)模型、x86处理器中的完全储存定序(TSO)模型等。
[0016]本公开的这些和其它方面在以下详细描述、所附权利要求书和附图中公开。
[0017]如本文中所使用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种处理系统,包括:至少两个核心,每个核心具有本地高速缓存;与每个本地高速缓存通信的较低层级高速缓存;一个本地高速缓存被配置为:请求高速缓存线以执行原子存储器操作(AMO)指令;经由所述较低层级高速缓存接收所述高速缓存线;接收由于其它本地高速缓存在所述AMO的执行之前请求所述高速缓存线而导致的探测降级;以及响应于所述探测降级而向所述较低层级高速缓存发送所述AMO指令以供远程执行。2.根据权利要求1所述的处理系统,其中,在所述一个本地高速缓存处高速缓存未命中的情况下,所述请求是针对所述高速缓存线的。3.根据权利要求1所述的处理系统,其中,在所述一个本地高速缓存处高速缓存命中的情况下,所述请求是针对高速缓存一致性状态升级的。4.根据权利要求1所述的处理系统,其中,所述较低层级高速缓存被配置为:基于各种因素来确定所述高速缓存线的可用性。5.根据权利要求4所述的处理系统,其中,所述各种因素包括至少最近最少使用(LRU)算法、等待时间、来自与所述高速缓存线相关联的其它高速缓存或存储器结构的输入、包含性的高速缓存存在比特、匹配正在运行或从另一高速缓存缓冲的事务、所述较低层级高速缓存是否完全具有所述高速缓存线、所述较低层级高速缓存是否具有处于共享或唯一一致性状态的高速缓存线、匹配来自较后层级高速缓存的探测、匹配来自较低层级高速缓存的驱逐、最近存取的可能被竞争的高速缓存线的预测表、以及不可能被竞争的高速缓存线的布尔过滤器。6.根据权利要求5所述的处理系统,其中,所述较低层级高速缓存还被配置为:关于放弃所述高速缓存线的意愿检查与所述高速缓存线相关联的其它高速缓存或存储器结构。7.根据权利要求6所述的处理系统,其中,所述较低层级高速缓存还被配置为:基于所述各种因素向所述一个本地高速缓存发送竞争的高速缓存线消息。8.根据权利要求7所述的处理系统,其中,所述一个本地高速缓存还被配置为:响应于所述竞争的高速缓存线消息而向所述较低层级高速缓存发送所述AMO指令以供远程执行。9.一种处理系统,包括:具有本地高速缓存的核心;共享高速缓存,所述共享高速缓存与所述核心的所述本地高速缓存和至少另一核心的至少另一高速缓存通信;所述本地高速缓存被配置为:请求高速缓存线以执行原子存储器操作(AMO)指令;从所述共享高速缓存接收所述高速缓存线不可用的消息;以及响应于所述消息而向所述共享高速缓存发送所述AMO指令以供远程执行。10.根据权利要求9所述的处理系统,其中,在所述本地高速缓存处高速缓存未命中的
情况下,所述请求是针对所述高速缓存线的。11.根据权利要求9所述的处理系统,其中,在所述本地高速缓存处高速缓存命中的情况下,所述请求是针对高速缓存一致性状...

【专利技术属性】
技术研发人员:约翰
申请(专利权)人:斯法夫股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1