蜂鸟E203 硬件学习-两级流水线的实现(三)

(二)EXU模块
EXU段包括指令译码,指令派发,指令发射,指令执行,内存操作,数据写回。而E203是简单的顺序单发射,顺序执行,顺序写回类型的处理器。

  • 将IFU通过IR寄存器发送给EXU的指令进行译码和派遣。
  • 通过译码出的操作数寄存器索引(Index)读取Regfile(如图中RD-Regfile)
  • 维护指令的数据相关性(如OITF)
  • 将指令派遣(Dispatch)给不同的运算单元执行(ALU、Long-Pipes、LSU、以及EAI)
  • 将指令交付(检查指令分支预测是否正确,是否产生中断和异常)
  • 将指令运算的结果写回Regfile(WB ARB)

在这里插入图片描述
(1)EXU译码模块(e203_exu_decode.v)
译码模块的输入信号来自于IR阶段,包含当前需要译码的指令,执行PC,预测结果,非对齐和存储器访问错误。
在这里插入图片描述
在这里插入图片描述
首先根据最后两个比特位判断当前译码指令是RV32还是RV16,再根据指令格式,产生不同的指令类型信息。如:寄存堆的索引和控制信号,跳转类型和所需计算的信息。
在这里插入图片描述
输出dec_info包含很多模块的控制信息,有BJP单元的控制信息,ALU单元的控制信息,CSR单元的控制信息,乘除单元的控制信息,AGU单元的控制信息。同时还要生成后面执行所需要的各类型立即数,当执行的指令为非法指令时,译码器模块还将产生各类型的异常指令异常信息。
在这里插入图片描述
(2)整数通用寄存器组(e203_exu_regfile.v)
RISC-V的整数指令都是单操作数或者两操作数指令,且蜂鸟E203属于单发

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值