|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
% \8 T* L+ P3 e- J3 ~ ^
为增加处理器指令流的速度,ARM7 系列使用3级流水线允许多个操作同时处理,而非顺序执行0 Q( o3 D! g5 p9 N4 `, c: U, K2 L
指令执行过程中取址、译码、执行三个阶段使用的硬件电路相互独立
4 B5 x) R0 C/ T" h当对N地址中的指令进行取址时译码器可以对N-4地址的指令进行译码8 W" v) C4 V7 a+ {
运算器可以对N-8地址中的指令进行执行,从而形成了三级流水线结构% J' n3 ^2 ^3 C" G( k
这种结构降低了指令执行的平均周期。
( l, K8 B8 R/ ~
4 z/ Q- w: G/ n4 H; q' X, i% I
/ }8 s) d8 L( T* O- @. l* V
/ o! X L6 { R. j6 s. ]
ARM处理器中当前取指的指令由PC决定,所以当前执行的指令的地址是PC-8
1 R i, L* Q0 K6 V5 A! p% n; a不管多少级流水线PC指向的永远是当前取址的指令,当前执行的指令是PC-8地址处的指令(这一点提一句,在实际的代码执行时,我们通过PC寄存器实际上看不出这种效果,我们看到的PC寄存器仍是指向要执行的指令地址,但要明白真实工作的情况。另外可以通过LDR伪指令来理解这种流水线,这里不展开讲了)
2 ]$ d7 o9 [! K! y: |( ~) B! l( e1 B' E9 T6 c, \. M# J: {5 n
|
|