用于在竞争时执行原子存储器操作的方法与流程

文档序号:33799327发布日期:2023-04-19 10:54阅读:34来源:国知局
用于在竞争时执行原子存储器操作的方法与流程

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


背景技术:

1、高速缓存是存储数据(数据高速缓存)或指令(指令高速缓存)的硬件和/或软件组件,使得能够更快地服务对该数据或指令的未来请求。高速缓存分层结构通常包括连接到一个或多个共享高速缓存的一个或多个专用高速缓存,该共享高速缓存继而连接到备份储存器或存储器。

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

3、原子存储器操作(amo)是不可中断的读-修改-写入存储器操作。换言之,它是必须在单个步骤中完成的加载-添加-存储的存储器操作。当高速缓存本地地执行amo时,从高速缓存请求高速缓存线一致性协议状态升级到“修改”的状态(其中其他高速缓存被侦听探测无效,使得所请求的高速缓存能够得到唯一的高速缓存线(共享->修改))到高速缓存可以执行amo之间能够存在延迟。在这个延迟期间,另一高速缓存能够请求相同的高速缓存线,从而侦听探测原始的请求的高速缓存。这能够导致单个高速缓存线在两个或更多个高速缓存之间跳动,因此降低关于竞争的高速缓存线的amo的性能。


技术实现思路



技术特征:

1.一种处理系统,包括:

2.根据权利要求1所述的处理系统,其中,在所述一个本地高速缓存处高速缓存未命中的情况下,所述请求是针对所述高速缓存线的。

3.根据权利要求1所述的处理系统,其中,在所述一个本地高速缓存处高速缓存命中的情况下,所述请求是针对高速缓存一致性状态升级的。

4.根据权利要求1所述的处理系统,其中,所述较低层级高速缓存被配置为:

5.根据权利要求4所述的处理系统,其中,所述各种因素包括至少最近最少使用(lru)算法、等待时间、来自与所述高速缓存线相关联的其它高速缓存或存储器结构的输入、包含性的高速缓存存在比特、匹配正在运行或从另一高速缓存缓冲的事务、所述较低层级高速缓存是否完全具有所述高速缓存线、所述较低层级高速缓存是否具有处于共享或唯一一致性状态的高速缓存线、匹配来自较后层级高速缓存的探测、匹配来自较低层级高速缓存的驱逐、最近存取的可能被竞争的高速缓存线的预测表、以及不可能被竞争的高速缓存线的布尔过滤器。

6.根据权利要求5所述的处理系统,其中,所述较低层级高速缓存还被配置为:

7.根据权利要求6所述的处理系统,其中,所述较低层级高速缓存还被配置为:

8.根据权利要求7所述的处理系统,其中,所述一个本地高速缓存还被配置为:

9.一种处理系统,包括:

10.根据权利要求9所述的处理系统,其中,在所述本地高速缓存处高速缓存未命中的情况下,所述请求是针对所述高速缓存线的。

11.根据权利要求9所述的处理系统,其中,在所述本地高速缓存处高速缓存命中的情况下,所述请求是针对高速缓存一致性状态升级的。

12.根据权利要求9所述的处理系统,其中,所述共享高速缓存被配置为:

13.根据权利要求12所述的处理系统,其中,所述各种因素包括至少最近最少使用(lru)算法、等待时间、来自至少另一核心的至少另一高速缓存的输入、以及包含性的高速缓存存在比特、匹配正在运行或从另一高速缓存缓冲的事务、所述共享高速缓存是否完全具有所述高速缓存线、所述共享高速缓存是否具有处于共享或唯一一致性状态的高速缓存线、匹配来自较后层级高速缓存的探测、以及匹配来自所述共享高速缓存的驱逐。

14.根据权利要求13所述的处理系统,其中,所述共享高速缓存还被配置为:

15.一种用于执行原子存储器操作(amo)指令的方法,所述方法包括:

16.根据权利要求15所述的方法,其中,在所述本地高速缓存处高速缓存未命中的情况下,所述请求是针对所述高速缓存线的。

17.根据权利要求15所述的方法,其中,在所述本地高速缓存处高速缓存命中的情况下,所述请求是针对高速缓存一致性状态升级的。

18.根据权利要求15所述的方法,其中,所述可用性是基于各种因素,所述各种因素包括至少最近最少使用(lru)算法、等待时间、来自与所述高速缓存线相关联的其它高速缓存或存储器结构的输入、包含性的高速缓存存在比特、匹配正在运行或从另一高速缓存缓冲的事务、所述较低层级存储器结构是否完全具有所述高速缓存线、所述较低层级存储器结构是否具有处于共享或唯一一致性状态的高速缓存线、匹配来自较后层级存储器结构的探测、匹配来自所述较低层级存储器结构的驱逐。

19.根据权利要求15所述的方法,所述方法还包括:

20.根据权利要求15所述的方法,所述方法还包括:


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

技术研发人员:约翰·英戈尔斯,韦斯利·韦伦·特普斯特拉,亨利·库克,雷刚·寇
受保护的技术使用者:斯法夫股份有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1