[发明专利]使用快速索引树实现加速分支预测的系统和方法有效
| 申请号: | 201310231248.4 | 申请日: | 2013-06-09 |
| 公开(公告)号: | CN103488461A | 公开(公告)日: | 2014-01-01 |
| 发明(设计)人: | J·J·博南诺;B·R·普拉斯基;A·萨珀里托 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38 |
| 代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 于静;张亚非 |
| 地址: | 美国*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 使用 快速 索引 实现 加速 分支 预测 系统 方法 | ||
技术领域
本发明一般地涉及计算机处理系统,更具体地说,涉及用于加速分支预测的快速索引树。
背景技术
计算机处理器中的指令流水线通过使用多个流水线级处理指令,提高指令执行吞吐量,其中多个级可以并行处理指令流的不同指令。指令流中的条件分支指令可能在以下情况下导致流水线停顿(pipeline stall):如果处理器进行等待直到在流水线中的执行级解析条件分支指令,然后在流水线的指令取回级取回下一条指令。分支预测器可以尝试猜测是否跳转条件分支。分支预测器还可以包括分支目标预测,该预测在通过对指令本身进行解码和执行来计算目标之前,尝试猜测跳转的条件或无条件分支的目标。分支目标可以是基于偏移和/或通过寄存器的间接引用的所计算的地址。
分支目标缓冲器(BTB)可以用于根据分支指令的地址,预测所预测的跳转分支指令的目标。预测分支指令的目标可以防止流水线停顿,因为无需等待分支指令到达流水线的执行级以计算分支目标地址。通过执行分支目标预测,可以在同一周期或分支指令之后的周期执行分支的目标指令解码,而不会在分支指令与所预测的跳转分支指令的目标之间具有多个气泡/空周期。可以包括在BTB中或单独实现的其它分支预测组件包括分支历史表和模式历史表。分支历史表可以根据分支地址预测分支的方向(跳转与不跳转)。模式历史表可以根据遇到的分支模式(导向要预测的给定分支)而帮助分支的方向预测。
发明内容
示例性实施例包括一种使用快速索引树(FIT)实现加速分支预测的系统。所述系统包括分支目标缓冲器、FIT结构以及处理电路,所述处理电路被配置为执行一种方法。所述方法包括确定要在FIT控制下执行所述分支目标缓冲器的搜索。保存用于所述分支目标缓冲器的搜索的当前搜索地址。在所保存的当前搜索地址处搜索所述分支目标缓冲器以获得分支预测。根据从所述FIT结构读取下一搜索级别的预测分支的分支跳转和分支不跳转路径,确定FIT下一搜索地址。根据所述FIT下一搜索地址,重新索引所述分支目标缓冲器的搜索。确定在所保存的当前搜索地址处的搜索是否查找到所述分支预测。根据在所保存的当前搜索地址处的搜索查找到所述分支预测,使用基于所述FIT下一搜索地址设置的当前搜索地址,在FIT控制下继续所述分支目标缓冲器的搜索。根据在所保存的当前搜索地址处的搜索无法查找到所述分支预测,使用所保存的当前搜索地址重新索引所述分支目标缓冲器的搜索,并在没有FIT控制的情况下执行所述分支目标缓冲器的搜索。
另一示例性实施例包括一种使用快速索引树实现加速分支预测的计算机实现的方法。所述方法包括由计算机确定要在FIT控制下执行分支目标缓冲器的搜索。保存用于所述分支目标缓冲器的搜索的当前搜索地址。所述方法还包括在所保存的当前搜索地址处搜索所述分支目标缓冲器以获得分支预测。所述计算机根据从FIT结构读取下一搜索级别的预测分支的分支跳转和分支不跳转路径,确定FIT下一搜索地址。根据所述FIT下一搜索地址,重新索引所述分支目标缓冲器的搜索。所述计算机确定在所保存的当前搜索地址处的搜索是否查找到所述分支预测。根据在所保存的当前搜索地址处的搜索查找到所述分支预测,使用基于所述FIT下一搜索地址设置的当前搜索地址,在FIT控制下继续所述分支目标缓冲器的搜索。根据在所保存的当前搜索地址处的搜索无法查找到所述分支预测,使用所保存的当前搜索地址重新索引所述分支目标缓冲器的搜索,并在没有FIT控制的情况下执行所述分支目标缓冲器的搜索。
其它示例性实施例包括一种使用快速索引树实现加速分支预测的计算机程序产品。所述计算机程序产品包括有形存储介质,所述有形存储介质可由处理电路读取并存储由所述处理电路执行以执行一种方法的指令。所述方法包括由所述处理电路确定要在FIT控制下执行分支目标缓冲器的搜索。保存用于所述分支目标缓冲器的搜索的当前搜索地址。所述方法还包括在所保存的当前搜索地址处搜索所述分支目标缓冲器以获得分支预测。所述处理电路根据从FIT结构读取下一搜索级别的预测分支的分支跳转和分支不跳转路径,确定FIT下一搜索地址。根据所述FIT下一搜索地址,重新索引所述分支目标缓冲器的搜索。所述处理电路确定在所保存的当前搜索地址处的搜索是否查找到所述分支预测。根据在所保存的当前搜索地址处的搜索查找到所述分支预测,使用基于所述FIT下一搜索地址设置的当前搜索地址,在FIT控制下继续所述分支目标缓冲器的搜索。根据在所保存的当前搜索地址处的搜索无法查找到所述分支预测,使用所保存的当前搜索地址重新索引所述分支目标缓冲器的搜索,并在没有FIT控制的情况下执行所述分支目标缓冲器的搜索。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310231248.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于执行应用程序的方法和装置
- 下一篇:复合装置及其画面显示方法





