目录
一、CPU采用的流水线
1.采用的是五级流水线
- 取指令
- 译码
- 执行
- 访存
- 回写
2.为什么采取五级流水线?
因为每一个阶段运行的时间不一定一致,而为了处理速度的加快,采取了并行的方式,而此时不采取流水线的设计仍会使得处理速度放缓。理解起来可能不是很形象,但是了解大概即可。
二、五级流水线
1.取指
- 从指令存储器取出指令,
- 同时确定下一条指令的地址
1&2:取值和译码间的寄存器
- 取指的结果先存放,在下一个clk到达的时候传递
2.译码
- 对取得的指令进行译码,
- 同时从通用寄存器取出要使用的目的寄存器的值,
- 指令内有立即数,进行符号扩展
- 指令为转移指令,那么进行转移
2&3:译码和执行间的寄存器
- 译码的结果先存放,在下一个clk到达的时候传递
3.执行
- 进行运算
- 如果有Load/Store指令,要计算其地址