📙
NutShell
  • README
  • 介绍
    • NutShell (果壳) 处理器核
    • 快速上手教程
  • 流水线设计细节
    • 取指级
    • 译码级
    • 发射级
    • 执行级
    • 写回级
  • 功能部件设计细节
    • 访存单元
    • CSR单元
    • 分支预测单元
    • Cache
    • TLB
  • 系统设计
    • 访存系统
    • 外设系统
    • 总线
  • 其他
    • 配套生态
    • 参数化配置
    • 调试指南
由 GitBook 提供支持
在本页
  1. 流水线设计细节

执行级

上一页发射级下一页写回级

最后更新于4年前

执行 (Execute) 阶段接收发射级给出的源操作数和译码信息, 分派给相应的功能单元进行计算, 最后把计算结果提交到写回级. NutShell 包含以下标准功能单元:

  • ALU/BRU: 算数逻辑单元 ALU 负责处理整数运算指令. 跳转处理单元BRU 负责处理跳转指令. BRU 可以与 ALU 合并, 复用 ALU 的逻辑来计算跳转指令的条件和跳转地址, 也可以作为一个单独的功能单元接入到流水线中.

  • MDU: 乘除法单元 MDU 负责处理所有的乘法与除法指令. 目前的乘除法单元尚未流水化, 只支持一条指令在其中执行.

  • CSR/MOU: 控制与状态寄存器单元 CSR 与访存定序指令单元 MOU 用于处理各种特权指令. 与常规功能单元的区别为进入这个功能单元的指令会阻塞流水线. 详见功能部件部分的 .

  • LSU: 访存单元 LSU 负责处理所有的访存指令. 详见功能部件部分的 .

CSR单元
访存单元