指令流水线
计算机的流水线把一个重复过程分解为若干子过程,每个子过程可以跟其它子过程并行执行。采用这种流水线技术,只需增加少量硬件就可以把计算机运算速度提高几倍,因此常被使用。
假设把一条指令执行过程分为取址,分析和执行三个阶段。那么一条指令被完整执行完可以有如下三种方式:
顺序执行
一次重叠执行
二次重叠执行
用时空图来表示流水线的工作过程:
上图是一个4阶段的指令流水线时空图。图中,横坐标表示时间,即输入流水线的各个任务在流水线中经过的时间。流水线中,各个流水段执行的时间都相等时,横坐标就被分割成等长时间段。纵坐标表示空间,即流水线每个流水段。(对应执行部件)
流水线方式的特点:
把一个任务(一条指令或者操作)分解为几个有联系的子任务,每一个子任务由一个专门的功能部件来执行,多个功能部件并行执行来缩短程序的执行时间。
流水线每个功能段部件后面都需要有一个缓冲寄存器,或者锁存器,用来保存本流水段的执行结果,供给下一流水段使用。
流水线中各功能段的时间应尽量相等。
流水线中处理的必须是连续任务。
流水线有装入时间和排空时间。装入时间是第一个任务进入流水线到输出流水线的时间。排空时间是最后一个任务进入流水线到输出流水线的时间。