[发明专利]对零谓词分支误预测的分支误预测行为抑制有效
申请号: | 201310175278.8 | 申请日: | 2013-02-22 |
公开(公告)号: | CN103353834A | 公开(公告)日: | 2013-10-16 |
发明(设计)人: | J·E·高宁恩 | 申请(专利权)人: | 苹果公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 鲍进 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 谓词 分支 预测 行为 抑制 | ||
技术领域
本发明公开涉及处理器,尤其是,涉及在所断定分支指令(predicated branch instruction)的分支误预测期间的矢量指令执行。
背景技术
在大多数现代处理器中分支预测已经变得很常见。当后向分支是可以高度预测的时,依赖于正在处理的数据的性质,前向分支可以或者不可以被很好地预测。
在执行计算时,处理矢量指令的一些处理器使用掩蔽断定(masking predication)来控制是否修改矢量中的元素或保持它们的值不被修改。尤其是,谓词矢量(predicate vector)可以控制是否修改矢量的各个元素。在一些情况下,在该谓词矢量包含全零时,分支指令可以用于该所断定指令周围的分支。在该分支被准确地预测的情况下,这通常可以改进功率和性能。
在常规矢量处理器中,当分支被误预测时,处理器管道(processor pipeline)通常可以被刷新(flush),并且新指令从诸如分支目标地址的不同地址被取出。然而,这种类型的常规分支误预测行为可能是不必要的和浪费的。
发明内容
公开了用于抑制分支误预测行为的方法的各种实施例。一般来说,设想了一种方法,其中使得控制流响应于确定谓词矢量为空(null)而转向指令周围的分支的条件分支指令被预测为不被采用。然而,响应于检测到该预测不正确,禁止误预测行为。
在一实施例中,所述方法包括生成预测程序指令执行的控制流没有响应于条件流控制指令的执行而被改变的预测。所述条件流控制指令响应于确定谓词矢量的一个或多个元素中的每一个都为空而改变所述控制流。此外,所述方法还可以包括检测所述预测是不正确的,并且响应于检测到所述预测是不正确的而禁止误预测行为。
在一特定实现中,禁止该误预测行为可以包括执行落入在该条件流控制指令的误预测路径(mispredicted path)中的程序指令。
在另一特定实现中,禁止该误预测行为可以包括禁止从处理器的执行管道刷新在流控制指令和指令目标之间的按程序顺序的程序指令。
附图说明
图1是计算机系统的一个实施例的框图。
图2是图解图1所示的处理器的一个实施例的附加细节的框图。
图3是图解程序代码循环的示例并行化的图。
图4A是图解例子1中所示的循环的标量执行期间各种状态序列的图。
图4B是图解例子1的循环的宏标量矢量化程序代码的执行进展(progression)的图。
图5A和图5B是图解程序源代码的矢量化的一个实施例的图。
图6A是图解非推测性矢量化程序代码的一个实施例的图。
图6B是图解推测性矢量化程序代码的另一个实施例的图。
图7是描绘在所断定分支指令的分支误预测期间图2的处理器的一个实施例的操作的流程图。
特定实施例通过附图中的例子被示出并且将在这里详细地描述。然而,可以理解的是,附图和详细描述并非意图将权利要求限制到所公开的特定实施例,即使在这里针对特定特征仅仅描述了单个实施例也是如此。相反,意图要覆盖对受益于本公开的本领域技术人员显而易见的所有改变、等同和替换。除非另有说明,在本公开中提供的特征的示例意图是说明性的而非限制性的。
如在整个本申请中使用的那样,词“可以”是在允许的意义下(即,意味着有可能)使用的,而不是在强制的意义下(即,意味着必须)使用的。相似地,词“包括”、“包含”意味着包括但不限制于此。
各种单元、电路、或其他组件可以被描述为“被配置成”执行一个或多个任务。在这种背景下,“被配置成”是通常意味着“具有在操作期间执行该一个或多个任务的电路”的结构的广义记载。同样地,该单元/电路/组件能够被被配置成执行该任务,即使在该单元/电路/组件当前并不存在时也是如此。一般来说,形成对应于“被配置成”的结构的电路可以包括硬件电路。类似地,为了便于描述,各种单元/电路/组件可以被描述为执行一个或多个任务。这种描述应被解释为包括短语“被配置成”。记载被配置成执行一个或者多个任务的单元/电路/组件明显不是要调用35U.S.C.§112第6段对于该单元/电路/组件的解释。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苹果公司,未经苹果公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310175278.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:等离子处理装置
- 下一篇:应用于嵌入式显示接口的动态随机存取存储器