嵌入式硬件基础第2章.ppt
文本预览下载声明
第二章 嵌入式系统体系结构 目前,ARM处理器体系结构的版本有多个。世界上许多电子芯片制造厂商基于不同版本的ARM体系结构生产出了多种系列的ARM CPU,主要有以下系列: ·ARM7系列; ·ARM9系列; ·ARM9E系列; ·ARM10E系列; ·SecurCore系列; ·Intel的StrongARM; ·Intel的Xscale。 §2.2 ARM9微处理器概况 ARM9系列微处理器是低功耗的32位RISC结构,最适合要求低成本、低功耗的消费类应用产品,是目前应用最广泛、高性价比的嵌入式处理器。国际许多著名的IT芯片制造公司,基于ARM9处理器核生产了多种微控制器芯片,如三星公司的S3C2410、Atmel公司的AT91RM9200、Intel公司的PXA255、Motorola公司的MC9328、Cirrus Logic公司的EP93XX系列、等等。 ARM处理器3大特点 耗电少,成本低,功能强; 16/32位双指令集; 全球众多合作伙伴保证供应; ARM9结构特点 ARM920T微处理器的指令流水采用了典型的RISC五级流水线结构,将指令执行过程分为取指、译码、执行、访存和写回5个步骤。五级流水线结构采用分离指令cache和数据cache,将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时可能有5个指令在执行,消除了指令执行的性能瓶颈,加快了指令执行速度。 程序计数器(PC)是指向取指的指令而不是正在执行的指令,即当前执行指令的地址是PC值对应地址之前两条指令的地址。 (续) ARM920T核内部具有指令缓存和数据缓存,允许处理器同时进行取指和读写数据操作。数据可以是:8位(字节)、16位(半字)、32位(字)。字必须是4字节边界对准,半字必须是2字节边界对 准。 ARM9工作模式 ARM9微处理器核共支持7种工作模式,他们的名称及意义如表2-1所示。不同的工作模式下,算术运算及逻辑运算等操作所使用的通用寄存器组不同。ARM9处理器核中每组通用寄存器有16个,整个ARM9核共有31个通用寄存器。 ARM9微处理器有两种工作状态:ARM状态和Thumb状态,可以随时切换。上电或复位处于ARM状态。 §2.3 ARM9的存储组织结构 ARM920T核允许32位长的地址,它把存储器看成是0地址开始的字节的线性组合,即一个地址对应于一个存储字节,其范围是232个字节(8位二进制数)。 大端存储和小端存储 ARM9存储器系统的存储单元与地址的对应方式有两种:一种是大端存储系统,如图2-2所示;另一种是小端存储系统,如图2-3所示。 大端存储系统中,字的地址对应的是该字中最高有效字节所对应的地址;半字的地址对应的是该半字中最高有效字节所对应的地址。也就是说,32位数据的最高字节存储在低地址中,而其最低字节则存放在高地址中。 小端存储系统中,字的地址对应的是该字中最低有效字节所对应的地址;半字的地址对应的是该半字中最低有效字节所对应的地址。也就是说,32位数据的最高字节存储在高地址中,而其最低字节则存放在低地址中。 小端存储模式是ARM9处理器的默认模式。ARM9汇编指令集中,没有相应的指令来选择是采用大端存储系统还是小端存储系统,但可以通过硬件输入引脚来配置它。(BIGEND) ARM9的每个地址是对应于一个存储字节而不是一个存储字,但ARM9可以访问存储字,访问存储字时,其地址应该是字对准的,既字地址可以被4整除。也就是说,若第1个字在存储空间中是在第0个地址对应的单元(32位),那么,第2个字则应在第4个地址对应的单元,第3个字在第8个地址对应的单元,以此类推。一个字(32位二进制数)是由4个字节组成,假如某个字其地址是X(X能被4整除),那么,该字的4个字节对应的地址是X、X+1、X+2、X+3。 程序中若遇到分支指令,大多数是通过把指令中的偏移量加到PC寄存器的值上来计算目的地址,然后把计算结果写回到PC寄存器,此时PC寄存器中的值就不再是顺序的,从而实现了程序分支。 顺序执行的指令地址计算公式如下: 下一条需顺序执行的指令地址=当前执行指令的地址+4 目的地址的计算公式如下: 目的地址=当前执行的指令地址+8+偏移量 内部寄存器 ARM9处理器的内部总共有37个32位的寄存器,其中31个用作通用寄存器,6个用作状态寄存器,每个状态寄存器只使用了其中的12位。这37个寄存器根据处理器的状态及其工作模式的不同而被安排成不同的组。程序代码运行时涉及的工作寄存器组是由ARM9微处理器的工作模式确定的。 R0~R15称为通用寄存器,其中,R0~R7是不分组的寄存器;R8~R14是根据工作模式进行分组的寄存器;R15是程序计数器,也是不分组的。 R0~R7寄存器是不分组的,在所有的工作模式下
显示全部