首页> 外国专利> Branch target buffer (BTB) including a speculative BTB (SBTB) and an architectural BTB (ABTB)

Branch target buffer (BTB) including a speculative BTB (SBTB) and an architectural BTB (ABTB)

机译:分支目标缓冲区(BTB),包括推测性BTB(SBTB)和体系结构性BTB(ABTB)

摘要

A method and apparatus are provided for improving the performance of branch prediction using a combination of a speculative branch target buffer (SBTB) and an architectural branch target buffer (ABTB). According to one embodiment, speculative branch data is maintained for in-flight branches (i.e., those that have been fetched but not yet retired). A branch entry is speculatively allocated in a line of the SBTB after decoding an instruction containing a branch, such as a conditional branch, a return from a subroutine, a call to a subroutine, or an unconditional branch. Subsequently, the branch data associated with the branch entry is speculatively updated after branch prediction has been completed for the branch. Finally, the branch data is corrected after the branch has been executed. According to another embodiment, a novel branch prediction circuit includes both a speculative branch target buffer (SBTB) cache and an architectural branch target buffer (ABTB) cache. The SBTB cache contains multiple branch entries to maintain speculative branch data associated with in-flight branches. The speculative branch data includes a speculative history of taken/not-taken outcomes associated with the in-flight branches. The ABTB cache is coupled to the SBTB cache. The ABTB cache also includes multiple branch entries, however, they are for maintaining architectural branch data including the actual taken/not-taken outcomes associated with retired conditional branches.
机译:提供一种用于使用推测分支目标缓冲器(SBTB)和体系结构分支目标缓冲器(ABTB)的组合来改善分支预测的性能的方法和装置。根据一个实施例,为飞行中的分支(即,已经获取但尚未退出的那些)保持推测性分支数据。在对包含分支的指令(例如条件分支,从子例程的返回,对子例程的调用或无条件分支)进行解码后,在SBTB的行中以推测方式分配分支条目。随后,在已经为分支完成分支预测之后,推测性地更新与分支条目相关联的分支数据。最后,在执行分支之后,对分支数据进行校正。根据另一实施例,新颖的分支预测电路包括推测分支目标缓冲器(SBTB)高速缓存和体系结构分支目标缓冲器(ABTB)高速缓存。 SBTB缓存包含多个分支条目,以维护与进行中分支相关的推测分支数据。投机分支数据包括与飞行中分支相关的已采取/未采取结果的推测历史。 ABTB缓存耦合到SBTB缓存。 ABTB缓存还包括多个分支条目,但是,它们用于维护体系结构分支数据,包括与已退休的条件分支相关的实际采用/未采用的结果。

著录项

  • 公开/公告号US7107437B1

    专利类型

  • 公开/公告日2006-09-12

    原文格式PDF

  • 申请/专利权人 KIRAN A. PADWEKAR;

    申请/专利号US20000608852

  • 发明设计人 KIRAN A. PADWEKAR;

    申请日2000-06-30

  • 分类号G06F9/00;

  • 国家 US

  • 入库时间 2022-08-21 21:44:30

相似文献

  • 专利
  • 外文文献
  • 中文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号