![第2章ARM处理器和架构_第1页](http://file4.renrendoc.com/view10/M00/02/20/wKhkGWWapQeAJi5SAAB0JWiFZa0020.jpg)
![第2章ARM处理器和架构_第2页](http://file4.renrendoc.com/view10/M00/02/20/wKhkGWWapQeAJi5SAAB0JWiFZa00202.jpg)
![第2章ARM处理器和架构_第3页](http://file4.renrendoc.com/view10/M00/02/20/wKhkGWWapQeAJi5SAAB0JWiFZa00203.jpg)
![第2章ARM处理器和架构_第4页](http://file4.renrendoc.com/view10/M00/02/20/wKhkGWWapQeAJi5SAAB0JWiFZa00204.jpg)
![第2章ARM处理器和架构_第5页](http://file4.renrendoc.com/view10/M00/02/20/wKhkGWWapQeAJi5SAAB0JWiFZa00205.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章ARM处置器和架构提纲1、ARM处置器概述2、ARM9处置器架构3、ARM9处置器内存管理4、ARM9异常处置ARM是什么?1、ARM处置器概述ARM公司简介ARM公司总部位于英国剑桥,全称AdvancedRISC〔ReducedInstructionSetComputer即精简指令集计算机〕MachinesARM公司是apple、nokia、Acorn、VLSI、Technology等公司的合资企业。独特的知识产权〔IP〕授权方式,本身不直接从事芯片消费,靠转让设计答应由协作公司消费各具特征的芯片。超越200家协作同伴,包括Intel,IBM,SONY,NEC等ARM设计了大量高性能、廉价、耗能低的RISC处置器、相关技术及软件。ARM产品简介ARM处置器ARM处置采用RISC架构,具有高性能、低本钱、低耗能、协作同伴众多等特点运用范围极广,包括消费电子、工业控制、通讯系统、网络系统、军工工程ARM系列产品ARM7系列ARM9系列ARM9E系列ARM10E系列ARM11系列SecurCore系列Intel的StrongARMIntel的Xscale1.2ARM指令集体系构造版本〔1〕ARM主要采用32位指令集,占据了32位RISC处置器80%的市场。2021年,ARM的客户报告了79亿ARM处置器出货量,占有95%的智能手机,90%的硬盘驱动器,40%的数字电视和机顶盒,15%的单片机,和20%的挪动电脑。从成立至今,总共推出了7个版本的体系构造,不仅引入了Thumb16位指令集,而且在性能上也不断提高。1.2ARM指令集体系构造版本〔2〕V1版本该版本并未商业化,而只在原型机ARM1上出现过寻址空间为64M只提供根本的数据处置指令,甚至不包含乘法指令提供基于字节、字、多字的Load/store存储器访问指令子程序调用指令〔BL〕和链接指令完成操作系统调用的软件中断指令SWI1.2ARM指令集体系构造版本V2版本是V1版本的扩展,它还包括一个扩展版本v2a。ARM2采用了v2版本,而ARM3那么是v2a架构。支持乘法指令和乘加指令支持协处置器操作指令对于快中断〔FIQ〕提供影子存放器支持支持SWP和SWPB指令1.2ARM指令集体系构造版本〔3〕V3版本是ARM被大规模运用的开场地址空间扩展到32位,而且向前兼容〔除了v3g子版本以外〕26位的地址空间添加CPSR〔CurrentProgramStatusRegister,当前程序形状存放器〕和SPSR〔SavedProgramStatusRegister,备份程序形状存放器〕添加了两条指令:MRS指令和MSR指令添加了中止(Abort)和未定义两种异常方式改良了从异常前往的指令1.2ARM指令集体系构造版本〔4〕V4版本是被最广泛运用的ARM体系构造ARM7、ARM9、StrongARM都采用v4架构引入了Thumb形状添加了系统方式添加了对有符号、无符号半字和有符号字节的存/取指令1.2ARM指令集体系构造版本〔5〕v5版本ARM9E、ARM10和XScale都采用v5架构。提高了ARM指令集和Thumb指令集的混合运用的效率添加了前导零计数〔CLZ〕指令引入了软件断点(BKPT)指令添加了数字信号处置指令〔v5TE版〕1.2ARM指令集体系构造版本〔6〕v6版本ARM11处置器采用V6版本具备高性能定点DSP功能引入全新Jazelle技术支持SIMD〔SingleInstructionMultipleData,单指令流多数据流〕技术v6支持多微处置器内核1.2ARM指令集体系构造版本〔7〕v7版本是目前为止ARM处置器体系构造的最高版本定义了三大系列:“A〞,〞R〞,〞M〞采用了Thunmb-2技术采用NEON技术,即进阶SIMD延伸集支持改良的浮点运算支持改良的运转环境,以迎合不断添加的JIT〔JustInTime〕和DAC〔DynamicAdaptiveCompilation〕技术的运用1.2ARM指令集体系构造版本〔8〕2021年10月ARM终于宣布了本人的第一个64位指令集处置器架构“ARMv8〞,引入了一个全新指令集A64。目前的ARMv7架构的主要特性都将在ARMv8架构中得以保管或进一步拓展iphone5s采用A7处置器,A7是全球首款被用于智能手机上的ARM架构64位处置器1.3ARM微处置器系列ARM微处置器以及授权厂商基于ARM体系构造设计的微处置器如今主要有下面几个系列:ARM7系列,ARM9系列,ARM9E系列,ARM10E系列,ARM11系列,Cortex系列,SecurCore系列,StrongARM系列和XScale系列。其中ARM7、ARM9、ARM9E和ARM10为4个通用途置器系列,每一个系列都提供一套相对独特的性能来满足不同运用领域的需求。SecurCore系列专门为平安要求较高的运用设计ARM系列微处理器核特点ARM7ARM7TDMI:整数处理核ARM7TDMI处理器的可综合版本;ARM720T:带MMU的处理器核心,支持操作系统;ARM7EJ-S:带有DSP和JazelleTM技术,能够实现Java加速功能冯
诺伊曼体系结构;3级流水线成熟的大批量的低功耗的32位RISC处理器,适用于价位低、功耗低的消费类应用。支持16位Thumb指令集典型处理速度为0.9MIPS/MHz,常见的系统主时钟为20MHz到133MHz指令系统与ARM9系列、ARM9E系列和ARM10系列兼容主频最高可达到130MHzARM9ARM920T:带有独立的16KB数据和指令Cache;ARM922T:带有独立的8位KB数据和指令Cache;ARM940T–包括更小数据和指令Cache和一个MPU5级流水线可在0.18µm、0.15µm和0.13µm工艺的硅芯片上实现。支持数据Cache和指令Cache增加对32位ARM指令集的支持提供全性能的MMU(MemoryManagementUnit),支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统典型处理速度为1.1MIPS/MHzARM9EARM926EJ-S:Jazelle技术,有MMU,可配置的数据和指令Cache,TCM接口;ARM946E-S:可配置的数据和指令Cache及TCM;ARM966E-S:针对要求高性能和低功耗的可预测的指令执行时间的硬实时应用设计ARM968E-S:最小、功耗最小的
ARM9E系列处理器,针对嵌入式实时应用设计;5级流水线ARM9E是针对微控制器、DSP和Java的单处理器解决方案;ARM
Jazelle
技术提供8倍的Java加速性能(ARM926EJ-S);可在0.18µm,0.15µm,0.13µm工艺的硅芯片上实现。使用单一的处理器内核,减少了芯片的面积和系统的复杂程度,在0.13µm工艺下最高性能可达到300MIPS(Dhrystone2.1测试标准);支持32位ARM指令集和16位Thumb指令集支持VFP9浮点处理协处理器增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合
ARM10EARM1020E:带DSP指令集,在片调试功能,独立的32KB数据和指令Cache,MMU支持;ARM1022E:与ARM1020E相同,只是独立的数据和指令Cache变为16KB;ARM1026EJ-S:同时具有MPU和MMU,可综合版本;6级流水线;对于3D图形运算和实时控制采用VFP协处理器,浮点运算性能最高可达650MFLOPS;优化的缓存结构提高了处理器访问低速存储器的性能;可在0.18µm,0.15µm,0.13µm工艺的硅芯片上实现,在0.13µm工艺下最高性能可达到430MIPS典型处理速度为1.25MIPS/MHz采用了两种先进的节能方式ARM11ARM11MPCore:可综合的多处理器核,1至4个处理器可配置;ARM1136J(F)-S:可配置的数据和指令Cache,可提供1.9位的MPEG4编码加速功能;ARM1156T2(F)-S:带集成浮点协处理器,带内存保护单元MPU
;ARM1176JZ(F)-S:带针对CPU和系统安全架构扩展的TrustZone技术。8级流水线增强的Thumb、Jazelle、DSP扩展支持在0.13µm工艺下最高可达到550MHz支持多媒体指令允许用户在向要求授权时选择是否包括浮点处理器内核媒体处理能力强,功耗低,特别适合用于无线和消费类电子产品高数据吞吐量和高性能适合网络应用高实时性,能够满足高端的嵌入式实时应用系统SecurCoreSC100:第一个32位安全处理器;、SC110:在SC100上增加密钥协处理器;SC200:带Jazelle技术的高级安全处理器;SC210:在SC200上增加密钥协处理器SecurCore是专门为智能卡、安全IC提供的32位安全处理器,为电子商务、银行、网络、移动多媒体、公共交通提供安全解决方案;体积小、功耗低,代码压缩密度高;为快速增长的Java卡平台提供Java加速功能;提供了完善的32位RISC技术的安全解决方案带有灵活的保护单元,以确保操作系统和应用数据的安全采用软内核技术,防止外部对其进行扫描探测可集成用户自己的安全特性和其他协处理器CortexCortex-A:面向应用的微处理器,针对复杂操作系统和应用程序设计;Cortex-R:针对实时系统的嵌入式处理器;Cortex-M:针对成本敏感应用优化的深度嵌入式处理器;2004年发布,提供增强的媒体和数字处理能力,增加了系统性能;支持ARM、Thumb、Thumb-2指令集;Thumb-2指令集提供了更高的代码存储密度,进一步降低成本;分为三个系列:Cortex-A、Cortex-R和Cortex-MCortex-A面向高性能应用,它具有长达13级的流水线,并且可以支持1-4个核Cortex-R面向具有高实时性要求的应用,通常应用于专用集成电路(ASIC),仍然采用8级流水线Cortex-M是全球微控制器的标准,面向对能耗和价格有较高要求的用户,采用低延迟的3级流水线Intel系列StrongARM:ARMv4体系XScale:ARMv5TE体系,增加MMX指令StrongARM主要应用于手持设备和PDA,5级流水线,具有独立的数据和指令Cache,不支持Thumb指令集,目前已停产;由DEC公司设计的,后来在1997年卖给了Intel公司主要有四个型号:SA-110,SA-1100,SA-1110和SA-1500XScale是目前Intel公司主推的高性能嵌入式处理器,分通用处理器、网络处理器和I/O处理器三类。被广泛应用于智能手机、PDA领域。全性能、高性价比、低功耗的处理器支持16位的Thumb指令和DSP指令集1.3ARM微处置器系列x86架构与ARM架构对比〔1〕X86ARM体系结构CISCRISC代表公司Intel、AMDNvidia、高通、三星、TI、Marvell、MTK、苹果寄存器X86指令集只有8个通用寄存器4个数据寄存器(EAX、EBX、ECX和EDX),2个变址和指针寄存器(ESI和EDI),2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS),1个指令指针寄存器(EIP),1个标志寄存器(EFlags)37个32位寄存器,其中31个通用寄存器,6个状态寄存器x86架构与ARM架构对比〔2〕X86ARM指令格式X86指令的长度是不定的,而且有几种不同的格式,结果造成X86CPU的解码工作非常复杂每条指令的长度都是相同的内存访问X86指令可访问内存地址使用LOAD/STORE模式,只有LOAD和STORE指令才能从内存中读取数据到寄存器,所有其他指令只对寄存器中的操作数计算指令集庞大的指令集精简的指令集成本高低功耗高低x86架构与ARM架构对比〔3〕X86ARM扩展部件的限制X86指令对于各种扩展部件的限制是十分不利的可以支持丰富的扩展部件流水线方面X86指令集的执行需要调用微代码的一个微程序,在执行速度上不如ARM指令集ARM指令的处理过程被拆分成几个更小的、能够被流水线并行执行的单元。在理想情况下,流水线每周期前进一步,可获得最高的吞吐率能耗基于X86的CPU在空闲时的表现一般,但在计算密集型工作负载中开始表现出出色的能力基于ARM的CPU在空闲时的表现非常好,但在计算密集型工作负载中开始需要更多的能源在一般应用程序上,我们很难看出x86和ARM架构间的区别,但在面对复杂任务比如编码、解码时,x86架构的优势就显现出来了x86架构与ARM架构对比〔4〕x86架构与ARM架构对比〔5〕这是首款采用英特尔AtomZ2580处置器的手机,X86架构只需不调用额外的内容,程序普通都不会出现兼容性问题。在评测中发现,同等条件下联想K900机身发热高于其他手机,电池续航时间相对于其他几款手机略显短随着RISC处置器在嵌入式领域中大放异彩,传统的X86系列CISC处置器在Intel公司的积极改良下也抑制了功耗过高的问题,成为一些高性能嵌入式设备的最正确选择x86架构与ARM架构对比〔6〕1ARM2X863X86和ARM开展到今天,CISC与RISC之间的界限曾经不再是那么泾渭清楚,RISC本身的设计正在变得越来越复杂,例如:允许一些特定指令的执行周期数字可变,以降低功耗,减小面积和代码尺寸。〔当然并不是完全依着CISC的思绪变复杂〕,由于一切实践运用的CPU都需求不断提高性能,所以在体系构造中参与新特点就在所难免。另一方面,原来被以为是CISC体系构造的处置器也吸收了许多RISC的优点,比如Pentium处置器在内部的实现中也是采用的RISC的架构,复杂的指令在内部由微码分解为多条精简指令来运转,但是对于处置器外部来说,为了坚持兼容性还是以CISC风格的指令集展现出来。1.3ARM微处置器系列产量最大的低端电子产品,假设运用ARM公司的处置器授权内核,大都采用ARM9内核,而ARM9内核,是基于ARMv5架构。比较先进的电子产品,大都采用ARM11内核,该内核是基于ARMv6架构,2001年发布。少数最先进的电子产品,如高档智能手机,大都采用CortexA8或CortexA9内核,该内核基于ARMv7架构,2006年发布。2021年上市的高档智能手机,将采用ARMv7架构的新产品CortexA152、ARM9处置器架构ARM9处置器系列有两个分支基于v4版本的ARM9,典型的有ARM9TDMI和ARM922T基于v5TE或v5TEJ架构的ARM9E,典型处置器有ARM9EJ-S和ARM926EJ-S等ARM9E处置器有独立的指令缓存和数据缓存〔ICACHE和DCACHE〕,还有TCM部件〔TightlyCoupledMemory,紧致内存〕此外ARM9E还支持ETM9技术〔EmbeddedTraceMacrocell,嵌入式跟踪宏〕由于ARM9E在运用上更广,后面关于ARM9的引见主要也是围绕ARM9E系列2.1ARM9存放器〔1〕37个32位存放器31个属于通用存放器6个为ARM处置器不同任务方式所设立的公用形状存放器,形状存放器虽然也是32位的,但是ARM9只运用了其中的14位6个形状存放器并不是在恣意时候都能运用的,某些存放器在不同的处置器任务方式下有不同的的访问权限2.1ARM9存放器〔2〕ARM9处置器方式用户方式(User)快速中断方式(FIQ)外部中断方式(IRQ)管理方式(Supervisor)中止方式(Abort)未定义方式(Undef)系统方式(System)七种方式之间可以相互切换特权方式异常方式2.1ARM9存放器〔3〕用户模式系统模式管理模式中止模式未定义模式外部中断模式快中断模式R0R0R0R0R0R0R0R1R1R1R1R1R1R1R2R2R2R2R2R2R2R3R3R3R3R3R3R3R4R4R4R4R4R4R4R5R5R5R5R5R5R5R6R6R6R6R6R6R6R7R7R7R7R7R7R7
R8R8R8R8R8R8R8_fiqR9R9R9R9R9R9R9_fiqR10R10R10R10R10R10R10_fiqR11R11R11R11R11R11R11_fiqR12R12R12R12R12R12R12_fiq
R13R13R13_svcR13_abtR13_undR13_irqR13_fiqR14R14R14_svcR14_abtR14_undR14_irqR14_fiq
R15R15R15R15R15R15R15
CPSRCPSRCPSRSPSR_svcCPSRSPSR_abtCPSRSPSR_undCPSRSPSR_irqCPSRSPSR_fiq任务方式下ARM存放器的运用R0-R7称为不分组存放器,方式切换时,必需进展现场维护R8-R12在六种方式切换时,必需求现场维护R8_fiq--R12_fiq在快速中断方式切换方式时不需求维护R13普通作为栈指针sp,R14被称为衔接存放器LR。作用有两点:1、存放当前子程序的前往地址;2、发生异常时保管该方式基于PC的前往地址R15是程序计数器pc,用来保管处置器取指的地址6个形状存放器包括1个当前程序存放器〔CPSR〕和5个备份形状存放器〔SPSR〕CPSR一切方式通用,SPSR是处置器进入异常方式时用来保管CPSR存放器内容的2.1ARM9存放器〔4〕形状存放器形状存放器构造32位会被分成四个域:标志位域f(flagfield),PSR[31:24];形状域s(statusfield),PSR[23:16];扩展域x(extendfield),PSR[15:8];控制域c(controlfield),PSR[7:0]2.1ARM9存放器〔5〕形状存放器第31位阐明结果的正负;N=1表示结果为负第30位阐明运算结果;Z=1表示运算结果为0第29位表示进位;C=1阐明产生进位第28位,V=1表示结果的符号位发生了溢出第27位Q是用来指示DSP指令能否溢出第24位J=1阐明处置器处于Jazalle形状第7、6位是中断制止位,I=1制止外部中断;F=1制止快速中断第5位反响处置器在那种形状下运转,T=0处置器在ARM形状下;T=1处置器运转在Thumb形状下第4-0位称为方式位,用来表示处置器此时所处的方式,值如下:M[4:0]处理器模式M[4:0]处理器模式10000用户模式10111数据访问中止模式10001快速中断模式11011未定义指令中止模式10010外部中断模式11111系统模式10011管理模式其他的组合会使处置器进入一个无法修复的形状2.2流水线技术和哈佛体系构造〔1〕一条指令的执行可以分为1:取指,2:译码,3:取操作数,4:执行运算,5:存储器访问,6结果写回存放器ARM7采用的是3级流水线取址译码存放器、存储器的读写操作,移位操作、ALU操作FETCHDECODEEXECUTEEXECUTE阶段任务量大,需求多个时钟周期,限制了系统性能2.2流水线技术和哈佛体系构造〔2〕周期1周期2周期3周期4周期5 取指译码执行 取指译码执行取指译码执行三级流水线表示图2.2流水线技术和哈佛体系构造〔3〕ARM9采用5级流水线取指译码和读取存放器操作数产生ALU运算结果或存储器地址存储器读写操作结果写回寄存器FETCHDECODEEXECUTEMEMORYWRITE流水线级数的添加减少了每条指令的平均执行周期;充分流水化,减少了流水线的停顿2.2流水线技术和哈佛体系构造〔4〕周期1周期2周期3周期4周期5周期6周期7FETCHDECODEEXECUTEMEMORYWRITEFETCHDECODEEXECUTEMEMORYWRITEFETCHDECODEEXECUTEMEMORYWRITE FETCHDECODEEXECUTEMEMORY2.2流水线技术和哈佛体系构造〔5〕2.2流水线技术和哈佛体系构造〔6〕冯·诺依曼体系将数据和指令全部存储在同一个存储器中,大多数的计算机采用。包括ARM7哈佛体系中,指令存储和数据存储是分开的,指令的存取和数据的存取经过不同的数据总线进展指令存放器控制器数据通道输入输出中央处置器存储器程序指令0指令1指令2指令3指令4数据数据0数据1数据2冯·诺依曼体系构造〔ARM7〕2.2流水线技术和哈佛体系构造〔7〕2.2流水线技术和哈佛体系构造〔8〕指令存放器控制器数据通道输入输出CPU程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据哈佛体系构造〔ARM9以后〕2.3CP15协处置器(1)协处置器需求专门的协处置器指令来操作ARM可以支持16个协处置器CP15协处置器,即系统控制协处置器(SystemControlCoprocessor)是非常重要的协处置器用来配置和控制缓存,紧耦合存储器(TCM),内存管理单元(MMU),时钟方式等CP15提供了16个额外的存放器CP15协处置器(2)
寄存器名称读/写C0ID编码寄存器(IDCode)只读C0缓存类型寄存器(Cachetype)只读C0TCM寄存器(TCMstatus)只读C1控制寄存器(Control)读写C2转换页表基址寄存器(TranslationTableBase)读写C3域访问控制寄存器(DomainAccessControl)读写C4保留C5数据异常状态寄存器(Datafaultstatus)读写C5指令异常状态寄存器(Instructionfaultstatus)读写C6异常地址寄存器(FaultAddress)读写C7缓存操作寄存器(CacheOperation)读写C8TLB操作寄存器(TLBOperation)只写C9缓存锁定寄存器(Cachelockdown)读写C9TCM区域寄存器(TCMregion)读写C10TLB锁定寄存器(TLBlockdown)读写C11保留C12保留C13快速上下文切换扩展进程ID寄存器(FCSEPID)读写C13上下文ID寄存器(ContextID)读写C14保留C15测试配置寄存器(Testconfiguration)读写寄存器编号基本作用0访问ID编码寄存器,缓存类型寄存器,TCM状态寄存器1指定启用或禁用缓存和MMU的配置2保存第一级换页表的基址3域访问控制寄存器5访问异常状态寄存器(数据异常状态寄存器和指令异常状态寄存器)6保存当数据终止发生时修改的虚拟地址MVA7控制高速缓存和写缓存8控制TLB9访问缓存锁定寄存器和TCM区域寄存器10TLB锁定寄存器决定表遍历硬件是将TLB项放入主TLB还是锁定TLB13访问进程ID寄存器15测试配置寄存器,提供特定设备的测试和调试操作3、ARM9处置器的内存管理内存管理单元MMU(MemoryManagementUnit)作用有了MMU,才干运用虚拟内存构成:一个或一组芯片组成,普通存在于协处置器中CPU产生的虚拟地址被先送到MMU中,经过一定的映射,转换为物理地址,然后进展相应的读写操作控制内存的访问权限MMU中的地址变换过程:经过两级页表实现。a)一级页表中包含有以段为单位的地址变换条目以及指向二级页表的指针。以段为单位的地址变换过程只需求一级页表。b)二级页表中包含有以大页和小页为单位的地址变换条目。有一种类型的二级页表还包含有以微小页为单位的地址变换条目。以页为单位的地址变换过程需求二级页表。
当ARM要访问存储器时,MMU先查找TLB〔TranslationLookasideBuffer,旁路转换缓冲)中的虚拟地址表。假设TLB中没有虚拟地址的入口,那么转换表遍历硬件会从存放在内存的转换表中获得转换和访问器权限。一旦取到,这些信息将被放到TLB中,这时访问存储器的TLB入口就拿到了。〔1.
C〔高速缓存〕和B〔缓冲〕位被用来控制高速缓存和写缓冲,并决议能否高速缓存。〔假设系统中没有高速缓存和写缓冲,那么对应的位将被忽略〕
2.
访问权限和域位用来控制访问能否被允许。假设不允许,那么MMU将向ARM处置器发送一个存储器异常;否那么访问将被允许进展。
3.
对没有高速缓存的系统〔包括在没有高速缓存系统中的一切存储器访问〕,物理地址将被用作主存储器访问的地址。对有高速缓存的系统,在高速缓存没有选中的情况下,物理地址将被用行取(line
fetch)的地址。假设选中了高速缓存,那么物理地址将被忽略。〕3.2ARM9内存管理〔1〕 CPU产生的虚拟地址 快速上下文切换扩展FCSE(FastContextSwitchExtension)
MMU
虚拟地址MVAFCSE是MMU的一个附加硬件,位于CPU和MMU之间,它根据CP15协处置器的c3的值把虚拟地址转换为修正的虚拟地址(MVA)保证每个进程的虚拟空间不会有重合,防止在进展进程切换时呵斥虚拟地址到物理地址的重映射3.2ARM9内存管理〔2〕访问转换表的一级描画符MVATTBRModifiedVirtualAddressTTBR转换表基址存放器,即CP15协处置器的c2存放器。它指向物理内存中的转换表每段描画1MB的虚拟内存,共4096表项,总寻址空间4GB3.2ARM9内存管理〔3〕一级描画符页表项类型决议位[1:0]段映射在经过这一步后便能能得到最后的物理地址。3.2ARM9内存管理〔4〕段描画符格式段描画符位含义2-63.2ARM9内存管理〔5〕D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0域访问控制存放器C3值含义描述00不允许访问任何访问都会产生域错位01用户所有访问需要审核相应的段描述符或页描述符的访问权限位(AP)10保留这是一种保留的情况。现阶段它和00情况下是一样的,即访问便产生错误11管理员所有访问不必检测访问权限位域控制定义3.2ARM9内存管理〔6〕APSR特权权限用户权限0000不允许访问不允许访问0010只读不允许访问0001只读只读0011不可预测不可预测01XX读写不允许访问10XX读写只读11XX读写读写访问权限位AP3.2ARM9内存管理〔7〕3.2ARM9内存管理〔8〕根据粗页表访问大页面3.2ARM9内存管理〔8〕31 1098543210粗页表描画符格式Coarsepagetablebaseaddress[31::12]二级描述符的基地址[9][3:2]恒为0[8:5]这些位指定的16个可能的领域之一[4]恒为1[1:0]必须为01,表示这是段粗页表描述符二级描画符位含义3.2ARM9内存管理〔9〕31 121198543210[1:0]第二级描述符类型00出错01大页面描述符,页表大小为64KB10小页面描述符,页表大小为4KB11微小页面描述符,页表大小为1KB细页表格式二级描画符页表项类型决议位[1:0]3.2ARM9内存管理〔10〕31 16151211109876543210二级描画符格式位数描述大页面小页面微小页面[31:16][31:12][31:10]这些位是相应页表物理地址的基地址[15:12][9:6]恒为0[11:4][11:4][5:4]访问权限位[3:2][3:2][3:2]C被置1时为写通模式(write-through)B被置1时为写回模式(write-back)但C和B同时只能一个被置1[1:0][1:0][1:0]指示二级描述符表象的类型二级描画符位含义04、ARM9异常异常(Exception)是指任何打断处置器正常执行过程,迫使处置器转换到特权形状执行特定指令的事件。中断(Interrupt)是异常的一种,通常情况下会将它与异步异常等同对待,这曾经是一种被广泛采用的用法。4.1ARM9异常〔2〕ARM总共有7种处置器异常:复位(Reset)异常:复位可以经过按下复位键产生Reset信号实现;也可以经过指令转跳到复位异常中断处置程序实现,这种方式称为软复位未定义指令(UndefinedInstruction)异常:当处置器或协处置器不能识别当前指令时,会产生未定义指令中断软件中断(SWI)异常:这是由用户定义的中断指令,通常用于提供系统调用接口4.1ARM9异常〔3〕指令预取中止(PrefetchAbort)异常:假设预取指令的地址不存在或不允许访问,会产生预取中止异常数据访问中止(DataAbort)异常:假设恳求数据的地址不存在或不允许访问,会产生数据访问异常外部中断恳求(IRQ):IRQ信号被触发且CPSR存放器I位清零时会产生该中断快中断恳求(FIQ):FIQ信号被触发且CPSR存放器F位清零时会产生该中断4.1ARM9异常〔4〕异常发生后,处置器会进入5种异常方式中一种并处置该异常复位异常和软件中断异常时,处置器进入管理(Supervisor)方式未定义指令异常时,处置器进入未定义(Undef)方式指令预取中止异常和数据访问中止异常时时,处置器进入中止(Abort)方式外部中断恳求时,处置器进入外部中断(IRQ)方式快中断恳求时,处置器进入快中断(FIQ)方式4.2ARM9异常处置向量表异常向量地址及处置优先级向量地址异常优先级0x00复位异常10x04未定义指令异常60x08软件中断60x0C指令预取中止异常50x10数据访问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年五年级语文上册第六单元19天火之谜教案苏教版
- 申请补助申请书
- 二零二五年度路灯照明工程灯具回收利用合同3篇
- 2025年度建筑安全防护设施租赁合同范本
- 房租申请书范文
- 二零二五版能源项目合作居间服务协议2篇
- 现代农业企业经营管理的现代化进程与创新方向分析讲座
- 住房公积金提取申请书
- 2025年度国际电影节制片人合作意向书
- 2025年度仓储柜子租赁与维护服务合同
- GB/T 16475-1996变形铝及铝合金状态代号
- GB 4706.20-2004家用和类似用途电器的安全滚筒式干衣机的特殊要求
- 无纸化会议系统解决方案
- 佛教空性与缘起课件
- 上海铁路局劳动安全“八防”考试题库(含答案)
- 《愿望的实现》教学设计
- 效率提升和品质改善方案
- 中山大学抬头信纸中山大学横式便笺纸推荐信模板a
- 义务教育学科作业设计与管理指南
- 《汽车发展史》PPT课件(PPT 75页)
- 常暗之厢(7规则-简体修正)
评论
0/150
提交评论