1.认识ARM
1)是一家公司
2)做RISC处理器内核
3)不生产芯片
2.ARM处理器的最新发展(重要)
高端产品线: cortex-A9 主要做音视频开发,例如:手机 平板.....
中端产品线:cortex-R 主要做实时性要求比较高的系统 例如:汽车的刹车系统
低端产品线:cortex-M 主要做单片机开发 例如:小恐龙 小马达 手表....
3.编程模型
1)ARM 采用的是32位架构.
2)ARM 约定
byte:8bits
word:字 4bytes
halfword:半字 2bytes
doubleword:双字 8bytes
3)ARM Core状态
ARM状态:ARM指令集 即每条指令占4bytes
Thumb状态:Thumb指令集 即每条指令占2bytes
4. ARM有8个基本工作模式(Cortex-A系列) (重点)
user:正常模式 正常情况下,程序运行在此模式
FIQ:快速中断模式(高优先级)
IRQ:普通中断模式(低优先级)
svc:超级用户模式 当复位或软中断异常时cpu切换到此模式
abort:存取异常模式 越界或访问磁盘出错cpu就会切换到此模式
undef:未定义指令异常模式 当cpu执行过程中遇到未定义指令时就切换到此模式
system:同user
monitor:特权模式 cortex-A处理器特有的模式
5.ARM寄存器(Cortex-A有40个)
r0-r12: 通用寄存器 13个 每个寄存器4字节
r13,r14: 2*7=14个
r15(pc):1个
cpsr:1个
spsr:1*6=6个 user/system没有spsr
FIQ:r8-r12 5个
6.寄存器说明
r13(sp):栈顶指针寄存器 即保存的是栈顶指针 应用:异常、函数调用
r14(lr):链接寄存器 保存函数或异常的返回地址
r15(pc):程序寄存器 保存取指指令的地址
cpsr:当前程序状态寄存器 记录当前cpu的工作模式、中断状态、cpu的状态(ARM/Thumb状态)、运算结果
spsr:保存当前程序状态寄存器 即 spsr = cpsr 异常
7.cpu的发展历程
ARM 体系: ARMv4 ARMv5 ARMv6 ARMv7
ARM CPU: arm7 arm9 arm10 arm11 arm-cortex-a8
流水线: 3 5 6 8 13
频率(MHZ) 80 150 260 335 667
MMU 无/有 有 ...
结构: 冯诺依曼 哈佛 ...