【技术实现步骤摘要】
将有条件短前向分支转换成计算等效的所断言指令
本文中所描述的实施例一般涉及处理器。具体而言,本文所描述的实施例一般涉及对处理器中有条件分支的处理。
技术介绍
某些处理器使用流水线化执行来交叠执行阶段。这可以允许多个指令同时处在不同的执行阶段,这可能有助于改进性能。所取得的并行量往往随着流水线深度的增加而增力口。随着时间的流逝,某些处理器在尝试改进性能时已引入更深的流水线。当指令流为已知时,这些深流水线往往更有效,由此流水线可保持饱满,并且后续指令的执行不需要等待流水线中先前指令的结果。 一个挑战在于,由处理器执行的程序或代码通常包含有条件分支。这种有条件分支的示例包括“如果条件被满足或未被满足则跳转”之类的指令,以及本领域公知的其它有条件控制流改变指令。有条件分支可以使执行流有条件地分支到两个可能方向之一。这两个方向通常被称为“选取路径”和“未选取路径”。“未选取路径”通常引向所执行代码的下一顺序指令,而“选取路径”通常跳过、运动或分支跨过一个或多个中间指令到非顺序目标指令。是否选取分支一般依赖于对与指令关联的条件的评估(例如条件是否被满足)。 为了帮助改进性能,多数现代处理器具有分支预测器,以帮助在已经确定有条件分支的实际方向之前预测有条件分支的方向。通常,在流水线后续阶段实际评估条件之前,有条件分支的实际方向无法确切知晓。然而,分支预测器可以采用分支预测机构或逻辑来预测有条件分支的方向(例如基于过去历史)。这可以帮助改进处理器性能。在没有分支预测器的情况下,处理器可能必需在能够将附加指令提取到流水线之前,等待对与有条件分支指 ...
【技术保护点】
一种处理有条件分支的处理器,包括:指令提取逻辑,用于提取有条件短前向分支,所述有条件短前向分支包括有条件分支指令以及在所述有条件分支指令与由所述有条件分支指令指示的前向分支目标指令之间以程序次序顺序跟随所述有条件分支指令的一组一个或多个指令;以及与所述指令提取逻辑耦合的指令转换逻辑,所述指令转换逻辑用于将所述有条件短前向分支转换成计算等效的一组一个或多个所断言指令。
【技术特征摘要】
2013.03.15 US 13/838,4501.一种处理有条件分支的处理器,包括: 指令提取逻辑,用于提取有条件短前向分支,所述有条件短前向分支包括有条件分支指令以及在所述有条件分支指令与由所述有条件分支指令指示的前向分支目标指令之间以程序次序顺序跟随所述有条件分支指令的一组一个或多个指令;以及 与所述指令提取逻辑耦合的指令转换逻辑,所述指令转换逻辑用于将所述有条件短前向分支转换成计算等效的一组一个或多个所断言指令。2.如权利要求1所述的处理器,其特征在于,所述指令转换逻辑用于去除所述有条件分支指令。3.如权利要求1所述的处理器,其特征在于,所述指令转换逻辑用于将在所述有条件分支指令与所述前向分支目标指令之间的所述一组一个或多个指令中的每一个从非断言转换成所断言指令。4.如权利要求1所述的处理器,其特征在于,所述指令转换逻辑用于将在所述有条件分支指令与所述前向分支目标指令之间的多个指令中的每一个从非断言转换成所断言指令。5.如权利要求1所述的处理器,其特征在于,所述指令转换逻辑用于输出表示所述计算等效的一组一个或多个所断言指令的信号,而不管所述有条件分支指令被预测为选取还是未选取。6.如权利要求1所述的处理器,其特征在于,所述指令转换逻辑包括位于所述处理器的流水线的解码级的硬件逻辑。7.如权利要求1所述的处理器,其特征在于,所述有条件分支指令与所述前向分支目标指令之间的所述一组一个或多个指令包括单个移动指令,并且所述指令转换逻辑用于将所述移动指令转换成有条件移动指令。8.如权利要求7所述的处理器,其特征在于,当所述有条件移动指令的条件为假时,所述有条件移动指令不引起异常。9.如权利要求1-7中任一项所述的处理器,其特征在于,所述指令转换逻辑用于输出表示所述计算等效的一组一个或多个所断言指令的信号,而无需所述指令转换逻辑知晓所述有条件分支指令的分支预测。10.如权利要求1-7中任一项所述的处理器,其特征在于,还包括与所述指令转换逻辑耦合的后端逻辑,所述后端逻辑用于执行所述计算等效的一组一个或多个所断言指令并且基于确定所述有条件分支指令应该已被选取,确定不更新反映所述计算等效的一组一个或多个所断言指令的执行的架构状态。11.如权利要求1-7中任一项所述的处理器,其特征在于,还包括与所述指令转换逻辑耦合的后端逻辑,所述后端逻辑用于执行所述计算等效的一组一个或多个所断言指令并且基于确定所述有条件分支指令应该未被选取,确定更新反映所述计算等效的一组一个或多个所断言指令的执行的架构状态。12.如权利要求1-7中任一项所述的处理器,其特征在于,所述指令提取逻辑用于总是提取在所述有条件分支指令与所述前向分支目标指令之间的一个或多个指令,而不管所述有条件分支指令的预测。13.—种处理有条件分支的方法,包括:提取有条件短前向分支,所述有条件短前向分支包括有条件分支指令以及在所述有条件分支指令与由所述有条件分支指令指示的前向分支目标指令之间以...
【专利技术属性】
技术研发人员:E·T·格罗科斯基,M·G·迪克森,Y·A·圣地亚哥,M·奈克,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。