[发明专利]一种高速缓冲存储器的数据块长度自适应读取方法及装置在审
申请号: | 201410386627.5 | 申请日: | 2014-08-07 |
公开(公告)号: | CN104156323A | 公开(公告)日: | 2014-11-19 |
发明(设计)人: | 陈继承;王洪伟;倪璠 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;李丹 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高速 缓冲存储器 数据 长度 自适应 读取 方法 装置 | ||
技术领域
本发明涉及电子领域,具体涉及一种高速缓冲存储器的数据块长度自适应读取方法及装置。
背景技术
随着半导体工艺与计算机技术的飞速发展,处理器主频与存储器频率之间的差距越来越大,导致内存墙问题也愈加严重,成为计算机系统中性能提升的重大阻碍之一。其中内存墙是指,内存读写性能严重限制处理器性能充分发挥的现象。
为了降低处理器(CPU)与内存之间的速度差距产生的不利影响,现代计算机体系结构广泛釆用在CPU与内存之间设置高速缓冲存储器(Cache)的方式,将一些短时间内可能会被重复使用的指令代码或者数据Cache中。计算机系统可以配置有二级、三级缓存,每级缓存比前一级缓存容量大且速度慢,此处是指将先前已保存的数据从一级缓存中替换到二级、甚至三级缓存中。
高速缓冲存储器(Cache)主要由三大部分组成:Cache存储体存放由主存调入的指令与数据块;地址转换部件建立目录表以实现主存地址到缓存地址的转换;替换部件在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。数据被存入Cache中,在需要时被CPU调用进行解析和处理操作,一般情况下,处理器以Cache行(一般为数十到数百字节)为基本单位进行数据读取和替换。
在CPU需要对指令代码或数据进行访问时,首先查看所需内容是否在缓存在Cache中,如果在Cache中,则称为“命中”,此时,Cache将直接所需内容提供给处理器;如果不在Cache中,则被称为“未命中”,处理器需要在内存中读取所要访问的内容,并将该数据缓存至Cache中。因为Cache集成与处理器内部并且多采用SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)技术,其存取速率远远高于内存,这种方式提高了CPU的利用率,进而也使整个计算机系统的性能得以提升。
处理器之所以是以Cache行作为读取和替换数据块的基本单位,是因为某些应用的内存存储数据空间局部性可以体现在一个Cache行之内,这样也使得相对于内存具有较小容量的Cache存储体能够缓存更大地址范围的可能重复使用的数据。而随着半导体工艺的发展,处理器上能够集成越来越大的最后一级Cache,具体应用中又不乏出现访问连续或密集的内存空间地址,使得在此种情况下,单个Cache行的容量出现了不能充分利用所要访问的数据空间局部性特征的现象,以至于频繁的需要从内存读取数据至Cache中,增加CPU停顿次数,降低CPU的处理速度,导致计算机整体性能不佳。
发明内容
本发明要解决的技术问题是如何提高CPU处理速度。
为了解决上述问题,本发明提供了一种Cache的数据块长度自适应读取方法,包括:
当处理器最后一级Cache未命中时,获取该Cache的缓存数据信息;
根据所述缓存数据信息,判断该未命中的访存地址与Cache中缓存数据的地址是否集中;
如果集中,则确定与数据分布集中度相适应的数据读取长度,单位为Cache行数;
处理器以所述未命中的访存地址为中心,按照所确定的数据读取长度将数据从内存读取至该Cache中。
可选地,所述缓存数据信息包括缓存数据的地址信息及访问次数的计数。
可选地,未命中的访存地址与Cache中缓存数据的地址集中是指:
在所述Cache的存储体中,所述未命中的访存地址的前后n个Cache行地址范围内已经缓存的Cache行数、加上对该前后n个的Cache行的访问次数的结果超过预定阈值。
可选地,所述确定与数据分布集中度相适应的数据读取长度的步骤包括:
根据所述Cache的存储体中,所述未命中的访存地址前后各n个Cache行中已缓存数据的行数及访问次数的计数确定所述数据读取长度。
可选地,所述确定与数据分布集中度相适应的数据读取长度的步骤包括:
根据所述Cache的存储体中,所述未命中的访存地址前后各n个Cache行中已缓存数据的行数及访问次数的计数确定最初的数据读取长度,加上或减去预定的随机数后,得到最终的数据读取长度。
本发明还提供了一种Cache的数据块长度自适应读取装置,包括:
缓存数据信息获取单元,用于当处理器最后一级Cache未命中时,获取该Cache的缓存数据信息;
判断单元,用于根据所述缓存数据信息,判断该未命中的访存地址与Cache中缓存数据的地址是否集中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410386627.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种提取苹果设备机身数据的方法
- 下一篇:一种缓存管理方法及缓存管理装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置