ARM9嵌入式复习总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档