共享替换策略计算机高速缓存系统和方法技术方案

技术编号:19177059 阅读:40 留言:0更新日期:2018-10-17 00:18
本发明专利技术的系统和方法的实施例利用窥探过滤器提供牺牲品独占高速缓存中的高速缓存替换,在重新引用回CPU时在窥探过滤器中不丢失替换信息。替换信息存储在窥探过滤器中,这表示,可完全保存历史访问数据,并且允许LLC再插入点具有更大的灵活性,同时在L2高速缓存中不存储额外比特。本发明专利技术的系统和方法还包括窥探过滤器替换技术。当事务将高速缓存行移进移出主CPU时,本发明专利技术的系统和方法在窥探过滤器与牺牲品独占高速缓存(例如,LLC)之间传递替换信息。这样保持和发展了在读操作时针对从牺牲品独占高速缓存去除的高速缓存行的现有替换信息,以及智能地替换窥探过滤器中的高速缓存行并使其变旧。

Shared replacement policy computer cache system and method

Embodiments of the systems and methods of the present invention provide cache replacement in a victim-exclusive cache using a voyeur filter, and do not lose replacement information in the voyeur filter when the CPU is re-referenced. Replacement information is stored in a snoop filter, which means historical access data can be fully saved, and allows LLC re-insertion points to be more flexible, while no extra bits are stored in the L2 cache. The system and method of the invention also include snooping filter replacement technology. When transactions move cache rows in and out of the main CPU, the systems and methods of the present invention pass replacement information between a snooping filter and a victim exclusive cache (for example, LLC). This preserves and develops existing replacement information for cache rows removed from the victim's exclusive cache during read operations, and intelligently replaces and obsoletes cache rows in the snooping filter.

【技术实现步骤摘要】
共享替换策略计算机高速缓存系统和方法相关申请的交叉引用本申请要求于2017年3月27日提交的待审美国临时专利申请No.62/477,412的权益,该申请以引用方式并入本文中。
本公开涉及数字高速缓存,并且更具体地说,涉及具有存储的替换信息的窥探过滤器,以及包括牺牲品独占高速缓存和窥探过滤器共享替换策略的相关方法和系统。
技术介绍
通常将中央处理单元(CPU)中的最后一级高速缓存(LLC)的大小设置为保存最近存储器访问的几兆字节(MB)数据或指令行,从而与动态随机存取存储器(DRAM)相比,降低来自CPU自身请求的延迟。尽管这种高速缓存相对于CPU内部的1级(L1)高速缓存或2级(L2)高速缓存较大,但LLC(特别是在多个CPU之间共享的LLC)接收/发送来自多个线程的所有存储器流量,这会很快地填满该高速缓存。当高速缓存填满容量并为了最大性能需要选择牺牲的数据和保持的数据时,通常应用高速缓存替换策略或方法。LLC或共享高速缓存可为包容性的或独占的。独占共享高速缓存有时被称作牺牲品高速缓存。包容性高速缓存是这样一种高速缓存,其中将由主CPU保持的各个数据或指令行以冗余方式拷贝在高速缓存自身中。跟踪高速缓存行的冗余拷贝以及标签状态允许实现这样一种隐含的零成本窥探过滤器,其中任何外部存储器请求或探查和/或探测可通过LLC本身过滤和服务,从而减少到主CPU的存储器流量。高速缓存行是与高速缓存条目关联的一组数据。与包容性高速缓存相反,牺牲品独占高速缓存是这样一种高速缓存,其中只有在主CPU牺牲掉(即,弹出)一个高速缓存行之后才发生数据存储。牺牲品独占高速缓存不保持其主CPU的数据行。这样,通过不用冗余数据污染LLC条目,提供了更有效的唯一本地高速缓存存储,代价是存储器探查和/或探测增加并且一致性流复杂度更大。牺牲品独占高速缓存通常添加专用窥探过滤器来跟踪存在于主CPU而不是高速缓存中的高速缓存行的一致性状态,以恢复到主CPU的存储器流量的减小。窥探过滤器是跟踪高速缓存行的元状态(而不是它们的数据有效负载)的LLC存储。这样有助于减少牺牲品LLC或者没有本地高速缓存的结构(fabric)的流量问题。通常,高速缓存替换策略应用于包容性高速缓存,并且较少用于牺牲品独占高速缓存。牺牲品独占高速缓存具有这样的定义,即,当高速缓存行被主CPU重新引用时取消分配该高速缓存行,这对于尝试跟踪历史的高速缓存替换策略不利。
技术实现思路
实施例包括一种共享替换策略计算机高速缓存系统。所述系统可包括主处理器、以通信方式连接至主处理器的牺牲品独占最后一级高速缓存(LLC)和以通信方式连接至牺牲品独占LLC和主处理器的窥探过滤器。窥探过滤器被构造为存储替换信息。系统可包括替换状态机,其被构造为管理牺牲品独占LLC与具有存储的替换信息的窥探过滤器之间的替换操作。本专利技术的系统和方法的实施例利用窥探过滤器提供牺牲品独占高速缓存中的高速缓存替换,在重新引用回CPU时在窥探过滤器中不丢失替换信息。替换信息存储在窥探过滤器中,这表示,可完全保存历史访问数据。本专利技术的系统和方法还包括窥探过滤器替换技术。当事务将高速缓存行移进移出主CPU时,本专利技术的系统和方法在窥探过滤器与牺牲品独占高速缓存(例如,LLC)之间传递替换信息。这样保持和发展了在读操作时针对从牺牲品独占高速缓存去除的高速缓存行的现有替换信息,以及智能地替换窥探过滤器中的高速缓存行并使其变旧。附图说明通过以下结合附图的详细描述,本专利技术原理的以上和其它特征和优点将变得更清楚,其中:图1A是根据一些实施例的主CPU、存储有替换信息的窥探过滤器、和关联的牺牲品独占最后一级高速缓存(LLC)的示例框图;图1B是根据一些实施例的存储有替换信息的窥探过滤器和关联的牺牲品独占LLC的示例状态图;图2是根据一些实施例的存储有替换信息的窥探过滤器和用于管理CPU读的关联的牺牲品独占LLC的示例方框和流程图;图3是示出根据一些实施例的用于管理存储有替换信息的窥探过滤器和用于CPU读的关联的牺牲品独占LLC的技术的示例流程图;图4是根据一些实施例的存储有替换信息的窥探过滤器和用于管理CPU写的关联的牺牲品独占LLC的示例方框和流程图;图5是示出根据一些实施例的用于管理存储有替换信息的窥探过滤器和用于CPU回写的关联的牺牲品独占LLC的技术的流程图;图6是根据一些实施例的存储有替换信息的窥探过滤器和关联的牺牲品独占LLC的另一示例状态图;图7是根据一些实施例的存储有替换信息的窥探过滤器和关联的牺牲品独占LLC的另一示例状态图;图8是根据一些实施例的包括存储有替换信息的窥探过滤器和关联的牺牲品独占LLC的计算机系统的示例框图;图9是根据一些实施例的包括存储有替换信息的窥探过滤器和关联的牺牲品独占LLC的示例智能电话;图10是根据一些实施例的包括存储有替换信息的窥探过滤器和关联的牺牲品独占LLC的示例智能平板;图11是根据一些实施例的包括存储有替换信息的窥探过滤器和关联的牺牲品独占LLC的示例笔记本计算机;以及图12是根据一些实施例的包括存储有替换信息的窥探过滤器和关联的牺牲品独占LLC的示例台式计算机。具体实施方式现在,将详细描述各个实施例,其示例在附图中示出。在下面的详细描述中,阐述了多个特定细节以能够彻底理解实施例。然而,应该理解,本领域普通技术人员可在不需要这些特定细节的情况下实施所述实施例,未详细描述公知的方法、工序、组件、电路和网络,以避免使得实施例的各方面不必要地模糊。应该理解,虽然本文中可使用术语第一、第二等来描述各种元件,但是这些元件不应被这些术语限制。这些术语仅用于将一个元件与另一元件区分开。例如,第一高速缓存可被称作第二高速缓存,并且相似地,第二高速缓存可被称作第一高速缓存,而不脱离实施例的范围。本文的实施例的描述中使用的术语仅用于描述特定实施例的目的,而不旨在限制实施例。如实施例和权利要求的描述中所用,除非上下文清楚地指明不是这样,否则单数形式“一”、“一个”和“该”也旨在包括复数形式。还应该理解,本文所用的术语“和/或”指和包括相关所列项之一或多个的任何和所有组合。还应该理解,术语“包括”和/或“包括……的”当用于本说明书中时,指明存在所列特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。附图的组件和特征不一定按照比例绘制。本专利技术的系统和方法的实施例利用窥探过滤器提供牺牲品独占高速缓存中的高速缓存替换,在重新引用回CPU的过程中不丢失替换信息。它可按照多种形式存在,包括命中优先级、频率优先级和/或支持伪包容性或弱独占。替换信息存储在窥探过滤器中,这表示,可完全保存历史访问数据,并且允许LLC再插入点具有更大的灵活性,而不用在L2高速缓存中存储额外比特。本专利技术的系统和方法还包括窥探过滤器替换技术。当事务将高速缓存行移进移出主CPU时,本专利技术的系统和方法在窥探过滤器与牺牲品独占高速缓存(例如,LLC)之间传递替换信息。这样保持和发展了在读操作时针对从牺牲品独占高速缓存去除的高速缓存行的现有替换信息,以及智能地替换窥探过滤器中的高速缓存行并使其变旧。图1A是根据一些实施例的包括主CPU103、存储有替换信息的窥探过滤器1本文档来自技高网
...

【技术保护点】
1.一种共享替换策略计算机高速缓存系统,包括:主处理器;牺牲品独占最后一级高速缓存,其以通信方式连接至所述主处理器;以及窥探过滤器,其以通信方式连接至所述牺牲品独占最后一级高速缓存以及所述主处理器,其中所述窥探过滤器被构造为存储替换信息。

【技术特征摘要】
2017.03.27 US 62/477,412;2017.06.07 US 15/616,9171.一种共享替换策略计算机高速缓存系统,包括:主处理器;牺牲品独占最后一级高速缓存,其以通信方式连接至所述主处理器;以及窥探过滤器,其以通信方式连接至所述牺牲品独占最后一级高速缓存以及所述主处理器,其中所述窥探过滤器被构造为存储替换信息。2.根据权利要求1所述的共享替换策略计算机高速缓存系统,还包括:替换状态机,其被构造为管理所述牺牲品独占最后一级高速缓存与具有存储的替换信息的所述窥探过滤器之间的替换操作。3.根据权利要求2所述的共享替换策略计算机高速缓存系统,其中,所述替换状态机被构造为根据存储在所述窥探过滤器中的替换信息管理所述替换操作。4.根据权利要求2所述的共享替换策略计算机高速缓存系统,其中,响应于所述主处理器的读操作,所述牺牲品独占最后一级高速缓存被构造为:将替换信息传递至所述窥探过滤器、去除高速缓存行、并且将所述高速缓存行传递至所述主处理器。5.根据权利要求4所述的共享替换策略计算机高速缓存系统,其中,响应于所述主处理器的读操作,所述牺牲品独占最后一级高速缓存被构造为:将标签传递至所述窥探过滤器,其中,所述窥探过滤器被构造为:接收替换信息和标签而不是高速缓存行本身。6.根据权利要求5所述的共享替换策略计算机高速缓存系统,其中,所述替换状态机被构造为:选择所述窥探过滤器中用于牺牲的条目、使得从窥探过滤器中牺牲掉选择的条目、并且使得所述窥探过滤器将替换信息和标签存储在该条目中。7.根据权利要求6所述的共享替换策略计算机高速缓存系统,其中:选择的条目包括跟踪高速缓存行;所述替换状态机被构造为牺牲所述跟踪高速缓存行;所述主处理器被构造为探测牺牲的高速缓存行;并且所述替换状态机被构造为使得所述跟踪高速缓存行将被分配至牺牲品独占最后一级高速缓存中。8.根据权利要求5所述的共享替换策略计算机高速缓存系统,其中,响应于所述主处理器的写操作,所述窥探过滤器被构造为将标签和替换信息传递至所述牺牲品独占最后一级高速缓存。9.根据权利要求8所述的共享替换策略计算机高速缓存系统,其中,所述替换状态机被构造为:选择所述牺牲品独占最后一级高速缓存中的用于牺牲的条目、使得从所述牺牲品独占最后一级高速缓存中牺牲掉选择的条目、使得所述牺牲品独占最后一级高速缓存将替换信息和标签存储在所述牺牲品独占最后一级高速缓存中的该条目中、并且在所述牺牲品独占最后一级高速缓存中的该条目中分配新高速缓存行。10.根据权利要求8所述的共享替换策略计算机高速缓存系统,其中,所述替换状态机被构造为将从所述牺牲品独占最后一级高速缓存中的任何读操作提升至所述窥探过滤器中的最近使用的条目。11.根据权利要求9所述的共享替换策略计算机高速缓存系统,其中,从所述牺牲品独占...

【专利技术属性】
技术研发人员:埃里克·C·昆内尔凯文·C·霍耶尔塔伦·纳克拉阿希尔·阿鲁库马尔
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1