5.1 流水线技术
流水线是把一个重复的过程分解为若干个子过程,每个子过程可以与其它子过程并行进行。由于这种工作方式与工厂中的生产流水线十分相似,因此称为流水线技术。
流水线技术是一种非常经济,对提高处理机的运算速度非常有效的技术。采用流水线技术只需要增加少量硬件就能够把处理机的运算速度提高几倍,它是许多数处理机中普遍采用的一种并行处理技术。
在处理机的各个部分几乎都可以采用流水线技术。指令的执行过程可以采用流水线,称为指令流水线。运算器中的操作部件,如浮点加法器、浮点乘法器等可以采用流水线,称为操作部件流水线。访问主存储器部件也可以采用流水线。甚至在处理机之间,机器之间也可以采用流水线。
5.1.1 指令的重叠执行
一条指令的执行过程可以分为多个阶段,具体的分法要根据各种处理机的情况而确定。在图5.1中把一条指令的执行过程分为3个阶段。其中,取指令是按照指令计数器的内容访问主存储器,取出一条指令送到指令寄存器。指令分析是指对指令的操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的地址,并用这个地址读取操作数。操作数可能在主存储器中,也可能在寄存器中。指令执行是指根据操作码的要求,完成指令规定的功能,在此期间,要把运算结果写到寄存器或主存储器中。因此,在指令执行过程的三个阶段都可能要访问主存储器。另外,在指令分析或指令执行过程中还要完成指令计数器的更新,为读取下一条指令作好准备。