您当前的位置: 首页 > 

FPGA硅农

暂无认证

  • 0浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

RISC-V CPU设计(七)---分支预测技术

FPGA硅农 发布时间:2022-06-02 16:00:20 ,浏览量:0

静态分支预测

即总是假定分支指令跳转或不跳转,这种分支预测技术实现简单,但是命中率低。 更复杂的静态分支预测技术还包括:

  • BTFN(Backward Taken,Forward Not-taken):即对于向后的指令跳转预测为跳,向前的跳转则预测为不跳。向后跳转指跳转的目标地址(PC值)比当前分支指令的PC值要小。
  • Profile based(likely direction):编译器使用profile运行方式确定可能的分支方向,并编码到指令中。
  • Program based (likely direction):根据ISA指令特定,对不同指令采用不同的预测方向。
  • Programmer based:程序员提供静态预测,通过编译器指令指示方向。 if (likely(x)) {…} 指示较大概率是跳转 if (unlikyly(error)) {…} 指示较大概率是不跳转
动态分支预测

定义:在程序运行时,根据分支指令过去的表现来预测其将来的行为(动态一词的由来)。 目的:预测分支是否成功,尽快找到分支目标地址(或指令),避免控制相关造成流水线停顿。在预测错误时,要作废已经预取和分析的指令,恢复现场,并从另一条分支路径重新取指令。

分支历史表BHT
关注
打赏
1658642721
查看更多评论
立即登录/注册

微信扫码登录

0.0366s