[发明专利]高速缓冲存储器的高速缓存块长度调整方法及装置有效
申请号: | 201210396334.6 | 申请日: | 2012-10-18 |
公开(公告)号: | CN103778069B | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 万志军 | 申请(专利权)人: | 深圳市中兴微电子技术有限公司 |
主分类号: | G06F12/0804 | 分类号: | G06F12/0804;G06F12/04 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 田红娟,龙洪 |
地址: | 518083 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高速 缓冲存储器 高速缓存 长度 调整 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别是涉及一种高速缓冲存储器的高速缓存块长度调整方法及装置。
背景技术
目前,在现有技术中,高速缓冲存储器(Cache)技术主要是从程序的局部连续性和cache的访问速率比下一级存储器快得多这个特性来考虑。图1是现有技术中系统存储结构示意图,如图1所示,包括:CPU、Cache、总线接口,外部存储设备通过总线接口传输数据和地址信息。对于32bit位宽的系统而言,当访问一个4字节指令或者数据时,将包括这个地址在内的一个高速缓存块(cacheline)长度的内容(指令或者数据)一次装入一个cacheline,以保证一段时间内可以直接从cache里面取指令或数据,提高程序的运行速度,减短运行时间,但是,在有些程序里程序的局部连续性并不高的情况下,这样每次读取局部的一条指令会将包括这个地址在内的一个cacheline长度的内容(指令或者数据)一次装入一个cacheline。
在cache大小一定的情况下,如果cacheline长度比较大,那么在将来的一段时间内大量的不需要运行的代码或者数据的将占据cache空间,增加cache的替换次数,例如,在处理多个大容量的音视频文件(例如,4G bytes的视频文件,文件分成多个段,每个段大小1Kbytes)的格式转换或者属性统计算法中,只需要获得音视频文件的各个段的头或者尾的几个字节的数据,如果这个时候cacheline的长度比较大,那么在开Cache的情况下,发生Cache替换的次数将会非常频繁,这样势必影响我们算法的效率,这时希望cacheline的长度能尽可能的小,相反在大量指令连续性比较强,或者将要访问大量且连续数据空间时,cacheline长度比较小的cache会明显的降低cache的性能,例如,在下载或者上传大批量的大音视频文件(例如,4G bytes的高清视频文件),如果连续的访问5Gbytes的音视频数据,则希望每次访问一个没命中的数据时能将更多的数据装入一个cacheline里面,这样上传下载音视频数据的速率会成倍的提高。
发明内容
本发明提供一种高速缓冲存储器的高速缓存块长度调整方法及装置,以解决现有技术中Cache的cacheline长度不能够变化调整的问题。
本发明提供一种高速缓冲存储器的高速缓存块长度调整方法,包括:如果访问的数据或者指令在高速缓冲存储器中连续命中失败的次数大于第一预定阈值,则作废并清除高速缓冲存储器中所有的高速缓存块,去使能高速缓冲存储器,将高速缓冲存储器中的所有高速缓存块长度调整为小于当前长度值的第一预设长度值,并使能高速缓冲存储器;如果访问数据或者指令时,在高速缓冲存储器中连续进行内容填充的次数大于第二预定阈值且每次进行内容填充后整个高速缓存块里的数据和指令都会被顺序访问,则作废并清除高速缓冲存储器中所有的高速缓存块,去使能高速缓冲存储器,将高速缓冲存储器中的所有高速缓存块长度调整为大于当前长度值的第二预设长度值,并使能高速缓冲存储器。
优选地,将高速缓冲存储器中的所有高速缓存块长度调整为小于当前长度值的第一预设长度值具体包括:通过硬件自动进行调整的方式将高速缓冲存储器中的所有高速缓存块长度调整为小于当前长度值的第一预设长度值;或者,通过软件控制寄存器进行调整的方式将高速缓冲存储器中的所有高速缓存块长度调整为小于当前长度值的第一预设长度值。
优选地,将高速缓冲存储器中的所有高速缓存块长度调整为大于当前长度值的第二预设长度值具体包括:通过硬件自动进行调整的方式将高速缓冲存储器中的所有高速缓存块长度调整为大于当前长度值的第二预设长度值;或者,通过软件控制寄存器进行调整的方式将高速缓冲存储器中的所有高速缓存块长度调整为大于当前长度值的第二预设长度值。
优选地,高速缓冲存储器采用组相联的存放映射关系,并采用伪随机和顺序替换的替换策略。
优选地,上述方法还包括:如果存在三个设置为最大高速缓存块长度的写入缓冲器,则使用三个写入缓冲器支持高速缓冲存储器的基本操作,其中,三个写入缓冲器包括:一个替换写缓冲器、一个写回缓冲器、以及一个存储缓冲器,基本操作包括:作废、写回、作废写回、锁定、使能、去使能、以及替换;如果三个写入缓冲器没有设置为最大高速缓存块长度,则使用三个写入缓冲器的低地址空间支持高速缓冲存储器的基本操作,其中,三个写入缓冲器包括:一个替换写缓冲器、一个写回缓冲器、以及一个存储缓冲器,基本操作包括:作废、写回、作废写回、锁定、使能、去使能、以及替换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市中兴微电子技术有限公司,未经深圳市中兴微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210396334.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:重力自动机
- 下一篇:静音及高强度的排水管材