一. 流水线Pipeline
以SH4的5级流水线为例:
instruction fetch(I)
decode and register read(D)
execution(EX/SX/F0/F1/F2/F3)
data access(NA/MA)
write-back(S/FS)
例如
General Pipeline
----------------------------------------------------------------------------------
I D EX NA S
----------------------------------------------------------------------------------
Instruction fetch Instruction Address Memory Write-back
decode calculation data access
Issue
Register read
Destination address calculation
for PC-relative branch
指令需要的流水线周期
跳转指令JMP,RTS,BRAF: 2 issue cycles
------------------------------------------------------------------------
I D EX NA S
-------------------------------------------------------------------------
D EX NA S
------------------------------------------------------
二. 并行执行Parallel-Executability
CPU可以并行执行指令,也就是在一个周期内执行2条指令。
并行执行的条件是两条指令不会有因果关系,也就是前一条指令产生的结果不会影响到后一条指令的执行。
例如:
ADD R2,R1
MOV.L @R1,R1
这两条指令就不会被并行执行,因为ADD R2,R1产生的结果放在R1里,第二条指令会利用这个结果进行操作。
文章评论(0条评论)
登录后参与讨论