[发明专利]具有滞后的下一获取预测器训练有效
申请号: | 201210543904.X | 申请日: | 2012-09-28 |
公开(公告)号: | CN103150142A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | A·J·保蒙-史密斯;R·B·谷纳 | 申请(专利权)人: | 苹果公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 鲍进 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 滞后 获取 预测 训练 | ||
技术领域
本发明涉及微处理器,更具体地,涉及分支预测机制。
背景技术
在每一个时钟周期中,微处理器理想的是为流水线的每一级生成指令的有用执行。然而,在一个或多个特定的流水线级中,流水线中的停顿(stall)可能防止了有用工作被执行。一些停顿可能持续几个时钟周期并严重降低处理器性能。停顿的例子是错误预测的分支指令。
用于减少停顿的负面影响的技术包括交叠的流水线级、允许指令的乱序执行和支持同时多线程。然而,由于可防止所有停顿周期的隐藏的按序退出(in-order retirement),数个时钟周期的停顿仍降低了处理器的性能。为了防止该性能损失,可使用用于减少多周期停顿的出现的技术。这种技术的一个例子就是分支预测。
分支预测技术预测分支指令的条件的评价。此外,分支预测技术可预测分支目标地址。分支预测逻辑可以是复杂的,以便提供高精度。因此,分支预测逻辑可使用多个时钟周期执行评价和计算,以生成条件和分支目标地址的结果。然而,在这些多个时钟周期中,指令从指令高速缓存中被获取。如果分支预测逻辑确定其它指令应被获取,则这些已获取的指令可能被清除。
分支预测逻辑可使用以精度换取更快结果的逻辑。然而,较低的精度可能导致如下情形:不恰当地评价具有变化的分支模式的小的、重复的回路分支。这种情况导致大部分时间产生错误预测和在对应流水线中的指令经常被清除。
鉴于以上情况,期望用于进行有效的分支预测的有效方法和机制。
发明内容
提供了用于有效分支预测的系统和方法。在一个实施方式中,处理器包括两个分支预测器。第一分支预测器可快速地生成分支预测数据,诸如分支方向和分支目标地址。在一些实施方式中,第一分支预测器在单个周期中生成分支预测数据。第二分支预测器可在后续的时间并以较高的预测精度生成分支预测数据。控制逻辑可确定来自第一和第二分支预测器中每一个的分支预测数据是否匹配。
如果控制逻辑确定出现了不匹配,则该控制逻辑可训练第一分支预测器。训练可包括:使用由第二分支预测器生成的分支预测数据来更新第一分支预测器中存储的值。然而,尽管检测到失配,控制逻辑仍可确定不执行训练。第一分支预测器或另一位置可存储用于特定分支指令的滞后(hysteresis)的指示。滞后的指示可指示:给定分支指令表现出关于其分支方向的频繁交替模式。由于训练不能与变化的分支方向保持一致,该行为可能导致分支的错误预测。当确定发生了这种条件时,控制逻辑可防止第一分支预测器的训练。
通过参照以下的说明书和附图,将进一步理解这些和其它实施方式。
附图说明
图1为处理器的前端的一个实施方式的通用框图。
图2为下一获取预测器的一个实施方式的通用框图。
图3为示出有效进行下一获取预测的方法的一个实施方式的通用流程图。
图4为示出用于下一获取预测器的训练更新逻辑400的一个实施方式的通用框图。
图5为示出用于有效进行分支预测训练的方法的一个实施方式的通用流程图。
图6为根据本发明的一个实施方式的处理器的示例性框图。
图7为根据本发明的另一个实施方式的设备的示例性框图。
虽然本发明可以进行各种修改和具有替换的形式,但其特定实施方式通过图中的例子示出并将在此详细描述。然而应理解,附图和对其的详细描述并非意图将本发明限定至所公开的特定形式,而是相反,意图是要覆盖落入由所附权利要求限定的本发明的精神和范围内的所有的修改、等同和替换。如在整个申请中使用的,词语“可”被使用来表示允许的含义(即,具有......的可能性的含义),而不是表示命令的含义(即,必须......的含义)。类似地,词语“包括”表示包括但不限于......。
各种单元、电路或其它组件可被描述为“被配置成”执行一个任务或多个任务。在这样的上下文中,“被配置成”是对结构的广义记载,其通常意指“具有”在操作中执行该一个或多个任务的“电路”。同样,即使当单元/电路/组件目前未开启,该单元/电路/组件仍可被配置成执行该任务。通常,形成对应于“被配置成”的结构的电路可包括硬件电路。类似地,为了描述方便,各种单元/电路/组件可被描述为执行一个或多个任务。这样的描述应被解释为包括短语“被配置成”。记载被配置成执行一个或多个任务的单元/电路/组件的意图明确地是为了不援引35U.S.C§112第6段对于该单元/电路/组件的解释。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苹果公司,未经苹果公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210543904.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:牛奶发泡器
- 下一篇:粮库智能传感器集成终端