尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

RIDECORE学习记录之二

RIDECORE学习记录之二
📅 发布时间:2026/7/1 8:28:54

一、总体架构分为六个阶段

二、fetch阶段

这是取指阶段。

看上图,IMEM存储指令。PC模块根据Gsahre分支预测结果发出要取的指令地址。

功能好理解,就是取指令。不过,加了个分支预测。

三、看实现细节


首先看PC,PC是32位的,其中的高28位给了IMEM,从IMEM中一次取出4条指令,一条指令是32bit,4个字节,那么一次性从IMEM也就是取出16个字节。

然后,由select logic负责从中挑选出两条指令,其实质是个选择器,控制信号是PC[3:2]这两位。

四、再来看select logic的实现细节,也就是4选2的规则是什么?


首先看到4条指令分别进入了两个选择器,选择器是4选1的,也就是输入4个指令输出一条指令。

然后分别看两个选择器的控制逻辑。

左边的选择器的控制信号是select 2bit,也就是上边的PC[3:2];

而右边的选择器的控制信号是select 2bit + 1,也就是PC[3:2}+1

所以,

当PC[3:2] = 00时,左边输出4条指令中第0个;右边输出4条指令中第1个。

当PC[3:2] = 01时,左边输出4条指令中第1个;右边输出4条指令中第2个

当PC[3:2] = 10时,左边输出4条指令中第2个;右边输出4条指令中第3个

当PC[3:2] = 11时,左边输出4条指令中第3个;右边输出4条指令中第0个(回滚)

五、输出的两条指令中第二条是不是有效?需要判断

最明显的情况就是:

当PC[3:2] = 11时,左边输出4条指令中第3个;右边输出4条指令中第0个(回滚)

第0个指令已经执行过了,显然此时输出的insn 2是无效的

还有一种情况就是:

当PC[3:2] = 01时,左边输出4条指令中第1个;右边输出4条指令中第2个。

这种情况下输出的insn 2也是无效的。

所以,当PC[3:2] = 2’b*1时,有invalid insn2,见四中的图的下半部分

六、到这里思路还是清晰的,总结下就是取指,不过是取四个选两个

七、下面学习fetch阶段的重点–Gshare分支预测

八、Gshare 分支预测器组成

  1. BHR(Branch History Register,分支历史寄存器)
    记录最近一段时间分支“跳/不跳”的历史。

  2. PHT(Pattern History Table,模式历史表)
    表中每个项是2-bit 饱和计数器,用来给出 Taken / Not Taken 预测。

  3. PC
    取当前分支指令地址中的一部分位,与 BHR 一起生成索引。

  4. BTB(Branch Target Buffer)
    存放分支源地址和目标地址,用来在预测跳转时给出预测目标地址。

用一话总结:Gshare = BHR + PHT + PC异或索引 + BTB。

九、Gshare 的工作方式就是:先用PC XOR BHR查 PHT 做方向预测,再在预测为 Taken 时用 BTB 给出目标地址;之后由执行结果来校正 PC、恢复/确认 BHR,并更新 PHT 和 BTB。

相关新闻

  • Linux 等保三员账号 sudo 配置速查手册(精简总结版)国产银河麒麟通用
  • 别再死记硬背了!用一张图+大白话彻底搞懂RocketMQ的Topic、Queue和Tag
  • 给你100万,你会做一个什么样的网站?

最新新闻

  • ASD433A评估板硬件设计解析:PowerPC汽车MCU电源、时钟与调试接口实战
  • JetBrains IDE试用期重置终极指南:30天无限续期的完整解决方案
  • Three.js Echarts结合教程
  • 【小白也能轻松玩转龙虾】虾壳云一键部署全能智能体,多任务自动执行 OpenClaw v2.7.9 办公工具(附最新安装包)
  • PowerPC汽车MCU评估板ASD433A硬件设计与调试全解析
  • GDF-8 靶点前沿科研应用 肥胖代谢、衰老肌少症、肌肉纤维化研究方向

日新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号