• 内容讲解

描述流水线的工作过程,通常采用时(间)空(间)图的方法。在时空图中,纵坐标表示指令序列,横坐标表示时间。

1.指令流水线过程段

图5-20表示流水CPU中一个指令周期的任务分解。假设指令周期包含取指令(IF)、指令译码(ID)、指令执行(EX)、访存取数(MEM)、结果写回(WB)5个子过程(过程段),流水线由这5个串联的过程段组成,各个过程段之间设有高速缓冲寄存器,以暂时保存上一过程段子任务处理的结果,在统一的时钟信号控制下,数据从一个过程段流向相邻的过程段。

516.gif

2.非流水计算机工作方式

图5-21表示非流水计算机的时空图。

517.gif

对于非流水计算机而言,上一条指令的5个子过程全部执行完毕后才能开始下一条指令,每隔5个时钟周期才有一个输出结果。因此,图5-21中用了15个时钟周期才完成3条指令,每条指令平均用时5个时钟周期。

非流水线工作方式的控制比较简单,但部件的利用率较低,系统工作速度较慢。

3.标量流水计算机工作方式

标量(Scalar)流水计算机是只有一条指令流水线的计算机。图5-22表示标量流水计算机的时空图。

518.gif

对标量流水计算机而言,上一条指令与下一条指令的5个子过程在时间上可以重叠执行,当流水线满载时,每一个时钟周期就可以输出一个结果。因此,图5-22中仅用了9个时钟周期就完成了5条指令,每条指令平均用时1.8个时钟周期。

采用标量流水线工作方式,虽然每条指令的执行时间并未缩短,但CPU运行指令的总体速度却能成倍提高。当然,作为速度提高的代价,需要增加部分硬件才能实现标量流水。

4.超标量流水计算机工作方式

一般的流水计算机因只有一条指令流水线,所以称为标量流水计算机。所谓超标量(Superscalar)流水计算机,是指它具有两条以上的指令流水线。图5-23表示超标量流水计算机的时空图。

519.gif

当流水线满载时,每一个时钟周期可以执行2条以上的指令。因此,图5-23中仅用了9个时钟周期就完成了10条指令,每条指令平均用时0.9个时钟周期。

超标量流水计算机是时间并行技术和空间并行技术的综合应用。