第2章ARM7/ARM9体系结构主讲人:吴贵芳2019/8/1吴贵芳easyfancy@126.comqq:6974784电子信息工程学院2HenanUniversityofSci.&Tech.1.ARM简介2.ARM7/9TDMI3.ARM的模块、内核和功能框图4.ARM处理器状态5.ARM处理器模式主要内容6.ARM内部寄存器7.当前程序状态寄存器8.ARM体系的异常、中断及其向量表9.ARM体系的存储系统吴贵芳easyfancy@126.comqq:6974784电子信息工程学院3HenanUniversityofSci.&Tech.2.1ARM简介•ARM公司简介ARM是AdvancedRISCMachines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。吴贵芳easyfancy@126.comqq:6974784电子信息工程学院4HenanUniversityofSci.&Tech.2.1ARM简介•ARM公司简介将技术授权给其它芯片厂商形成各具特色的ARM芯片...吴贵芳easyfancy@126.comqq:6974784电子信息工程学院5HenanUniversityofSci.&Tech.2.1ARM简介•RISC结构特性RISC是精简指令集计算机的缩写,其目标是设计出在高时钟频率下单周期执行,简单而有效的指令集。ARM内核采用RISC体系结构,因此具有RISC的结构特点:具有大量的通用存储器;独特的装载/保存(load-store)结构;简单的寻址模式;统一和固定长度的指令格式。吴贵芳easyfancy@126.comqq:6974784电子信息工程学院6HenanUniversityofSci.&Tech.2.1ARM简介为了使ARM能够更好地满足嵌入式应用的需要,ARM体系结构还有以下特点:每条数据处理指令可同时包含算术逻辑单元(ALU)的运算和移位处理,实现ALU和移位器的最大利用;使用地址自增和自减的寻址方式优化程序循环;装载/保存指令对数据的批量传输,实现最大数据吞吐量;大多数指令的条件执行,实现最快速的代码执行。•ARM体系结构吴贵芳easyfancy@126.comqq:6974784电子信息工程学院7HenanUniversityofSci.&Tech.2.1ARM简介•常用ARM处理器系列ARM公司开发了很多系列的ARM处理器核,目前最新的系列是Cortex,而ARM6核以及更早的系列已经很罕见了。当前应用比较多的ARM处理器核系列有:ARM7ARM9ARM10EXscaleARM11CortexARM9E吴贵芳easyfancy@126.comqq:6974784电子信息工程学院8HenanUniversityofSci.&Tech.版本ARM处理器系列特点ARMv1ARM1该版体系结构只在原型机ARM1出现过,没有用于商业产品。基本性能:•基本的数据处理指令(无乘法)•26位寻址ARMv2ARM2和ARM3该版体系结构对ARMv1版进行了扩展,版本ARMv2a是v2版的变种,ARM3芯片采用了ARMv2a。ARMv2版增加了以下功能:•32位乘法和乘加指令•支持32位协处理器操作指令•快速中断模式ARM体系结构版本及特点吴贵芳easyfancy@126.comqq:6974784电子信息工程学院9HenanUniversityofSci.&Tech.ARMv3ARMv3MARM6、ARM7DI、ARM7MARMv3版体系结构对ARM体系结构作了较大的改动:•寻址空间增至32位(4GB)•独立的当前程序状态寄存器CPSR和程序状态保存寄存器SPSR,保存程序异常中断时的程序状态,以便于对异常的处•增加了异常中断(Abort)和未定义两种处理器模式•增加了MMU支持•ARMv3M增加了有符号和无符号长乘法指令ARMv4ARMv4TStrongARM、ARM9TDMI、ARM9TARMv4版体系结构是目前应用最广的ARM体系结构,在v3版上作了进一步扩充,指令集中增加了以下功能:•增加了系统模式•增加了16位Thumb指令集•完善了软件中断SWI指令的功能•不再支持26位寻址模式吴贵芳easyfancy@126.comqq:6974784电子信息工程学院10HenanUniversityofSci.&Tech.ARMv5TEARMv5TEJARM9E、ARM10E、Xscale、ARM7EJ、ARM926EJARMv5版体系结构在ARMv4版基础上增加了一些新的指令,包括:•增加ARM与Thumb状态之间切换的指令•增强乘法指令和快速乘累加指令•增加了数字信号处理指令(ARMv5TE版)•增加了Java加速功能(ARMv5TEJ版)ARMv6ARM11ARMv6版体系结构是2001年发布的,首先在ARM11处理器中使用。此体系结构在ARMv5版基础上增加了以下功能:•Thumb-2增强代码密度•SIMD增强媒体和数字处理功能•TrustZone提供增强的安全性能•IEM提供增强的功耗管理功能吴贵芳easyfancy@126.comqq:6974784电子信息工程学院11HenanUniversityofSci.&Tech.ARMv7Cortex系列ARMv7版体系结构定义了3种不同的微处理器系列:•A系列为面向应用的微处理器核,支持复杂操作系统和用户应用•R系列为深度嵌入的微处理器核,针对实时系统应用•M系列为微控制核,针对成本敏感的嵌入式控制应用吴贵芳easyfancy@126.comqq:6974784电子信息工程学院12HenanUniversityofSci.&Tech.内核特点M4KTM系列针对多CPU集成的SOC应用领域为下一代消费类产品、下一代网络和宽带产品M4KTM系列4KpTM、4KcTM内核针对SOC系统优化,其内存、指令缓存和数据缓存都可以根据具体应用调整大小M4KTM系列4KEpTM、4KEmTM和4KEcTM内核与4KTM系列类似,但能提供更高性能,在同样时钟频率下指令执行周期更短4KSTM系列4KScTM和4KSdTM内核针对数据通信的应用。其特点是采用了SmartMIPSTM结构,拥有反黑客的特性,可以让数据加密更加快速,在网络处理、智能卡、机顶盒等方面有广泛应用MIPS32位处理器内核系列和特点吴贵芳easyfancy@126.comqq:6974784电子信息工程学院13HenanUniversityofSci.&Tech.ProSeriesTM系列M4KProTM、4KEProTM、4KEmProTM、4KEcProms和4KSdProTM内核该系列内核允许SOC的设计者创造自己的CorExtendTM扩展指令集。这样可以根据具体应用设计出性能更好,效率更高的产品24KTM系列针对图形、JAVA应用,包含了最快的浮点乘法器,也支持CorExtendTM扩展指令集,是数字电视、机顶盒和DVD等多媒体应用的理想选择吴贵芳easyfancy@126.comqq:6974784电子信息工程学院14HenanUniversityofSci.&Tech.2.1ARM简介•ARMCortex系列简介基于ARMv7版本的ARMCortex系列产品由A、R、M三个系列组成,具体分类延续了一直以来ARM面向具体应用设计CPU的思路。ARMCortexA应用处理器(ApplicationProcessor)系列R实时控制处理(RealTimeControl)系列M微控制器(MicroController)系列吴贵芳easyfancy@126.comqq:6974784电子信息工程学院15HenanUniversityofSci.&Tech.2.1ARM简介•CortexTM-M3处理器简介该处理器是首款基于ARMv7-M架构的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断相应能力。Cortex-M3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域。目前最便宜的基于该内核的ARM单片机售价为1美元。吴贵芳easyfancy@126.comqq:6974784电子信息工程学院16HenanUniversityofSci.&Tech.2.1ARM简介•CortexTM-R4处理器简介该处理器是首款基于ARMv7架构的高级嵌入式处理器,其主要目标为产量巨大的高级嵌入式应用系统,如硬盘,喷墨式打印机,以及汽车安全系统等等。•CortexTM-R4F处理器简介该处理器在CortexTM-R4处理器的基础上加入了代码错误校正(ECC)技术,浮点运算单元(FPU)以及DMA综合配置的能力,增强了处理器在存储器保护单元、缓存、紧密耦合存储器、DMA访问以及调试方面的能力。吴贵芳easyfancy@126.comqq:6974784电子信息工程学院17HenanUniversityofSci.&Tech.2.1ARM简介•CortexTM-A8处理器简介该处理器是ARM公司所开发的基于ARMv7架构的首款应用级处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEONTM技术、以及能够支持Java和其他文字代码语言的提前和即时编译的Jazelle@RTC技术。众多先进的技术使其适用于家电以及电子行业等各种高端的应用领域。吴贵芳easyfancy@126.comqq:6974784电子信息工程学院18HenanUniversityofSci.&Tech.2.1ARM简介•ARM7系列简介该系列包括ARM9TDMI、ARM9TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S。该系列处理器提供Thumb16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。吴贵芳easyfancy@126.comqq:6974784电子信息工程学院19HenanUniversityofSci.&Tech.2.1ARM简介该系列包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。•ARM9系列简介吴贵芳easyfancy@126.comqq:6974784电子信息工程学院20HenanUniversityofSci.&Tech.2.1ARM简介该系列为含有DSP指令集的综合处理器,包括ARM926EJ-S、带有高速缓存处理器宏单元的ARM966E-S/ARM946E-S。其内核在ARM7处理器内核的基础上使用了Jazelle增强技术,该技术支持一种新的Java操作状态,允许在硬件中执行Java字节码。ARM9E系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。•ARM9E系列简介吴贵芳easyfancy@126.comqq:6974784电子信息工程学院21HenanUniversityofSci.&Tech.2.1ARM简介•ARM10E系列简介该系列包括ARM1020E和ARM1020E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。可以用于视频游戏机和高性能打印机等场合。吴贵芳easyfancy@126.comqq:6974784电子信息工程学院22HenanUniversityofSci.&Tech.2.1ARM简介•Xscale简介IntelXscale微控制器则提供全性能、