RISC-V MCU中文社区

【求助】 分支预测分享

发表于 开源蜂鸟E203 2023-05-30 14:07:02
0
697
1

一、队伍介绍
报名编号:CICC2623
团队名称:吾开天工

二、BTB分支历史缓冲器设计
分支预测器除了需要对分支指令的方向进行预测之外,还需要对目标地址也进行预测,由于容量限制不可能对任意的PC均分配一项分支目标缓存,故BTB也采用了Cache的设计思路,利用PC的低位作为Index其PC作为Tag(EntryPC),在本设计中BTB的组织分Valid+EntryPC+TargetAdress+BrType这四部分,在每个周期PC将通过其低位Index位去选择对应的EntryPC和TargetAdress并判断其是否与有效和Match,若匹配后则TaegetPC将作为nextPC。
在指令写回阶段对于未正确预测的跳转指令会在指令更新阶段将其跳转地址和指令类型更新至BTB中,完成BTB的更新与替换。在本设计中由于增加了BrType位边可在前端直接通过指令类型判断是否跳转,从而降低了分支预测器预测错误对指令流错误取指的影响。其工作原理图如图7所示:

喜欢1
用户评论
Gift

Gift 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板