5.5 指令流水线
5.5.1 指令流水线的基本概念
一条指令的执行过程可分解为若干阶段,每个阶段由相应的功能部件完成.如果将各阶段视为相应的流水线,则指令的执行过程就构成了一条指令流水线.采用流水线技术只需增加少量硬件就能把计算机的运算速度提高几倍,因此成为计算机中普遍使用的一种并行处理技术.
-
指令流水的定义
根据计算机的不同,具体的分法也不同.例如,图5.6把一条指令的执行过程分为如下三个阶段(或过程),
**取指:**根据PC内容访问主存储器,取出一条指令送到IR中
**分析:**对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并从有效地址EA中取出操作数
**执行:**根据操作码字段,完成指令规定的功能,即把运算结果写到通用寄存器或主存中.当多条指令在处理器中执行时,可采用以下两种方式:
1) 顺序执行方式:前一条指令执行完后,才启动下一条指令,如图5.17(a)所示,假设取指,分析,执行三个阶段的时间都相等,用t表示,顺序执行n条指令所用时间T为T=3nt
传统冯.诺依曼机采用顺序执行方式,又称为串行执行方式,其优点是控制简单,硬件代价小;缺点是执行指令的速度较 慢,在任何时刻,处理机中只有一条指令在执行,各功能部件的利用率很低,例如取指时内存是忙碌的,而指令执行部件是 空闲的