System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() LRU近似算法的硬件实现装置、LRU值的更新方法及装置制造方法及图纸_技高网

LRU近似算法的硬件实现装置、LRU值的更新方法及装置制造方法及图纸

技术编号:41250605 阅读:4 留言:0更新日期:2024-05-09 23:59
本发明专利技术提供一种LRU近似算法的硬件实现装置、LRU值的更新方法及装置。该硬件实现装置应用于N路组相连映射的Cache,所述Cache包括多个组,每组包括N个Cache块,该装置包括:最近最少使用LRU寄存器组、缓冲区配置单元和LRU更新单元;所述LRU寄存器组设于每个Cache块中的状态标记位,所述LRU寄存器组包括M×log<subgt;2</subgt;N个寄存器,M为所述Cache包括的Cache块的个数;所述LRU寄存器组用于存放所述每个Cache块的LRU值;所述LRU更新单元用于在所述Cache块命中或错失的情况下,更新所述Cache块的LRU值;所述缓冲区配置单元用于初始化所述每个Cache块的LRU值以及完成缓冲区的数值配置。本发明专利技术提供的LRU近似算法的硬件实现装置,可以大大提高Cache的运行效率。

【技术实现步骤摘要】

本专利技术涉及中央处理器,尤其涉及一种lru近似算法的硬件实现装置、lru值的更新方法及装置。


技术介绍

1、单芯片多处理器(chip multiprocessors,cmp)结构是未来微处理器结构的发展趋势,在微处理器结构不断发展的同时,存储器提高的速度远远不及微处理器的处理频率。cmp结构是指在一个芯片上集成多个微处理器核,多个处理器核共享单一的主存空间,使得处理器和主存储器之间的速度差距更加明显。因此,提高cache(高速缓冲存储器)性能是目前当务之急。

2、命中率是cache性能的主要指标之一,而cache的替换算法直接影响其命中率。其中,最近最少使用(least recently used,lru)算法是依据各组的使用情况,总是选择那个最近最少使用的组被替换。这种方法比较好地反映了程序局部性规律,命中率最高。

3、lru算法虽然是一种被广泛使用的较好的算法,但需要有较多的硬件支持,硬件开销大,而且运行效率较低。


技术实现思路

1、本专利技术提供一种lru近似算法的硬件实现装置、lru值的更新方法及装置,用以解决现有技术中现有的lru算法在硬件实现过程中硬件开销大和运行效率低的问题。

2、本专利技术提供一种lru近似算法的硬件实现装置,应用于n路组相连映射的cache,所述cache包括多个组,每组包括n路的cache块,所述lru近似算法的硬件实现装置包括:

3、最近最少使用lru寄存器组、缓冲区配置单元和lru更新单元;</p>

4、所述lru寄存器组设于每个cache块中的状态标记位,所述lru寄存器组包括m×log2n个寄存器,m为所述cache包括的cache块的个数;

5、所述lru寄存器组用于存放所述每个cache块的lru值,所述寄存器用于改变所述每个cache块的lru值的大小;

6、所述缓冲区配置单元用于初始化所述每个cache块的lru值以及完成缓冲区的数值配置;所述缓冲区用于基于所述每个cache块的lru值的大小和配置的预设lru阈值,判断所述cache块的lru值是否需要更新,所述预设lru阈值的大小由cpu进行配置;

7、所述lru更新单元用于在命中的cache块在所述缓冲区内的情况下,将所述命中的cache块对应的目标路的lru值清零,并且对所述缓冲区内小于所述目标路的lru值的cache块的lru值加一。

8、在一些实施例中,所述lru更新单元还用于:

9、在所述命中的cache块在所述缓冲区内的情况下,保持其他路的lru值不变,所述其他路为所述缓冲区内大于等于所述目标路的lru值的路;

10、在所述命中的cache块在非缓冲区内的情况下,保持所述命中的cache块对应的目标组内的所有路的lru值不变,所述非缓冲区包括lru值小于所述预设阈值的cache块。

11、在一些实施例中,所述lru更新单元还用于:

12、在访问所述cache的地址发生错失的情况下,选择最大lru值的路的cache块进行替换,并对部分路的lru值加一,所述部分路为在所述最大lru值的路对应的组内lru值小于所述最大lru值的路。

13、本专利技术提供一种lru值的更新方法,应用于如上所述的lru近似算法的硬件实现装置,所述lru值的更新方法包括:

14、初始化cache中的每路cache块的lru值;

15、确定访问所述cache的地址发生命中或错失;

16、在访问所述cache的地址发生错失的情况下,选择最大lru值的路的cache块进行替换,并对部分路的lru值加一,所述部分路为在所述最大lru值的路对应的组内lru值小于所述最大lru值的路;

17、在访问所述cache的地址发生命中的情况下,将命中的cache块对应的目标路的lru值清零,并且对缓冲区内小于所述目标路的lru值的cache块的lru值加一,所述缓冲区包括lru值大于等于预设阈值的cache块。

18、在一些实施例中,所述确定访问cache的地址发生命中或错失之后,所述方法还包括:

19、在所述命中的cache块在所述缓冲区内的情况下,保持其他路的lru值不变,所述其他路为所述缓冲区内大于等于所述目标路的lru值的路;

20、在所述命中的cache块在非缓冲区内的情况下,保持所述命中的cache块对应的目标组内的所有路的lru值不变,所述非缓冲区包括lru值小于所述预设阈值的cache块。

21、在一些实施例中,所述确定访问所述cache的地址发生命中或错失,包括:

22、比较所述cache的地址是否与tag表的字段是否匹配;

23、在所述cache的地址是否与tag表的字段匹配的情况下,确定访问所述cache的地址发生命中;

24、在所述cache的地址是否与tag表的字段不匹配的情况下,确定访问所述cache的地址发生错失。

25、本专利技术还提供一种lru值的更新装置,应用于如上所述的lru近似算法的硬件实现装置,所述lru值的更新装置包括:

26、初始化模块,用于初始化所述cache中的每路cache块的lru值;

27、确定模块,用于确定访问所述cache的地址发生命中或错失;

28、更新模块,用于在访问所述cache的地址发生错失的情况下,选择最大lru值的路的cache块进行替换,并对部分路的lru值加一,所述部分路为在所述最大lru值的路对应的组内lru值小于所述最大lru值的路。

29、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述lru值的更新方法。

30、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述lru值的更新方法。

31、本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述lru值的更新方法。

32、本专利技术提供的lru近似算法的硬件实现装置、lru值的更新方法及装置,为每个cache块增加一个n位的lru寄存器组,当cache命中或错失时,通过lru更新单元对lru值的更新,来实现对每组中各路cache块访问情况的记录,此外,缓冲区配置单元通过设置缓冲区,缓冲区的大小可以通过cpu进行配置,当cache发生命中时,落在缓冲区内的各路lru值不需要进行时时的更新,从此在保证替换准确率前提下有效简化lru算法在实现过程中的复杂度,使lru算法在实现过程中更加高效,还可以大大提高cache的运行效率,并且有效的降低了硬件实现代价。

本文档来自技高网...

【技术保护点】

1.一种LRU近似算法的硬件实现装置,应用于N路组相连映射的Cache,所述Cache包括多个组,每组包括N路的Cache块,其特征在于,所述LRU近似算法的硬件实现装置包括:

2.根据权利要求1所述的LRU近似算法的硬件实现装置,其特征在于,所述LRU更新单元还用于:

3.根据权利要求1所述的LRU近似算法的硬件实现装置,其特征在于,所述LRU更新单元还用于:

4.一种LRU值的更新方法,其特征在于,应用于权利要求1-3任一项所述的LRU近似算法的硬件实现装置,所述LRU值的更新方法包括:

5.根据权利要求4所述的LRU值的更新方法,其特征在于,所述确定访问Cache的地址发生命中或错失之后,所述方法还包括:

6.根据权利要求4所述的LRU值的更新方法,其特征在于,所述确定访问所述Cache的地址发生命中或错失,包括:

7.一种LRU值的更新装置,其特征在于,应用于权利要求1-4任一项所述的LRU近似算法的硬件实现装置,所述LRU值的更新装置包括:

8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求4至6任一项所述LRU值的更新方法。

9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求4至6任一项所述LRU值的更新方法。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求4至6任一项所述LRU值的更新方法。

...

【技术特征摘要】

1.一种lru近似算法的硬件实现装置,应用于n路组相连映射的cache,所述cache包括多个组,每组包括n路的cache块,其特征在于,所述lru近似算法的硬件实现装置包括:

2.根据权利要求1所述的lru近似算法的硬件实现装置,其特征在于,所述lru更新单元还用于:

3.根据权利要求1所述的lru近似算法的硬件实现装置,其特征在于,所述lru更新单元还用于:

4.一种lru值的更新方法,其特征在于,应用于权利要求1-3任一项所述的lru近似算法的硬件实现装置,所述lru值的更新方法包括:

5.根据权利要求4所述的lru值的更新方法,其特征在于,所述确定访问cache的地址发生命中或错失之后,所述方法还包括:

6.根据权利要求4所述的lru值的更...

【专利技术属性】
技术研发人员:史明霞张志伟李庆娅王婷陶小妍
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:

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

1