您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > ARM9 嵌入式系统原理及应用教程第2章
嵌入式系统原理及应用教程主讲内容第1章嵌入式系统概述第2章ARM微处理器概述与编程模型第3章ARM9指令系统第4章嵌入式程序设计基础第5章嵌入式内部可编程模块第6章嵌入式接口技术应用第7章软件开发环境第2章ARM微处理器概述与编程模型ARM微处理器概述ARM微处理器结构ARM微处理器的工作状态ARM体系结构的存储器格式处理器模式寄存器组织异常(Exceptions)2.1ARM微处理器概述ARM公司简介ARM是AdvancedRISCMachines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。2.1ARM微处理器概述ARM公司简介将技术授权给其它芯片厂商形成各具特色的ARM芯片...2.1ARM微处理器概述ARM(AdvancedRISCMachines)有3种含义一个公司的名称一类微处理器的通称一种技术的名称2.1.1ARM微处理器的特点采用RISC架构的ARM微处理器一般具有如下特点:体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。2.1.2ARM微处理器系列ARM处理器的产品系列非常广,包括ARM7、ARM9、ARM9E、ARM10E、ARM11和SecurCore、Cortex等。以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一系列提供一套特定的性能来满足设计者对功耗、性能、体积的需求。表2-1总结了ARM各系列处理器所包含的不同类型。2.1.2ARM微处理器系列ARM系列包含类型ARM7系列ARM7EJ-SARM7TDMIARM7TDMI-SARM720TARM9/9E系列ARM920TARM922TARM926EJ-SARM940TARM946E-SARM966E-SARM968E-S向量浮点运算(VectorFloatingPoint)VFP9-SVFP102.1.2ARM微处理器系列ARM系列包含类型ARM10E系列ARM1020EARM1022EARM1026EJ-SARM11系列ARM1136J-SARM1136JF-SARM1156T2(F)-SARM1176JZ(F)-SARM11MPCoreSecurCore系列SC100SC110SC200SC210其他合作伙伴产品StrongARMXscaleCortex-M3MBX2.1.2ARM微处理器系列ARMCortex系列简介基于ARMv7版本的ARMCortex系列产品由A、R、M三个系列组成,具体分类延续了一直以来ARM面向具体应用设计CPU的思路。ARMCortexA应用处理器(ApplicationProcessor)系列R实时控制处理(RealTimeControl)系列M微控制器(MicroController)系列2.1.2ARM微处理器系列CortexTM-M3处理器简介该处理器是首款基于ARMv7-M架构的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断相应能力。Cortex-M3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域。目前最便宜的基于该内核的ARM单片机售价为1美元。2.1.2ARM微处理器系列CortexTM-R4处理器简介该处理器是首款基于ARMv7架构的高级嵌入式处理器,其主要目标为产量巨大的高级嵌入式应用系统,如硬盘,喷墨式打印机,以及汽车安全系统等等。CortexTM-R4F处理器简介该处理器在CortexTM-R4处理器的基础上加入了代码错误校正(ECC)技术,浮点运算单元(FPU)以及DMA综合配置的能力,增强了处理器在存储器保护单元、缓存、紧密耦合存储器、DMA访问以及调试方面的能力。2.1.2ARM微处理器系列CortexTM-A8处理器简介该处理器是ARM公司所开发的基于ARMv7架构的首款应用级处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEONTM技术、以及能够支持Java和其他文字代码语言的提前和即时编译的Jazelle@RTC技术。众多先进的技术使其适用于家电以及电子行业等各种高端的应用领域。2.1.2ARM微处理器系列ARM7系列简介该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S。该系列处理器提供Thumb16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。2.1.2ARM微处理器系列该系列包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。ARM9系列简介2.1.2ARM微处理器系列该系列为含有DSP指令集的综合处理器,包括ARM926EJ-S、带有高速缓存处理器宏单元的ARM966E-S/ARM946E-S。其内核在ARM7处理器内核的基础上使用了Jazelle增强技术,该技术支持一种新的Java操作状态,允许在硬件中执行Java字节码。ARM9E系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。ARM9E系列简介2.1.2ARM微处理器系列ARM10E系列简介该系列包括ARM1020E和ARM1020E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。可以用于视频游戏机和高性能打印机等场合。2.1.2ARM微处理器系列Xscale简介IntelXscale微控制器则提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令并集成数字信号处理(DSP)指令。主要应用于手提式通讯和消费电子类设备。2.2.ARM微处理器结构2.2.1RISC体系结构1.嵌入式CISC微处理器传统的CISC(ComplexInstructionSetComputer,复杂指令集计算机)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。2.2.1RISC体系结构2.嵌入式RISC微处理器基于以上的不合理性,1979年美国加州大学伯克利分校提出了RISC(ReducedInstructionSetComputer,精简指令集计算机)的概念,RISC是精简指令集计算机,但RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。RISC结构优先选取使用频最高的简单指令,抛弃复杂指令,固定指令长度,减少指令格式和寻址方式,以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。2.2.1RISC体系结构RISC体系结构应具有如下特点:采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。使用单周期指令,便于流水线操作执行。大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗.2.2.1RISC体系结构RISC体系结构应具有如下特点:所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。可用加载/存储指令批量传输数据,以提高数据的传输效率。可在一条数据处理指令中同时完成逻辑处理和移位处理。在循环处理中使用地址的自动增减来提高运行效率。2.2.1RISC体系结构RISC和CISC之间的主要区别:指标RISCCISC指令集一个周期执行一条指令,通过简单指令的组合实理复杂操作;指令长度固定。指令长度不固定,执行需要多个周期。流水线流水线每周期前进一步。指令的执行需要调用微代码的一个微程序。寄存器更多通用寄存器。用于特定目的的专用寄存器。Load/Store结构独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。处理器能够直接处理存储器中的数据。2.2.2ARM微处理器的寄存器结构ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。2.2.2ARM微处理器的寄存器结构ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、1~2个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。2.2.3ARM微处理器的指令结构ARM微处理器在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。ARM指令为32位的长度Thumb指令为16位长度Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。2.2.4ARM微处理器的应用选型从应用的角度出发,对在选择ARM微处理器时所应考虑的主要问题:ARM微处理器内核的选择从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不同的应用领域,用户如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(MemoryManagementUnit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持WindowsCE和标准Linux,但目前有uCLinux等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。事实上,uCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他方面都有上佳表现。2.2.4ARM微处理器的应用选型系统的工作频率系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz。ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz。ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时钟控制器可以分别为ARM核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。2.2.4ARM微处理器的应用选型芯片内存储器的容量大多数的ARM微处理器片内存储器的容量都不太大,需要用户在设计系统时外扩存储器.但也有部分芯片具有相对较大的片内存储空间,如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间,用户在设计时可考虑选用这种类型,以简化系统的设计。2.2.4ARM微处理器的应用选型片内外围电路的选择几乎所有的ARM
本文标题:ARM9 嵌入式系统原理及应用教程第2章
链接地址:https://www.777doc.com/doc-3385980 .html