|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
" u; x+ S8 Q" l' B 为增加处理器指令流的速度,ARM7 系列使用3级流水线允许多个操作同时处理,而非顺序执行* p; S4 w* T% S$ u
指令执行过程中取址、译码、执行三个阶段使用的硬件电路相互独立
: _8 O! j3 o/ _4 u1 h5 N当对N地址中的指令进行取址时译码器可以对N-4地址的指令进行译码8 |( ]9 s: s W
运算器可以对N-8地址中的指令进行执行,从而形成了三级流水线结构
- q9 S6 d; j8 P5 |1 q这种结构降低了指令执行的平均周期。
/ S8 p; o; o7 Z4 g" r# X + N& \, t9 e: X) }( b) y' K
: O4 M, s7 q# ~9 p
' n: s9 d8 `& D7 x) j, ]5 J
ARM处理器中当前取指的指令由PC决定,所以当前执行的指令的地址是PC-8
5 @+ b4 C- x4 ^, E6 E) H% p不管多少级流水线PC指向的永远是当前取址的指令,当前执行的指令是PC-8地址处的指令(这一点提一句,在实际的代码执行时,我们通过PC寄存器实际上看不出这种效果,我们看到的PC寄存器仍是指向要执行的指令地址,但要明白真实工作的情况。另外可以通过LDR伪指令来理解这种流水线,这里不展开讲了)
/ y. t. B# d4 B% J( x* F5 h# e& r% \- u3 i8 }. {9 T
|
|