3、复合条件转移
  复合型条件转移指令本身就是一条运算型指令,它直接根据本条指令的运算结果决定是否转移。复合型条件转移指令的执行时间关系下:
  k: OP L ;先执行OP操作,根据执行结果产生的条件码决定是否转向L
  k+1: ……
  …: ……
  L: ……
  复合型条件转移指令不能在指令分析器中执行完成,它必须象其它运算型指令一样在指令执行部件执行,其执行时序如图8.25所示。
图8.25 复合型条件转移指令的执行时序
分析k 执行k
     
 
转移不成功
分析k+1 执行k+1
   
 
成功,L在指令缓冲栈中
分析L 执行L
 
 
成功,L不在指令缓冲栈中  
取指令L 分析L 执行L

  如果转移不成功,只要采取适当的措施,复合型条件转移指令不会对流水线造成任何损失,指令分析器和指令执行部件仍然能够连续工作,这时,复合型条件转移指令就象一条普通的运算型指令一样。
  如果转移成功,复合型条件转移指令对流水线造成的影响比一般条件转移指令还要大。具体影响的程度将在下一节中具体分析。