嵌入式开发记录-day07寄存器-模式-指令集合
1、指令集:
ARM指令集:32位指令;精简指令集Thumb指令集16位;混合型指令集Thumb2指令集32+16位;
2、CPU组成:
1、ALU逻辑运算单元,运算器;
2、控制器:分配片选时间;
3、内部寄存器:为了更好切换,读取数据内部小型寄存器
4、内部总线:内部高速公路;
实际操作的是存储空间,需要了解CPU的状态如何切换,如何操作寄存器;
3、Arm处理器的几种模式:从最底层为了安全控制、效率控制;
ARM9 、11可能是7中模式:
Cortext-A系列九中模式:
1、USR用户模式:10000(编码),大部分程序运行时,普通模式;(非特权模式)
2、FIQ:10001,处理大数据的快速中断模式;硬中断、软中断;
3、IRQ:10010,处理小数据,一般中断模式;
4、SVC:管理调用指令被执行,开机的时候运行;超级管理员;
5、MON:监视;类似后台服务,主要安全扩展;
6、ABT:退出模式,存储访问异常;
7、HYP:超级监视者,主要虚拟化扩展;
8、UND:未定义指令执行时;
9、SYS:系统模式,系统运行时自身异常;
不同状态,访问的寄存器有可能不一样;
4、寄存器:为了更好地控制,效率,存储数据,恢复现场等;
1、USR:R0~R12通用寄存器,R13(堆栈指针SP),R14(LR连接寄存器)、R15(程序计数器PC)、(A/C PSR程序状态寄存器)、(已保存程序寄存器SPSR)
2、FIQ:
1、R0~R12通用寄存器,存放通用数据,每个寄存器32位
2、各个模式R0~R12与USR模式共享(除了FIQ,R8-R12私有的),PC、CFSR共享的;
3、USR模式没有SPSR;
SP:堆栈指针。存储栈地址;LR:链接寄存器,存储子程序返回地址;PC:程序计数器;
APSR/CPSR:应用程序状态寄存器/当前程序状态寄存器;SPSR:已存储程序状态寄存器;
5、CPSR指令格式:
6、取码、译码、执行
指令预读取、指令读取、指令译码、寄存器读取、分配、执行、内存访问;
7、分支预测

浙公网安备 33010602011771号