第2章ARM体系结构_第1页
第2章ARM体系结构_第2页
第2章ARM体系结构_第3页
第2章ARM体系结构_第4页
第2章ARM体系结构_第5页
已阅读5页,还剩144页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第2章章 ARM体系结构体系结构ARM CPU Core概述nARM内核是一种32位RISC微处理器,具有功耗低、性价比高、代码密度高等三大特色。ARM处理器具有RISC体系结构的典型特征,同时具有以下特点 n在每条数据处理指令当中,都控制算术逻辑单元ALU和移位器,以使ALU和移位器获得最大的利用率;n自动递增和自动递减的寻址模式,以优化程序中的循环;n同时Load和Store多条指令,以增加数据吞吐量;n所有指令都可以条件执行,以增大执行吞吐量。 2.1 ARM CPU ISA的发展历史 nARM CPU的指令集体系ISA(即ARM Instruction Set Architectur

2、e)从最初的V1版本发展到现在,先后出现了V1, V2, V3, V4, V4T, V5TE, V5TEJ, V6, V7等主要的版本。nARM V1V3版本的处理器未得到大量应用,ARM处理器的大量广泛应用是从其V4版本开始的n到目前V7是最新的版本,它也被称作CoreTex系列。 2.1 ARM CPU ISA的发展历史 ARM/Thumb的命名规范 n由于ARM的每个版本都有一系列的可变版本,其命名规范如下: n以ARMv开头nARM指令集的版本号(15)n可变功能标识(T表示支持Thumb指令,M-表示支持乘法指令),但是ARMv4和其上的版本缺省都支持M功能,因此ARMv4和其上的版

3、本的标识中可以不用标识M.n如果C中描述的功能不存在,则在该功能标识符前加x ARM/Thumb的命名规范名称ARM指令版本Thumb指令版本是否支持长乘法指令ARMv33NoneNoARMv3M3NoneYesARMv4xM4NoneNoARMv44NoneYesARMv4TxM41NoARMv4T41YesARMv5xM5NoneNoARMv55NoneYesARMv5TxM52NoARMv5T52YesARM处理器的分类n结构体系版本(Architecture)nARM v4TnARM v5TE nARM v6nARM Cortex (v7) Processor FamilyProces

4、sor Family ARM7 ARM9 ARM10 ARM11 ARM Cortex 按应用特征分类按应用特征分类 应用处理器应用处理器 Application Processor 实时控制处理器实时控制处理器 Real-time Controller 微控制器微控制器 Micro-controller特征:特征:MMU, Cache 最快频率、最高性能、合理功耗最快频率、最高性能、合理功耗 特征:特征:MPU, Cache 实时响应、合理性能、较低功耗实时响应、合理性能、较低功耗 特征:特征:no sub-memory system 一般性能、最低成本、极低功耗一般性能、最低成本、极低功耗

5、 ARM V4nARMV4是目前支持的最老的架构,是基于32-bit地址空间的32-bit指令集。ARMv4除了支持ARMv3的指令外还扩展了:v支持支持halfword的存取的存取v支持支持byte和和halfword的符号扩展读的符号扩展读v支持支持Thumb指令指令v提供提供Thumb和和Normal状态的转换指令状态的转换指令v进一步的明确了会引起进一步的明确了会引起Undefined异常的指令异常的指令 v对以前的对以前的26bits体系结构的体系结构的CPU不再兼容不再兼容 ARMv4TnARMv4T增加了16-bit Thumb 指令集,这样使得编译器能产生紧凑代码(相对于32-

6、bit代码,内存能节省到35%以上)并保持32-bit系统的好处。nThumb在处理器中仍然要扩展为标准的32位ARM指令来运行。用户采用16位Thumb指令集最大的好处就是可以获得更高的代码密度和降低功耗。 ARM V5TEn1999年推出ARMv5TE其增强了Thumb体系,增强的Thumb体系增加了一个新的指令同时改进了Thumb/ARM相互作用、编译能力和混合及匹配ARM与Thumb例程,以更好地平衡代码空间和性能n并在ARM ISA上扩展了增强的DSP 指令集: 增强的DSP指令包括支持饱和算术(saturated arithmetic), 并且针对Audio DSP应用提高了70%

7、性能。E扩展表示在通用的CPU上提供DSP能力。 ARMv5TEJn2000年推出ARMv5TEJ,增加了Jazelle扩展以支持Java加速技术。nJazelle技术比仅仅基于软件的JVM性能提高近8倍的性能减少了80的功耗。 ARMv6n2001年推出ARMv6,它在许多方面做了改进如内存系统、异常处理和较好地支持多处理器。nSIMD扩展使得广大的软件应用如Video和Audio codec的性能提高了4倍。nThumb-2和TrustZone 技术也用于ARMv6中。ARMv6第一个实现是2002年春推出的ARM1136J(F)-STM处理器,2003年又推出了 ARM1156T2(F)

8、-S 和ARM1176JZ(F)-S处理器。ARMv7nARMv7定义了3种不同的处理器配置(processor profiles): nProfile A是面向复杂、基于虚拟内存的是面向复杂、基于虚拟内存的OS和应用和应用的的nProfile R是针对实时系统的是针对实时系统的nProfile M是针对低成本应用的优化的微控制器的是针对低成本应用的优化的微控制器的。n所有ARMv7 profiles实现Thumb-2技术,同时还包括了NEON技术的扩展提高DSP和多媒体处理吞吐量400 ,并提供浮点支持以满足下一代3D图形和游戏以及传统嵌入式控制应用的需要。ARM FamilyARM7 Fa

9、milyARM9 FamilyARM10 FamilyARM11 Family150DMIPS300 DMIPS500 DMIPS1000 DMIPSARM Cortex FamilyARM720TARM1136J ARM1176JZARM1026EARM920T/ARM922T ARM926EJCortex AApplication ProcessorARM7TDMIARM1156T2ARM1026EARM946ECortex REmbedded RT ControllerARM7TDMIARM966E ARM968ECortex MMicro-controllerARM Architect

10、ure已广泛应用的ARM处理器nARM7n世界上最为广泛使用的世界上最为广泛使用的 CPU 之一之一n100MHznARM9n100-300MHz1.7B ARM Powred shipment in year of 2005, 31% is ARM9 based.ARM11 芯片已经面世nARM11n300-700+ MHznSIMD 指令扩展支持更丰富的多媒体应用指令扩展支持更丰富的多媒体应用n40家授权芯片公司,一些已开始量产家授权芯片公司,一些已开始量产FOMA N902iFirst ARM11 based phoneOMAP2420i.MX31/i.MX31L高性能的ARM嵌入式处理

11、器n最快的处理器提供超过2000 DMIPS 的性能n运行于运行于 1GHz 频率频率 (90nm or 65nm 制造工艺制造工艺)n功耗小于 300mWARM Cortex A8 Application ProcessorCortex-M3 实现 $1 ARM芯片ARM Cortex ArchitectureThumb-2 ISA3 Stage Pipeline1.22 DMIPS/MHz 30% over ARM7TDMI33K gates 30% smaller than ARM7TDMI Luminary MicroLuminary Micro的的StellarisStellaris

12、系列系列MCUMCU产品售价仅产品售价仅1 1美元美元ARM Cortex-M3 微控制器内核,专门针对MCU应用领域而设计,突出低成本、低功耗和高效率。2.1 ARM体系结构简介体系结构简介nARM(Advanced RISC Machines)公司)公司1991年成立于英国剑桥,是专门从事基于年成立于英国剑桥,是专门从事基于RISC技术芯片设计开发的公司,主要出售芯技术芯片设计开发的公司,主要出售芯片设计技术的授权。片设计技术的授权。n作为知识产权供应商,本身不直接从事芯片生作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色产,靠转让设计许可由合作公司生产各具

13、特色的芯片,半导体生产商从的芯片,半导体生产商从ARM公司购买其设公司购买其设计的计的ARM微处理器核,根据各自不同的应用微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。微处理器芯片进入市场。2.1 ARM体系结构简介体系结构简介n目前,全世界有几十家大的半导体公司都使用目前,全世界有几十家大的半导体公司都使用ARM公司的授权,使得公司的授权,使得ARM技术获得了更多的技术获得了更多的第三方工具、制造、软件的支持,又使整个系第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场,更具有统

14、成本降低,使产品更容易进入市场,更具有竞争力。竞争力。n目前,目前,ARM微处理器几乎已经深入到工业控制、微处理器几乎已经深入到工业控制、无线通讯、网络应用、消费类电子产品、成像无线通讯、网络应用、消费类电子产品、成像和安全产品各个领域和安全产品各个领域2.1 ARM体系结构简介体系结构简介采用采用RISC架构的架构的ARM微处理器一般具有如微处理器一般具有如下特点:下特点:n支持支持Thumb(16位)位)/ARM(32位)双位)双指令集,能很好的兼容指令集,能很好的兼容8位位/16位器件。位器件。Thumb指令集比通常的指令集比通常的8位和位和16位位CISC/RISC处理器具有更好的代码

15、密度;处理器具有更好的代码密度;n指令执行采用指令执行采用3级流水线级流水线/5级流水线技术;级流水线技术;n带有指令带有指令Cache和数据和数据Cache,大量使用寄存,大量使用寄存器,指令执行速度更快。大多数数据操作都在器,指令执行速度更快。大多数数据操作都在寄存器中完成。寻址方式灵活简单,执行效率寄存器中完成。寻址方式灵活简单,执行效率高。指令长度固定(在高。指令长度固定(在ARM状态下是状态下是32位,位,在在Thumb状态下是状态下是16位);位);n支持支持大端格式大端格式和和小端格式小端格式两种方法存储字数据;两种方法存储字数据;n支持支持Byte(字节,(字节,8位)、位)、

16、Halfword(半字,(半字,16位)和位)和Word(字,(字,32位)三种数据类型。位)三种数据类型。n支持用户、快中断、中断、管理、中止、系统支持用户、快中断、中断、管理、中止、系统和未定义等和未定义等7种处理器模式,除了用户模式外,种处理器模式,除了用户模式外,其余的均为特权模式;其余的均为特权模式;n处理器芯片上都嵌入了在线仿真处理器芯片上都嵌入了在线仿真ICE-RT逻辑,逻辑,便于通过便于通过JTAG来仿真调试来仿真调试ARM体系结构芯片,体系结构芯片,可以避免使用昂贵的在线仿真器。可以避免使用昂贵的在线仿真器。n具有片上总线具有片上总线AMBA(Advanced Micro-c

17、ontroller Bus Architecture)。)。 nAMBA定义了定义了3组总线:先进高性能总线组总线:先进高性能总线AHB(Advanced High performance Bus);先进系);先进系统总线统总线ASB(Advanced System Bus);先进外);先进外围总线围总线APB(Advanced Peripheral Bus)。通)。通过过AMBA可以方便地扩充各种处理器及可以方便地扩充各种处理器及I/O,可以,可以把把DSP、其他处理器和、其他处理器和I/O(如(如UART、定时器和、定时器和接口等)都集成在一块芯片中;接口等)都集成在一块芯片中;n采用采用

18、存储器存储器映像映像I/O的方式,即把的方式,即把I/O端口地址作端口地址作为特殊的存储器地址;为特殊的存储器地址;n具有协处理器接口。具有协处理器接口。ARM允许接允许接16个协处理器,个协处理器,如如CP15用于系统控制,用于系统控制,CP14用于调试控制器;用于调试控制器;n采用了降低电源电压,可工作在采用了降低电源电压,可工作在3.0V以以下;减少门的翻转次数,当某个功能电下;减少门的翻转次数,当某个功能电路不需要时禁止门翻转;减少门的数目,路不需要时禁止门翻转;减少门的数目,即降低芯片的集成度;降低时钟频率等即降低芯片的集成度;降低时钟频率等一些措施降低功耗;一些措施降低功耗;n体积

19、小、低成本、高性能。体积小、低成本、高性能。nARM微处理器包括微处理器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore、以及、以及Intel的的StrongARM、XScale和其它厂商基和其它厂商基于于ARM体系结构的处理器,除了具有体系结构的处理器,除了具有ARM体体系结构的共同特点以外,每一个系列的系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。微处理器都有各自的特点和应用领域。 n一个典型的一个典型的ARM体系结构方框图,包含有体系结构方框图,包含有32位位ALU、31个个32位通用寄存器及位通用寄存器及6位状态寄位状态寄存器、存器、32

20、8位乘法器位乘法器3232位桶形移位位桶形移位寄存器、指令译码及控制逻辑、指令流水线寄存器、指令译码及控制逻辑、指令流水线和数据地址寄存器等。和数据地址寄存器等。图2.1.1 ARM体系结构方框图1ALU(Arithmetic Logic Unit )nARM体系结构的体系结构的ALU与常用的与常用的ALU逻辑结构基逻辑结构基本相同,由两个操作数锁存器、加法器、逻辑本相同,由两个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。功能、结果及零检测逻辑构成。ALU的最小数的最小数据通路周期包含寄存器读时间、移位器延迟、据通路周期包含寄存器读时间、移位器延迟、ALU延迟、寄存器写建立时间、双相

21、时钟间非延迟、寄存器写建立时间、双相时钟间非重叠时间等几部分。重叠时间等几部分。2桶形移位寄存器桶形移位寄存器nARM采用了采用了3232位桶形移位寄存器,左移位桶形移位寄存器,左移右移右移n位、环移位、环移n位和算术右移位和算术右移n位等都可以位等都可以一次完成,可以有效的减少移位的延迟时间。一次完成,可以有效的减少移位的延迟时间。在桶形移位寄存器中,所有的输入端通过交叉在桶形移位寄存器中,所有的输入端通过交叉开关(开关(Crossbar)与所有的输出端相连。交)与所有的输出端相连。交叉开关采用叉开关采用NMOS晶体管来实现。晶体管来实现。3高速乘法器高速乘法器nARM为了提高运算速度,采用

22、两位乘法的方法,为了提高运算速度,采用两位乘法的方法,2位乘法可根据乘数的位乘法可根据乘数的2位来实现位来实现“加移位加移位”运运算。算。ARM的高速乘法器采用的高速乘法器采用328位的结构,完位的结构,完成成322位乘法也只需位乘法也只需5个时钟周期。个时钟周期。4浮点部件浮点部件n在在ARM体系结构中,浮点部件作为选件可根据需体系结构中,浮点部件作为选件可根据需要选用,要选用,FPA10浮点加速器以协处理器方式与浮点加速器以协处理器方式与ARM相连,并通过协处理器指令的解释来执行。相连,并通过协处理器指令的解释来执行。n浮点的浮点的Load/Store指令使用频度要达到指令使用频度要达到6

23、7,故故FPA10内部也采用内部也采用Load/Store结构,有结构,有8个个80位浮点寄存器组,指令执行也采用流水线结构。位浮点寄存器组,指令执行也采用流水线结构。5控制器控制器nARM的控制器采用硬接线的可编程逻辑阵列的控制器采用硬接线的可编程逻辑阵列PLA,其输入端有,其输入端有14根、输出端有根、输出端有40根,分根,分散控制散控制Load/Store多路、乘法器、协处理器多路、乘法器、协处理器以及地址、寄存器以及地址、寄存器ALU和移位器。和移位器。6寄存器寄存器nARM内含内含37个寄存器,包括个寄存器,包括31个通用个通用32位寄位寄存器和存器和6个状态寄存器。个状态寄存器。2

24、.2 ARM微处理器结构微处理器结构2.2.1 ARM7微处理器微处理器 nARM7系列微处理器包括系列微处理器包括ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ几种类型。几种类型。nARM7TMDI是目前使用最广泛的是目前使用最广泛的32位嵌入式位嵌入式RISC处处理器,主频最高可达理器,主频最高可达130MIPS,采用能够提供,采用能够提供0.9MIPS/MHz的的三级三级流水线结构,内嵌硬件乘法器流水线结构,内嵌硬件乘法器(Multiplier),支持),支持16为压缩指令集为压缩指令集Thumb。n指令系统与指令系统与ARM9系列、系列、ARM9E系列和系列和AR

25、M10E系系列兼容,支持列兼容,支持Windows CE、Linux、Palm OS等操等操作系统。作系统。n典型产品如典型产品如Samsung公司的公司的S3C4510B。1ARM7TDMI处理器内核处理器内核图2.2.1 ARM7TDMI内核结构 典型的ARM CPU CoreARM7TDMI的结构 ARM7TDMIThumb Thumb 架构扩展架构扩展, , 提供两个独立的指令集:提供两个独立的指令集:ARM ARM 指令,均为指令,均为 3232位位ThumbThumb指令,均为指令,均为 1616位位两种运行状态,用来选择哪个指令集被执行两种运行状态,用来选择哪个指令集被执行内核具

26、有内核具有DebugDebug扩展结构扩展结构增强乘法器增强乘法器 (32x8) (32x8) 支持支持6464位结果位结果EmbeddedICE EmbeddedICE 逻辑逻辑n3 级流水线级流水线n冯冯诺依曼架诺依曼架构构nCPI(Cycle Per Instruction) 约为约为1.9乘法器乘法器指令指令解码解码地址地址自增器自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS1:0LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM4:0D31:0桶桶移位器移位器32 位位 ALUDBE写数据写数据 寄存器寄存器读数据读

27、数据 寄存器寄存器地址寄存器地址寄存器寄存器寄存器 BankA31:0ABE及及控制控制 逻辑逻辑PC Update解码站解码站指令指令 解压缩解压缩IncrementerPCABusBBusALUBusARM7TDMI Core的结构ARM7TDMI指令流水线n为增加处理器指令流的速度,ARM7 系列使用3级流水线。n允许多个操作同时处理,而非顺序执行。n PC指向正被取指的指令,而非正在执行的指令。FetchDecodeExecute从存储器中读取指令从存储器中读取指令解码指令中用到的寄存器解码指令中用到的寄存器寄存器读(从寄存器寄存器读(从寄存器Bank)移位及移位及ALU操作操作寄存器

28、写(到寄存器寄存器写(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumb流水线技术流水线技术1流水线的基本概念n流水线技术应用于计算机系统结构的各个方面,流水线技术的基本思想是将一个重复的时序分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。流水线技术1流水线的基本概念n在流水线技术中,流水线要求可分成若干相互联系的子过程,实现子过程的功能所需时间尽可能相等。n形成流水处理,需要一段准备时间。指令流发生不能顺序执行时,会使流水线过程中断,再形成流水线过程则需要时间。流水线技术流水线技术1流水线的基本概念流水线的基本概念n流水

29、线结构的类型众多,并且分类方法各异,流水线结构的类型众多,并且分类方法各异,按完成的功能分类可分为单功能流水线和多功按完成的功能分类可分为单功能流水线和多功能流水线,按同一时间内各段之间的连接方式能流水线,按同一时间内各段之间的连接方式分类可静态流水线和动态流水线,按数据表示分类可静态流水线和动态流水线,按数据表示分类可分为标量流水线处理器和向量流水线处分类可分为标量流水线处理器和向量流水线处理器。指令流水线就是将一条指令分解成一连理器。指令流水线就是将一条指令分解成一连串执行的子过程,例如把指令的执行过程细分串执行的子过程,例如把指令的执行过程细分n在嵌入式系统领域,在嵌入式系统领域, RI

30、SC结构的微处理器将结构的微处理器将占有重要的位置占有重要的位置。n为取指令、指令译码、取操作数和执行4个子过程。n在CPU中把一条指令的串行执行子过程变为若干条指令的子过程在CPU中重叠执行。n如果能做到每条指令均分解为m个子过程,且每个子过程的执行时间都一样,则利用此条流水线可将一条指令的执行时间T由原来的T缩短为T/m。n指令流水线处理的时空图如图1.2.1所示,其中的1、2、3、4、5表示要处理的5条指令。从图可见采用流水方式可同时执行多条指令。图图 指令流水线处理的时空图指令流水线处理的时空图2.流水线处理机的主要指标流水线处理机的主要指标(1)吞吐率n在单位时间内,流水线处理机流出

31、的结果数称为吞吐率。对指令而言就是单位时间里执行的指令数。如果流水线的子过程所用时间不一样长,则吞吐率P应为最长子过程的倒数。(2)建立时间n流水线开始工作,须经过一定时间才能达到最大吞吐率,这就是建立时间。若m个子过程所用时间一样,均为t0,则建立时间T0mt0。信息存储的字节顺序1大端和小端存储法n大多数计算机使用8位(bit)的数据块做为最小的可寻址的存储器单位,称为一个字节。存储器的每一个字节都用一个唯一的地址(address)来标识。n所有可能地址的集合称为存储器空间。n对于软件而言,它将存储器看作一个大的字节数组,称为虚拟存储器。n在实际应用中,虚拟存储器可以划分成的不同单元,用来

32、存放程序、指令和数据等信息。n在微处理器中,使用一个字长(word)表明整数和指令数据的大小。字长决定了微处理器的寻址能力,即虚拟地址空间的大小。n对于一个字长为n位的微处理器,它的虚拟地址范围为02nl。例如一个32位的微处理器,可访问的虚拟地址空间为232,即4GB。n对于一个多字节类型的数据,在存储器中有两种存放方法。一种是低字节数据存放在内存低地址处,高字节数据存放在内存高地址处,称为小端字节顺序存储法;n另一种是高字节数据存放在低地址处,低字节数据存放在高地址处,称为大端字节顺序存储法。n例如,假设一个32位字长的微处理器上定义一个int类型的常量a,其内存地址位于0 x6000处,

33、其值用十六进制表示为0 x23456789。n如图1.2.2(a)所示,如果按小端法存储,则其最低字节数据0 x89存放在内存低地址0 x6000处,最高字节数据0 x23存放在内存高地址0 x6003处。n如图1.2.2(b)所示,如果按大端法存储,则其最高字节数据0 x23存放在内存的低地址0 x6000处,而最低字节数据0 x89存放在内存的高地址0 x6003处。地址0 x60000 x60010 x60020 x6003数据(十六进制)0 x890 x670 x450 x23数据(二进制)01100111010001010010001100000001(a)小端存储法)小端存储法地址

34、0 x60000 x60010 x60020 x6003数据(十六进制)0 x230 x450 x670 x89数据(二进制)01100111010001010010001100000001(b)大端存储法)大端存储法图图1.2.2 大端和小端存储法示例大端和小端存储法示例0 x234567892.2.2 ARM9微处理器微处理器 nARM9系列微处理器包含系列微处理器包含ARM920T、ARM922T和和ARM940T几种类型,可以在高几种类型,可以在高性能和低功耗特性方面提供最佳的性能。采性能和低功耗特性方面提供最佳的性能。采用用5级级整数流水线,指令执行效率更高。提整数流水线,指令执行效

35、率更高。提供供1.1MIPS/MHz的哈佛结构。支持数据的哈佛结构。支持数据Cache和指令和指令Cache,具有更高的指令和数,具有更高的指令和数据处理能力。据处理能力。 2.2.2 ARM9微处理器微处理器 n支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速AMBA总线接口。总线接口。n全性能的全性能的MMU,支持,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。等多种主流嵌入式操作系统。MPU支支持实时操作系统。持实时操作系统。2.2.2 ARM9微处理器微处理器 nARM920T处理器核在处理器核在ARM

36、9TDMI处理器处理器内核基础上,增加了分离式的指令内核基础上,增加了分离式的指令Cache和数据和数据Cache,并带有相应的存储器管理,并带有相应的存储器管理单元单元I-MMU和和D-MMU、写缓冲器及、写缓冲器及AMBA接口等,如图接口等,如图2.2.4所示。所示。图图2.2.4 ARM920T内核结构内核结构nARM940T处理器核采用了处理器核采用了ARM9TDMI处处理器内核,是理器内核,是ARM920T处理器核的简化版处理器核的简化版本,没有存储器管理单元本,没有存储器管理单元MMU,不支持虚不支持虚拟存储器寻址拟存储器寻址,而是用存储器保护单元来提,而是用存储器保护单元来提供存

37、储保护和供存储保护和Cache控制。控制。nARM9系列微处理器主要应用于无线通信设系列微处理器主要应用于无线通信设备、仪器仪表、安全系统、机顶盒、高端打备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。典型产印机、数字照相机和数字摄像机等。典型产品如品如Samsung公司的公司的S3C2410A。2.2.3 ARM9E微处理器微处理器 nARM9E系列微处理器包含系列微处理器包含ARM926EJ-S、ARM946E-S和和ARM966E-S几种类型,使用单一几种类型,使用单一的处理器内核提供了微控制器、的处理器内核提供了微控制器、DSP、Java应用应用系统的解决方案。系

38、统的解决方案。ARM9E系列微处理器提供了增系列微处理器提供了增强的强的DSP处理能力,很适合于那些需要同时使用处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。和微控制器的应用场合。nARM9E系列微处理器支持系列微处理器支持DSP指令集,适合于需指令集,适合于需要高速数字信号处理的场合。要高速数字信号处理的场合。2.2.3 ARM9E微处理器微处理器 nARM9E系列微处理器采用系列微处理器采用5级整数流水线,支持级整数流水线,支持32位位ARM指令集和指令集和16位位Thumb指令集,支持指令集,支持32位的高速位的高速AMBA总线接口,支持总线接口,支持VFP9浮点处理协处

39、理器,浮点处理协处理器,MMU支持支持Windows CE、Linux、Palm OS等多种主流嵌入等多种主流嵌入式操作系统,式操作系统,MPU支持实时操作系统,支持数据支持实时操作系统,支持数据Cache和指令和指令Cache,主频最高可达,主频最高可达300MIPS。nARM9系列微处理器主要应用于下一代无线设备、数字系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等消费品、成像设备、工业控制、存储设备和网络设备等领域。领域。 2.2.4 ARM10E微处理器微处理器 nARM10E系列微处理器包含系列微处理器包含ARM1020E、ARM1022E和

40、和ARM1026EJ-S几种类型,几种类型,由于采用了新的体系结构,与同等的由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,器件相比较,在同样的时钟频率下,性能提高了近性能提高了近50。同时采用了两种先进。同时采用了两种先进的节能方式,使其功耗极低。的节能方式,使其功耗极低。 nARM10E系列微处理器支持系列微处理器支持DSP指令集,指令集,适合于需要高速数字信号处理的场合。适合于需要高速数字信号处理的场合。2.2.4 ARM10E微处理器微处理器 n 采用采用6级整数流水线,支持级整数流水线,支持32位位ARM指令集和指令集和16位位Thumb指令集,支持指令集,支

41、持32位的高速位的高速AMBA总线接口,支持总线接口,支持VFP10浮点处理协处理器,浮点处理协处理器,MMU支持支持Windows CE、Linux、Palm OS等等多种主流嵌入式操作系统,支持数据多种主流嵌入式操作系统,支持数据Cache和和指令指令Cache,内嵌并行读,内嵌并行读/写操作部件,主频最写操作部件,主频最高可达高可达400MIPS。 nARM10E系列微处理器主要应用于下一代无线系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。信和信息系统等领域。2.2.5 SecurCore微处理器微处理

42、器 nSecurCore系列微处理器包含系列微处理器包含SecurCore SC100、SecurCore SC110、SecurCore SC200和和SecurCore SC210几种类型,提供了完善的几种类型,提供了完善的32位位RISC技术的安全解决方案。技术的安全解决方案。nSecurCore系列微处理器除了具有系列微处理器除了具有ARM体系结构体系结构各种主要特点外,在系统安全方面:各种主要特点外,在系统安全方面: 带有灵活的带有灵活的保护单元,以确保操作系统和应用数据的安全;采保护单元,以确保操作系统和应用数据的安全;采用软内核技术,防止外部对其进行扫描探测;可集用软内核技术,防

43、止外部对其进行扫描探测;可集成用户自己的安全特性和其他协处理器。成用户自己的安全特性和其他协处理器。 nSecurCore系列微处理器主要应用于如电子商务、系列微处理器主要应用于如电子商务、电子政务、电子银行业务、网络和认证系统等一些电子政务、电子银行业务、网络和认证系统等一些对安全性要求较高的应用产品及应用系统。对安全性要求较高的应用产品及应用系统。2.2.6 StrongARM微处理器微处理器 nIntel StrongARM处理器是采用处理器是采用ARM体系结构高度集成体系结构高度集成的的32位位RISC微处理器,采用在软件上兼容微处理器,采用在软件上兼容ARMv4体系结体系结构、同时采

44、用具有构、同时采用具有Intel技术优点的体系结构。典型产品技术优点的体系结构。典型产品如如SA110 处理器、处理器、SA1100、SA1110PDA系统芯片和系统芯片和SA1500多媒体处理器芯片等。多媒体处理器芯片等。n例如其中的例如其中的Intel StrongARM SA-1110 微处理器是一款微处理器是一款集成了集成了32位位StrongARM RISC处理器核、系统支持逻辑、处理器核、系统支持逻辑、多通信通道、多通信通道、LCD控制器、存储器和控制器、存储器和PCMCIA控制器以及控制器以及通用通用I/O口的高集成度通信控制器。该处理器最高可在口的高集成度通信控制器。该处理器最

45、高可在206 MHz下运行。下运行。nSA-1110有一个大的指令有一个大的指令Cache 和数据和数据Cache、内存管、内存管理单元(理单元(MMU)和读)和读/写缓存。存储器总线可以和包括写缓存。存储器总线可以和包括SDRAM、SMROM 和类似和类似SRAM的许多器件相接。软件的许多器件相接。软件与与ARM V4结构处理器家族相兼容。结构处理器家族相兼容。nIntel StrongARM处理器是便携式通讯产品和消费类电子处理器是便携式通讯产品和消费类电子产品的理想选择。产品的理想选择。2.2.7 XScale微处理器微处理器 nIntel XScale微体系结构提供了一种全新的、高性价

46、比、微体系结构提供了一种全新的、高性价比、低功耗且基于低功耗且基于ARMv5TE体系结构的解决方案,支持体系结构的解决方案,支持16位位Thumb指令和指令和DSP扩充。基于扩充。基于XScale技术开发的微处技术开发的微处理器,可用于手机、便携式终端理器,可用于手机、便携式终端(PDA)、网络存储设备、网络存储设备、骨干网(骨干网(BackBone)路由器等。)路由器等。nIntel XScale处理器的处理速度是处理器的处理速度是Intel StrongARM处处理速度的两倍,数据理速度的两倍,数据Cache的容量从的容量从8KB增加到增加到32KB,指令指令Cache的容量从的容量从16

47、KB增加到增加到32KB,微小数据,微小数据Cache的容量从的容量从512B增加到增加到2KB;为了提高指令的执行;为了提高指令的执行速度,超级流水线结构由速度,超级流水线结构由5级增至级增至7级;新增乘级;新增乘/加法器加法器MAC和特定的和特定的DSP型协处理器,以提高对多媒体技术的型协处理器,以提高对多媒体技术的支持;动态电源管理,使支持;动态电源管理,使XScale处理器的时钟可达处理器的时钟可达1GHz、功耗、功耗1.6W,并能达到,并能达到1200MIPS。nXScale微处理器架构经过专门设计,核心采用了英特尔微处理器架构经过专门设计,核心采用了英特尔先进的先进的0.18m工艺

48、技术制造;具备低功耗特性,适用范工艺技术制造;具备低功耗特性,适用范围从围从0.1mW1.6W。同时,它的时钟工作频率将接近。同时,它的时钟工作频率将接近1GHz。2.3 ARM微处理器的寄存器结构微处理器的寄存器结构ARM处理器共有处理器共有37个寄存器,被分为若干个组个寄存器,被分为若干个组(BANK),这些寄器包括:),这些寄器包括:n31个通用寄存器,包括程序计数器(个通用寄存器,包括程序计数器(PC指指针),均为针),均为32位的寄存器。位的寄存器。 n6个状态寄存器,用以标识个状态寄存器,用以标识CPU的工作状态及的工作状态及程序的运行状态,均为程序的运行状态,均为32位,目前只使

49、用了其位,目前只使用了其中的一部分。中的一部分。2.3 ARM微处理器的寄存器结构微处理器的寄存器结构ARM微处理器支持微处理器支持7种运行模式,分别为:种运行模式,分别为: nusr(用户模式):(用户模式):ARM处理器正常程序执行模处理器正常程序执行模式。式。nfiq(快速中断模式):用于高速数据传输或通道(快速中断模式):用于高速数据传输或通道处理处理 nirq(外部中断模式):用于通用的中断处理(外部中断模式):用于通用的中断处理 nsvc(管理模式):操作系统使用的保护模式(管理模式):操作系统使用的保护模式 2.3 ARM微处理器的寄存器结构微处理器的寄存器结构n abt (数据

50、访问终止模式数据访问终止模式): 当数据或指当数据或指令预取终止时进入该模式,可用于虚拟令预取终止时进入该模式,可用于虚拟存储及存储保护。存储及存储保护。 n sys(系统模式):(系统模式): 运行具有特权的操运行具有特权的操作系统任务。作系统任务。 n und(未定义指令中止模式):当未定(未定义指令中止模式):当未定义的指令执行时进入该模式,可用于支义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。持硬件协处理器的软件仿真。 工作状态和工作模式 处理器模式处理器模式说明说明用户模式用户模式(User)正常程序执行模式,用于应用程序正常程序执行模式,用于应用程序异常模式异常模式(

51、FIQ)快速中断处理,用于支持高速数据传送或通道快速中断处理,用于支持高速数据传送或通道处理处理异常模式异常模式(IRQ)用于一般中断处理用于一般中断处理异常模式异常模式(Supervisor)特权模式,用于系统初始化或操作系统功能特权模式,用于系统初始化或操作系统功能异常模式异常模式(Abort)存储器保护异常处理存储器保护异常处理异常模式异常模式(Undefined)未定义指令异常处理未定义指令异常处理系统模式系统模式(System)运行特权操作系统任务(运行特权操作系统任务(ARM V4以上版本)以上版本)2.3 ARM微处理器的寄存器结构微处理器的寄存器结构n ARM微处理器的运行模式

52、可以通过软件改变,也微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。可以通过外部中断或异常处理改变。n大多数的应用程序运行在用户模式下,当处理器运大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能行在用户模式下时,某些被保护的系统资源是不能被被访问访问的。的。 n除用户模式以外,其余的所有除用户模式以外,其余的所有6种模式称之为非用种模式称之为非用户模式,或特权模式(户模式,或特权模式(Privileged Modes););n其中除去其中除去用户模式和系统模式用户模式和系统模式以外的以外的5种又称为种又称为异异常常模式(模式(Exc

53、eption Modes),常用于处理中断),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。或异常,以及需要访问受保护的系统资源等情况。2.3 ARM微处理器的寄存器结构微处理器的寄存器结构nARM处理器在每一种处理器模式下均有一处理器在每一种处理器模式下均有一组相应的寄存器与之对应。组相应的寄存器与之对应。n即在任意一种即在任意一种处理器模式处理器模式下,可访问的寄存下,可访问的寄存器包括器包括15个通用寄存器(个通用寄存器(R0R14)、一)、一至二个状态寄存器和程序计数器。至二个状态寄存器和程序计数器。n在所有的寄存器中,有些是在在所有的寄存器中,有些是在7种处理器模种处理器

54、模式下共用的同一个物理寄存器,式下共用的同一个物理寄存器,而有些寄存而有些寄存器则是在不同的处理器模式下有不同的物理器则是在不同的处理器模式下有不同的物理寄存器。寄存器。2.3.2 处理器工作状态处理器工作状态nARM处理器有处理器有32位位ARM和和16位位Thumb两种工两种工作状态。在作状态。在32位位ARM状态下执行字对齐的状态下执行字对齐的ARM指令,在指令,在16位位Thumb状态下执行半字对齐的状态下执行半字对齐的Thumb指令。指令。n在在Thumb状态下,程序计数器状态下,程序计数器PC(Program Counter)使用位)使用位1选择另一个半字。选择另一个半字。nARM

55、处理器在两种工作状态之间可以处理器在两种工作状态之间可以切换切换,切换,切换不影响不影响处理器的模式或寄存器的内容处理器的模式或寄存器的内容。n(1)当操作数寄存器的状态位()当操作数寄存器的状态位(位位0)为)为1时,时,执行执行BX指令进入指令进入Thumb状态。如果处理器在状态。如果处理器在Thumb状态进入异常,则当异常处理(状态进入异常,则当异常处理(IRQ、FIQ、Undef、Abort和和SWI)返回时,自动转)返回时,自动转换到换到Thumb状态。状态。n(2)当操作数寄存器的状态位()当操作数寄存器的状态位(位位0)为)为0时,执行时,执行BX指令进入指令进入ARM状态,处理

56、器进行异状态,处理器进行异常处理(常处理(IRQ、FIQ、Reset、Undef、Abort和和SWI)。)。n在此情况下,把在此情况下,把PC放入异常模式链接寄存器中。放入异常模式链接寄存器中。从异常向量地址开始执行也可以进入从异常向量地址开始执行也可以进入ARM状态。状态。2.3.3 ARM处理器的寄存器组织处理器的寄存器组织nARM处理器的处理器的37个寄存器被安排成部分重叠个寄存器被安排成部分重叠的组,不能在任何模式都可以使用,寄存器的组,不能在任何模式都可以使用,寄存器的使用与处理器状态和工作模式有关。其中的使用与处理器状态和工作模式有关。其中15个通用寄存器(个通用寄存器(R0R1

57、4)、)、1或或2个状个状态寄存器和程序计数器是通用的。态寄存器和程序计数器是通用的。n1通用寄存器通用寄存器n通用寄存器(通用寄存器(R0R15)可分成不分组寄存)可分成不分组寄存器器R0R7、分组寄存器、分组寄存器R8R14和程序计和程序计数器数器R15 三类。三类。2.3.3 ARM处理器的寄存器组织处理器的寄存器组织(1)不分组寄存器)不分组寄存器R0R7n不分组寄存器不分组寄存器R0R7是真正的通用寄存器,是真正的通用寄存器,可以工作在所有的处理器模式下,没有隐含可以工作在所有的处理器模式下,没有隐含的特殊用途。的特殊用途。(2)分组寄存器)分组寄存器R8R14n分组寄存器分组寄存器

58、R8R14取决于当前的处理器取决于当前的处理器模式,每种模式有专用的分组寄存器用于快模式,每种模式有专用的分组寄存器用于快速异常处理。速异常处理。n寄存器寄存器R8Rl2可分为两组物理寄存器。可分为两组物理寄存器。一组用于一组用于FIQ模式,另一组国用于除模式,另一组国用于除FIQ以以外的其他模式。外的其他模式。n第第1组访问组访问R8_fiqR12_fiq,允许快速中,允许快速中断处理。断处理。n第第2组访问组访问R8_usrR12_usr,寄存器,寄存器R8R12没有任何指定的特殊用途。没有任何指定的特殊用途。n寄存器寄存器R13R14可分为可分为6个分组的物理寄个分组的物理寄存器。存器。

59、1个用于用户模式和系统模式,而其个用于用户模式和系统模式,而其他他5个分别用于个分别用于svc、abt、und、irq和和fiq五种异常模式。访问时需要指定它们的模式,五种异常模式。访问时需要指定它们的模式,如:如:R13_mode,R14_mode;其中:其中:mode可以从可以从usr、svc、abt、und、irq和和fiq六种模式中选取一个。六种模式中选取一个。n寄存器寄存器R13通常用作堆栈指针,称作通常用作堆栈指针,称作SP。每种异常模式都有自己的分组每种异常模式都有自己的分组R13。通常。通常R13应当被初始化成指向异常模式分配的堆应当被初始化成指向异常模式分配的堆栈。栈。n在入

60、口处,异常处理程序将用到的其他寄存在入口处,异常处理程序将用到的其他寄存器的值保存到堆栈中;返回时,重新将这些器的值保存到堆栈中;返回时,重新将这些值加载到寄存器。值加载到寄存器。n这种异常处理方法保证了异常出现后不会导这种异常处理方法保证了异常出现后不会导致执行程序的状态不可靠。致执行程序的状态不可靠。n寄存器寄存器R14用作子程序链接寄存器,也称用作子程序链接寄存器,也称为链接寄存器为链接寄存器LR (Link Register)。)。当执行带链接分支(当执行带链接分支(BL)指令时,得到)指令时,得到R15的备份。的备份。 n在其他情况下,将在其他情况下,将R14当做通用寄存器。当做通用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论