您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > ARM开发入门教程02_处理器模式
1TMTONY2012嵌入式与ARM体系结构2TM2Tonyvopo123@126.comARM公司简介ARM公司产业链ARM微处理器的应用领域ARM处理器的特点ARM体系结构版本ARM处理器内核系列ARM编程模式ARM内部寄存器3TM3Tonyvopo123@126.comARM公司简介成立于1990年11月前身为Acorn计算机公司AdvanceRISCMachine(ARM)主要设计ARM系列RISC处理器内核授权ARM内核给生产和销售半导体的合作伙伴ARM公司不生产芯片IP(IntelligenceProperty)另外也提供基于ARM架构的开发设计技术软件工具,评估板,调试工具,应用软件,总线架构,外围设备单元,等等4TM4Tonyvopo123@126.com5TM5Tonyvopo123@126.comARM公司产业链将技术授权给其它芯片厂商形成各具特色的ARM芯片...6TM6Tonyvopo123@126.comARM微处理器的应用领域工业控制领域无线通讯领域网络应用消费电子产品成像和安全产品7TM7Tonyvopo123@126.comARM处理器的特点采用RISC架构的ARM微处理器一般具有如下特点:(1)体积小、低功耗、低成本、高性能;(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;(3)大量使用寄存器,指令执行速度更快;(4)大多数数据操作都在寄存器中完成;(5)寻址方式灵活简单,执行效率高;(6)指令长度固定。8TM8Tonyvopo123@126.comARM体系结构的版本ARM体系结构从最初开发到现在有了巨大的改进,并仍在完善和发展。为了清楚的表达每个ARM应用实例所使用的指令集,ARM公司定义了6种主要的ARM指令集体系结构版本,以版本号V1~V6表示。SA-110ARM7TDMI4T1支持Halfword和signedhalfword/byte和Systemmode支持Thumb指令集24ARM9TDMISA-1110ARM720TARM940T改良的ARM/Thumb交互作用以及CLZ指令5TESaturatedmathsDSPmultiply-accumulateinstructionsXScaleARM1020EARM9E-SARM966E-S3早期的ARMsARM9EJ-S5TEJARM7EJ-SARM926EJ-SJazelle支持Java字节码6ARM11SISIMDMDSSIMD9TM9Tonyvopo123@126.com•ARM体系结构版本——V1•该版本的ARM体系结构,只有26位的寻址空间,没有商业化,其特点为:基本的数据处理指令(不包括乘法);字节、字加载/存储指令(load/store);具有分支指令,包括在子程序调用中使用的分支和链接指令;在操作系统调用中使用的软件中断指令。寻址空间:64M字节ARM体系结构的版本10TM10Tonyvopo123@126.com•ARM体系结构版本——V2同样为26位寻址空间,相对V1版本有以下改进:具有乘法和乘加指令;支持协处理器;快速中断模式中的两个以上的分组寄存器;具有原子性加载/存储指令SWP和SWPB(存储器与寄存器交换。寻址空间:64M字节11TM11Tonyvopo123@126.comARM体系结构版本——V3将寻址范围扩展到32位(4G),增加了当前程序状态寄存器CPSR和程序状态寄存器保存寄存器SPSR以便于异常(Exception)的处理。增加了中止(Abort)和未定义二种处理器模式。指令集变化如下:(1)增加了两个指令MRS和MSR,允许访问新的CPSR和SPSR寄存器。(2)修改过去用于异常返回指令的功能以便继续使用。12TM12Tonyvopo123@126.com•ARM体系结构版本——V4不再为了与以前的版本兼容而支持26位体系结构,并明确了哪些指令会引起未定义指令异常发生,它相对V3版本作了以下的改进:半字加载/存储指令;字节和半字的加载和符号扩展(sign-extend)指令;具有可以转换到Thumb状态的指令;用户模式寄存器的新的特权处理器模式。把一些未使用的指令空间捕获为未使用指令。13TM13Tonyvopo123@126.comARM体系结构版本——V5在V4版本的基础上,对现在指令的定义进行了必要的修正,对V4版本的体系结构进行了扩展并并增加了指令,具体如下:改进了ARM/Thumb状态之间的切换效率;增加计数前导零指令(CLZ)和软件断点指令(BRK);对乘法指令如何设置标志作了严格的定义;为协处理器增加更多可选择的指令。14TM14Tonyvopo123@126.comARM体系结构版本——V6在V5版本的基础上,对现在指令的定义进行了必要的修正,对V5版本的体系结构进行了扩展并并增加了指令,具体如下:增加了媒体指令(Media)15TM15Tonyvopo123@126.comV6ARM11V5TEARM10TDMI,ARM1020EV5TEARM9E-SV4TARM9TDMI,ARM920T,ARM940TV4StrongARM,ARM8,ARM810V4TARM7TDMI,ARM710T,ARM720T,ARM740TV3ARM7,ARM700,ARM710V3ARM6,ARM600,ARM610V2aARM2aS,ARM3V2ARM2V1ARM1体系结构核版本2a是版本2的变种在体系结构版本4的变种4T中,引入了16位Thumb压缩形式的指令集。版本5TE在体系结构版本5T的基础上增加了信号处理指令集。ARM体系结构总结16TM16Tonyvopo123@126.comARM微处理器系列ARM7处理器内核系列ARM9处理器内核系列ARM11处理器内核系列其他处理器17TM17Tonyvopo123@126.comARM7处理器系列►主要应用领域:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。►ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:T:支持16位压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier)I:嵌入式ICE,支持片上断点和调试点;18TM18Tonyvopo123@126.comARM7TDMI是基于ARM7内核3级流水线---0.9MIPS/MHz冯.诺依曼架构CPI(CyclePerInstruction)约为1.9T-Thumb架构扩展,提供两个独立的指令集:ARM指令,均为32位Thumb指令,均为16位两种运行状态,用来选择哪个指令集被执行D-内核具有Debug扩展结构M-增强乘法器(32x8)支持64位结果.I-EmbeddedICE-RT逻辑---提供片上断点和调试点支持19TM19Tonyvopo123@126.com指令流水线为增加处理器指令流的速度,ARM7系列使用3级流水线.允许多个操作同时处理,比逐条指令执行要快。PC指向正被取指的指令,而非正在执行的指令FetchDecodeExecute从存储器中读取指令解码指令寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank)PCPCPC-4PC-2PC-8PC-4ARMThumb20TM20Tonyvopo123@126.com最佳流水线该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数(CPI)=1操作周期123456ADDSUBMOVANDORREORCMPRSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch21TM21Tonyvopo123@126.comARM9处理器系列►ARM9系列微处理器主要应用于引擎管理、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。以及带mp3音频和MPEG4视频多媒体格式的智能电话。►ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。22TM22Tonyvopo123@126.comARM9TDMIHarvard架构增加了可用的存储器宽度指令存储器接口数据存储器接口可以实现对指令和数据存储器的同时访问5级流水线实现了以下改进:改进CPI到~1.5提高了最大时钟频率23TM23Tonyvopo123@126.comARM9TDMI流水线的变化InstructionFetchShift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARMorThumbInstDecodeRegSelectRegReadShiftALURegWriteThumbARMdecompressARMdecodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI24TM24Tonyvopo123@126.comARM11处理器系列ARM11™处理器系列所提供的引擎可用于当前生产领域中的很多智能手机;该系列还广泛用于消费类、家庭和嵌入式应用领域。该处理器的功耗非常低,提供的性能范围为小面积设计中的350MHz到速度优化设计中的1GHz(45纳米和65纳米)。ARM11处理器软件可以与以前所有ARM处理器兼容,并引入了用于媒体处理的32位SIMD、用于提高操作系统上下文切换性能的物理标记高速缓存、强制实施硬件安全性的TrustZone以及针对实时应用的紧密耦合内存。25TM25Tonyvopo123@126.comARM11处理器系列功能:强大的ARMv6指令集体系结构ARMThumb®指令集可以减少高达35%的内存带宽和大小需求用于执行高效嵌入式Java的ARMJazelle®技术ARMDSP扩展SIMD(单指令多数据)媒体处理扩展可提供高达2倍的视频处理性能作为片上安全基础的ARMTrustZone®技术(ARM1176JZ-S和ARM1176JZF-S处理器)Thumb-2技术(仅ARM1156(F)-S),可提高性能、能效和代码密度26TM26Tonyvopo123@126.comARM118级流水线27TM27Tonyvopo123@126.com•ARM编程模式ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式,如下表所示。这样的好处是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模式。28TM28Tonyvopo123@126.com与用户模式类似,但具有可以直接切换到其它模式等特权用于支持操作系统的特权任务等系统(sys)未定义指令异常响应时进入此模式支持硬件协处理器的软件仿真未定义(und)在ARM7TDMI没有大用处用于支持虚拟内存和/或存储器保护中止(abt)系统复位和软件中断响应时进入此模式操作系统保护代码管理(svc)IRQ异常响应时进入此模式用于通用中断处理中断(irq)FIQ异常响应时进入此模式支持高速数据传输及通道处理快中断(fiq)不能直接切换到其它模式正常程序工作模式用户(usr)备注说明处理器模式处理器模式(如下表所示):29TM29Tonyvopo123@126.com(1)特权模式与用户模式类似,但具有可以直接切
本文标题:ARM开发入门教程02_处理器模式
链接地址:https://www.777doc.com/doc-23679 .html