从单流水到多流水
多周期单流水处理器
现在假设我们需要设计一款最基础的处理器, 该处理器仅包括最简单的 ALU 指令、内存指令和分支跳转指令. 任何一本计算机体系结构或是数字电路的书籍都会介绍多周期单流水处理器的设计与实现方法.
下图展示了一个最经典的 5 级多周期单流水处理器的流水设计图:
从左到右依次是取指(IF)、译码(DC)、执行(EX)、访存(AM)、写回(WB), 总共 5 个阶段.
该设计能够完美的完成我们所需要的目标, 但是一个通用处理器的功能要求更多, 例如, 我们希望处理器能够计算硬件浮点数, 因此我们需要在上图的设计中加入浮点数相关的处理单元.