ARM7系列使用3级流水线,其处理器指令流速度大大增加。
ARM7系列允许多个指令操作同是进行,而不是顺序执行。
ARM7在对指令进行操作时,有三个步骤,取指、解码、执行。而指令执行时,PC总是指向正被取指的指令,而非正在执行的指令。
最佳流水线图示:
这是一个理想的实例,所有的指令都在寄存器中执行,且处理器完全不必离开芯片本身。每个周期,都有一条指令被执行,流水线的容量得到了充分的发挥。 指令周期数 (CPI) = 1。
除了最佳流水线,还有LDR流水线、中断流水线等。
ARM7的三级流水线还是比较慢,现在已经有了五级流水线,十三级流水线。
影响流水线水流的的因素:在典型的程序处理过程中,经常会遇到这样的情形,即一条指令的结果被用作下一条指令的操作数。和跳转指令,它在生效时,前面的指令已经取指发生。因此,已经被预取进入流水线的指令不得不被丢弃。在回到跳转指令,执行下面指令,又必须在进行一次取指、解码、执行。所以必须避免,且在指令非常复杂,每一条指令的行为都与下一条指令不同,那么就很难用流水线实现。