ARM处理器模式及寄存器配置
发布时间
阅读量:
阅读量
一、ARM七种处理器工作模式:
用户模式 usr: 用于常规程序的运行状态
快速中断模式FIQ: 适用于高速数据传输和通道处理任务
外部中断模式IRQ: 适用于一般的中断响应场景
管理模式svc: 提供给操作系统使用的一种受保护运行状态(SWI)
数据中止中断模式abt: 用于实现虚拟存储和存储保护功能
未定义指令中止模式und: 用于支持通过软件方式对硬件协处理器的操作
系统模式sys: 用于执行高级别的操作系统任务
除了用户模式,其余六种均属于特权运行状态,而其中除系统模式以外的五种则为异常处理状态。
二、寄存器
ARM架构包含31个通用寄存器以及6个状态寄存器,所有寄存器均为32位;
通用寄存器可划分为以下几类:备份寄存器、非备份寄存器以及程序计数器PC。
1、非备份寄存器包括R0至R7;
2、备份寄存器:
在快速中断FIQ情况下,R8至R12将被保存;R13和R14通常用作栈基址指针SP及链接寄存器LR,在异常状态下也会被保存。
3、程序计数器由R15 PC指针构成;
需要注意的是,PC指针存在读写不对称的问题。由于采用流水线机制,PC指针指向的是当前执行指令之后的两个字地址。在ARM指令下,PC指针为当前指令地址加两个字;而在Thumb指令下,则为当前地址加半字。
4
全部评论 (0)
还没有任何评论哟~
