曲径通幽论坛

标题: ARM 流水线与 PC [打印本页]

作者: beyes    时间: 2011-1-27 00:24
标题: ARM 流水线与 PC
ARM7TDMI 和 ARM9TDMI 指令流水线见下图:


上面:
FETCH : 取指
DECODE : 译码
EXCUTE : 执行
MEMORY : 访存
WRITE :  回写

关于 PC 的位置:
PC 的位置总指向“正在取指”的指令。以正在执行的指令作为参考点,那么 PC = EXCUTE + 8 。也就是说,假设正在执行的指令是第一条指令,那么 PC 就指向第三条指令。比如:
   4:   e59f0020        ldr     r0, [pc, #32]   ; 2c
   8:   e51f1010        ldr     r1, [pc, #-16]  ; 0 <_TEXT_BASE>
   c:   e0400001        sub     r0, r0, r1
上面,地址 0x4 为正在执行的指令,那么 PC 已经指向了 0xc 地址处。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2