[发明专利]Cache的管理方法及装置有效
申请号: | 201410032035.3 | 申请日: | 2014-01-23 |
公开(公告)号: | CN104809076B | 公开(公告)日: | 2018-02-06 |
发明(设计)人: | 黄永兵;陈明宇;张坤 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F12/0811 | 分类号: | G06F12/0811 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | cache 管理 方法 装置 | ||
1.一种高速缓存器cache的管理方法,其特征在于,所述高速缓存器cache中设置多个cache子单元,每个所述cache子单元包括多个cache行;其中,每个cache子单元中所包括的cache行长度与其他cache子单元所包括的cache行长度互不相同;每个所述的cache子单元用于存储对应等级的数据,所述等级为数据的空间局部性强弱等级,其中,所述cache子单元与所述等级的对应关系为:所述cache子单元中包括的cache行长度与数据的空间局部性强度正相关;所述方法包括:
接收访问请求,确定所述访问请求需要访问的待访问数据;
判断所述待访问数据的空间局部性的强弱等级;
在预设时间段内,统计待访问数据的空间局部性的强弱等级,计算第一比值,所述第一比值用于表征不同等级空间局部性的待访问数据之间的比例关系;
计算第二比值,所述第二比值用于表征所述cache中包括不同cache行长度的cache子单元之间的比例关系;
当所述第一比值和第二比值的差距大于预设阈值时,对所述cache子单元中的cache行数量进行调整,直至调整后的第二比值和所述第一比值之间的差距在所述预设阈值范围内;
根据所述待访问数据的空间局部性的强弱等级,为待访问数据分配与所述等级对应的cache子单元。
2.根据权利要求1所述的方法,其特征在于,所述判断所述待访问数据的空间局部性的强弱等级,包括:
记录各访问请求需要访问的待访问数据的地址,统计所述待访问数据的地址的访问规律,所述访问规律包括所述地址的相邻地址数据被其他访问请求所访问的次数或概率;
按照所述待访问数据的地址的相邻地址数据被其他访问请求所访问的次数或概率,对所述待访问数据的空间局部性进行等级划分。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述接收访问请求,确定所述访问请求需要访问的待访问数据之后,还包括:
根据所述待访问数据的空间局部性的强弱等级,确定待缓存数据的大小;
根据所述待缓存数据的大小,对cache子单元中的cache行长度进行调整,将调整后的cache行分配给所述待缓存数据;所述调整后的cache行长度与所述待缓存数据的大小相匹配;
基于cache子单元中cache行长度的变化,建立并维护索引位图,所述索引位图用于指示cache行中的tag域和data域。
4.根据权利要求1所述的方法,其特征在于,所述cache中设置多个cache子单元,包括:
在所述cache中按路way、和/或组set进行划分,确定所述多个cache子单元,设定每个cache子单元的cache行长度。
5.根据权利要求3所述的方法,其特征在于,所述访问请求中包括物理地址,所述物理地址用于标识所述待访问数据,所述物理地址中包括所述待访问数据的tag域和set域;
所述方法还包括:
将所述访问请求发送给每个所述cache子单元;
确定所述待访问数据的set域在每个所述cache子单元中对应的一个或多个cache行,将所述一个或多个cache行的tag域与所述待访问数据的tag域进行比较,将所述一个或多个cache行中与所述待访问数据的tag域相同的cache行确定为存储有所述待访问数据cache行。
6.根据权利要求3所述的方法,其特征在于,所述访问请求中包括物理地址,所述物理地址用于标识所述待访问数据,所述物理地址中包括所述待访问数据的tag域和set域;
所述方法还包括:
为每个cache子单元维护一个列表,所述列表用于记录每个cache子单元中所存储数据的特征值;
当接收到访问请求时,确定所述访问请求需要访问的待访问数据的特征值;
将记录有所述待访问数据的特征值的列表对应的cache子单元确定为目标cache子单元;
将所述访问请求发送给所述目标cache子单元,确定所述待访问数据的set域在所述目标cache子单元中对应的一个或多个cache行,将所述一个或多个cache行的tag域与所述待访问数据的tag域进行比较,将所述一个或多个cache行中与所述待访问数据的tag域相同的cache行确定为存储有所述待访问数据cache行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410032035.3/1.html,转载请声明来源钻瓜专利网。