For systems and methods including dependence prediction: instruction execution processor instructions in the pipeline; and the detection of conditional imposed control instructions, for example if so IT instructions, the one or more dependent instructions conditional block size dependent behavior imposed. Before the execution of the first instruction, one or more parameters of the conditional block size and the instruction pipeline based on dependency make prediction to determine the first instruction on whether dependent instructions control instruction for the conditional. The first instruction is executed based on the dependency prediction. When the first instruction is mistakenly predicted by dependence, the associated dependent false prediction penalty is reduced. If the first instruction is a branch instruction, then the mitigation involves a training branch prediction tracking mechanism to correctly predict the future appearance of the first instruction.
【技术实现步骤摘要】
【国外来华专利技术】指令的相依性预测
所揭示的方面涉及在指令管线中执行的指令的相依性预测。更明确地说,一些方面是针对预测一或多个指令是否为条件性强加控制指令的相依指令,且在相依性的不正确预测的情况下,减轻相关联的惩罚。
技术介绍
指令的条件性执行是处理系统的常规特征。实例是条件性指令,例如条件性分支指令,其中条件性分支指令所采用的方向可取决于条件如何解决。举例来说,条件性分支指令可表示为“if<condition1>jump1”,其中,如果条件1评估为真,那么指令执行的操作流跳到jump1标记所指定的目标地址(此情形还可被称作正“采用”分支指令(jump1))。另一方面,如果条件1评估为假,那么在所述条件性分支指令之后,操作流可继续执行下一循序指令,而不跳到目标地址。(此情形也被称作不采用所述分支指令,或“不被采用”)。在某些指令集架构(ISA)下,不同于分支指令的指令可为条件性的,其中所述指令的行为将取决于相关条件。一般来说,其中将解决条件性指令的条件的方式将是未知的,直到所述条件性指令被执行为止。等待直到所述条件性指令被执行来确定条件为止可在经配置以用于并行和乱序执行的现代处理器中强加非所要的延迟。在条件性分支指令的情况下,所述延迟特别具有破坏性,因为其中分支指令得到解决的方向将决定跟随所述分支指令的指令操作流。为了改进指令级并行度(ILP)且最小化延迟,现代处理器可包含在条件性指令的执行之前预测条件性指令的条件的解决方案的机制。举例来说,实施分支预测机制来预测在执行条件性分支指令之前,将采用还是不采用所述条件性分支指令的方向。如果预测结果是错误的,那么将冲洗 ...
【技术保护点】
一种执行处理器的指令管线中的指令的方法,所述方法包括:检测对一或多个相依指令的条件性块大小数目强加相依行为的条件性强加控制指令;在执行第一指令之前,基于所述条件性块大小以及所述指令管线的一个或多个参数,相依性预测所述第一指令是所述条件性强加控制指令的相依指令;基于所述相依性预测来执行所述第一指令;以及当所述第一指令被相依性误预测时,减轻与所述相依性误预测相关联的惩罚。
【技术特征摘要】
【国外来华专利技术】2014.09.26 US 14/498,9381.一种执行处理器的指令管线中的指令的方法,所述方法包括:检测对一或多个相依指令的条件性块大小数目强加相依行为的条件性强加控制指令;在执行第一指令之前,基于所述条件性块大小以及所述指令管线的一个或多个参数,相依性预测所述第一指令是所述条件性强加控制指令的相依指令;基于所述相依性预测来执行所述第一指令;以及当所述第一指令被相依性误预测时,减轻与所述相依性误预测相关联的惩罚。2.根据权利要求1所述的方法,其中所述第一指令和所述条件性强加控制指令属于同一获取群组。3.根据权利要求1所述的方法,其中所述第一指令属于其中获取所述条件性强加控制指令的第一获取群组之后的第二获取群组。4.根据权利要求1所述的方法,其中所述一个或多个参数包括以下各项中的一或多者:所述指令管线的最大宽度;所述处理器中所实施的指令集架构ISA所支持的指令长度;或所述第一指令在所述指令管线的管线级内占用的一或多个预指定通道。5.根据权利要求1所述的方法,其中所述第一指令是分支指令。6.根据权利要求5所述的方法,其进一步包括方向预测所述分支指令以获得所述分支指令的方向的预测。7.根据权利要求6所述的方法,其进一步包括确定所述方向预测不正确,其中所述分支指令是非条件性分支指令,且减轻所述惩罚包括通过用所述不正确方向预测更新分支预测跟踪机制来训练所述分支预测跟踪机制。8.根据权利要求7所述的方法,其进一步包括基于所述经训练的分支预测跟踪机制来正确地方向预测所述第一指令的将来出现。9.根据权利要求1所述的方法,其中减轻所述惩罚包括阻止所述第一指令提交或更新存储器。10.根据权利要求9所述的方法,其进一步包括阻止跟随所述第一指令且具有与所述第一指令的数据相依性的一或多个指令提交或更新所述存储器。11.根据权利要求1所述的方法,其中所述条件性强加控制指令属于如果-那么IT类指令。12.一种处理系统,其包括:处理器,其经配置以执行指令管线中的指令;相依性预测逻辑,其经配置以:检测对一或多个相依指令的条件性块大小数目强加相依行为的条件性强加控制指令;以及在执行第一指令之前,基于所述条件性块大小以及所述指令管线的一个或多个参数,相依性预测所述第一指令是所述条件性强加控制指令的相依指令;其中所述处理器经配置以基于所述相依性预测来执行所述第一指令;以及经配置以在所述第一指令被相依性误预测时减轻与所述相依性误预测相关联的惩罚的逻辑。13.根据权利要求12所述的处理系统,其中所述第一指令和所述条件性强加控制指令属于同一获取群组。14.根据权利要求12所述的处理系统,其中所述第一指令属于其中获取所述条件性强加控制指令的第一获取群组之后的第二获取群组。15.根据权利要求12所述的处理系统,其中所述一个或多个参数包括以下各项中的一或多者:所述指令管线的最大宽度;所述处理器中所实施的指令集架构ISA所支持的指令长度;或所述第一指令在所述指令管线的管线级内占用的一或多个预指定通道。16.根据权利要求12所述的处理系统,其中所述第一指令是分支指令。17.根据权利要求16所述的处理系统,其进一步包括用以方向预测所述分支指令以获得所述分支指令的方向...
【专利技术属性】
技术研发人员:布莱恩·迈克尔·斯坦普尔,詹姆斯·诺里斯·迪芬德尔费尔,迈克尔·斯科特·麦克勒瓦伊内,梅林达·乔伊丝·布朗,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。