ARM 体系架构粗了解
版本差异
副处理器可以省电70%
CPU组成
基本组成:ALU(计算单元,累加器)、控制器(切换)、寄存器、总线(连接)
处理模式
ARM7、ARM9:7中
Cortex-A:9种。8种特权模式,一种非特权模式即用户模式
寄存器
- SP:堆栈寄存器
- LR:链接寄存器
- PC:程序寄存器
- PSR:程序状态寄存器
- APSR:应用程序状态寄存器
- CPSR:当前程序状态寄存器
- SPSR:已存储程序状态寄存器
只有在用户模式下才是ASPR,其它模式都是CSPR
- R0-R12通用寄存器,放通用数据,32bit
- 各个模式的R0-R12与USR模式是共享的(除了FIQ,R8-R12),PC,CPSR共享的
- USRR模式没有SPSR
CSPR指令格式
- M:九种模式,五位表示
- T:是否使用Thumb指令
- F:是否禁用FIQ
- I:是否禁用IRQ
- A:是否禁用ABT
- E:存储字节的顺序(大段还是小段,因为存储时以字为单位,所以需要选择存储顺序)
- IT:Thumb2指令的if…then…条件执行
- GE:SIMD
- J:Jazelle(Java)
- Q:累计饱和instructions
- V:ALU操作溢出
- C:ALU进位操作
- Z:ALU零位
- N:ALU负数
指令流水线
F->D->E:取码->译码->执行
- 扩展到无极流水(分解指令过程):
-指令预读取(决定从内存哪儿取指令)。PerFetch- 指令读取(从内存系统中读取指令)。Fetch
- 指令译码(解读指令并且生成控制信号)
- 寄存器牍取(提供寄存器的值给操作单元)
- 分配(分配指令给执行单元)
- 执行(实际的ALU单元处理)
- 内存访问(数据的存取)
- 寄存器回写(更新运行结果到寄存器)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 吾辈之人,自当自强不息!!
评论