嵌入式开发记录-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、分支预测

 

posted @ 2020-06-11 16:28  笑不出花的旦旦  阅读(168)  评论(0)    收藏  举报