您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > ARM微处理器体系结构及其发展趋势
ARM微处理器体系结构及其发展趋势摘要:嵌入式微处理器是体系结构研究领域的一个热点。本文从微处理器设计者的角度出发,对在嵌入式系统当中应用广泛的32位ARM微处理器系列的体系结构作了研究和探讨,同时分析了其发展趋势。关键词:ARM;体系结构;嵌入式微处理器;发展趋势1.概述嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备以下4个特点:(1)对实时多任务有很强的支持功能,能完成多任务并且有较短的中断时间;(2)具有功能较强的存储区保护功能;(3)可扩展的处理器结构,以能最迅速地开发出满足应用的各种性能的嵌入式微处器;(4)功耗很低。嵌入式处理器的基础是通用计算机中的CPU。但在工作温度、抗电磁干扰、可靠性等方面一般都作了各种增强。具有体积小、重量轻、成本低、可靠性高的优点,芯片中往往包括少量ROM和RAM甚至一定容量的FLASH,一般还包括总线接口、常用设备的控制器、各种外设等器件,从而极大的减少了构成系统的复杂性,因此又称之为片上系统(SystemOnchip,SOC)。ARM(AdvancedRISCMachine)是英国ARM公司设计开发的通用32位RISC微处理器体系结构,其主要优势在于简单的设计和高效的指令集。ARM的设计目标是微型化、低功耗、高性能的微处理器实现。目前,ARM微处理器家族在嵌入式系统、掌上电脑、智能卡和GSM中断控制器等领域获得了广泛地应用,几乎占据了嵌入式处理器的半壁江山。2.ARM体系结构作为一种RISC体系结构的微处理器,ARM微处理器具有RISC体系结构的典型特征。还具有以下特点:(1)在每条数据处理器指令当中,都控制算术逻辑单元(ALU)和移位器,以使ALU和移位器获得最大的利用率;(2)自动递增和自动递减的寻址模式,以优化程序中的循环;(3)同时Load和Store多条指令,以增加数据吞吐率;(4)所有指令都条件执行,以增大执行吞吐量。这些是对基本RISC体系结构的增强,使得ARM处理器可以在高性能、小代码尺寸、低功耗和小芯片面积之间获得好的平衡。作为一种RISC微处理器,ARM指令集的效率比基于CISC的系统高得多。指令集由11个基本指令类型组成,两种用于片上ALU、环形移位器和乘法器,3种用于控制存储器和寄存器之间的数据传送,另外3种控制执行的数据流和特权级别。最后3种指令用于控制外部协处理器,这使得指令集的功能可以在片外得到扩展。对于一些高级语言的编译器来说,ARM的指令集是比较理想的。而且汇编器的编码也非常简单。ARM指令集的另一个特征是所有的指令都支持条件执行。高效的指令集和简答的设计的结合,使ARM成为一种低功耗、小规模(近30万晶体管)、低价位和相对来说高性能的处理器。(1)数据表示ARM体系结构的字长为32位,它们都支持8位、16位、32位3种数据类型。(2)处理器模式ARM处理器支持7种处理器模式,如表1。表1处理器模式表处理器模式描述User普通程序执行的模式FRQ用于高速数据传输或通道处理IRQ用于通用中断处理Supervisor操作系统的保护模式Abort用于实现虚存活着存储保护Undefined支持软件模拟或硬件协处理器System运行特权操作系统任务大部分应用程序都在User模式下运行。当处理器处于User模式下时,执行的程序无法访问一些被保护的系统资源,也不能改变模式,否则就会导致一次异常。对系统资源的使用由操作系统来控制。User模式之外的其它几种模式也称为特权模式,它们可以完全访问系统资源,可以自由地改变模式。其中的FIQ、IRQ、Supervisor、Abort、Undefined5种模式也被称为异常模式。在处理特定的异常时,系统进入这几种模式。这5种异常模式都有各自的额外的寄存器,用于避免在发生异常的时候与用户模式下的程序发生冲突。还有一种模式是System模式,任何异常都不会导致进入这一模式,而且它使用的寄存器和User模式下基本相同。它是一种特权模式,用于有访问系统资源请求而又需要避免使用额外的寄存器的操作系统任务。(3)寄存器结构ARM处理器有37个寄存器,其中31个是32位的通用寄存器,包括一个程序计数器(ProgramCounter,PC)。在任何一种处理器模式下,其中的16个通用寄存器都是可见的。其它的寄存器用来加速异常处理。ARM指令当中指定的所有寄存器都可以从这16个可见的寄存器中寻址。31个通用寄存器分为几个相互重叠的组,每一组寄存器用于一种特定的处理器状态。通常,一种状态下可见的寄存器为15个通用寄存器(R0~R14)、一个或两个状态寄存器和程序计数器PC。其中,R0~R7被称之为unbankedregister,表示在所有处理器模式中,它们都代表相同的32位物理寄存器。它们没有特殊的功用,仅当作通用寄存器使用。而寄存器R8~R14被称作bankedregister,它们实际代表的32位物理寄存器与当前的处理器状态有关。它们可以在指令中用作通用寄存器,同时,ARM体系结构还为它们中的一部分赋予了特殊的作用:R13用作堆栈指针SP,R14用作链接寄存器LR。另外6个寄存器是程序状态寄存器,它们也是32位宽的寄存器,但是只用到了32位中的12位。这6个寄存器也被称为程序状态寄存器。当前程序状态寄存器(CPSR)在所有的处理器模式下都可以访问。它包含了条件码、中断屏蔽码、当前处理器模式和其他的状态、控制信息。除此之外,每种异常模式都有一个保留程序状态寄存器(SPSR),用于在发生中断的时候保存CPSR的值。(4)指令集ARM指令集中的指令可以分为6个大类:分支指令、数据处理指令、状态寄存器转移指令、Load/Store指令、协处理器指令和异常产生指令。大部分数据处理指令和一部分协处理器指令在执行完毕之后需要根据指令执行的结果来更新程序状态寄存器当中的4个条件标志位(Negative,Zero,Carry,Overflow)。ARM指令集的一个显著的特征是:几乎所有的ARM指令都包含一个4位的条件域。这个域的取值规定了指令的条件执行。如果条件域给出的相应条件位为真,则该条指令正常执行。否则就不执行该指令。条件域主要测试以下3个方面的内容:相等、不等关系;小于、小于等于、大于、大于等于种不等关系;单独测试程序状态寄存器中的每4种条件。ARM指令集的编码把所有指令分为11种格式,如表2。表2指令的11种格式其中:1是数据处理指令、PSR传输指令;2是乘法指令;3是单数据交换指令;4是单数据传输指令;5是未定义;6是块数据传输指令;7是分支指令;8是协处理器数据传输指令;9是协处理器数据操作指令;10是协处理器寄存器传输指令;11是软中断指令。和其他的RISC微处理器相比较,ARM指令集的编码格式相对来说较为复杂。这是为了在指令集的简单性、规整性和高效性以及对高级语言编译器的支持之间取得平衡。3.ARM微处理器系列的发展首个ARM芯片是在1985年由Acorn计算机公司设计的,采用的是典型32位RISC体系结构。其指令拥有4位的寄存器地址域,可以访问R0R15这16个寄存器。使用了标准的、固定长度的32位指令格式,所有的ARM指令都使用了4位的条件码来决定该指令是否执行,这种方式可以解决一些条件分支问题。但是,首个嵌入式RISC核心———ARM6TM系列微处理器还只有26位的地址空间。3.3.1ARM7系列两年后,通过引入ARM7,ARM公司将ARMTM体系结构完全扩展到32位,主频提升到40M,ARM7系列具有三级流水线和冯·诺依曼结构。另外还集成了一个8KCache。ARM7可以支持一种可以称为“Thumb”的模式,可以运行新的16位指令。该系列包括①ARM7TDMI:用于低端的、应用最广泛的ARM微处理器;②可以综合的ARM7TDMI-S:ARM7TDMI的综合版本,最适用于可移植性和灵活性为关键的现代设计;③ARM7EJ–S:支持DSP和Jazelle,DSP用于DSP应用的算术运算指令集,Jazell允许直接执行Java字节码的扩充;④ARM720T:具有MMU、安全性能,最适用于低功耗和小体积为关键的应用。基于ARM7TDMI核的控制器主要有ATMEL公司推出的AT91系列微控制器,Samsung公司推出的S3C3X系列、S3C4X系列,OKI公司的ML67XXXX系列等。其中AT91系列由于工作温度范围宽而在温度要求严格场合应用广泛;S3C3X系列、S3C4X系列具有SDRAM和以太网控制器,因此多用于网络处理器、以太网应用。ARM7系列最适于对价位和功耗敏感的消费类应用。3.3.2ARM9TDMITM系列1997年,ARM公司推出了能提供五级流水线和哈佛结构的微处理器ARM9TDMITM系列。主要包括:ARM920T、ARM922T和ARM940T三种类型。ARM910TM和ARM920TM微处理器提供了用于WindowsCE的解决方案,以ARM920T为核心的微控制器有Motorola公司的龙珠系列,主要用于“蓝牙”技术与PDA。ARM922Tm于2000年推出,以ARM922T为核的微控制器有Sharp公司的LH7A400A,主要用于手持设备。ARM9系列处理器都采用了ARM9TDMI处理器核,兼有16位Thumb指令集,使得代码密度提高了35%。3.3.3ARM9ETM系列从1999年开始推出,带有DSP扩充和紧耦合存储器。ARM9E系列包括:ARM926EJ-S、ARM946E-S、ARM966E-S、ARM968E-S。ARM9E系列的内核中集成有微控制器、DSP、Ja2va,具有芯片体积小,结构简单,功耗低,上市时间短的优点,基于ARM9E系列核的产品因具有DSP和增强的32位RISC处理器,非常适用于对DSP和微控制器都有要求的领域。该系列包括:①ARM966E-S:它是一种可以综合的嵌入式核,最适用于硅片体积为关键要求而对Cache无要求的实时嵌入式应用;②ARM946E-S:它是一种可以综合的嵌入式RTOS核,具有保护单元、灵活的Cache(0K-1M),能够提供实时嵌入式操作系统的Cache核解决方案;③ARM926EJ-S于2001年推出,具有Thumb与DSP扩展,提供Harvard架构,频率高达250MHz,可配置的Caches与TCMS,拥有针对平台操作系统的MMU(MemoryManage2mentUnit)和Jazelle扩充,灵活的分立的指令和数据高速双AHB接口,它是一种Jazelle使能可以综合的开放平台OS处理器核;④ARM968E-S是一种体积最小、功耗最低,在嵌入式实时应用中具有特定功能的微处理器。ARM9E系列已广泛用于硬盘驱动器和DVD播放器等海量存储设备,可视电话、手持通报装置、网络应用等新一代手持产品,汽车、工业控制系统等。3.3.4ARM10TM系列于1998年推出,带有DSP扩展、嵌入式ICE-RT、六级流水线,执行更高的效率,在同等的时钟速度下,性能提高了50%。该系列微处理器包括:ARM1022E、ARM1020E和2002年推出的ARM1026EJ-STM,其中ARM1026EJ-STM支持针对Java“加速的ARMJazelle”技术,执行ARMv5TEJ版本,包括ARM结构扩充、Thumb结构扩充、DSP扩充和Jazelle技术扩充,支持可选VFP10“浮点协处理器和ETM10RV”嵌入式跟踪单元,是高要求复杂应用的最佳选择;支持可配置的主频速度缓冲存储器和紧密耦合存储器(TCM),因此芯片体积小、成本低、中断等待时间短,加强了实时性能。具有存储器管理单元(MMU)和存储保护单元(MPU)。扩充64位单片总线实现带宽增大,有助于更好执行携
本文标题:ARM微处理器体系结构及其发展趋势
链接地址:https://www.777doc.com/doc-4572762 .html