[发明专利]双重分支目标缓冲器和分支目标处理系统及处理方法有效
申请号: | 201210105659.4 | 申请日: | 2012-04-12 |
公开(公告)号: | CN102662640A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 孟林 | 申请(专利权)人: | 苏州睿云智芯微电子有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 苏州广正知识产权代理有限公司 32234 | 代理人: | 张利强 |
地址: | 215300 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 双重 分支 目标 缓冲器 处理 系统 方法 | ||
技术领域
本发明涉及具有分支预测单元的处理器,特别是涉及一种分支预测单元内的分支目标缓冲器(Branch target buffer,BTB)。
背景技术
现有的计算器通常为流水线体系结构,“流水线”(或也称作“推测执行”)是一个术语,通常指其中使用一系列功能步骤或处理阶段来处理指令序列的操作方法,每个处理阶段通常在单个时钟周期内完成。每个处理阶段通常在单个时钟周期内完成它的一个或多个构成操作。
与在开始下一指令之前将每条指令处理完成的非流水线处理器不同,流水线处理器在流水线的不同处理阶段同时处理几条指令。流水线阶段可以由设计者任意指定,但通常包括:指令获取(fetch)、指令译码(Decode)、指令执行(Execute)、执行解析阶段。
指令获取阶段从指令当前被存储的任何所在(例如,主系统存储器或者指令队伍)检索指令。一旦获取,指令被传递到译码器阶段,其通常确定指令地址和/或指令操作数。指令从译码器阶段传递到执行由指令指示的一个或多个操作的执行阶段。执行解析阶段通常涉及将通过执行指令生成的结果(例如,结果数据)回写(write-back)到一个或多个寄存器或存储器以备以后使用。
流水线提供了毫无疑问的性能收益,只要待处理的指令序列保持高度线性或者可预测。不幸的是,大多数指令序列包含众多的能够引入非顺序执行路径的指令。所谓的“分支指令”(包括,例如,跳转,返回和条件分支指令)在流水线处理器中产生了显著的性能损害,除非实现分支预测的有效形式。在未预测到(或错误预测)的分支指令引起偏离处理器内当前流水线中的指令序列时出现性能损害。如果发生这种情况,则当前流水指令序列就必须被扔掉或“清除”,而新的指令序列必须加载到流水线中。流水线清除浪费了众多时钟周期并且通常使处理器的执行变慢。
分支目标缓冲器预测的成败影响着中央处理器(CPU)的速度,越来越被重视。分支目标缓冲器用来预测分支命令的下一个命令的地址的。它在CPU中的回路构成如图1所示。
现有分支目标缓冲器构成以及预测方法如下:PC为Program Counter,它为命令所在的地址,它被分为Tag 和Index;BTB为现有分支目标缓冲器,它包含了分支命令的地址的Tag 和分支命令所目标地址(Target Address);它的动作包括下一个地址的预测,和得到地址之后的BTB的更新。
详细动作是:当分支命令到来时,开始预测,在BTB中,用PC的index从对应的Index中取出BTB的Tag,并与PC的tag进行比较,生成miss/hit 信号,如果2个tag相同,信号为hit, 如果2个tag不相同,信号为miss。这将作为BTB下方的选择器的控制信号。另外从对应的Index中取出Target Address,投入BTB下方的选择器,待被选择。
上述BTB存在的问题为:不同的命令有在相同的index里登陆的可能,这样将导致分支目标缓冲器无法正确的预测。
有文献(J. K. F. Lee and A. J. Smith, Branch prediction strategies and branch target buffer design, IEEE Comput. Mag. pp. 6-22, Jan. 1984)公开了如图2所示的BTB结构,这种方法虽然能缓解BTB的错误,但是仍存在大量的错误。不同的命令有在相同的index里登陆的可能,这样将导致分支目标缓冲器无法正确的预测。
另一文献(Y. Ishii , T. Sawada, K. Kuroyanagi, M. Inaba, K. Hiraki, Bimode Cascading: Adaptive Rehashing for ITTAGE Indirect Branch Predictor,2nd JILP Workshop on Computer Architecture Competitions(JWAC-2),2011)公开了如图3所示的BTB结构,这个方法是利用不同长的Globe History Register(GHR) 和PC(Program Counter)来生成index,从而检索对因的地址来作为下一个命令的地址。
发明内容
本发明主要解决的技术问题是提供一种双重分支目标缓冲器,能够减少预测错误,有效加快中央处理器(CPU)的速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州睿云智芯微电子有限公司,未经苏州睿云智芯微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210105659.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种Android终端及其实现锁屏动画的方法
- 下一篇:炉内放灰装置