ARM架构二 ARMv5T架构简介

本文是根据ARM官方文档,翻译整理的。

ARM架构特点

ARM架构属于精简指令集(Reduced Instruction Set Computer (RISC))。拥有精简指令集的共有特点,另外还有自己所特有的特点。
精简指令集特点:

  • 大量寄存器
  • 加载/存储结构,只操作寄存器里内容(我不确定ARM是不是只能操作寄存器里的内容)
  • 简单的寻址模式,所有地址由寄存器和指令字段决定(指令字段是什么意思,直接寻址吗)
  • 固定长度指令,使译码简单

ARM扩展的特点:

  • 对大多数数据处理指令中的算术逻辑单元(ALU)和移位器进行控制,以最大程度地利用ALU和移位器
  • 自动递增和自动递减寻址模式,以优化程序循环
  • 加载和存储多条指令以最大化数据吞吐量
  • 有条件地执行几乎所有指令,以最大化执行吞吐量

这些对于基本RISC架构的增强功能许ARM处理器,实现高性能,代码量小,低功耗和小芯片面积的良好平衡。

ARMv5T工作状态寄存器

ARMv5T工作状态寄存器 (Current Program Status Register (CPSR) )是一个32bit的寄存器
CPSR寄存器
PSR寄存器中有四种数据位

  • 保留位:读0 忽略写
  • 用户可写位:N,Z,C,V,Q,GE[3:0],E
  • 特权位:只有在特权模式可以写,A,I,F,T,M[4:0]。用户模式忽略写
  • 执行状态位:只有在特权模式可以写,J,T。用户模式忽略写

N :Negative
Z : Zero
C:Carry
V:oVerflow
Q:用于指示在某些面向DSP的指令中是否发生了溢出和/或饱和。
J:Jazelle指令模式
GE[3:0] :在ARMv6中,SIMD指令对结果的各个字节或半字使用bit [19:16]作为大于或等于(GE)标志。
E:大小端模式
A:设置后禁用不精确数据中止,ARMv6及以上才有
I:中断禁止
F:快中断禁止
T :Thumb指令标志
M[4:0] :工作模式

ARMv5T工作模式

ARMv5T共有7中工作模式,有CPSR中的M[4:0]决定
ARM架构二 ARMv5T架构简介_第1张图片
usr :正常程序执行模式
fiq :支持高速数据传送或管道进程(管道进程这个翻译准确吗,这个术语究竟代表什么)
irq :通用中断处理
svc :为操作系统设计的保护模式
abt :实现虚拟内存或者内存保护
und :支持硬件协处理器的软件仿真
sys :运行特权操作系统任务

ARMv5T寄存器

ARM共37个寄存器,在某一模式,可见的只有17个寄存器,每种异常模式都有自己的备份寄存器,通常是R13和R14、SPSR_xxx,快中断模式R8-R12也是备份寄存器,为加快异常处理速度。
具体寄存器状态见下图:
ARM架构二 ARMv5T架构简介_第2张图片
R13:Stack pointer SP堆栈指针,被PUSH和POP使用
R14:Link register LR 链接寄存,放如调用前的下次要执行指令地址
15: R15又叫PC指针,内容为现在运行地址+2*(指令长度)

ARMv5T异常

ARMv5T有7种异常,对应6种模式,对应各自的异常入口,有两种异常入口,正常和高地址。
ARM架构二 ARMv5T架构简介_第3张图片
参考文档《ARM Architecture Reference Manual》ARM DDI 0100I

你可能感兴趣的:(ARM)