[发明专利]数据处理系统、处理器和进行数据处理的方法有效
申请号: | 200710192759.4 | 申请日: | 2007-11-16 |
公开(公告)号: | CN101187863A | 公开(公告)日: | 2008-05-28 |
发明(设计)人: | J·P·布拉德福德;R·W·多英格;R·J·艾克迈耶;W·R·艾-埃萨怀;D·R·洛根;B·辛哈罗伊;W·E·斯佩特;张立新 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市金杜律师事务所 | 代理人: | 朱海波 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理系统 处理器 进行 数据处理 方法 | ||
技术领域
本发明一般地涉及数据处理,并且特别地涉及分支预测。更特别地,本发明涉及具有改进的分支目标地址高速缓存(BTAC)的数据处理系统,处理器和进行数据处理的方法。
背景技术
根据现有技术的微处理器可以包括例如用于存储指令和数据的高速缓存,用于从所述高速缓存取指令、为所述取到的指令排序并且分发所述取到的指令用于执行的指令排序逻辑,一个或多个用于处理序列指令的序列指令执行单元,以及用于处理分支指令的分支处理单元(BPU)。
BPU执行的分支指令可以归类为条件分支指令或非条件分支指令。非条件分支指令是将程序执行流程从顺序执行路径改变到特定的目标执行路径并且不依赖于事件发生所提供的条件的分支指令。这样,总是选择非条件分支指令所规定的分支。与此相比,条件分支指令是根据处理器内部的条件可能选择也可能不选择程序执行流程中所指示的分支的分支指令,所述条件例如特定条件寄存器位的状态或计数器的值。
条件分支指令可以根据在BPU评估条件分支指令时所述分支所依赖的条件是否具备进一步分类为解析或未解析的条件分支指令。由于解析条件分支指令所依赖的条件在执行前是已知的,典型地可以在执行序列指令时延迟很小或无延迟的情况下执行解析条件分支指令并且提取所述目标执行路径上的指令。另一方面,如果顺序指令的提取被延迟直至所述分支所依赖的条件具备并且所述分支被解析为止,则未解析条件分支可造成严重的性能损失。
因此,为了使执行停滞最小化,某些处理器推测性地将未解析分支指令的结果预测为选取或不选取。随后取指令器就能够利用所述预测结果在所述分支解析前取所述推测性的执行路径上的指令,这样在随后所述分支被解析为预测正确的情况下,就可避免执行管道中的停滞。传统地,已经利用静态分支预测或利用动态分支预测实现未解析条件分支指令的预测,其中静态分支预测基于在程序执行前确定的标准预测分支指令的解析,而动态分支预测通过参照分支历史表(BHT)和/或分支目标地址高速缓存(BTAC)中在逐个地址基础上积累的分支历史来预测分支指令的解析。
现代微处理器从指令高速缓存中取指令、扫描所取指令的分支并且预测未解析条件分支指令的结果需要若干周期。如果任何分支被预测为被选取,取指令被重定向到新的预测地址。这个改变所取指令的过程称为“被选取分支重定向”。在所述取指令、分支扫描以及被选取分支重定向需要的若干周期中,继续沿着未选取的路径取指令;对于被预测为选取的分支,所述被预测选取路径内的指令被丢弃,造成性能降低以及功耗浪费。
现有的几种方法用于降低或消除所述分支重定向的损失。一种普遍采用的降低分支重定向损失的方法是提前取指令并将所述指令放到指令缓冲器中;然而,如果所述缓冲器例如由于分支错误预测、指令高速缓存未命中或在快速接替中有太多被选取分支而为空,那么指令管道的部分或全部可能空闲,从而降低性能。
较不常用的降低由于被选取分支造成的性能损失的方法是实施BTAC,其高速缓存被选取分支的所述分支目标地址和相关联的所述取分支指令地址。在操作中,在取指令的同时访问BTAC,并且在BTAC中搜索取指令地址与传送给所述指令高速缓存的取地址相匹配的条目。如果存在这样的BTAC条目,取指令被重定向到所述匹配的BTAC条目所提供的所述分支目标地址。由于所述BTAC访问所需的周期典型地少于所述取指令、分支扫描和被选取分支重定向序列的周期,正确的BTAC预测能够通过促使取指令早于没有BTAC的情况开始于新地址,从而提高性能。
发明内容
本发明提供采用增强分支目标地址高速缓存的改进的数据处理系统,处理器和进行数据处理的方法。
处理器包括执行单元和取指令用以执行的指令排序逻辑。指令排序逻辑包括具有分支目标缓冲器的分支目标地址高速缓存,分支目标缓冲器包含多个条目,每个条目将分支指令地址的至少一部分与预测分支目标地址相关联。分支目标地址高速缓存使用分支指令地址访问分支目标缓冲器,以获取预测的分支目标地址作为取指令地址使用。分支目标地址高速缓存也包括缓冲一个或多个候选分支目标地址预测的过滤缓冲器。过滤缓冲器将各个表明预测准确性的置信度指示与每个候选分支目标地址预测相关联。分支目标地址高速缓存根据候选分支目标地址预测各自的置信度指示将其从过滤缓冲器推进到分支目标缓冲器。
通过下文的详述可以理解本发明所有的目的、特性和优势。
附图说明
权利要求书中提出了被认为是本发明特有的新颖性特征。然而,参照附图和下文对一个示例性实施例的详述可以对本发明以及优选的使用方法有最好的理解,其中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710192759.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:照明式风筝
- 下一篇:竹制便携式折叠工作台