02.07.2013 Views

Uboot中start.S源码的指令级的详尽解析

Uboot中start.S源码的指令级的详尽解析

Uboot中start.S源码的指令级的详尽解析

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

然后对于三级流水线举例如下:<br />

从上图,其实很容易看出,第一条指令:<br />

add r0, r1,$5<br />

执行的时候,此时PC已经指向第三条指令:<br />

cmp r2,#3<br />

的地址了,所以,是PC=PC+8.<br />

图表 24 ARM7 三级流水线状态<br />

图表 25 ARM7 三级流水线示例<br />

3.3.1. 为何 ARM9 和 ARM7 一样,也是 PC=PC+8<br />

ARM7的三条流水线,PC=PC+8,很好理解,但是AMR9中,是五级流水线,为何还是PC=PC+8,<br />

而不是<br />

PC<br />

=PC+(5-1)*4<br />

=PC + 16,<br />

呢?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!