具有混合回写和透写的数据高速缓存制造技术

技术编号:35161099 阅读:16 留言:0更新日期:2022-10-12 17:21
描述的是一种实现混合回写和透写的数据高速缓存。处理系统包括存储器、存储器控制器和处理器。该处理器包括包含有高速缓存行的数据高速缓存、写缓冲器和存储队列。该存储队列在命中高速缓存行最初处于至少共享一致性状态时将数据写入到命中高速缓存行和写缓冲器中分配的条目,导致命中高速缓存行处于带有数据的共享一致性状态并且分配的条目处于带有数据的已修改一致性状态。写缓冲器请求并且存储器控制器基于跟踪的一致性状态来将命中高速缓存行升级到带有数据的已修改一致性状态。写缓冲器在升级后使数据引退。数据高速缓存对于定义事件将数据回写到存储器。于定义事件将数据回写到存储器。于定义事件将数据回写到存储器。

【技术实现步骤摘要】
【国外来华专利技术】具有混合回写和透写的数据高速缓存


[0001]本公开涉及数据高速缓存(cache),并且具体地,涉及当数据高速缓存处于共享状态或独占一致性状态时实现混合回写和透写的数据高速缓存。

技术介绍

[0002]数据高速缓存是存储数据使得能够更快地针对该数据的将来请求进行服务的硬件组件和/或软件组件。通常,数据高速缓存是回写数据高速缓存类型或透写数据高速缓存类型,其中,数据高速缓存类型控制存储在数据高速缓存中的数据何时被写入到后备暂存器、存储器等。回写写入策略延迟到后备暂存器的写入,直到数据高速缓存中的修改内容即将被另一高速缓存块替换或者基于其他策略为止。透写写入策略在向数据高速缓存写入时同步地向后备暂存器写入。
[0003]共享存储器多处理器系统中的数据高速缓存通常服从于高速缓存一致性协议和一致性机制进行操作,这些高速缓存一致性协议和一致性机制确保共享数据的值的变化以及时方式传遍共享存储器多处理器系统。两种常见高速缓存一致性协议是例如已修改、独占、共享、无效(MESI)协议和已修改、共享、无效(MSI)协议。在实现方式中,可以将独占一致性协议状态称为唯一一致性协议状态。通常,在已修改一致性协议状态中,高速缓存行仅存在于当前高速缓存中并且是脏的。也就是说,高速缓存行中的数据与后备暂存器中的数据不同。在这种情况下,要求数据高速缓存在将来某个时间将数据回写到后备暂存器,然后才许可对(不再有效的)后备暂存器进行任何其他读取。在执行回写后,高速缓存行改变为共享一致性协议状态。在独占一致性协议状态下,高速缓存行仅存在于当前数据高速缓存中并且是干净的。也就是说,高速缓存行中的数据与后备暂存器中的数据匹配。响应于读取请求,可以随时将高速缓存行改变为共享一致性协议状态。可替换地,可以在向高速缓存行写入时将高速缓存行改变为已修改一致性协议状态。在共享一致性协议状态下,高速缓存行可以被存储在系统的其他高速缓存中并且是干净的。也就是说,高速缓存行中的数据与后备暂存器中的数据匹配。高速缓存行可以被随时丢弃(改变为无效一致性协议状态)。在无效一致性协议状态下,高速缓存行无效(未使用)。
[0004]在回写数据高速缓存中,可以将暂存器(或许多暂存器)发出到处于“干净”(无效、共享或独占)一致性协议状态的(一个或多个)高速缓存行或(一个或多个)高速缓存块,该“干净”(无效、共享或独占)一致性协议状态被经典地定义成具有只读权限。只有当高速缓存行被建立或升级到已修改一致性协议状态时,才可以自由地执行写入。处于独占一致性协议状态的高速缓存行也不得不被升级到已修改一致性协议状态以成为全局可见的。
[0005]一致性协议升级能够使用诸如窥探(snooping)的一致机制来完成,其中每个数据高速缓存用于对它们已高速缓存的存储器位置或目录的访问来监测地址线,其中后备控制器记住哪个(或哪些)高速缓存在哪个(或哪些)高速缓存块上具有哪个(哪些)一致性权限。此一致性协议升级过程在互连网络中花时间来探测窥探降级其他高速缓存,从而导致存储指令引退延迟和性能降低。
附图说明
[0006]当结合附图阅读时,从以下详细描述能够最好地理解本公开。应强调的是,根据惯例,附图的各种特征未按比例绘制。相反,为了清楚,各种特征的尺寸被任意地扩大或缩小。
[0007]图1是依照本公开的实施例的用于实现混合回写和透写的处理系统的示例的高级框图。
[0008]图2是依照本公开的实施例的用于实现混合回写和透写的处理系统的示例加载暂存器单元的高级框图。
[0009]图3是依照本公开的实施例的用于实现混合回写和透写的示例技术或方法的流程图
[0010]图4是依照本公开的实施例的用于实现混合回写和透写的示例技术或方法的流程图。
[0011]图5是依照本公开的实施例的用于实现混合回写和透写的示例技术的图。
[0012]图6是依照本公开的实施例的用于实现混合回写和透写的示例技术的图。
[0013]图7是依照本公开的实施例的用于实现混合回写和透写的示例技术的图。
具体实施方式
[0014]本文公开的是用于混合回写和透写数据高速缓存的系统和方法。多处理器处理系统能够包括多个处理器和共享存储器。每一个处理器能够具有包括L1数据高速缓存的数据高速缓存。L1数据高速缓存可以是能够减轻与执行一致性协议升级相关联的时延并且仍然遵守高速缓存一致性协议的策略的混合回写和透写数据高速缓存。
[0015]处理器包括混合回写和透写数据高速缓存、跟踪该混合回写和透写数据高速缓存的写缓冲器、以及存储队列。即使混合回写和透写数据高速缓存中的高速缓存行处于共享或独占一致性状态,存储队列也将数据写入到混合回写和透写数据高速缓存中的命中高速缓存行并且在写缓冲器中分配条目以写入数据。这导致命中高速缓存行处于带有数据的共享一致性状态并且写缓冲器中分配的条目处于带有数据的已修改一致性状态。写缓冲器给存储器控制器发消息以将命中高速缓存行升级到带有数据的已修改一致性状态并且存储器控制器相应地给混合回写和透写数据高速缓存发消息。写缓冲器使数据引退,并且对于定义事件混合回写和透写数据高速缓存将数据回写到存储器。如果处理器在升级或回写之前接收到探测,则写缓冲器能够透写更新数据或脏数据。例如,如果混合回写和透写数据高速缓存中的命中高速缓存行被窥探探测为共享或无效一致性状态,则写缓冲器将透写更新数据或脏数据。
[0016]混合回写和透写数据高速缓存中的命中高速缓存行中的更新数据将可通过加载从本地处理器hart读取,其中hart是表示运行环境内独立地前进的运行上下文的资源抽象。换句话说,hart是运行环境内的资源,其具有状态并且沿着在同一运行环境内部独立于其他软件运行指令流前进。更新数据不可通过窥探探测读取。或者说,更新数据不可由非本地实体读取,这些非本地实体能够包括例如非本地处理器、非本地高速缓存控制器、非本地核心等。
[0017]混合回写和透写数据高速缓存的使用具有将存储器一致性排序模型允许的本地暂存器缓冲器扩展到数据高速缓存的实际内容中的效果,然后能够使数据高速缓存的实际
内容变得全局可见,不论何时数据高速缓存被更新到已修改一致性状态。针对混合回写和透写数据高速缓存实现的技术适用于RISC

V和ARM处理器中的弱存储器顺序(WMO)模型并且适用于x86处理器中的总暂存器顺序(TSO)模型。
[0018]在以下详细描述、所附权利要求和附图中公开了本公开的这些和其他方面。
[0019]如本文所使用的,术语“处理器”指示一个或多个处理器,诸如一个或多个专用处理器、一个或多个数字信号处理器、一个或多个微处理器、一个或多个控制器、一个或多个微控制器、一个一个或多个应用处理器、一个或多个中央处理单元(CPU)、一个或多个图形处理单元(GPU)、一个或多个数字信号处理器(DSP)、一个或多个专用集成电路(ASIC)、一个或多个专用标准产品、一个或多个现场可编程门阵列、任何其他类型或组合的集成电路、一个或多个状态机或其任何组合。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种处理系统,包括:存储器和关联的存储器控制器;以及处理器,所述处理器连接到所述存储器,所述处理器包括:数据高速缓存,所述数据高速缓存包括多个高速缓存行;写缓冲器,所述写缓冲器被配置成跟踪所述数据高速缓存;存储队列,所述存储队列被配置成:存储一个或多个存储操作;以及在命中高速缓存行最初处于至少共享一致性状态时将数据写入到所述命中高速缓存行和所述写缓冲器中分配的条目,导致所述命中高速缓存行处于带有数据的共享一致性状态并且所述分配的条目处于带有数据的已修改一致性状态;所述写缓冲器被配置成向所述存储器控制器发送消息以将所述命中高速缓存行升级到带有数据的已修改一致性状态;所述存储器控制器被配置成将所述命中高速缓存行升级到所述带有数据的已修改一致性状态;所述写缓冲器被配置成在确认所述命中高速缓存行升级后使所述数据引退;以及所述数据高速缓存被配置成对于定义事件执行所述命中高速缓存行中的数据到存储器的回写。2.根据权利要求1所述的处理系统,还包括:所述处理器被配置成在升级所述命中高速缓存行的一致性状态之前,从所述处理器非本地的实体或所述存储器控制器中的一个接收降级到无效一致性探测;所述数据高速缓存被配置成将所述命中高速缓存行降级到无效一致性状态并且删除所述数据;以及所述写缓冲器被配置成将所述分配的条目降级到无效一致性状态并且执行所述数据到所述存储器的透写。3.根据权利要求1所述的处理系统,还包括:所述处理器被配置成在将所述数据写入到所述存储器之前,从所述处理器非本地的实体或所述存储器控制器中的一个接收降级到无效不一致探测;所述数据高速缓存被配置成将所述命中高速缓存行降级到无效一致性状态并且删除所述数据;以及所述写缓冲器被配置成将所述分配的条目降级到无效一致性状态并且执行所述数据到所述存储器的透写。4.根据权利要求2所述的处理系统,还包括:所述处理器被配置成在升级所述命中高速缓存行的一致性状态之前,从所述处理器非本地的实体或所述存储器控制器中的一个接收降级到共享一致性探测;所述命中高速缓存行被配置成保持在所述带有数据的共享一致性状态中;以及所述写缓冲器被配置成将所述分配的条目降级到所述带有数据的共享一致性状态并且执行所述数据到所述存储器的透写。5.根据权利要求2所述的处理系统,还包括:所述处理器被配置成在将所述数据写入到所述存储器之前,从所述处理器非本地的实
体或所述存储器控制器中的一个接收降级到共享不一致探测;所述命中高速缓存行被配置成保持在所述带有数据的共享一致性状态中;以及所述写缓冲器被配置成将所述分配的条目降级到所述带有数据的共享一致性状态并且执行所述数据到所述存储器的透写。6.根据权利要求1所述的处理系统,其中,所述命中高速缓存行处于独占一致性状态。7.根据权利要求1所述的处理系统,其中,所述写缓冲器是未命中状态处理寄存器。8.根据权利要求1所述的处理系统,其中,所述处理器本地的实体或过程能够访问存储在所述命中高速缓存行中的数据。9.根据权利要求1所述的处理系统,其中,所述处理器本地的实体或过程能够读取存储在所述命中高速缓存行中的数据。10.根据权利要求1所述的处理系统,其中,处于所述带有数据的已修改一致性状态的所述命中高速缓存行对所述处理器非本地的实体或过程是全局可见的。11.一种用于执行混合回写和透写的方法,所述方法包括:将数据从引退的存储队列条目写入到数据高速缓存中的命中高速缓存行,其中,所述命中高速缓存行最初处于共享一致性状态;在所述命中高速缓存行处于共享...

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

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

1
相关领域技术
  • 暂无相关专利