System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种系统缓存的数据预取方法、装置、设备及介质制造方法及图纸_技高网

一种系统缓存的数据预取方法、装置、设备及介质制造方法及图纸

技术编号:40528306 阅读:7 留言:0更新日期:2024-03-01 13:48
本发明专利技术涉及计算机存储设计领域,公开了一种系统缓存的数据预取方法、装置、设备及介质,方法包括:获取当前预设级缓存加载访问时的地址对应的第一页面;基于第一页面更新或记录缓存页历史表中的页面对应的地址跳变值以及对应的地址跳变模式;基于缓存页历史表中的页面对应的地址跳变值以及对应的地址跳变模式更新多级地址跳变模式表;基于更新后的多级地址跳变模式表生成预取请求;获取预设级缓存中预取请求后的反馈信息,并基于反馈信息调整下一次预取请求的生成过程,本发明专利技术通过根据实际缓存的运行情况进行动态优化调整,从而提高预取消除的缓存未命中的占比,进而保证了数据预取响应的效果。

【技术实现步骤摘要】

本专利技术涉及计算机存储设计领域,具体涉及一种系统缓存的数据预取方法、装置、设备及介质


技术介绍

1、预取是指通过预先将可能被访问的数据块提前获取到缓存中,以实现处理器对数据块的快速访问。预取器根据处理器cpu生成的内存访问请求和相关信息,训练预取策略并推测可能会被访问的数据块,向下一级存储发出预取请求,将数据块预取到data cache中。基于delta pattern的预取算法存在两个关键的缺陷:(1)coverage不足:预取算法的coverage是指预取消除的缓存未命中的占比。基于delta pattern的预取算法在记录和预测访问模式时,可能无法完全覆盖程序的内存访问行为,导致无法预取到所有可能被访问的数据块。(2)缺乏有效的反馈机制:增加预取的前瞻深度可以采取更积极的预取策略,可能提高覆盖率,但也可能带来冗余的预取数据。因为只使用准确性(即预取请求是否命中)作为评估指标,所以无法准确评估预取请求的效果。缺乏有效的反馈机制会导致预取算法无法根据实际的缓存命中情况进行动态的调整和优化,从而可能降低预取的效果。


技术实现思路

1、有鉴于此,本专利技术提供了一种系统缓存的数据预取方法、装置、设备及介质,以解决如何提高预取消除的缓存未命中的占比以及保证预取效果的问题。

2、第一方面,本专利技术提供了一种系统缓存的数据预取方法,方法包括:获取当前预设级缓存加载访问时的地址对应的第一页面;基于所述第一页面更新或记录缓存页历史表中的页面对应的地址跳变值以及对应的地址跳变模式;基于所述缓存页历史表中的页面对应的地址跳变值以及对应的地址跳变模式更新多级地址跳变模式表;基于更新后的多级地址跳变模式表生成预取请求;获取所述预设级缓存中预取请求后的反馈信息,并基于所述反馈信息调整下一次预取请求的生成过程

3、本专利技术实施例通过记录和更新缓存页历史表中的页面地址跳变值和跳变模式,能准确地判断数据在访问过程中预取的可能性高低以及预取的优先级,同时根据缓存页历史表中的页面地址跳变值和跳变模式,更新多级地址跳变模式表,更好的表示不同页面之间的地址跳变模式,提高生成预取请求的精确性,通过获取预设级缓存中预取请求后的反馈信息,并根据反馈信息进行下一次预取请求的生成过程调整,根据实际缓存的运行情况进行动态优化调整,从而提高预取消除的缓存未命中的占比,进而保证了数据预取响应的效果。

4、在一种可选的实施方式中,所述基于所述第一页面更新或记录缓存页历史表中的页面对应的地址跳变值以及对应的地址跳变模式,包括:获取第一页面对应的页号,并基于所述页号查找缓存页历史表,判断所述第一页面是否存在于所述缓存页历史表;若存在,则计算当前预设级缓存加载访问时的地址对应的第一页面与上一次预设级缓存加载访问时地址对应的第一页面之间的地址跳变值,并基于所述地址跳变值在所述缓存页历史表中更新第一页面对应的地址跳变模式;若不存在,则在所述缓存页历史表中记录所述第一页面对应的地址跳变值以及对应的地址跳变模式。

5、通过计算当前预设级缓存加载访问时的地址对应的第一页面与上一次预设级缓存加载访问时地址对应的第一页面之间的地址跳变值,准确地获取到地址跳变的情况,在不断捕获地址跳变值的过程中,推断出不同页面之间的跳变模式,降低了缓存未命中率,从而为后续数据预取的提供决策基础。

6、在一种可选的实施方式中,所述多级地址跳变模式表包括多个不同长度的跳变模式表,所述跳变模式表包括跳变模式、下一位跳变值、对应的跳变值计数、对应的跳变值是否为最近使用值、以及跳变值总计数。

7、通过在多级地址跳变模式表中设计了不同长度的跳变模式表,分别记录不同长度的地址跳变模式相对应的数据,全面的获取到了地址跳变关系,保证在不同的数据访问模式情况下,从而准确地匹配相对应的地址跳变模式。

8、在一种可选的实施方式中,所述基于更新后的多级地址跳变模式表生成预取请求,包括:获取所述更新后的多级地址跳变模式表中的跳变数据,生成当前预取请求的置信度;判断所述生成当前预取请求的置信度是否大于预设阈值,若所述置信度大于预设阈值,则基于多级地址跳变模式表中的下一位跳变值生成当前预取请求。

9、通过获取多级地址跳变模式表中生成当前预取请求的置信度,来评估生成预取请求的可信程度。当置信度大于预设阈值时,才会基于跳变模式表中的下一位跳变值生成预取请求,从而降低了不可信的请求被误判的概率,进而提高了预取请求的准确性。

10、在一种可选的实施方式中,所述获取所述更新后的多级地址跳变模式表中的跳变数据,生成当前预取请求的置信度,包括:获取所述更新后的多级地址跳变模式表中某一个跳变模式的下一位跳变值对应的跳变值计数cn、跳变值总计数ct;获取上一次生成预取请求的置信度pd-1以及系数因子lflv;基于所述跳变模式的下一位跳变值对应的跳变值计数cn、跳变值总计数ct、上一次生成预取请求的置信度pd-1以及系数因子lflv,基于如下的置信度计算公式计算得到生成当前预取请求的置信度pd;

11、

12、其中,lv为不同跳变模式对应的不同长度。

13、通过综合不同的参数,例如跳变模式的下一位跳变值对应的跳变值计数、跳变值总计、上一次生成预取请求的置信度以及系数因子等,有效确定生成当前预取请求的置信度,从而有助于筛选出满足要求的高置信度的预取请求,进而提高了预取请求的准确性。

14、在一种可选的实施方式中,所述获取所述预设级缓存中预取请求后的反馈信息,并基于所述反馈信息调整下一次预取请求的生成过程,包括:获取动态过滤器监控所述预设级缓存的预取请求缓存行填充状态和替换状态;基于所述数据填充状态以及数据驱逐状态提取预取请求状态的已发出计数值ciss、准确计数值cacc、及时计数值ctim、污染计数值cpol以及缺失计数值cmiss,获取预取准确的比例a,预取及时的比例t,预取引起的缓存污染比例p,其中:

15、a=cacc/ciss;

16、t=ctim/cacc;

17、p=cpol/cmiss;

18、基于所述预取准确的比例a,预取及时的比例t,预取引起的缓存污染比例p通过如下公式获取系数因子lflv(a,t,p):

19、lflv(a,t,p)=blf+αlf*a-βlf*t-γlf*p;

20、其中,αlf为预取准确的比例a对应的第一权重,βlf为预取及时的比例t对应的第二权重,γlf为预取引起的缓存污染比例p对应的第三权重,blf为预设偏移值;将所述lflv(a,t,p)作为反馈信息对置信度计算公式进行优化来调整下一次预取请求的生成过程。

21、通过监控预设级缓存的缓存行填充状态和替换状态,可以准确地获取已发出的预取请求的计数值,进而计算出预取各种状态的比例,利用这个比例结合各项权重,计算出系数因子,进一步优化置信度计算公式,从而更实时准确地对下一次预取请求的生成过程进行动态优化,进而提高了预取请求的准确性。...

【技术保护点】

1.一种系统缓存的数据预取方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述第一页面更新或记录缓存页历史表中的页面对应的地址跳变值以及对应的地址跳变模式,包括:

3.根据权利要求1所述的方法,其特征在于,所述多级地址跳变模式表包括多个不同长度的跳变模式表,所述跳变模式表包括跳变模式、下一位跳变值、对应的跳变值计数、对应的跳变值是否为最近使用值、以及跳变值总计数。

4.根据权利要求1所述的方法,其特征在于,所述基于更新后的多级地址跳变模式表生成预取请求,包括:

5.根据权利要求4所述的方法,其特征在于,所述获取所述更新后的多级地址跳变模式表中的跳变数据,生成当前预取请求的置信度,包括:

6.根据权利要求4所述的方法,其特征在于,所述获取所述预设级缓存中预取请求后的反馈信息,并基于所述反馈信息调整下一次预取请求的生成过程,包括:

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法,还包括:

8.一种系统缓存的数据预取的装置,其特征在于,所述装置包括:</p>

9.一种计算机设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的系统缓存的数据预取的方法。

...

【技术特征摘要】

1.一种系统缓存的数据预取方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述第一页面更新或记录缓存页历史表中的页面对应的地址跳变值以及对应的地址跳变模式,包括:

3.根据权利要求1所述的方法,其特征在于,所述多级地址跳变模式表包括多个不同长度的跳变模式表,所述跳变模式表包括跳变模式、下一位跳变值、对应的跳变值计数、对应的跳变值是否为最近使用值、以及跳变值总计数。

4.根据权利要求1所述的方法,其特征在于,所述基于更新后的多级地址跳变模式表生成预取请求,包括:

5.根据权利要求4所述的方法,其特征在于,所述获取所述更新后的多...

【专利技术属性】
技术研发人员:徐建国王吴哲孟昕
申请(专利权)人:杭州鸿钧微电子科技有限公司
类型:发明
国别省市:

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

1