全球旧事资料 分类
密度低;RISC不能执行x86代码;RISC给优化编译程序带来了困难
ARM设计采用的RISC技术特征主要有:LoadStore体系结构,固定的32位指令,3地址指令格式。
ARM7TDM名称具体含义:ARM7:32位ARM体系结构4T版本;T:Thumb16位压缩指令集;D:支持片上Debug,使处理器能够停止以响应调试请求;M:增强型Multiplier,与前代相比具有较高的性能且产生64位的结果。I:EmbeddedICE硬件以支持片上断点和观察点。
ARM73级流水线:(取指级,译码级,执行级)ARM9TDMI流水线操作:(取指,译码,执行,缓冲数据,回写)5级ARM处理器核可工作两种状态:ARM状态和Thumb状态
从ARM进入Thumb状态,当操作数寄存器Rm的状态位bit0为1时,执行“BXRm”指令进入Thumb状态
从Thumb进入ARM状态,当操作数寄存器Rm的状态位bit0为0时,执行“BXRm”指令进入ARM状态
ARM处理器工作模式(共7种):除用户模式外的其他六种模式称为特权模式。特权模式:主要处理异常和监控调用(有时也称为软件中断),他们可以自由地访问系统资源和切换模式
ARM处理器总共有37个寄存器,均为32位ARM状态下的通用寄存器分为3类:未分组寄存器R0R7(为公用寄存器)
分组寄存器:R8R14R13通常用于堆栈指针SP程序计数器:R15PC用做程序计数器
R14用做子程序链接寄存器
ARM程序状态寄存器中
条件码标志(NZCV)
N——在结果是带符号的二进制补码的情况下,结果为负,N1否则为0Z——结果为0Z1否则为0
C——针对加法:产生进位C1否则为01
针对减法:产生借位C0否则为
f针对有移位操作的非加减法指令C为移位操作中最后移出位的值令C通常不变
对于其他指
V——对于加减法指令操作数和结果为带符号的整数时,产生溢出V1否则为0对于其他指令V通常不发生变化ARM的异常中断响应过程:一:将CPSR的内容保存到将要执行的异常中断对应的SPSR中,以实现对处理器当前状态,中断屏蔽字以及各条件标志位的保存。二:设置当前状态寄存CPSR中的相应位:
设置CPSR模式控制位CPSR40,使处理器进入相应的执行模式
当进入Reset或FIQ模式时,还要设置中断标志位(CPSR61)禁止FIQ中断,否则其值不变
设置中断标志位(CPSR71),禁止IRQ中断
三:将寄存器LR设置成异常返回地址retur
li
k(对于某些异常中断,保存在LR的值可能与实际返回的地址有一个常数的偏移量),使异常处理程序执行完后能正确返回原程序
四:给程序计数器PC强制赋值,使程序从相应的向量地址开始执行中断处理程序。
非向量r
好听全球资料 返回顶部