2章-ARM处理器和架构_第1页
2章-ARM处理器和架构_第2页
2章-ARM处理器和架构_第3页
2章-ARM处理器和架构_第4页
2章-ARM处理器和架构_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第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%的的市场。。2011年,,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)2011年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系系列专门门为安全全要求较较高的应应用设计计1.3ARM微处理理器系列列x86架架构与ARM架架构对比比(1))x86架架构与ARM架架构对比比(2))x86架架构与ARM架架构对比比(3))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年发布布。2013年年上市的的高档智智能手机机,将采采用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)工作模式式下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位称为为模式位位,用来来表示处处理器此此时所处处的模式式,值如如下:其余的组组合会使使处理器器进入一一个无法法修复的的状态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周周期期7FETCHDECODEEXECUTEMEMORYWRITEFETCHDECODEEXECUTEMEMORYWRITEFETCHDECODEEXECUTEMEMORYWRITEFETCHDECODEEXECUTEMEMORY2.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)

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)域访问控控制寄存存器C3域控制定定义3.2ARM9内存管管理(6)访问权限限位AP3.2ARM9内存管管理(7)3.2ARM9内存管管理(8)根据粗页页表访问问大页面面3.2ARM9内存管管理(8)311098543210粗页表描描述符格格式二级描述述符位含含义3.2ARM9内存管管理(9)31121198543210细页表格格式二级描述述符页表表项类型型决定位位[1::0]3.2ARM9内存管管理(10)3116151211109876543210二级描述述符格式式二级描述述符位含含义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异常处处理向量量表异常向量量地址及及处理优优先级4.3ARM9异常处处理过程程保存异常常返回地地址(确确切的说说是当前前PC))到连接接寄存器器R14中,注注意这个个R14是指异异常模式式下的连连接寄存存器保存CPSR寄寄存器内内容到SPSR,同样样注意这这个SPSR也也是异常常模式下下的状态态寄存器器改写CPSR[[4:0],以以切换到到相应的的异常模模式中去去置位CPSR的的第7位位来禁止止IRQ。如果果异常本本身为快快中断或或复位,,还需要要置位第第6位来来禁止FIQ根据异常常向量表表,跳转转到异常常处理代代码处执执行异常常处理小结ARM处处理器概概述ARM指指令集体体系结构构的各个个版本ARM处处理器系系列ARM9处理器器的架构构内存管理理异常处理理谢谢!CISC和RISC((1)CISC:复杂杂指令集集(ComplexInstructionSetComputer)具有大量量的指令令和寻址址方式执行频度度高的简简单指令令,因复复杂指令令的存在在,执行行速度无无法提高高2-8原原则:80%的的程序只只使用20%的的指令用20%的的简单指指令组合合不常用用的80%的的指令功功能RISC:精简简指令集集(ReducedInstructionSetComputer)包含了简简单、基基本的指指令,透透过这些些简单、、基本的的指令,,就可以以组合成成复杂指指令。同样长度度的指令令大多数的的指令都都可以在在一个机机器周期期里完成成,并且且允许处处理器在在同一时时间内执执行一系系列的指指令。CISC体系的的优缺点点优点:能够有效效缩短新新指令的的微代码码设计时时间,允允许设计计师实现现CISC体系系机器的的向上相相容。新新的系统统可以使使用一个个包含早早期系统统的指令令超集合合,也就就可以使使用较早早电脑上上使用的

温馨提示

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

评论

0/150

提交评论