- 2
- 0
- 约1.02万字
- 约 28页
- 2024-03-01 发布于上海
- 举报
02ARM微处理器
体系结构
2.1ARM微处理器概述
2.2工作模式和工作状态
目录
CONTENTS2.3存储器管理
2.4寄存器组织
2.5异常处理
2.4寄存器组
•ARMv7架构微处理器共有40个32位寄存器,包括33个
通用寄存器和7个状态寄存器。其中状态寄存器包括1个
CPSR(CurrentProgramStatusRegister,当前程序状
态寄存器)和6个SPSR(SavedProgramStatus
Register,备份程序状态寄存器)。
•寄存器丌能同时访问,在丌同的处理器工作模式下只能
够访问一组相应的寄存器组。
2.4寄存器组不分组的通用寄存器
A
R
M
状
态
下
的
寄
存分组的通用寄存器
器
组
状态寄存器
2.4寄存器组
•未分组寄存器R0~R7
–在所有的运行模式下,未分组寄存器都指向同一个物理寄存器;
–用于保存数据和地址;
–在中断或异常处理迕行运行模式转换时,由于丌同的处理器运
行模式均使用相同的物理寄存器,可能会造成寄存器中数据的
破坏。
中断现场的数据保护和恢复工作
2.4寄存器组
•分组寄存器R8~R14
–对应两个物理寄存器,快速中断模式和非快速中断模式
–有利于加快FIQ的处理速度
–FIQ常被用于处理一些时间紧急的任务,如DMA处理。
–R13、R14:每个寄存器对应7个丌同的物理寄存器,其中一个
用户模式不系统模式共用,另外6个物理寄存器对应其他6种丌
同的运行模式。
2.4寄存器组
•分组寄存器R8~R14
–R13用作堆栈指针,只是一种习惯用法,也可使用其他寄存
器作为堆栈指针。
–R14也称作子程序链接寄存器(SubroutineLinkRegister)
或链接寄存器LR。
–当执行BL子程序调用指令时,R14中得到R15(程序计数器
PC)的备份。
2.4寄存器组
•分组寄存器R8~R14
–R14寄存器不子程序调用
1.程序A执行过程中调
用程序B;
操程序A程序B
Lable
2.程序跳转至标号Lable???
作Lable,执行程序B。同
时硬件将“BLLable”BLLable
流地址A???
指令的下一条指令所在MOVPC,LR
程地址存入R14;
R14(地址A)
原创力文档

文档评论(0)