版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
第二章 ARM处理器概述
2.1ARM处理器介绍
ARM(Advanced RISC Machines
)是ARM公司提供的一种微处理器知识产权(IP
)核。ARM架构是一个32位精简指令集(RISC
)处理器架构。
ARM处理器系列产品主要包括:
- ARM7系列
- ARM9系列
- ARM10系列
- ARM11系列
- SecurCore系列
- XScale系列
- StrongARM系列
- Cortex系列
2.2ARM体系结构的版本和变量
2.2.1ARM体系结构的版本
到目前为止(2014年
),ARM处理器体系结构主要包括v1、v2、v3、v4、v5、v6、v7
以及将要面世的v8
体系结构。
2.2.2ARM体系结构的变量
ARM体系结构的变量主要说明该ARM处理器的附加指令,主要包括:
T
变量M
变量E
变量J
变量
1.T
变量(Thumb
指令集)
Thumb
指令集是ARM
指令集的重编码子集,是ARM
指令集的一半长,可获得更高的代码密度。
2.M
变量(长乘法指令)
ARM
指令集的M
变量主要增加ARM`处理器的长位乘法能力。
3.E
变量(增强型DSP
指令)
4.J
变量(Jazelle
)
ARM
指令集的J
变量包含一些处理Java
指令的特殊指令,为ARM引入了第三套指令集——Java
字节码。
2.4.2ARM
和Thumb
状态
ARM处理器支持7种处理器模式,取决于体系结构版本。7种处理器模式如下:
- usr: ARM处理器正常的程序执行状态
- fiq: 用于高速数据传输或通道处理
- irq: 用于通用的中断处理
- svc: 操作系统使用的保护模式
- abt: 用于虚拟存储及存储保护
- und: 但出现未定义指令终止时进入该模式
- sys: 运行具有特殊权限的操作系统任务
2.4.3ARM
寄存器
ARM
有37个寄存器,其中31个是通用寄存器,6个是状态寄存器。这里要注意ARM自身寄存器和它的一些外设寄存器的区别,外设寄存器是各家公司对ARM进行外设的扩展。
2.4.5Thumb
指令集概述
在编写Thumb
指令时,先要用伪指令CODE16
声明。