一种高速缓冲存储器的数据块长度自适应读取方法及装置制造方法及图纸

技术编号:10666302 阅读:150 留言:0更新日期:2014-11-20 12:03
本发明专利技术提供了一种Cache的数据块长度自适应读取方法及装置;方法包括:当处理器最后一级Cache未命中时,获取该Cache的缓存数据信息;根据所述缓存数据信息,判断该未命中的访存地址与Cache中缓存数据的地址是否集中;如果集中,则确定与数据分布集中度相适应的数据读取长度,单位为Cache行数;处理器以所述未命中的访存地址为中心,按照所确定的数据读取长度将数据从内存读取至该Cache中。本发明专利技术要解决的技术问题是如何提高CPU处理速度。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种Cache的数据块长度自适应读取方法及装置;方法包括:当处理器最后一级Cache未命中时,获取该Cache的缓存数据信息;根据所述缓存数据信息,判断该未命中的访存地址与Cache中缓存数据的地址是否集中;如果集中,则确定与数据分布集中度相适应的数据读取长度,单位为Cache行数;处理器以所述未命中的访存地址为中心,按照所确定的数据读取长度将数据从内存读取至该Cache中。本专利技术要解决的技术问题是如何提高CPU处理速度。【专利说明】一种高速缓冲存储器的数据块长度自适应读取方法及装置
本专利技术涉及电子领域,具体涉及一种高速缓冲存储器的数据块长度自适应读取方 法及装置。
技术介绍
随着半导体工艺与计算机技术的飞速发展,处理器主频与存储器频率之间的差距 越来越大,导致内存墙问题也愈加严重,成为计算机系统中性能提升的重大阻碍之一。其中 内存墙是指,内存读写性能严重限制处理器性能充分发挥的现象。 为了降低处理器(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的存储体中,所述未命中的访存地址的前后η个Cache行地址范围 内已经缓存的Cache行数、加上对该前后η个的Cache行的访问次数的结果超过预定阈值。 可选地,所述确定与数据分布集中度相适应的数据读取长度的步骤包括: 根据所述Cache的存储体中,所述未命中的访存地址前后各η个Cache行中已缓 存数据的行数及访问次数的计数确定所述数据读取长度。 可选地,所述确定与数据分布集中度相适应的数据读取长度的步骤包括: 根据所述Cache的存储体中,所述未命中的访存地址前后各η个Cache行中已缓 存数据的行数及访问次数的计数确定最初的数据读取长度,加上或减去预定的随机数后, 得到最终的数据读取长度。 本专利技术还提供了一种Cache的数据块长度自适应读取装置,包括: 缓存数据信息获取单元,用于当处理器最后一级Cache未命中时,获取该Cache的 缓存数据信息; 判断单元,用于根据所述缓存数据信息,判断该未命中的访存地址与Cache中缓 存数据的地址是否集中; 长度确定单元,用于当集中时,确定与数据分布集中度相适应的数据读取长度,单 位为Cache行数; 读取单元,用于以所述未命中的访存地址为中心,按照所确定的数据读取长度将 数据从内存读取至该Cache中。 可选地,所述缓存数据信息包括缓存数据的地址信息及访问次数的计数。 可选地,未命中的访存地址与Cache中缓存数据的地址集中是指: 在所述Cache的存储体中,所述未命中的访存地址的前后η个Cache行地址范围 内已经缓存的Cache行数、加上对该前后η个的Cache行的访问次数的结果超过预定阈值。 可选地,所述长度确定单元确定与数据分布集中度相适应的数据读取长度是指: 所述长度确定单元根据所述Cache的存储体中,所述未命中的访存地址前后各η 个Cache行中已缓存数据的行数及访问次数的计数确定所述数据读取长度。 可选地,所述长度确定单元确定与数据分布集中度相适应的数据读取长度是指: 所述长度确定单元根据所述Cache的存储体中,所述未命中的访存地址前后各η 个Cache行中已缓存数据的行数及访问次数的计数确定最初的数据读取长度,加上或减去 预定的随机数后,得到最终的数据读取长度。 本专利技术的技术方案可以避免在处理器访问内存数据地址出现连续或者集中情况 时,因为每次Cache缺失导致需要到内存中读取一个Cache行的数据到Cache存储体中,导 致读取次数过多而产生处理器多次等待的缺陷;使处理器在相对集中的访问某段内存地址 时提高Cache内缓存数据的命中率,降低处理器从内存读取数据次数,减少CPU停顿次数, 提商CPU的处理速度,从而提商计算机系统整体性能。 【专利附图】【附图说明】 为了更清楚地说明本专利技术申请或现有技术中的技术方案,下面将对实施或现有 技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申 请中记载的一些实施,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附 图。 图1是实施例一的Cache的数据块长度自适应读取方法的本文档来自技高网
...

【技术保护点】
一种Cache的数据块长度自适应读取方法,包括:当处理器最后一级Cache未命中时,获取该Cache的缓存数据信息;根据所述缓存数据信息,判断该未命中的访存地址与Cache中缓存数据的地址是否集中;如果集中,则确定与数据分布集中度相适应的数据读取长度,单位为Cache行数;处理器以所述未命中的访存地址为中心,按照所确定的数据读取长度将数据从内存读取至该Cache中。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈继承王洪伟倪璠
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1