Skip to content
WindProphet edited this page Mar 31, 2018 · 5 revisions

RISC-V self 项目未采取流水线结构,代码为 读取-解析-执行-写回 循环

系统部件分为 读取代码 ReadInstruction 、 执行 Execution 、 寄存器写回 WriteBack , 结构图大致如下

执行模块

在执行循环中,指令代码在经过指令解析器解析出执行需要激活的模块,以及立即数模式,并同时将 rs1rs2 从寄存器中读出,送入相应执行模块,在命令执行完毕后,将写回数据送出执行模块,并激活写回模块

执行模块中由于指令不同,分为不同的子模块:

  • ALU (运算逻辑单元)
  • 指令跳转分支模块
  • 无条件跳转模块
  • 内存 Load Store 模块
  • 系统命令模块
  • 内存控制模块
  • Load Upper Immediate
  • Add Upper Immediate to PC

执行模块向每一个子模块的路由仅有指令的低七位决定,指令解析器通过解析指令前七位,获得需要激活的模块

ALU