1.ARM简介
arm是英文Advanced RISC Machines的简写,有以下三层含义:
# 一个公司名称
# 一类处理器的统称
# 一种技术
2.ARM体系结构
数据和指令类型
ARMV7采用的是32位架构,有以下约定:
Byte:8 bits
Halfword:16bits (2 byte)
Word:32bits (4 byte)
Doubleword 64-bits (8 byte) (Cortex-A处理器)
大部分ARM core提供:
ARM 指令集(32-bit)
Thumb 指令集(16-bit)
Cortex-A处理器:
16位和32位Thumb-2指令集
16位和32位ThumbEE指令集
处理器工作模式
ARM有8个基本工作模式:
User:非特权模式,大部分任务执行在这种模式
FIQ:当一个高优先级(fast)中断产生时将会进入这种模式
IRQ:当一个低优先级(normal)中断产生时将会进入这种模式
Sumpervisor:当复位或软中断指令执行时将会进入这种模式
Abort:当存取异常时将会进入这种模式
Undef:当执行未定义指令时会进入这种模式
System:使用和User模式相同寄存器集的特权模式
Cortex-A特有模式:
Monitor:是为了安全扩展出的用于执行安全监控代码的模式,也是一种特权模式
ARM处理器的寄存器:r0-r12 r13(sp) r14(lr) r15(pc) cpsr spsr
总结:
1.除了usr模式没有spsr,其他的模式都有
2.fiq模式的私有寄存器最多
3.每种模式的寄存器都有自己的lr和sp
4.pc是所有模式共用一个
5.cpsr也是所有模式共用一个
注:
sp:栈顶指针
lr:返回地址
pc:程序计数器
cpsr:程序状态寄存器
spsr:保存cpsr的寄存器
3.处理器工作模式--异常
usr ---正常工作
fiq irq svc ---硬件中断
svc about undef ---软件异常
异常模式和异常源
写在文末:本文简单陈述了arm的相关概念,并arm体系结构进行了讲解,处理器的工作模式以及5种异常模式和对应的7种异常源,重点记忆理解。