1. 全部指令数据通路
上一篇文章以一个简单的数据通路作为引例,数据通路支持执行R型、BEQ指令、Load/Store型指令,并且你已经知道各指令的通路。现在直接给出补全所有指令的数据通路如下图所示:
![]( http://img.dphweb.cn/blog_picture/202309032249759.png)
2. 同之前的改变
- 主控单元增加了一个输入func3字段,输出多了memop信号,用于Load/Store类型指令加载/存储Word/HalfWord/Byte;
- 主控单元输出增加pc_rs1_sel信号,用去区分跳转地址是imm+pc还是imm+rs1(JAL、JALR);
- 主控单元删去Branch信号,改为由ALU单元直接输出跳转信号jump;
3. 各指令通路
各指令通路如下,同样地,暂不考虑控制单元。
R型指令数据通路:
![]( http://img.dphweb.cn/blog_picture/202309032251832.png)
I型指令数据通路:
![]( http://img.dphweb.cn/blog_picture/202309032251867.png)
L型指令数据通路:
![]( http://img.dphweb.cn/blog_picture/202309032251030.png)
S型指令数据通路:
![]( http://img.dphweb.cn/blog_picture/202309032252536.png)
JALR型指令数据通路:
![]( http://img.dphweb.cn/blog_picture/202309032253309.png)
JAL型指令数据通路:
![]( http://img.dphweb.cn/blog_picture/202309032253385.png)
B型指令数据通路:
![]( http://img.dphweb.cn/blog_picture/202309032253633.png)
LUI型指令数据通路:
![]( http://img.dphweb.cn/blog_picture/202309032254606.png)
AUIPC型指令数据通路:
![]( http://img.dphweb.cn/blog_picture/202309032254013.png)
来自广东