ARM详解

来源:互联网 发布:淘宝收藏加购在哪里 编辑:程序博客网 时间:2024/06/01 01:34

工作状态

不同工作状态可以随时切换,处理器工作状态切换不行影响处理器工作模式和相应寄存器的内容

ARM状态

处理器执行32位的字对齐的ARM指令

Thumb状态

处理器执行16位半字对齐的Thumb指令

存储器格式

从0地址开始,32位,最多4GB 字对齐

大端格式

高字节在低地址

小端格式

低字节在低地址

工作模式

用户模式(Usr)

除用户模式外其他模式称为非用户模式特权模式(Privileged Modes)

系统模式(sys)

除 用户模式 和系统模式外 其他模式 称为 异常模式(Exception Modes)

快速中断模式(FIQ)

外部中断模式(IRQ)

管理模式(svc)

数据访问终止模式(abt)

未定义指令中止模式

ARM状态寄存器

37个32位寄存器
任何时刻可以访问16个通用寄存器 一到两个状态寄存器
在任何事后 通用寄存器R0~R14 程序寄存器PC(R15) 一个状态寄存器是可访问的
ARM状态寄存器

31个通用寄存器

不分组寄存器 R0 ~ R7 任何模式都用同一套
分组寄存器
R8~R12
FIQ模式用一套
FIQ以外的模式用一套
R13 堆栈指针SP
R14子程序连接寄存器(Link Register -LR) 指向 函数返回地址
每个模式用不同套(User System 用同一套)
R15 PC
程序寄存器

6个状态寄存器

格式

位数 31 30 29 28 27:8 7 6 5 4:0 名称 N Z C V (前为条件码标志位) 保留位 (后为控制位) I F T M4:M0 功能 Negative Zero Carrry Overflow 保留位 IRQ中断禁止位 FIQ中断禁止位 (1: ) 工作状态位(ARM/Thumb) M4:M0

CPSR
记录当前状态
包含条件码标识 中断禁止位 当前处理器模式 其他状态 控制信息
SPSR 5个异常模式才有,各用一个
当进入异常模式,用于保存原来CPSR寄存器的内容

Thumb状态寄存器

Thumb寄存器
比ARM状态少了R8~R12寄存器

0 0
原创粉丝点击