[发明专利]用于基于目录的缓存一致性的目录替换方法和系统在审
申请号: | 201510970891.8 | 申请日: | 2015-12-22 |
公开(公告)号: | CN106909517A | 公开(公告)日: | 2017-06-30 |
发明(设计)人: | 郭向阳;陈国庆 | 申请(专利权)人: | 超威半导体产品(中国)有限公司 |
主分类号: | G06F12/122 | 分类号: | G06F12/122 |
代理公司: | 上海胜康律师事务所31263 | 代理人: | 樊英如,李献忠 |
地址: | 100190 北京市海淀区中关*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 基于 目录 缓存 一致性 替换 方法 系统 | ||
技术领域
本发明涉及单芯片多处理器(CMP),更具体地涉及用于CMP的基于缓存未命中计数的目录替换方法和系统。
背景技术
基于侦听的缓存一致性协议和基于目录的缓存一致性协议是CMP中广泛使用的两种不同机制。在较多核心被集成在芯片上时,基于目录的缓存一致性因其较高的可扩展性和较少的信息流量而被普遍使用。每个目录条目保持跟踪相应的缓存块的信息,比如缓存地址、状态及全位向量(full bit vector)以指明哪个核心拥有该特定的缓存行。然而,该目录的存储开销是一个至关重要的问题。研究人员已经提出了诸如粗向量、指针和稀疏目录之类的技术方案来克服这个问题。由于不是所有的内存块都能同时被缓存,跟踪已缓存的块的稀疏目录被广泛使用。稀疏目录的有限容量缓解了存储压力,但也带来了另一个问题:目录条目的驱逐(eviction)。由于目录不跟踪所有的内存块,所以当一个新的查询发送到目录却没有目录条目匹配该请求时,已分配的一个条目将被驱逐以腾出空间给该新条目。目录条目的驱逐将导致CPU端上相应的缓存块失效。因此,目录替换策略对于整个系统的性能而言很关键。
LRU(最近最少使用)是一种常用的目录替换策略。在LRU中,每个目录具有LRU计数器。每当访问一个目录条目时,基于该策略,每个条目的LRU计数器会增加或减少。无论何时发生驱逐,都会选择驱逐LRU条目。但是,这种策略有一个问题:该目录的LRU不能代表缓存行的热度。以“MESI”缓存一致性协议为例。缓存块具有经 修改(M)状态、独享(E)状态、共享(S)状态和无效(I)状态,而目录条目具有EM状态(缓存行处于E状态或M状态)、S状态(缓存行处于S状态)和U状态(该块未被缓存或缓存在无效状态下)。读命中缓存行不会通知目录。因此,从CPU端频繁地读取一个缓存行而相应的目录条目在长时间内未被访问使其成为LRU条目并被驱逐是可能的。由于缓存的一致性,“热门”的缓存行会被返回无效。
另一种目录替换策略是选择具有最小负面影响的条目。这种策略将避免驱逐处于共享状态的目录条目,因为会有多个CPU使相应的缓存行无效。但它也有沉默驱逐的问题,这意味着共享缓存行会在没有通知目录的情况下被驱逐。当相应的缓存行被沉默驱逐时,目录条目就浪费了。
发明内容
为了减轻上述问题,本发明的各个方面提供了用于基于目录的缓存一致性的目录替换方法和系统。
在实现本发明一个方面的示例实施方式中,一种用于基于目录的缓存一致性的目录替换方法被提供,其特征在于,所述方法包括:跟踪从一或多个核心到多个缓存集的缓存未命中计数;将所述多个缓存集中的每一个缓存集的缓存未命中计数值存储在目录中;基于所述缓存未命中计数值计算与所述目录中的每个条目相关联的分值;以及选择具有最高分值的条目进行驱逐。
在一方面,计算分值可包括作为地址、全位向量和缓存集的未命中计数值的函数来计算与目录中的每个条目相关联的分值。
在一方面,计算与目录中的每个条目相关联的分值可包括为目录中的至少一个缓存提供缓存未命中计数跟踪表,所述表具有n列、c/(a*b)行,其中n是核心的数量,c是缓存的大小,a是结合性,而b是块大小,使得该表的每个元素可提供在观察时距中在特定核心中的特定集的未命中计数。
在一方面,所述目录的每个条目通过地址的索引位映射到缓存未命中跟踪表的一行,且其中与缓存目录中的每个条目相关联的分值通过下式来计算:
分值=向量[0]*元素[0]+向量[1]*元素[1]+……向量[n]*元素[n]
其中,向量[n]是指一个目录条目中的全位向量的第n位,其可以是1或0,而元素[n]是指缓存未命中计数跟踪表中的相应行中的第n个元素。
在实现本发明一个方面的实施方式中,一种用于基于目录的缓存一致性的目录替换系统被提供,其特征在于,所述系统包括用于跟踪从一或多个核心到多个缓存集的缓存未命中计数的跟踪模块、用于将多个缓存集中的每一个缓存集的缓存未命中计数值存储在目录中的存储模块、用于基于缓存未命中计数值计算与该目录中的每个条目相关联的分值的计算模块以及用于选择具有最高分值的条目进行驱逐的条目驱逐模块。
在一方面,目录替换系统可包括用于作为地址、全位向量和缓存集的未命中计数值的函数来计算与目录中的每个条目相关联的分值的计算模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超威半导体产品(中国)有限公司,未经超威半导体产品(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510970891.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:LED筒灯(TDD3)
- 下一篇:灯饰配件(斜纹边)