System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种高速缓存的路预测方法、装置、电子设备及存储介质。
技术介绍
1、现代高性能处理器中包括多级高速缓存(cache),其中一级高速缓存(cache)又分为指令高速缓存(instruction cache,i-cache)和数据高速缓存(data cache,d-cache)。处理器在取指令阶段,为了降低从指令高速缓存(i-cache)中取出指令的功耗和延时,对i-cache中取指令的路(way)进行预测,即路预测(way prediction)。路预测可以预测下一个周期需要取出的一组指令(fetch group)在i-cache中的way。
2、在相关技术中,通常在cache行(line)中设置路预测信息,只能预测连续地址中的取指。但是,处理器中存在很多跳转指令,因此还需要对跳转指令对应的跳转目标地址所在的路进行预测,从而实现在目标地址中取指。
3、因此,如何对跳转指令对应的跳转目标地址所在的路进行预测,是目前亟待解决的问题。
技术实现思路
1、针对现有技术存在的问题,本专利技术实施例提供一种高速缓存的路预测方法、装置、电子设备及存储介质。
2、本专利技术提供一种高速缓存的路预测方法,包括:
3、在接收到跳转指令的情况下,获取当前时刻取指块在指令高速缓存中的命中信息;所述取指块为所述指令高速缓存中所述跳转指令对应的目标地址所在的缓存行;
4、基于所述命中信息,在取指目标缓冲器(fetch ta
5、调用所述取指目标缓冲器,基于所述路预测信息确定所述取指块下一时刻在所述指令高速缓存中的路标识;
6、其中,所述命中信息用于反映所述取指块的第一路标识是否命中所述取指块的实际路标识,所述第一路标识为所述取指块当前时刻在所述指令高速缓存中的第一预测路标识,所述实际路标识为所述取指块当前时刻的实际路标识。
7、可选地,所述命中信息,包括以下至少一项:
8、第一命中信息,用于表征所述第一路标识命中所述实际路标识;
9、第二命中信息,用于表征所述第一路标识命中所述实际路标识的命中结果错误;
10、第三命中信息,用于表征所述取指块不在所述指令高速缓存中。
11、可选地,所述路预测信息包括第二预测路标识,所述第二预测路标识为所述取指块下一时刻在所述指令高速缓存中的预测路标识;
12、所述基于所述命中信息,在取指目标缓冲器中设置路预测信息,包括:
13、在所述命中信息包括第一命中信息的情况下,将所述第一预测路标识确定为所述第二预测路标识;
14、在所述命中信息包括第二命中信息的情况下,将所述取指块当前时刻在所述指令高速缓存中的所述实际路标识确定为所述第二预测路标识;
15、在所述命中信息包括第三命中信息的情况下,将目标路标识确定为所述第二预测路标识;所述目标路是将所述取指块取回所述指令高速缓存后所述取指块在所述指令高速缓存中所填充的路。
16、可选地,所述路预测信息包括第二预测路标识、路预测计数器及待更新的预测路标识中至少一项;
17、所述第二预测路标识,为所述取指块下一时刻在所述指令高速缓存中的预测路标识;
18、所述路预测计数器,用于对所述取指块进行路预测的次数进行计数;
19、所述待更新的预测路标识,用于基于所述路预测计数器,对所述第二预测路标识进行更新。
20、可选地,所述基于所述命中信息,在取指目标缓冲器中设置路预测信息,包括:
21、基于所述命中信息,对所述路预测计数器以及所述待更新的预测路标识进行更新,在所述路预测计数器达到目标值的情况下,得到更新后的预测路标识;
22、将所述更新后的预测路标识确定为所述第二预测路标识。
23、可选地,所述基于所述命中信息,对所述路预测计数器以及所述待更新的预测路标识进行更新,包括:
24、在所述命中信息包括所述第一命中信息的情况下,将所述更新的预测路标识更新为所述第一预测路标识,并将所述路预测计数器加1;
25、在所述命中信息包括所述第二命中信息的情况下,将所述更新的预测路标识更新为所述取指块当前时刻在所述指令高速缓存中的所述实际路标识,并将所述路预测计数器减1;
26、在所述命中信息包括所述第三命中信息的情况下,将所述更新的预测路标识更新为目标路标识,并将所述路预测计数器加1;所述目标路是将所述取指块取回所述指令高速缓存后所述取指块在所述指令高速缓存中所填充的路。
27、可选地,所述基于所述路预测信息确定所述取指块下一时刻在所述指令高速缓存中的路标识,包括:
28、将所述第二预测路标识,确定为所述取指块下一时刻在所述指令高速缓存中的路标识。
29、本专利技术还提供一种高速缓存的路预测装置,包括:
30、获取模块,用于在接收到跳转指令的情况下,获取当前时刻取指块在指令高速缓存中的命中信息;所述取指块为所述指令高速缓存中所述跳转指令对应的目标地址所在的缓存行;
31、设置模块,用于基于所述命中信息,在取指目标缓冲器中设置路预测信息;所述路预测信息用于对所述取指块下一时刻在所述指令高速缓存中的路标识进行预测;
32、预测模块,用于调用所述取指目标缓冲器,基于所述路预测信息确定所述取指块下一时刻在所述指令高速缓存中的路标识;
33、其中,所述命中信息用于反映所述取指块的第一路标识是否命中所述取指块的实际路标识,所述第一路标识为所述取指块当前时刻在所述指令高速缓存中的第一预测路标识,所述实际路标识为所述取指块当前时刻的实际路标识。
34、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述高速缓存的路预测方法。
35、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述高速缓存的路预测方法。
36、本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述高速缓存的路预测方法。
37、本专利技术提供的高速缓存的路预测方法、装置、电子设备及存储介质,在接收到跳转指令的情况下,通过获取当前时刻取指块在i-cache中的命中信息,基于命中信息在ftb中设置路预测信息,然后调用ftb,基于路预测信息确定取指块下一时刻在i-cache中的路标识;通过上述方法,基于路预测信息即可确定下一时刻取指块(即跳转目标target)位于i-cache中的哪一路,从而实现对跳转指令对应的跳转目标地址所在的路进行预测,进而降低i-cache的访问功耗和访问延本文档来自技高网...
【技术保护点】
1.一种高速缓存的路预测方法,其特征在于,包括:
2.根据权利要求1所述的高速缓存的路预测方法,其特征在于,所述命中信息,包括以下至少一项:
3.根据权利要求2所述的高速缓存的路预测方法,其特征在于,所述路预测信息包括第二预测路标识,所述第二预测路标识为所述取指块下一时刻在所述指令高速缓存中的预测路标识;
4.根据权利要求2所述的高速缓存的路预测方法,其特征在于,所述路预测信息包括第二预测路标识、路预测计数器及待更新的预测路标识中至少一项;
5.根据权利要求4所述的高速缓存的路预测方法,其特征在于,所述基于所述命中信息,在取指目标缓冲器中设置路预测信息,包括:
6.根据权利要求5所述的高速缓存的路预测方法,其特征在于,所述基于所述命中信息,对所述路预测计数器以及所述待更新的预测路标识进行更新,包括:
7.根据权利要求3至6中任一项所述的高速缓存的路预测方法,其特征在于,所述基于所述路预测信息确定所述取指块下一时刻在所述指令高速缓存中的路标识,包括:
8.一种高速缓存的路预测装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述高速缓存的路预测方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述高速缓存的路预测方法。
...【技术特征摘要】
1.一种高速缓存的路预测方法,其特征在于,包括:
2.根据权利要求1所述的高速缓存的路预测方法,其特征在于,所述命中信息,包括以下至少一项:
3.根据权利要求2所述的高速缓存的路预测方法,其特征在于,所述路预测信息包括第二预测路标识,所述第二预测路标识为所述取指块下一时刻在所述指令高速缓存中的预测路标识;
4.根据权利要求2所述的高速缓存的路预测方法,其特征在于,所述路预测信息包括第二预测路标识、路预测计数器及待更新的预测路标识中至少一项;
5.根据权利要求4所述的高速缓存的路预测方法,其特征在于,所述基于所述命中信息,在取指目标缓冲器中设置路预测信息,包括:
6.根据权利要求5所述的高速缓存的路预测方法,其...
【专利技术属性】
技术研发人员:李祖松,郇丹丹,商家玮,
申请(专利权)人:北京微核芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。