ARM9嵌入式复习总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM9嵌入式复习
第一章
1.嵌入式微处理器的分类。
a)什么是嵌入式微处理器?
1.嵌入式微处理器是嵌入式系统硬件层的核心,嵌入式微处理器将通用CPU中许多
由板卡完成的任务集成到芯片内部,从而有利于系统设计趋于小型化、高效率和高可靠性。嵌入式微处理器大多工作在为特定用户群所专门设计的系统中。
2.嵌入式微处理器的体系结构可以采用冯·诺依曼体系结构或哈佛体系结构,指令
系统可以选用精简指令系统(Reduced Instruction Set Computer,RISC)和复杂指令集系统CISC(Complex Instruction Set Computer, CISC)。
b) 嵌入式微处理器分类
1.按照系列分:ARM系列、MIPS系列、PowerPC系列。
2.按照指令复杂程度分:CISC和RISC两类
2.微处理器划分:
a)嵌入式微控制器
b)嵌入式微处理器
c)DSP处理器
d)嵌入式片上系统
e)多核处理器
3.嵌入式操作系统(EOS)的特性
EOS除具备了一般操作系统最基本的任务调度、同步机制、中断处理、文件处理等功能外,还具有如下特点:强实时性;支持开放性和可伸缩性的体系结构,具有可裁减性;提供统一的设备驱动接口;提供操作方便、简单、友好的图形GUI和图形界面;支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,提供强大的网络功能。
第二章
1.ARM7TDMI命名
2.3级流水线与总线架构
三级流水线:
流水线使用3个阶段,因此指令分为3个阶段执行
1.取指:从程序存储器中读取指令,放入流水线中
2.译码:操作码和操作数被译码,决定执行什么功能,为下一个始终周期准备数据路
径所需要的控制信号。
3.执行:执行已译码的指令
注:程序计数器(PC)指向被取指的指令,而不是指向正在执行的指令
在正常操作的过程中,在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出
3.ARM的两种状态与7种工作模式
a)两种状态。
i.ARM状态:32位,这种状态下执行的是字方式的ARM指令;
ii.Thumb状态:16位,这种状态下执行半字方式的Thumb指令。
注:两个状态之间的切换并不影响处理器模式或寄存器内容,可以使用BX指令切换两种状态.状态寄存器CPSR的T位反应了处理器运行不同指令的当前状态.
b)7种工作模式。
注:除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。
题目:ARM微处理器复位后,PC的地址通常是 0x0 ,初始的工作模式是Supervisor
4.ARM常用几个寄存器功能
在ARM7TDMI处理器内部有37个用户可见的寄存器。31个通用32位寄存器,6个状态寄存器。
a.堆栈寄存器(SP):R13,在ARM指令集当中,没有以特殊方式使用R13的指令或其它
功能,只是习惯上都这样使用。但是在Thumb指令集中存在使用R13的指令。
b.链接寄存器(LR):R14,在结构上有两个特殊功能:
1.在每种模式下,模式自身的R14版本用于保存子程序返回地址;
2.当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一
个小的固定偏移量)。
c.程序计数器(PC):R15,在ARM状态,位[1:0]为0,位[31:2]保存PC。在Thumb状
态,位[0]为0,位[31:1]保存PC。对于ARM指令集而言,PC总是指向当前指令的下两条指令的地址,即PC的值为当前指令的地址值加8字节。
d.程序状态寄存器(CPSR):R16,在所有处理器模式下都可以访问CPSR。每种异常模
式都有一个程序状态保存寄存器(SPSR),在异常发生时,SPSR用于保存CPSR的状态。
5.条件代码标志
N 运算结果的最高位反映在该标志位。对于有符号二进制补码,结果为负数时N=1,结果为正数或零时N=0;
Z 指令结果为0时Z=1(通常表示比较结果“相等”),否则Z=0;
C 当进行加法运算(包括CMN指令),并且最高位产生进位时C=1,否则C=0。当进行
减法运算(包括CMP 指令),并且最高位产生借位时C=0,否则C=1。对于结合移位
操作的非加法/减法指令,C为从最高位最后移出的值,其它指令C通常不变;
V 当进行加法/减法运算,并且发生有符号溢出时V=1,否则V=0,其它指令V通常不变。
附:控制位
I、F中断控制位——控制允许和禁止中断
T控制(标志)位——反映处理器的运行状态
M控制位——决定了处理器的运行模式
6.中断号、中断向量与优先级。(7种异常)
7.存储器格式。
a)ARM体系结构使用232个字节的单一、线性地址空间。将字节地址做为无符号数看
待,范围为0~232-1
b)对于字对齐的地址A,地址空间规则要求如下:
●地址位于A的字由地址为A、A+1、A+2和A+3的字节组成;
●地址位于A的半字由地址为A和A+1的字节组成;
●地址位于A+2的半字由地址为A+2和A+3的字节组成;
●地址位于A的字由地址为A和A+2的半字组成。
注:这样并不能完全定义字,半字和字节之间的映射。
存储器采用下列映射机制中的一种。
大端存储:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中
小端存储:低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节例如,假设一个32位字长的微处理器上定义一个int类型的常量a,其内存地址位于0x6000处,其值用十六进制表示为0x23456789。如图1.2.2(a)所示,
如果按小端法存储,则其最低字节数据0x89存放在内存低地址0x6000处,最高字节数据0x23存放在内存高地址0x6003处。如图1.2.2(b)所示,
如果按大端法存储,则其最高字节数据0x23存放在内存的低地址0x6000处,而最低字节数据0x89存放在内存的高地址0x6003处。
第三章
一:寻址方式。
1.寄存器寻址
操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编号,寄存器的内容是操作数,指令执行时直接取出寄存器值操作。
例如指令:
MOV R1,R2 ;R1←R2