ARM处理器的三级流水线和ARM指令及寻址方式

最近在看《ARM体系结构与编程》 杜春雷编写

1.  3级指令流水线 

(1)      Fectch 从存储器中读取指令

(2)      Decode 解码指令

3)     Execute 执行指令 

                          1   2  3

ADD        F  D   E

SUB            F   D   E

                           F   D  E

F-取指   D-解码   E-执行

2. ARM 编程模型

1)工作模式

用户模式(User,usr

快速中断模式(FIQ,fiq

外部中断模式(IRQ ,irq)

特权模式(Supervisor,sve)

数据访问中止模式(Abort, abt

未定义指令中止模式(Undefined,und)

系统模式(System, sys)

2)运行状态

    通常ARM处理器工作状态有2 

 ARM状态  Thumb状态

(1)      寄存器组织

3.1通用寄存器

Usr/sys:R0,R1,R2,….,R12,R13,R14,R15 

R13:堆栈指针寄存器 sp

R14: 链接寄存器 lr 

R15: 程序计数器 pc, 永远指向取指的指令地址

Irq:   R0-R12, R15

      R13_irq

        R14_irq

svc:   R0-R12,R15

      R13_svc                                     

      R14_svc                                        

abt: ….

 

und: ….

 

fiq:   R0-R8,R15

R9_fiq,R10_fiq,R11_fiq,R12_fiq,R13_fiq,R14_fiq

 

 

 

你可能感兴趣的:(ARM体系结构与编程)