|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 o: O1 w9 b! `3 v: M 为增加处理器指令流的速度,ARM7 系列使用3级流水线允许多个操作同时处理,而非顺序执行
8 j& E* h: F8 j: e指令执行过程中取址、译码、执行三个阶段使用的硬件电路相互独立; e; l# Q! g4 q- b# p
当对N地址中的指令进行取址时译码器可以对N-4地址的指令进行译码: @6 U* P9 u% Y2 a1 z
运算器可以对N-8地址中的指令进行执行,从而形成了三级流水线结构
( ^$ g) H6 y& X, }4 B# y3 l9 L这种结构降低了指令执行的平均周期。+ B$ O \. j2 c! \$ A
; M/ R0 u9 a! @6 y
: U5 A, P* U! K) @
; D: c: [( x: f# v* c) y; ?ARM处理器中当前取指的指令由PC决定,所以当前执行的指令的地址是PC-8 , _8 |) I! S' m
不管多少级流水线PC指向的永远是当前取址的指令,当前执行的指令是PC-8地址处的指令(这一点提一句,在实际的代码执行时,我们通过PC寄存器实际上看不出这种效果,我们看到的PC寄存器仍是指向要执行的指令地址,但要明白真实工作的情况。另外可以通过LDR伪指令来理解这种流水线,这里不展开讲了)
+ \. I6 ]" x% M! a8 h& T. t
2 \4 f2 M g! w7 l; \0 z* \ |
|