|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
. D: ^. P1 s0 i$ l9 B6 a
为增加处理器指令流的速度,ARM7 系列使用3级流水线允许多个操作同时处理,而非顺序执行
! `+ G- b5 W6 b# Y+ G指令执行过程中取址、译码、执行三个阶段使用的硬件电路相互独立% h' }! G, _* R9 n
当对N地址中的指令进行取址时译码器可以对N-4地址的指令进行译码
5 D6 k- r: `7 N$ |6 m运算器可以对N-8地址中的指令进行执行,从而形成了三级流水线结构1 s9 p% e) h3 E3 D- l- u
这种结构降低了指令执行的平均周期。+ N& f( C: D; g8 ~5 g9 \
* u6 m7 X U% l, h. o) \
3 O# W8 _0 n# B, T7 w3 k
+ C" P7 b1 @# E. y- I! Z. s7 z
ARM处理器中当前取指的指令由PC决定,所以当前执行的指令的地址是PC-8 ; M. `, g# Z' U, n! J: q& p
不管多少级流水线PC指向的永远是当前取址的指令,当前执行的指令是PC-8地址处的指令(这一点提一句,在实际的代码执行时,我们通过PC寄存器实际上看不出这种效果,我们看到的PC寄存器仍是指向要执行的指令地址,但要明白真实工作的情况。另外可以通过LDR伪指令来理解这种流水线,这里不展开讲了)
1 D& F8 ~% T* [0 ~& T% j4 d/ ]! P
5 m3 M: u$ Z( c( p# h: ~ |
|