【技术实现步骤摘要】
【国外来华专利技术】同时进行分支地址的预测和寄存器内容的更新
技术介绍
一个或多个方面一般涉及计算环境内的处理,尤其涉及促进这样的处理。许多计算系统使用寄存器间接分支,其中在分支指令中指定下一个要执行的指令的地址的位置,而不是地址本身。例如,指定包括该地址的寄存器的位置。此外,根据通用的应用二进制接口(ABI),分支地址首先被加载到通用寄存器(GPR),然后在实现寄存器间接分支之前被传送到专用控制寄存器(SPR)。例如,在纽约阿芒克的国际商业机器公司提供的Power指令集架构(ISA)中,分支指令分支到计数器(CTR)专用寄存器。然而,专用寄存器不是直接加载的,而是经由通用寄存器加载的。计数器寄存器的读出往往是昂贵的。因此,当执行到子例程的分支(BCTR)时,至少一个ABI指示CTR的值要存储在另一寄存器、例如R12中,使得另一寄存器能够由被调用的函数用作基址寄存器。然而,当进行分支预测时,会在已加载R12值之前预测分支地址,从而使所调用的子例程响应于数据访问而停止,且限制性能。
技术实现思路
通过提供一种用于促进计算环境内的处理 ...
【技术保护点】
1.一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:/n一种计算机可读存储介质,其可由处理电路读取并且存储用于执行方法的指令,所述方法包括:/n使用所述计算环境的处理器预测将在寄存器间接分支中使用的预测值;/n将所述预测值存储在所述计算环境的一个或多个指令可访问的所选择位置中,所述存储与寄存器间接分支的处理同时执行,并且所述所选择位置是除了用于存储指令地址的另一位置之外的位置;以及/n在包括所述寄存器间接分支的推测处理中使用所述预测值。/n
【技术特征摘要】
【国外来华专利技术】20170818 US 15/680,779;20171117 US 15/816,4011.一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:
一种计算机可读存储介质,其可由处理电路读取并且存储用于执行方法的指令,所述方法包括:
使用所述计算环境的处理器预测将在寄存器间接分支中使用的预测值;
将所述预测值存储在所述计算环境的一个或多个指令可访问的所选择位置中,所述存储与寄存器间接分支的处理同时执行,并且所述所选择位置是除了用于存储指令地址的另一位置之外的位置;以及
在包括所述寄存器间接分支的推测处理中使用所述预测值。
2.根据权利要求1所述的计算机程序产品,其中所述预测值包括将由指令提取使用的目标地址。
3.根据权利要求2所述的计算机程序产品,其中所述使用包括将所述指令提取重定向到所述目标地址。
4.根据权利要求1所述的计算机程序产品,其中所述所选择位置包括硬件寄存器。
5.根据权利要求1所述的计算机程序产品,其中所述方法进一步包括:
确定所述预测值是否准确;以及
基于确定所述预测值不准确,执行恢复。
6.根据权利要求5所述的计算机程序产品,其中所述恢复包括:
清洗在所述使用之后执行的一个或多个指令;以及
用非预测值替换所述预测值。
7.根据权利要求6所述的计算机程序产品,其中所述替换包括使用一个或多个重命名寄存器来提供所述非预测值。
8.根据权利要求1所述的计算机程序产品,其中所述存储包括:
分配寄存器以保存所述预测值;以及
将所述预测值复制到被分配为保存所述预测值的所述寄存器。
9.根据权利要求8所述的计算机程序产品,其中所述寄存器是为被指派以保存所述预测值的逻辑寄存器分配的重命名寄存器。
10.根据权利要求9所述的计算机程序产品,其中所述方法还包括将所述重命名寄存器标记为可用。
11.一种用于促进计算环境内的处理的计算机系统,所述计算机系统包括:
存储器;以及
与所述存储器通信的处理器,其中所述计算机系统被配置为执行方法,所述方法包括:
预测将在寄存器间接分支中使用的预测值;
将所述预测值存储在所述计算环境的一个或多个指令可访问的所选择位置中,所述存储与寄存器间接分支的处理同时执行,并且所述所选择位置是除了用于存储指令地址的另一位置之外的位置...
【专利技术属性】
技术研发人员:MK格施温德,V萨拉普拉,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。