实现 risc-v 架构时做的笔记


  • risc-v
    • 架构
      • 三级流水线
        1. 取指:访问 ICache
        2. 译码:同时从寄存器组读取对应源寄存器的值
        3. 执行:计算,写入
      • 分支指令的流水线冲刷
      • 访存与执行流水间的 RAW 冲突判断与解决
    • 指令集: Risc-V
      • RV32I: 基础整数指令集(含 Load/Store, 条件分支,跳转)
        • 加法器:行波进位,进位选择,超前进位
        • 减法转换加法
      • RV32M: 乘除法指令集
        • Booth 部分积,Wallace 树,Dadda 树
      • RV32F/RV32D: 浮点乘除模
      • RV32A: 原子操作
      • (RV32G: IMADF)
      • RV32C: 16 位压缩指令集
      • RV32V: 向量指令集(SIMD 的替代方案)