嵌入式系统第2章综述.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 嵌入式系统体系结构 目前,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系列、等等。 (续) ARM9结构特点 ARM920T微处理器的指令流水采用了典型的RISC五级流水线结构,将指令执行过程分为取指、译码、执行、访存和写回5个步骤。五级流水线结构采用分离指令cache和数据cache,将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时可能有5个指令在执行,消除了指令执行的性能瓶颈,加快了指令执行速度。 (续) ARM920T核内部具有指令缓存和数据缓存,允许处理器同时进行取指和读写数据操作。数据可以是:8位(字节)、16位(半字)、32位(字)。字必须是4字节边界对准,半字必须是2字节边界对 准。 ARM9工作模式 ARM9微处理器核共支持7种工作模式,他们的名称及意义如表2-1所示。不同的工作模式下,算术运算及逻辑运算等操作所使用的通用寄存器组不同。ARM9处理器核中每组通用寄存器有16个,整个ARM9核共有31个通用寄存器,这里对ARM9工作模式进行介绍。 (续) §2.3 ARM9的存储组织结构 ARM920T核允许32位长的地址,它把存储器看成是0地址开始的字节的线性组合,即一个地址对应于一个存储字节,其范围是232个字节(8位二进制数)。 大端存储和小端存储 ARM9存储器系统的存储单元与地址的对应方式有两种:一种是大端存储系统,如图2-2所示;另一种是小端存储系统,如图2-3所示。 大端存储系统中,字的地址对应的是该字中最高有效字节所对应的地址;半字的地址对应的是该半字中最高有效字节所对应的地址。也就是说,32位数据的最高字节存储在低地址中,而其最低字节则存放在高地址中。 (续) (续) 小端存储系统中,字的地址对应的是该字中最低有效字节所对应的地址;半字的地址对应的是该半字中最低有效字节所对应的地址。也就是说,32位数据的最高字节存储在高地址中,而其最低字节则存放在低地址中。 小端存储模式是ARM9处理器的默认模式。ARM9汇编指令集中,没有相应的指令来选择是采用大端存储系统还是小端存储系统,但可以通过硬件输入引脚来配置它。 (续) 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寄存器中的值就不再是顺序的,从而实现了程序分支。目的地址的计算公式如下: 目的地址=当前执行的指令地址+8+偏移量 内部寄存器 ARM9处理器的内部总共有37个32位的寄存器,其中31个用作通用寄存器,6个用作状态寄存器,每个状态寄存器只使用了其中的12位。这37个寄存器根据处理器的状态及其工作模式的不同而被安排成不同的组。程序代码运行时涉及的工作寄存器组是由RAM9微处理器的工作模式确定的。 (续) (续) R0~R15称为通用寄存器,其中,R0~R7是不分组的寄存器;R8~R14是根据工作模式进行分组的寄存器;R15是程序计数器,也是不分组的。 R0~R7寄存器是不分组的,在所有的工作模式下,它们物理上是同一个寄存器。 R8~R14是分组寄存器,它们中的每一个寄存器根据当前工作模式的不同,所访问的寄存器实际可能不是同一个物理寄存器。 (续) R13寄存器的作用通常是堆栈指针,又称为SP。每种异常模式都有对应于该模式下的R13物理寄存器。 R14寄存器可用作子程序链接寄存器,又称为LR(Link R

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档