[发明专利]用于预测分支指令的方法和设备有效
申请号: | 200680027102.6 | 申请日: | 2006-05-24 |
公开(公告)号: | CN101228506A | 公开(公告)日: | 2008-07-23 |
发明(设计)人: | 托马斯·安德鲁·萨托里乌斯;布赖恩·迈克尔·斯坦普尔;杰弗里·托德·布里奇斯;詹姆斯·诺里斯·迪芬德尔费尔;罗德尼·韦恩·史密斯 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F9/42 | 分类号: | G06F9/42 |
代理公司: | 北京律盟知识产权代理有限责任公司 | 代理人: | 刘国伟 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 预测 分支 指令 方法 设备 | ||
技术领域
本发明大体上涉及微处理器,且特定来说涉及分支预测微处理器。
背景技术
管线微处理器通常使用分支预测来避免在等待确定是否应被采取条件分支指令时使其指令管线停滞。分支预测机制允许此类微处理器在实际评估其分支条件之前“猜测”将采取还是不采取条件分支指令。
常用的分支预测方法依赖于维持包含许多饱和计数器或提供分支预测信息的其它跟踪指示符的分支历史表。作为一个实例,两位饱和计数器计数至最大值11,且低至最小值00,其中值11表示强采取,10表示弱采取,01表示弱不采取,且00表示强不采取。可基于运行时直观推断,例如跟踪过去分支行为的微处理器,来动态维持此类计数器。
因为通过分支预测获得的实际性能增益取决于分支预测精度,所以不同的计数器可用于不同的指令地址范围,使得每一计数器的指示符状态较好地反映较窄指令地址范围内分支指令的采取/不采取行为。以此方式改进预测精度可导致使用相对大量的计数器,因为每一计数器提供针对相对小的指令地址范围的分支预测符。因此,分支历史表可能相对大,且将其编入索引可能需要对大量的指令地址位进行解码以识别所涉及的相对窄的指令地址范围。
伴随的延迟限制了通过使用分支目标地址高速缓冲存储器(或等效地,分支目标指令高速缓冲存储器)实现进一步分支预测性能增益的能力。此类分支目标高速缓冲存储器保存先前辨识的分支指令的指令地址,例如先前由微处理器获取、解码和识别为分支指令的分支指令,且可通过比较每一新获取指令的指令地址与分支目标高速缓冲存储器内容而在解码之前检测分支指令。分支目标高速缓冲存储器“命中”指示指令地址对应于先前辨识的分支,而分支目标高速缓冲存储器“未命中”指示指令并非先前辨识的分支,意味着微处理器必须等待,直到指令解码级确定指令是否为分支指令为止。
因此,作为分支目标高速缓冲存储器命中的分支指令可预测为采取或不采取,而不用等待指令解码。然而,使用分支历史表作出此类预测的能力取决于在其用以检测分支目标高速缓冲存储器命中的相同时间量中可用的表信息。通常不能足够快速地存取较大的分支历史表以用于预测分支目标高速缓冲存储器命中。
及时预测信息的不可用迫使微处理器采用其它方法。在一个替代方法中,假定总是采取作为分支目标高速缓冲存储器命中的分支指令,即,“预测”被固定为采取。此类方法可导致显著多次的错误预测。另一替代方案是通常通过使分支历史表足够小从而可在指令管线的获取阶段较早存取,使得预测信息在指令解码之前可用,而加速分支历史表。然而,以此方式缩减分支历史表通常减小预测精度,因为相同的预测符用于在较广范围的指令地址内预测分支。
发明内容
在一个或一个以上实施例中,一种微处理器使用第一分支历史表来预测作为分支目标高速缓冲存储器命中的分支指令,并使用第二分支历史表中来预测作为所述分支目标高速缓冲存储器未命中的分支指令。第一分支历史表经配置以具有与分支目标高速缓冲存储器的存取速度匹配的存取速度,使得其预测信息在所述微处理器的检测到分支目标高速缓冲存储器命中和未命中的指令管线中较早地可用。因为在管线中直到稍后才需要其预测信息,所以第二分支历史表不需要与第一分支历史表一样快。此事实允许在配置第二分支历史表的大小和精度时具有显著的灵活性。
所述微处理器可包含分支预测电路,所述分支预测电路经配置以基于预测获取到指令管线中的分支指令是被采取还是不被采取来引导从指令高速缓冲存储器的指令获取以用于所述微处理器的所述指令管线。所述分支预测电路的一个实施例包括:分支目标高速缓冲存储器,其经配置以存储针对已知分支指令的分支目标信息;第一分支历史表,其经配置以存储第一分支预测信息;第二分支历史表,其经配置以存储第二分支预测信息;以及分支控制逻辑。所述分支控制逻辑可经配置以根据针对作为分支目标高速缓冲存储器命中的分支指令的第一分支预测信息以及根据针对作为分支目标高速缓冲存储器未命中的分支指令的第二分支预测信息来预测分支指令是被采取还是不被采取。
在一个实施例中,所述第一分支历史表经配置为具有与所述分支目标高速缓冲存储器的存取速度匹配的存取速度,且所述第二分支历史表经配置为具有与所述指令高速缓冲存储器的存取速度匹配的存取速度。更一般来说,第一分支历史表经配置以使得其分支预测信息结合检测到分支目标高速缓冲存储器命中而(例如)在指令管线的获取级中较早可用,而第二分支历史表经配置以使得其分支预测信息结合辨识的分支指令而(例如)在指令管线的解码级中稍后可用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680027102.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带有排烟结构的连续测温装置及应用它的冶金控制系统
- 下一篇:电磁泄漏检测装置