一个简单的MIPS CPU
从MIPS指令集拣选部分代表性的指令,基本特征包括
- RISC结构;
- 32位指令及数据;
- 32个通用寄存器,0号GPR恒为0;
- 指令格式:
基本指令
主要数据通路
- 其中,“两读一写”寄存器堆电路结构:
主要控制逻辑
(1)控制信号:
(2)真值表:
(3)控制信号的Verilog描述:
加入控制逻辑的数据通路
加入时序:指令内、指令间
指令流水线
时序改进:
(1)原来时序的三个步骤:指令地址送到PC、取指到IR、计算结果到GPR
(2)合并后的时序:
①计算下一条指令的PC和指令执行重叠;
②可以把计算下一拍PC值作为指令执行的一部分(转移指令的运算结果是PC的值)
(3)改进后的时序:
进一步并行:取指与运算
(1)通常情况下:
-第n+1条指令执行时,第n条指令已经执行完,因此第n+1条指令可以用到第n条指令的结果。
(2)例外:
-如果第n+1条指令的取指也要用到第n条指令的结果,则第n+1条指令的取指必须等到第n条指令结束后才能执行。(转移指令常出现)
(3