ARM体系结构-课件

上传人:风*** 文档编号:240605323 上传时间:2024-04-24 格式:PPT 页数:75 大小:2.41MB
收藏 版权申诉 举报 下载
ARM体系结构-课件_第1页
第1页 / 共75页
ARM体系结构-课件_第2页
第2页 / 共75页
ARM体系结构-课件_第3页
第3页 / 共75页
资源描述:

《ARM体系结构-课件》由会员分享,可在线阅读,更多相关《ARM体系结构-课件(75页珍藏版)》请在装配图网上搜索。

1、第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology1ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology2ARMARM体系结构体系结构1 ARM CPU ISA的发展历史 2 典型ARM CPU Core体系结构 3 ARM编程模型 本章部分内容可以参考:http:/第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversi

2、tyofInformationTechnology3ARMARM体系结构体系结构成立于1990年11月前身为 Acorn计算机公司主要设计ARM系列RISC处理器内核授权ARM内核给生产和销售半导体的合作伙伴ARM 公司不生产芯片另外也提供基于ARM架构的开发设计技术软件工具,评估板,调试工具,应用软件,总线架构,外围设备单元,等等第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology4ARMARM体系结构体系结构ARM内核是一种32/64位RISC微处理器,具有功耗低、性价比高、代码密度高等三大

3、特色。ARM处理器具有RISC体系结构的典型特征:体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成寻址方式灵活简单,执行效率高指令长度固定所有指令都可以条件执行,以增大执行吞吐量。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology5ARMARM体系结构体系结构ARM CPU的指令集体系ISA(即ARM Instruction Set Architecture)从最初

4、的V1版本发展到现在,先后出现了V1,V2,V3,V4,V4T,V5TE,V5TEJ,V6,V7,V8等主要的版本。ARM V1V3版本的处理器未得到大量应用,ARM处理器的大量广泛应用是从其V4版本开始的V7系列CPU被称作CorTex系列到目前V8是最新的版本,可以选择64或32执行状态。64执行状态针对64位处理技术,引入了一个全新指令集A64,可以存取大虚拟地址空间。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology6ARMARM体系结构体系结构Halfwordandsignedhal

5、fword/bytesupportSystemmodeThumbinstructionset(v4T)ImprovedinterworkingCLZSaturatedarithmeticDSPMACinstructionsExtensions:Jazelle(5TEJ)SIMDInstructionsMulti-processingv6MemoryarchitectureUnaligneddatasupportExtensions:Thumb-2(6T2)TrustZone(6Z)Multicore(6K)Thumbonly(6-M)Note that implementations of t

6、he same architecture can be differentCortex-A8-architecturev7-A,witha13-stagepipelineCortex-A9-architecturev7-A,withan8-stagepipelineThumb-2ArchitectureProfiles7-A-Applications7-R-Real-time7-M-Microcontrollerv4v5v6v7v864bitArch第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnol

7、ogy7ARMARM体系结构体系结构ARMV4是目前支持的最老的架构,是基于32-bit地址空间的32-bit指令集。ARMv4除了支持ARMv3的指令外还扩展了:v支持支持halfwordhalfword的存取的存取v支持支持bytebyte和和halfwordhalfword的符号扩展读的符号扩展读v支持支持ThumbThumb指令指令v提供提供ThumbThumb和和NormalNormal状态的转换指令状态的转换指令v进进一一步步的的明明确确了了会会引引起起UndefinedUndefined异异常常的的指指令令 v对以前的对以前的26bits26bits体系结构的体系结构的CPUCP

8、U不再兼容不再兼容 第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology8ARMARM体系结构体系结构ARMv4T增加了16-bitThumb指令集,这样使得编译器能产生紧凑代码(相对于32-bit代码,内存能节省到35%以上)并保持32-bit系统的好处。Thumb在处理器中仍然要扩展为标准的32位ARM指令来运行。用户采用16位Thumb指令集最大的好处就是可以获得更高的代码密度和降低功耗。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversi

9、tyofInformationTechnology9ARMARM体系结构体系结构1999年推出ARMv5TE其增强了Thumb体系,增强的Thumb体 系 增 加 了 一 个 新 的 指 令 同 时 改 进 了Thumb/ARM相互作用、编译能力和混合及匹配ARM与Thumb例程,以更好地平衡代码空间和性能并 在 ARM ISA上 扩 展 了 增 强 的 DSP指 令 集:增强的DSP指令包括支持饱和算术(saturatedarithmetic),并且针对AudioDSP应用提高了70%性能。E扩展表示在通用的CPU上提供DSP能力。第2章 ARM体系结构成于大气 信达天下Copyright2

10、015lshChengduUniversityofInformationTechnology10ARMARM体系结构体系结构2000年推出ARMv5TEJ,增加了Jazelle扩展以支持Java加速技术(处理器指令层对JAVA加速)。Jazelle技术比仅仅基于软件的JVM性能提高近8倍的性能减少了80的功耗。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology11ARMARM体系结构体系结构2001年推出ARMv6,它在许多方面做了改进如内存系统、异常处理和较好地支持多处理器。SIMD扩展使得

11、广大的软件应用如Video和Audiocodec的性能提高了4倍。Thumb-2和TrustZone技术也用于ARMv6中。ARMv6第一个实现是2002年春推出的ARM1136J(F)-STM处理器,2003年又推出了ARM1156T2(F)-S和ARM1176JZ(F)-S处理器。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology12ARMARM体系结构体系结构ARMv7定义了3种不同的处理器配置(processorprofiles):Profile AProfile A是面向复杂、基于虚

12、拟内存的是面向复杂、基于虚拟内存的OSOS和应用的和应用的Profile RProfile R是针对实时系统的是针对实时系统的Profile MProfile M是针对低成本应用的优化的微控制器的是针对低成本应用的优化的微控制器的。所有ARMv7profiles实现Thumb-2技术,比纯32位代码少使用31%的内存,高出38%的性能。同时还包括了NEON技术的扩展提高DSP和多媒体处理吞吐量400,并提供浮点支持以满足下一代3D图形和游戏以及传统嵌入式控制应用的需要。关于ARM架构发展可以参考:第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniver

13、sityofInformationTechnology13ARMARM体系结构体系结构2011年11月,ARM公司发布了新一代处理器架构ARM V8,ARM的首个64位架构。在继承了V7架构的基础上,可以选择64或32执行状态。64执行状态针对64位处理技术,引入了一个全新指令集A64,可以存取大虚拟地址空间;运用ARMv8指令集的产品:ARM 12年十月发布了Cortex-A53 and Cortex-A57 核心。13年苹果基于V8架构的Apple 7使用在了iPhone 5S上。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityof

14、InformationTechnology14ARMARM体系结构体系结构由于ARM的每个版本都有一系列的可变版本,其命名规范(Classic命名)如下:1.以ARMv开头2.ARM指令集的版本号(15)3.可变功能标识(T表示支持Thumb指令,M-表示支持乘法指令,E 增强型DSP指令,J Java加速器Jazelle,SIMD ARM媒体功能扩展),但是ARMv4和其上的版本缺省都支持M功能,因此ARMv4和其上的版本的标识中可以不用标识M.4.如果3中描述的功能不存在,则在该功能标识符前加x 第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniv

15、ersityofInformationTechnology15ARMARM体系结构体系结构采用上述的架构,形成一系列的处理器。有时候还要区分处理器核和处理器系列。不过,在这里其实不用区分太细,毕竟这是功能的小部分的变化,核心是相同的。规则:ARMxyzTDMIEJF-S x-处理器系列 y-存储管理/保护单元 z-cache T-支持Thumb指令集 D-支持片上调试 M-支持快速乘法器 I-支持Embedded ICE,支持嵌入式跟踪调试 E-支持增强型DSP指令 J-支持Jazelle F-具备向量浮点单元VFP-S-可综合版本 如ARM7TDMI第2章 ARM体系结构成于大气 信达天下C

16、opyright2015lshChengduUniversityofInformationTechnology16ARMARM体系结构体系结构结构体系版本(Architecture)ARM v4TARM v5TE ARM v6ARM Cortex(v7)Processor FamilyARM7ARM9ARM10ARM11ARMCortex按应用特征分类按应用特征分类(定义定义3 3种不同的处理器配置种不同的处理器配置)应用处理器应用处理器ApplicationProcessor实时控制处理器实时控制处理器Real-timeController微控制器微控制器Micro-controller特征

17、:特征:MMU,Cache 最快频率、最高性能、合理功耗最快频率、最高性能、合理功耗 特征:特征:MPU,Cache 实时响应、合理性能、较低功耗实时响应、合理性能、较低功耗 特征:特征:no sub-memory system 一般性能、最低成本、极低功耗一般性能、最低成本、极低功耗 第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology17ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformati

18、onTechnology18ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology19ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology20ARMARM体系结构体系结构1、查找资料确定自己的手机的CPU型号,是哪个厂家生产的,CPU是ARM的哪种体系结构版本?CPU有何特别的技术,简要介绍各种技术。以及此CPU其它性能指标。10月28号晚20

19、点之前交给学习委员,学习委员统一打包发给我。超过截止时间则没有本次作业成绩。作业文件命名规则:学号-姓名-作业X作业评分标准大概是从格式排版,到内容完整度、深度等方面考核,还有要看是否是经过多个资料整理分析的,还是直接复制一段网上文字的,根据这些评分。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology21ARMARM体系结构体系结构作业二评分标准:1、型号、厂家、体系结构版本各10分,共30分2、特别的技术 30分3、性能指标 25分4、格式及排版 10分5、作业命名规范 5分其中2点,你的C

20、PU中包含的特别的技术要有对应的解释,如Thumb、NEON、Jazelle、ARM TrustZone等。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology22ARMARM体系结构体系结构ARM7FamilyARM9FamilyARM10FamilyARM11Family150DMIPS300 DMIPS500 DMIPS1000 DMIPSARMCortexFamilyARM720TARM1136J ARM1176JZARM1026EARM920T/ARM922T ARM926EJCort

21、ex AApplication ProcessorARM7TDMIARM1156T2ARM1026EARM946ECortex REmbedded RT ControllerARM7TDMIARM966E ARM968ECortex MMicro-controllerARMArchitecture第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology23ARMARM体系结构体系结构ARM7世界上最为广泛使用的世界上最为广泛使用的 CPU 之一之一100MHzARM9100-300MHz第2章 AR

22、M体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology24ARMARM体系结构体系结构ARM11300-700+MHz300-700+MHzSIMD SIMD 指令扩展支持更丰富的多媒体应用指令扩展支持更丰富的多媒体应用4040多家授权芯片公司多家授权芯片公司FOMA N902iFirst ARM11 based phoneOMAP2420i.MX31/i.MX31L第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechno

23、logy25ARMARM体系结构体系结构处理器提供超过2DMIPS/MHZ的性能运行于1GHz频率(90nmor65nm制造工艺)功耗小于300mWARM Cortex A8 Application Processor第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology26ARMARM体系结构体系结构ARM Cortex A8 Application ProcessorARM Cortex A8 Application Processor第2章 ARM体系结构成于大气 信达天下Copyright

24、2015lshChengduUniversityofInformationTechnology27ARMARM体系结构体系结构ARM Cortex ArchitectureThumb-2 ISA3 Stage Pipeline1.22 DMIPS/MHz 30%over ARM7TDMI33K gates 30%smaller than ARM7TDMILuminaryMicro的Stellaris系列MCU产品售价仅1美元ARMCortex-M3微控制器内核,专门针对MCU应用领域而设计,突出低成本、低功耗和高效率。第2章 ARM体系结构成于大气 信达天下Copyright2015lshCh

25、engduUniversityofInformationTechnology28ARMARM体系结构体系结构TI TI(德州仪器)(德州仪器)Omap3430 Cortex-A8核600MHz(诺基亚N96)Omap3530 Cortex-A8核600MHz ARM+DSP双核SamsungSamsung(三星)(三星)S5PC100 Cortex-A8核 600MHz (iPhone 3GS和M9都应用此芯片)S5PC110/S5PV210 Cortex-A8核 1GHZ FreescaleFreescale(飞思卡尔)(飞思卡尔)i.MX512/i.MX513/i.MX515 Cortex

26、-A8核600MHz1GHz(在多款上网本中得到应用)第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology29ARMARM体系结构体系结构MarvellMarvell(马维尔)(马维尔)PXA930800MHzCortex-A8核ARMADA500/600/1000系列SheevaPJ4核心1GHz1.2GHz(支持ARMv7指令集,架构异同)QualcommQualcomm(高通)(高通)QSD8650A/QSD8672(Snapdragon系列)1.3G1.5Gscorpion核心(支持AR

27、Mv7指令,架构异同)骁龙400系列(Cortex-A7)MSM8928-红米NOTE4GNvidiaNvidia(英伟达)(英伟达)TegraARM11核700MHzTegra2(下一代产品)CortexA8(或A9)核 MTK(MTK(联发科联发科MediaTek)MediaTek)MTKMT6592八核,Cortex-A71.4-2GHZ红米NOTE第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology30ARMARM体系结构体系结构1 ARM CPU ISA的发展历史 2 典型ARM CP

28、U Core体系结构 3 ARM编程模型 第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology31ARMARM体系结构体系结构ARM内核采用RISC体系结构。ARM体系结构的主要特征如下:(1)大量的寄存器,并可以用于多种用途。(2)采用Load/Store体系结构。(3)每条指令都条件执行。(4)采用多寄存器的Load/Store指令。(5)单周期指令内同时完成移位操作和ALU。(6)通过协处理器指令集来扩展ARM指令集。(7)体系支持Thumb指令集第2章 ARM体系结构成于大气 信达天下C

29、opyright2015lshChengduUniversityofInformationTechnology32ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology33ARM7TDMIThumb Thumb 架构扩展架构扩展,提供两个独立的指令集:提供两个独立的指令集:ARM ARM 指令,均为指令,均为 3232位位ThumbThumb指令,均为指令,均为 1616位位两种运行状态,用来选择哪个指令集被执行两种运行状态,用来选择哪个指令集被执行内核具有内核具有De

30、bugDebug扩展结构扩展结构增强乘法器增强乘法器 (32x8)(32x8)支持支持6464位结果位结果EmbeddedICE EmbeddedICE 逻辑逻辑3 3 级流水线级流水线冯冯诺依曼架诺依曼架构构CPI(Cycle CPI(Cycle Per Per Instruction)Instruction)约为约为1.91.9第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology34乘法器乘法器指令指令解码解码地址地址自增器自增器nRESETnMREQSEQABORTnIRQnFIQnRWM

31、AS1:0LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM4:0D31:0桶桶移位器移位器32 位位 ALUDBE写数据写数据 寄存器寄存器读数据读数据 寄存器寄存器地址寄存器地址寄存器寄存器寄存器 BankA31:0ABE及及控制控制 逻辑逻辑PC Update解码站解码站指令指令 解压缩解压缩IncrementerPCABusBBusALUBusARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology35ARMARM体系结构

32、体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology36ARMARM体系结构体系结构为增加处理器指令流的速度,ARM7 系列使用3级流水线。允许多个操作同时处理,而非顺序执行。PC指向正被取指的指令,而非正在执行的指令。FetchDecodeExecute从存储器中读取指令从存储器中读取指令解码指令中用到的寄存器解码指令中用到的寄存器寄存器读(从寄存器寄存器读(从寄存器Bank)移位及移位及ALU操作操作寄存器写(到寄存器寄存器写(到寄存器Bank)PCPCPC-4PC-2PC-8PC-

33、4ARMThumb第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology37ARMARM体系结构体系结构InstructionFetch Shift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM or ThumbInst DecodeReg SelectRegReadShiftALURegWriteThumbARMdecompressARM decodeInstructionFetch

34、FETCHDECODEEXECUTEARM7TDMI第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology38ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology39ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology40ARMARM体系结构体系

35、结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology41ARM体系结构体系结构1、ARM架构发展史 2 2 3 3ARMARM处理器特点处理器特点ARMISAARMISA的版本情况,的版本情况,ISAISA命名规则命名规则ARMARM处理器命名规则:处理器命名规则:ARM7TDMIARM7TDMI1 1 4 4ARMARM处理器分类:处理器分类:MM、R R、A A第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformati

36、onTechnology42ARM体系结构体系结构2、ARM典型CPU 2 2ARM7ARM7的结构的结构ARM7ARM7的三级流水线的三级流水线1 1第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology43ARMARM体系结构体系结构1 ARM CPU ISA的发展历史 2 典型ARM CPU Core体系结构 3 ARM编程模型 第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology44ARMA

37、RM体系结构体系结构数据类型 字节型数据(字节型数据(ByteByte):):数据宽度为8bits 半半字字数数据据类类型型(HalfWordHalfWord):数据宽度为16bits,存取式必须以2字节对齐的方式 字字数数据据类类型型(WordWord):数据宽度为32bits,存取式必须以4字节对齐的方式 字节字节半字半字字字第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology45ARMARM体系结构体系结构处理器有两种工作状态:ARM:32位,执行字对准的ARM指令Thumb:16位,执行

38、半字对准的Thumb指令ARM和Thumb之间状态的切换不影响处理器的模式或寄存器的内容第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology46ARMARM体系结构体系结构进入Thumb状态:执行BX指令,并设置操作数寄存器的状态(位0)为1。在Thumb状态进入异常(IRQ,FIQ,UNDEF,ABORT,SWI etc.),当异常处理返回时自动转换到Thumb状态进入ARM状态:执行BX指令,并设置操作数寄存器的状态(位0)为0。进入异常时,将PC放入异常模式链接寄存器中,从异常向量地址开始

39、执行也可进入ARM状态;从Arm状态切换到Thumb状态 LDR R0,=Lable+1 BX R0;从Thumb状态切换到ARM状态 LDR R0,=Lable BX R0地址最低位为1,表示切换到Thumb状态地址最低位为0,表示切换到ARM状态跳转地址标号第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology47ARMARM体系结构体系结构查找资料,撰写分析说明,回答以下问题:ARM跳转指令有几种?分析为什么由跳转到Thumb状态要用BX指令?为什么地址最后要“+1”?ARM指令是不是对齐的

40、?是什么对齐的?指令为什么需要对齐?有什么好处?说明:可以参考资料,但不能全部直接复制粘贴,问题回答缺一个扣一个的分,回答不准确的也扣分。格式乱七八糟的也会扣分。作业文件命名规则:学号-姓名-作业三第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology48ARMARM体系结构体系结构处理器模式处理器模式说明说明用户模式(User)正常程序执行模式,用于应用程序异常模式(FIQ)快速中断处理,用于支持高速数据传送或通道处理异常模式(IRQ)用于一般中断处理异常模式(Supervisor)用于系统初始

41、化或操作系统功能异常模式(Abort)存储器保护异常处理异常模式(Undefined)未定义指令异常处理系统模式(System)运行特权操作系统任务(ARMV4以上版本)监控模式(Monitor)可以在安全模式与非安全模式之间进行转换Cortex-A8内核的处理器模式第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology49ARMARM体系结构体系结构User模式模式程序不能访问有些受保护的资源程序不能访问有些受保护的资源只能通过异常的形式来改变只能通过异常的形式来改变CPU的当前运行模式的当前运

42、行模式特权模式特权模式可以存取可以存取系统中的系统中的任何资源任何资源System模式模式与与User模式的运行环境一样模式的运行环境一样但是它可以不受任何限制的访问任何资源但是它可以不受任何限制的访问任何资源该模式主要用于运行系统中的一些该模式主要用于运行系统中的一些特权任务特权任务FIQ模式模式IRQ模式模式Supervisor模式模式Abort模式模式Undefined模式模式异常模式异常模式:主要是在:主要是在外部中外部中断断或者程序执行或者程序执行非法操作非法操作时时会触发会触发Monitor模式模式第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengd

43、uUniversityofInformationTechnology50ARMARM体系结构体系结构ARM Cortex-A8处理器有40个32位寄存器寄存器 3232个通用寄存器个通用寄存器 1 1个程序计数器个程序计数器 7 7个状态寄存器个状态寄存器这些寄存器不能同时看到不同的处理器状态和工作模式确定哪些寄存器是对编程者是可见的。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology51ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChe

44、ngduUniversityofInformationTechnology52ARMARM体系结构体系结构ARM 有40个32-Bits长的寄存器:32个通用寄存器(完全通用,用于存放数据或地址)1个PC(program counter)1个CPSR(current program status register)6个SPSR(saved program status registers)当前处理器的模式决定着哪组寄存器可操作.任何模式都可以存取:相应的r0-r12(除FIQ模式外共用-FIQ只共用r0-r7)相应的 r13(the stack pointer,sp)和 r14(the lin

45、k register,lr)r15(the program counter,pc),所有模式共用。CPSR(current program status register,cpsr),所有模式共用特权模式(除system模式)还可以存取:相应的 spsr(saved program status register)第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology53ARMARM体系结构体系结构Thumb状态寄存器集是ARM状态集的子集,程序员可以直接访问的寄存器为:8个通用寄存器R0R7;程

46、序计数器(PC);堆栈指针(SP);链接寄存器(LR);有条件访问程序状态寄存器(CPSR)。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology54ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology55ARMARM体系结构体系结构R1R2R3R4R5R6R7R8R9R10R11R12R0堆栈指针(R13)连接寄存器(R14)程序计数器(R15)低寄存器高寄存器注意:

47、在发生异常时,处理器自动进入ARM状态。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology56ARMARM体系结构体系结构异常发生时伴随的模式切换意味着,被调用的异常处理程序会访问:它自己的堆栈指针(SP_)它自己的链接寄存器(LR_)它自己的备份程序状态寄存器(SPSR_)如果是FIQ异常处理,5个其它的通用状态寄存器(r8_FIQ to r12_FIQ)其它寄存器和原来模式下的寄存器是相同的第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUnivers

48、ityofInformationTechnology57ARMARM体系结构体系结构通用寄存器是R0-R15的寄存器,分为三类 没有对应影子寄存器的寄存器没有对应影子寄存器的寄存器R0-R7 R0-R7 有对应影子寄存器的寄存器有对应影子寄存器的寄存器R8-R14R8-R14 程序计数器程序计数器R15(R15(或者或者PC)PC)影子寄存器是指该寄存器在不同的模式下对应的物理寄存器第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology58ARMARM体系结构体系结构R0-R7所所有有模模式式下下

49、,R0-R7R0-R7所所对对应应的的物物理理寄寄存存器器都都是是相相同的同的 这这八八个个寄寄存存器器是是真真正正意意义义上上的的通通用用寄寄存存器器,ARMARM体体系系结结构构中中对对它它们们没没有有作作任任何何特特殊殊的的假假设设,它它们的功能都是等同的。们的功能都是等同的。在在中中断断或或者者异异常常处处理理程程序序中中一一般般都都需需要要对对这这几几个寄存器进行保存。个寄存器进行保存。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology59ARMARM体系结构体系结构R8-R14访问

50、的物理寄存器取决于当前的处理器模式,若要访问特定的物理寄存器而不依赖当前的处理器模式,则要使用规定的名字。R8-R12各有两组物理寄存器:一组为FIQ模式,另一组是除FIQ以外的其他模式。R13-R14各有6个分组的物理寄存器,一个用于用户模式和系统模式,其他5个分别用于5种异常模式。R13(也被称为SP指针)被用作栈栈指指针针,通常在系统初始化时需要对所有模式下的SP指针赋值,当CPU在不同的模式时栈指针会被自动切换成相应模式下的值。R14有两个用途,一是在调调用用子子程程序序时时用用于于保保存存调调用用返返回地址回地址,二是在发生异常时用于保存异常返回地址发生异常时用于保存异常返回地址。第

51、2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology60ARMARM体系结构体系结构在系统初始化(即系统复位)时需要初始化各模式分组的堆栈指针寄存器R13(R13_svc、R13_irq、R13_fiq、R13_abt和R13_und),这样才能在进入不同的模式时自动切换使用不同的堆栈空间。初始化时需注意堆栈指针必须保持8字节对齐。;中断模式堆栈的设置(涉及到CPSR格式和MSR指令)MSRCPSR_c,#0 x000000D2;切换到中断模式LDRR1,=IrqStackMOVSP,R1;设置中

52、断模式堆栈指针;快速中断模式堆栈的设置MSRCPSR_c,#0 x000000D1;切换到快速中断模式LDRR1,=FiqStackMOVSP,R1;设置快速中断模式堆栈指针;中止模式堆栈的设置.第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology61链接寄存器R14(LR)-1R14为链接寄存器(LR),在结构上有两个特殊功能:在每种模式下,模式自身的R14版本用于保存子程序返回地址;当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。第2章 ARM体系

53、结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology62ARMARM体系结构体系结构Lable程序A程序BR14R14寄存器与子程序调用BL Lable地址A?MOV PC,LRR14(地址A)Lable?1.程序A执行过程中调用程序B;操作流程2.程序跳转至标号Lable,执行程序B。同时硬件将“BLLable”指令的下一条指令所在地址存入R14;3.程序B执行最后,将R14寄存器的内容放入PC,返回程序A;第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversit

54、yofInformationTechnology63ARMARM体系结构体系结构R14寄存器与异常发生异常发生时,程序要跳转至异常服务程序,对返回地址的处理与子程序调用类似,都是由硬件完成的。区别在于有些异常有一个小常量的偏移。R14寄存器注意要点当发生异常嵌套时,这些异常之间可能会发生冲突。例如:如果用户在用户模式下执行程序时发生了IRQ中断,用户模式寄存器不会被破坏。但是如果允许在IRQ模式下的中断处理程序重新使能IRQ中断,并且发生了嵌套的IRQ中断时,外部中断处理程序保存在R14_irq中的任何值都将被嵌套中断的返回地址所覆盖。第2章 ARM体系结构成于大气 信达天下Copyright

55、2015lshChengduUniversityofInformationTechnology64ARMARM体系结构体系结构R14寄存器注意要点R14R14_irq用户模式下的程序IRQ模式下的程序AareturnB.XA地址A地址A1.执行用户模式下的程序;2.发生IRQ中断,硬件将某个地址存入IRQ模式下的R14_irq寄存器,用户模式下的R14没有被破坏;3.IRQ服务程序A执行完毕,将R14_irq寄存器的内容减去某个常量后存入PC,返回之前被中断的程序;未被破坏第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInform

56、ationTechnology65ARMARM体系结构体系结构R14寄存器注意要点R14R14_irq用户模式下的程序IRQ模式下的程序AaB.XA地址A地址A1.执行用户模式下的程序;2.发生IRQ中断,硬件将某个地址存入IRQ模式下的R14_irq寄存器,用户模式下的R14没有被破坏;3.IRQ服务程序A执行完毕,将R14_irq寄存器的内容减去某个常量后存入PC,返回之前被中断的程序;未被破坏IRQ模式下的程序BareturnB.XA地址B地址B4.如果在IRQ处理程序中打开IRQ中断,并且再次发生IRQ中断,或者调用子程序;5.硬件将返回地址保存在R14_irq寄存器中,原来保存的返回

57、地址将被覆盖,造成错误;被破坏6.在程序B返回到程序A,然后在返回到用户模式下被中断的程序时,发生错误,将不能正确返回;returnreturn解决办法是确保R14的对应版本在发生中断嵌套时不再保存任何有意义的值(将R14入栈),或者切换到其它处理器模式下。第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology66ARMARM体系结构体系结构R15用作程序计数器用作程序计数器(PC)(PC),可以被读写,可以被读写 读读到到的的PCPC的的值值是是PCPC当当前前值值加加8 8(2 2个个指指令令

58、的的长长度度,三三级级流流水水线线情情况况下下),写写PCPC则则转转移移到到写写入入地地址址执行程序。执行程序。ARM state:4ARM state:4字节对齐,最低两位字节对齐,最低两位 bits 1:0 bits 1:0永远为永远为0 0(V4V4以上版本,以上版本,V3V3以下是把写入值与以下是把写入值与0XFFFFFFFC0XFFFFFFFC与操作)与操作)THUMB stateTHUMB state:2 2字节对齐,最低位字节对齐,最低位bit 0bit 0为为0 0注:ARM存储器按字节组织第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengdu

59、UniversityofInformationTechnology67ARMARM体系结构体系结构 ARM7TDMI内核包含1个CPSR(当前程序状态寄存器)和5个供异常处理程序使用的SPSR。CPSR在所有的模式下都是可以读写的,反映了当前处理器的状态,其包含::4 4个个条条件件标标志志(负(N)、零(Z)、进位(C)和溢出(V))2 2个中断使能标志个中断使能标志5 5个当前处理器的模式编码位个当前处理器的模式编码位其它的一些状态和控制标志(其它的一些状态和控制标志(ARM/ThumbARM/Thumb)第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengd

60、uUniversityofInformationTechnology68条件位:N=NegativeresultfromALUZ=ZeroresultfromALUC=ALUoperationCarriedoutorborrowV=ALUoperationoVerflowedQ位:仅ARMv5TE-J架构支持指示饱和状态J位仅ARMv5TE-J架构支持T=0;J=1处理器处于Jazelle状态也可以和其他位组合DNM位:DoNotModifyGE3:0大于或等于(当执行SIMD指令时有效)IT7:2Thumb2指令的条件执行IF.THEN.指令执行状态位E位:大小端控制位,E=0littlee

61、ndianA位:A=1禁止不精确的数据异常中断禁止位:I=1:禁止IRQ.F=1:禁止FIQTBitT=0;J=0;处理器处于ARM状态T=1;J=0处理器处于Thumb状态T=1;J=1处理器处于ThumbEE状态Mode位:处理器模式位10000Usermode;10001FIQmode;10011SVCmode;10111Abortmode;11011Undfinedmode;11111Systemmode;10110Monitormode;10010IRQARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversit

62、yofInformationTechnology69ARM体系结构体系结构1、ARM编程模型 2 2 3 3工作模式:工作模式:ARMARM、ThumbThumb工作状态:工作状态:7/87/8种种寄存器:数量(寄存器:数量(3737、4040)、名称、用法)、名称、用法1 1 4 4特殊寄存器:特殊寄存器:CPSRCPSR、R14R14、R15R15ATPCSATPCS5 5第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology70处理器模式处理器模式说明说明用户模式(User)正常程序执行模式

63、,用于应用程序异常模式(FIQ)快速中断处理,用于支持高速数据传送或通道处理异常模式(IRQ)用于一般中断处理异常模式(Supervisor)用于系统初始化或操作系统功能异常模式(Abort)存储器保护异常处理异常模式(Undefined)未定义指令异常处理系统模式(System)运行特权操作系统任务(ARMV4以上版本)监控模式(Monitor)可以在安全模式与非安全模式之间进行转换ARMARM体系结构体系结构ARM 有有8种基本模式种基本模式每种模式都有自己的堆栈空间和可以访问的寄存器子集某些操作只能在特权模式下进行第2章 ARM体系结构成于大气 信达天下Copyright2015lshC

64、hengduUniversityofInformationTechnology71ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology721)1)说出说出ARMARM可以工作的模式名字。可以工作的模式名字。2)Cortex A8 ARM2)Cortex A8 ARM核有多少个寄存器?核有多少个寄存器?3)PC3)PC和和LRLR寄存器的别名?寄存器的别名?4)R134)R13别名是什么?别名是什么?5)5)在复位后,在复位后,ARMARM处理器处于何种模式、何种状态?

65、处理器处于何种模式、何种状态?6)CPSR6)CPSR的哪的哪 2 2 位反映了处理器的状态?位反映了处理器的状态?7)7)所有的所有的ThumbThumb指令采取什么对齐方式指令采取什么对齐方式?8)ARM8)ARM有哪几个异常源。有哪几个异常源。9 9)当当IRQIRQ中断发生嵌套时,是否有可能发生中断返回错误,何种情况下会发生?中断发生嵌套时,是否有可能发生中断返回错误,何种情况下会发生?如何避免?如何避免?ARMARM体系结构体系结构第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology7

66、3ARM体系结构体系结构1、ARM架构发展史 2 2 3 3ARMARM处理器特点处理器特点ARMISAARMISA的版本情况,的版本情况,ISAISA命名规则命名规则ARMARM处理器命名规则:处理器命名规则:ARM7TDMIARM7TDMI1 1 4 4ARMARM处理器分类:处理器分类:MM、R R、A A第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology74ARM体系结构体系结构2、ARM典型CPU 2 2ARM7ARM7的结构的结构ARM7ARM7的三级流水线的三级流水线1 1第2章 ARM体系结构成于大气 信达天下Copyright2015lshChengduUniversityofInformationTechnology75ARM体系结构体系结构3、ARM编程模型 2 2 3 3工作模式:工作模式:ARMARM、ThumbThumb工作状态:工作状态:7/87/8种种寄存器:数量(寄存器:数量(3737、4040)、名称、用法)、名称、用法1 1

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!