一、处理器模式 ARM微处理器支持7种工作模式,其中,除用户模式之外的其余6种称为非用户模式,或特权模式(Privileged Modes);而在特权模式中,除系统模式之外的其余5种又称为异常模式(Exception Modes)。处理器的各种工作模式由当前程序状态寄存器CPSR的低4位M[4:0]决定。 二、处理器工作状态 (1)ARM状态:处理器执行32位的ARM指令集时,工作在这种状态。 (2)Thumb状态:处理器执行16位的thumb指令集时,工作在这种状态。 三、寄存器组织 ARM处理器总共有37个寄存器:31个通用寄存器,包括程序计数器PC;6个状态寄存器。各寄存器均为32位。 根据ARM处理器的不同工作模式,可将全部寄存器分成7组;各工作模式拥有属于自己的寄存器组,也只能访问自己的寄存器组。各寄存器组间,有些寄存器是重叠的,有些是自己特有的。 程序状态寄存器包括寄存器CPSR和寄存器SPSR。当前程序状态寄存器CPSR可以 在任何工作模式下被访问,SPSR用来保存CPSR的值,其格式同CPSR。 四、异常中断 异常中断是指处理器由于外部或内部的原因,停止执行当前任务,转而处理特定的事件,处理完后返回原程序,继续执行。 异常类型 | 工作模式 | 特定地址(低端) | 特定地址(高端) | 优先级 | 复位 | 管理模式 | 0x00000000 | 0xFFFF0000 | 1 | 未定义指令 | 未定义指令中止模式 | 0x00000004 | 0xFFFF0004 | 6 | 软件中断(SWI) | 管理模式 | 0x00000008 | 0xFFFF0008 | 6 | 指令预取中止 | 中止模式 | 0x0000000C | 0xFFFF000C | 5 | 数据访问中止 | 中止模式 | 0x00000010 | 0xFFFF0010 | 2 | 外部中断请求(IRQ) | 外部中断模式 | 0x00000018 | 0xFFFF0018 | 4 | 快速中断请求(FIQ) | 快速中断模式 | 0x0000001C | 0xFFFF001C | 3 |
-
标签:
|