原创 流水线Pipeline与并行执行Parallel-Executability

2011-2-25 14:15 1830 7 7 分类: MCU/ 嵌入式
来源:瑞萨单片机论坛

一. 流水线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条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /3 下一条