System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 取数指令猜测不相关错误的预测方法和装置制造方法及图纸_技高网

取数指令猜测不相关错误的预测方法和装置制造方法及图纸

技术编号:41211085 阅读:2 留言:0更新日期:2024-05-09 23:33
本公开提出一种取数指令猜测不相关错误的预测方法和装置,该方法包括:确定待预测取数指令对应的访问地址以及程序计数器的值,其中,访问地址包括目标区域基地址和目标区域偏移量,基于程序计数器的值和目标区域偏移量确定索引值,并基于索引值从预设预测表中获取有效预测表项,其中,有效预测表项包括:候选区域基地址以及对应的候选位向量,基于候选区域基地址和候选位向量计算得到多个块地址,确定多个块地址与访问地址的对比结果,并根据对比结果确定待预测取数指令猜测不相关错误的预测结果,由此,能够通过预测技术减少取数指令猜测不相关错误的发生,进而降低由于取数指令猜测不相关错误而带来的重新执行代价,提高访存指令的执行效率。

【技术实现步骤摘要】

本公开涉及处理器,具体涉及一种取数指令猜测不相关错误的预测方法和装置


技术介绍

1、在处理器
中,处理器存储器访问速度的发展远远跟不上处理器运算速度的发展,日益严峻的访存速度问题严重制约了处理器性能的进一步提升,提高处理器访存指令的执行速度是提高处理器性能的关键。

2、在处理器中,访存指令一般通过寄存器间接寻址的方式访问存储器,因此在访存指令地址计算出来之后,才能够进行取数(load)指令和存数指令相关的判断。有一种情况是load指令之前相关的store指令还没有确定地址,那么这个时候现有技术load指令有两种处理方法:第一种处理方法是等待该load指令前面所有地址没有确定的store指令地址都确定后再进行取数操作。第二种处理方法是猜测load指令不会发生与执行序在其前面地址没有确定的store指令的相关,简称load指令猜测不相关。

3、而发生load指令猜测不相关的猜测错误时,处理器将load指令置例外,回滚重新执行猜测错误的load指令及其后面的所有指令代价很大,需要排空流水线,同时还需要将处理器的状态恢复到执行这条load指令之前的状态。如果频繁进行load指令置例外,回滚重新执行会在很大程度上降低处理器的性能。


技术实现思路

1、本公开旨在至少在一定程度上解决相关技术中的技术问题之一。

2、为此,本公开的目的在于提出一种取数指令猜测不相关错误的预测方法、装置、计算机设备和存储介质,由此,能够通过预测技术减少取数指令猜测不相关错误的发生,进而降低由于取数指令猜测不相关错误而带来的重新执行代价,提高访存指令的执行效率。

3、为达到上述目的,本公开第一方面实施例提出的取数指令猜测不相关错误的预测方法,包括:

4、确定待预测取数指令对应的访问地址,以及程序计数器的值,其中,所述访问地址包括目标区域基地址和目标区域偏移量;

5、基于所述程序计数器的值和所述目标区域偏移量确定索引值,并基于所述索引值从预设预测表中获取有效预测表项,其中,所述有效预测表项包括:候选区域基地址,以及与所述候选区域基地址对应的候选位向量,所述候选区域基地址与所述目标区域基地址相同;

6、基于所述候选区域基地址和所述候选位向量计算得到取数指令猜测不相关错误的多个块地址;

7、确定所述多个块地址与所述访问地址的对比结果,并根据所述对比结果确定所述待预测取数指令猜测不相关错误的预测结果。

8、为达到上述目的,本公开第二方面实施例提出的取数指令猜测不相关错误的预测装置,包括:

9、第一确定模块,用于确定待预测取数指令对应的访问地址,以及程序计数器的值,其中,所述访问地址包括目标区域基地址和目标区域偏移量;

10、第二确定模块,用于基于所述程序计数器的值和所述目标区域偏移量确定索引值,并基于所述索引值从预设预测表中获取有效预测表项,其中,所述有效预测表项包括:候选区域基地址,以及与所述候选区域基地址对应的候选位向量,所述候选区域基地址与所述目标区域基地址相同;

11、计算模块,用于基于所述候选区域基地址和所述候选位向量计算得到取数指令猜测不相关错误的多个块地址;

12、第三确定模块,用于确定所述多个块地址与所述访问地址的对比结果,并根据所述对比结果确定所述待预测取数指令猜测不相关错误的预测结果。

13、本公开第三方面实施例提出的计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本公开第一方面实施例提出的取数指令猜测不相关错误的预测方法。

14、本公开第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开第一方面实施例提出的取数指令猜测不相关错误的预测方法。

15、本公开第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本公开第一方面实施例提出的取数指令猜测不相关错误的预测方法。

16、本公开提供的取数指令猜测不相关错误的预测方法、装置、计算机设备和存储介质,通过确定待预测取数指令对应的访问地址,以及程序计数器的值,其中,访问地址包括目标区域基地址和目标区域偏移量,基于程序计数器的值和目标区域偏移量确定索引值,并基于索引值从预设预测表中获取有效预测表项,其中,有效预测表项包括:候选区域基地址,以及与候选区域基地址对应的候选位向量,候选区域基地址与目标区域基地址相同,基于候选区域基地址和候选位向量计算得到取数指令猜测不相关错误的多个块地址,确定多个块地址与访问地址的对比结果,并根据对比结果确定待预测取数指令猜测不相关错误的预测结果,由此,能够通过预测技术减少取数指令猜测不相关错误的发生,进而降低由于取数指令猜测不相关错误而带来的重新执行代价,提高访存指令的执行效率。

17、本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。

本文档来自技高网...

【技术保护点】

1.一种取数指令猜测不相关错误的预测方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,其中,所述预设预测表是基于如下步骤获取:

3.如权利要求2所述的方法,其特征在于,其中,

4.如权利要求3所述的方法,其特征在于,所述基于所述历史取数指令的访问地址、所述猜测不相关结果、所述过滤表和所述生成表对所述空间区域进行区域生成,包括:

5.如权利要求4所述的方法,其特征在于,还包括:

6.如权利要求4所述的方法,其特征在于,还包括:

7.如权利要求6所述的方法,其特征在于,还包括:

8.如权利要求3所述的方法,其特征在于,其中,所述位向量用于存储从区域基地址开始的多个不同偏移,且以缓存行为单位。

9.如权利要求3所述的方法,其特征在于,其中,所述位向量用于指示空间区域中对应取数指令猜测不相关错误发生的缓存行地址相对于区域基地址之间偏移的缓存行数量。

10.如权利要求3所述的方法,其特征在于,所述过滤表和所述生成表中所述程序计数器的值是程序计数器的完整值,或者,是所述程序计数器的完整值经哈希处理后的哈希值。

11.如权利要求1所述的方法,其特征在于,所述基于所述索引值从预设预测表中获取有效预测表项,包括:

12.如权利要求1所述的方法,其特征在于,所述根据所述对比结果确定所述待预测取数指令猜测不相关错误的预测结果,包括:

13.如权利要求12所述的方法,其特征在于,还包括:

14.如权利要求1所述的方法,其特征在于,还包括:

15.如权利要求14所述的方法,其特征在于,还包括:

16.一种取数指令猜测不相关错误的预测装置,其特征在于,包括:

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

18.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,其中,所述计算机指令用于使所述计算机执行权利要求1-15中任一项所述的方法。

...

【技术特征摘要】

1.一种取数指令猜测不相关错误的预测方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,其中,所述预设预测表是基于如下步骤获取:

3.如权利要求2所述的方法,其特征在于,其中,

4.如权利要求3所述的方法,其特征在于,所述基于所述历史取数指令的访问地址、所述猜测不相关结果、所述过滤表和所述生成表对所述空间区域进行区域生成,包括:

5.如权利要求4所述的方法,其特征在于,还包括:

6.如权利要求4所述的方法,其特征在于,还包括:

7.如权利要求6所述的方法,其特征在于,还包括:

8.如权利要求3所述的方法,其特征在于,其中,所述位向量用于存储从区域基地址开始的多个不同偏移,且以缓存行为单位。

9.如权利要求3所述的方法,其特征在于,其中,所述位向量用于指示空间区域中对应取数指令猜测不相关错误发生的缓存行地址相对于区域基地址之间偏移的缓存行数量。

10...

【专利技术属性】
技术研发人员:李祖松郇丹丹
申请(专利权)人:北京微核芯科技有限公司
类型:发明
国别省市:

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

1