版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
第三章 ARM9处理器与编程模型
3.1 ARM9
处理器产品
ARM9
内核是5级流水线,在每个时钟周期内同时有5个指令在执行。采用哈佛结构区分了数据总线和指令总线。
3.1.2操作指令
ARM9
处理器有三种特殊操作指令:
loads
指令与n stores
指令- 互锁技术
- 分支指令
3.2 ARM9
编程模型
ARM9
编程模型主要内容有:
ARM9
数据类型ARM9
体系结构的存储格式ARM9
处理器的工作状态ARM9
处理器模式ARM9
寄存器- 异常
3.2.1 ARM9
数据类型
ARM9
微处理器的指令长度可以是32位(在ARM状态下
),也可以为16位(在Thumb状态下
)。
字(Word
):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字长一般为16位。
半字(Half-Word
):在ARM体系结构中,字的长度为16位,而在8位/16位处理器体系结构中,与字长相同。
3.2.2 ARM9
体系结构的存储格式
- 支持最大寻址空间为4GB(232字节)
ARM
体系结构可以用两种方法存储字数据:大端和小端格式
3.2.3 ARM9
处理器的工作状态
1. ARM
处理器的两种工作状态
ARM
:处理器执行32位的字对齐的ARM指令
Thumb
:处理器执行16位半字对齐的Thumb指令
3.2.5 ARM
寄存器
ARM
处理器总共有**37个32位寄存器**,但只使用了其中12位。
在ARM
处理器内部,在不同的模式和处理器状态下,程序员可访问的寄存器也不尽相同,如下图:
在任意模式下,可见的寄存器包括15个通用寄存器(R0~R14)
、1个或2个状态寄存器和程序寄存器。
通用寄存器包括R0~R15
,可以分为三类:
- 未分组寄存器
R0~R7
- 分组寄存器
R8~R14
- 程序计数器
PC(R15)