ARM 应用系统开发详解──基于 S3C4510B 的系统设计
第 2 章 ARM 微处理器的编程模型
本章简介 微处理器编程模型的一些基本概念,包括工作状态切换、数据的存储格式、处
理器异常等,通过对本章的阅读,希望读者能了解 微处理器的基本工作原理和一些与程序设
计相关的基本技术细节,为以后的程序设计打下基础。
本章的主要内容:
- 微处理器的工作状态
- 体系结构的存储器格式
- 微处理器的工作模式
- 体系结构的寄存器组织
- 微处理器的异常状态
在开始本章之前,首先对字()、半字()、字节()的概念作一个说
明:
字():在体系结构中,字的长度为位,而在位位处理器体系结构中,字
的长度一般为位,请读者在阅读时注意区分。
半字():在体系结构中,半字的长度为位,与位位处理器体系结
构中字的长度一致。
字节():在体系结构和位位处理器体系结构中,字节的长度均为位。
2.1 ARM 微处理器的工作状态
从编程的角度看,微处理器的工作状态一般有两种,并可在两种状态之间切换:
- 第一种为状态,此时处理器执行位的字对齐的指令;
- 第二种为状态,此时处理器执行位的、半字对齐的指令。
当微处理器执行位的指令集时,工作在状态;当微处理器执行位
的指令集时,工作在状态。在程序的执行过程中,微处理器可以随时在两种工作状
态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。
状态切换方法:
指令集和指令集均有切换处理器状态的指令,并可在两种工作状态之间切换,但
微处理器在开始执行代码时,应该处于状态。
进入状态:当操作数寄存器的状态位(位)为时,可以采用执行指令的方法,
使微处理器从状态切换到状态。此外,当处理器处于状态时发生异常(如
、 、!"、、#等),则异常处理返回时,自动切换到状态。
进入状态:当操作数寄存器的状态位为时,执行指令时可以使微处理器从状
态切换到状态。此外,在处理器进行异常处理时,把$%指针放入异常模式链接寄存器中,并
从异常向量地址开始执行程序,也可以使处理器切换到状态。
1
评论0