指令流水线的定义:一条指令的执行过程分为多个阶段。根据计算机的不同,具体的分法也不同。如下图所示,把一条指令的执行过程分为以下3个阶段
取指:根据PC内容访问主存储器,取出一条指令送到IR中 分析:对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并从有效地址EA中取出操作数 执行:根据操作码字段,完成指令规定的功能,即把运算结果写到通用寄存器或主存中。 当多条指令在处理器中执行时,可采用以下三种方式: (1) 顺序执行方式:
(2) 一次重叠执行方式 这种方式吧第k条指令的执行阶段和第k+1条指令的取指阶段同时进行。采用这种方式时,执行n条指令所用的时间为:
采用一次重叠执行方式的优点是程序的执行时间缩短了三分之一,各功能利用率明显提高,但为此需要付出硬件上较大的开销,控制过程也比顺序执行复杂了。 (3)二次重叠执行方式 为了进一步提高指令的执行速度,可以把取k+1条指令提前到分析第k条指令的期间完成,而将分析第k+1条指令与执行第k条指令同时进行。采用这种方式时,执行n条指令所用的时间为: