利索能及
我要发布
收藏
专利号: 2021106060311
申请人: 北京工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种面向高性能的适应预取的智能缓存替换策略,其特征在于,区分预取和需求请求,利用基于ISVM的预取预测器对预取访问加载的缓存行进行重引用间隔预测,利用基于ISVM的需求预测器对需求访问加载的缓存行进行重引用间隔预测,根据预测结果,进行缓存替换,其中,每个预测器对应一组ISVM表,其中,ISVM表A对应一个PC地址B,ISVM表A由PC地址B和16个ISVM权重组成,其中16个ISVM权重对应除B之外的、PCHR中曾经出现过的、且出现次数最多的16个PC地址,权重的初值设定为0。

2.根据权利要求1所述的一种面向高性能的适应预取的智能缓存替换策略,其特征在于,两种预测器的训练过程相同,具体包括以下步骤:训练数据准备阶段

步骤1,选取末级缓存中部分缓存组作为采样集,需求预测器的输入数据包括产生需求访问的load指令的PC地址,以及PCHR中存放的过去的PC地址;

预取预测器的输入数据包括触发预取访问的load指令的PC地址,以及PCHR中存放的过去的PC地址;

硬件上增加的PCHR,用于保存程序运行过程中过去的load指令的PC历史记录;

步骤2,增加组件DMINgen,在硬件上重构Demand‑MIN算法为训练预测器的数据提供标签,标签分为正例标签和负例标签,正例标签表示当前访问的缓存行是缓存友好的,可以插入缓存中,负例标签表示当前访问的缓存行是缓存不友好的,不能插入缓存中,具体产生方法如下:对于以预取访问P结束的使用间隔,即D‑P和P‑P,DMINgen认定当前访问的缓存行不会产生需求命中,此时对上一次访问该缓存行的PC产生一个负例标签;

对于以需求访问D结束的使用间隔,即P‑D和D‑D,DMINgen认定当前访问的缓存行会产生需求命中,在可以产生需求命中的情况下,如果使用间隔内任意时刻缓存空间都未满,则此时对上一次访问该缓存行的PC产生一个正例标签;如果使用间隔内存在某一时刻缓存空间已满,则此时对上一次访问该缓存行的PC产生一个负例标签;

所述的使用间隔指前一次访问行X到再次访问行X的时间间隔;行X的使用间隔表示行X对缓存的需求,用于确定对行X的引用是否会导致缓存命中;

预测器训练阶段

基于ISVM的预取预测器和基于ISVM的需求预测器根据采样集的访存行为分别进行训练,训练方式相同,具体为:预测器读取输入数据后,在预测器对应的ISVM表中查找与当前输入数据PC和PCHR对应的权重,如果输入数据对应的标签为正例标签,则权重将增加1;否则,权重将减1;如果ISVM表中当前输入数据PC和PCHR对应的权重之和大于阈值,则本次不再更新权重。

3.根据权利要求1所述的一种面向高性能的适应预取的智能缓存替换策略,其特征在于,两种预测器的预测过程相同,具体包括以下步骤:根据访问的请求类型选择需求预测器或预取预测器进行预测,首先,用哈希算法为PCHR中的每个PC地址生成一个四位的二进制值C,这16个值分别对应ISVM表中的16个权重,进而根据C在ISVM表中查找到PCHR中PC地址对应的权重;然后,将这些权重相加,如果总和大于或等于阈值,则预测当前加载的缓存行是缓存友好,并以高优先级插入它;如果总和小于0,则预测该行不符合缓存要求,对应低优先级插入该行;对于其余情况,则预测该行对缓存友好,且置信度较低,并以中等优先级插入该行,所述优先级代表行的重用性和重要性,高优先级的行在缓存中驻留更长时间,低优先级的行则尽早的被驱逐。

4.根据权利要求1所述的一种面向高性能的适应预取的智能缓存替换策略,其特征在于,缓存替换方法具体如下:在替换高速缓存行时,将选择低优先级的缓存行作为驱逐候选对象;如果不存在这样的行,则从缓存友好的行中选出进入缓存最早的行逐出。