RISC-V MCU中文社区

【分享】 蜂鸟E203分支预测器设计分享

发表于 全国大学生集成电路创新创业大赛 2023-05-30 14:00:26
1
1133
1

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

二、Gshare预测器设计
在使用传统全局历史分支预测方法时,为了做出更好的预测,通常是通过扩展历史记录表的长度来实现。这样做会获得更高的指令地址分辨率以即更多的PHT寻址地址位数。但是PHT的寻址位数每增加1位,都会导致其大小增加一倍,因此就需要非常大的表来存储分支预测信息,这便是传统全局历史分支预测方法所存在的问题。
为了解决这个问题,可以将分支历史与条件分支命令的地址中部取哈希散列,工作方式如下图所示,在每个时钟周期程序计数器PC将与一个记录了此条指令前所有动态指令的跳转情况(这里称全局历史寄存器Gshare)做哈希散列后,得到的地址去寻址(PHT)。通过判断PHT读出的此条指令的历史跳转情况也就是PHT的值来决定是否在取指前端预测为跳转。并依据PHT的结果将GHR更新。同时并将此条分支的GHR和对应PHT值保存起来作为快照,以便在分支误预测时恢复现场。
对于某个条件分支指令而言,其全局历史是相对恒定的,让PHT同时保存全局历史的所有组合过于浪费,因此将指令地址的中部分与全局历史记录进行异或运算,而当指令地址的中部相同时,指令地址下部对应的指令共用几个PHT项,这样兼顾了全局历史表与PHT大小,改良了传统分支历史分支预测方法中PHT利用效率太差的问题。图6中10bit的全局历史记录与10bit的指令地址做哈希运算作为PHT的索引使用。

喜欢1
用户评论 (1)
Gift

Gift 实名认证

懒的都不写签名

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