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

下载本文档

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

文档简介

第2章ARM处理器和架构第2章ARM处理器和架构提纲1、ARM处理器概述2、ARM9处理器架构3、ARM9处理器内存管理4、ARM9异常处理提纲1、ARM处理器概述ARM是什么?ARM是什么?1、ARM处理器概述ARM公司简介ARM公司总部位于英国剑桥,全称AdvancedRISC(ReducedInstructionSetComputer即精简指令集计算机)MachinesARM公司是apple、nokia、Acorn、VLSI、Technology等公司的合资企业。独特的知识产权(IP)授权方式,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片。超过200家合作伙伴,包括Intel,IBM,SONY,NEC等ARM设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。1、ARM处理器概述ARM公司简介ARM产品简介

ARM处理器ARM处理采用RISC架构,具有高性能、低成本、低耗能、合作伙伴众多等特点应用范围极广,包括消费电子、工业控制、通信系统、网络系统、军工项目ARM系列产品ARM7系列ARM9系列ARM9E系列ARM10E系列ARM11系列SecurCore系列Intel的StrongARMIntel的XscaleARM产品简介ARM处理器1.2ARM指令集体系结构版本(1)ARM主要采用32位指令集,占据了32位RISC处理器80%的市场。2011年,ARM的客户报告了79亿ARM处理器出货量,占有95%的智能手机,90%的硬盘驱动器,40%的数字电视和机顶盒,15%的单片机,和20%的移动电脑。从成立至今,总共推出了7个版本的体系结构,不仅引入了Thumb16位指令集,而且在性能上也不断提高。1.2ARM指令集体系结构版本(1)ARM主要采用32位指令1.2ARM指令集体系结构版本(2)V1版本该版本并未商业化,而只在原型机ARM1上出现过寻址空间为64M只提供基本的数据处理指令,甚至不包含乘法指令提供基于字节、字、多字的Load/store存储器访问指令子程序调用指令(BL)和链接指令完成操作系统调用的软件中断指令SWI1.2ARM指令集体系结构版本(2)V1版本1.2ARM指令集体系结构版本V2版本是V1版本的扩展,它还包括一个扩展版本v2a。ARM2采用了v2版本,而ARM3则是v2a架构。支持乘法指令和乘加指令支持协处理器操作指令对于快中断(FIQ)提供影子寄存器支持支持SWP和SWPB指令1.2ARM指令集体系结构版本V2版本是V1版本的扩展,它还1.2ARM指令集体系结构版本(3)V3版本是ARM被大规模使用的开始地址空间扩展到32位,而且向前兼容(除了v3g子版本以外)26位的地址空间增加CPSR(CurrentProgramStatusRegister,当前程序状态寄存器)和SPSR(SavedProgramStatusRegister,备份程序状态寄存器)增加了两条指令:MRS指令和MSR指令增加了中止(Abort)和未定义两种异常模式改进了从异常返回的指令1.2ARM指令集体系结构版本(3)V3版本是ARM被大规模1.2ARM指令集体系结构版本(4)V4版本是被最广泛应用的ARM体系结构ARM7、ARM9、StrongARM都采用v4架构引入了Thumb状态增加了系统模式增加了对有符号、无符号半字和有符号字节的存/取指令1.2ARM指令集体系结构版本(4)V4版本是被最广泛应用的1.2ARM指令集体系结构版本(5)v5版本ARM9E、ARM10和XScale都采用v5架构。提高了ARM指令集和Thumb指令集的混合使用的效率增加了前导零计数(CLZ)指令引入了软件断点(BKPT)指令增加了数字信号处理指令(v5TE版)1.2ARM指令集体系结构版本(5)v5版本1.2ARM指令集体系结构版本(6)v6版本ARM11处理器采用V6版本具备高性能定点DSP功能引入全新Jazelle技术支持SIMD(SingleInstructionMultipleData,单指令流多数据流)技术v6支持多微处理器内核1.2ARM指令集体系结构版本(6)v6版本1.2ARM指令集体系结构版本(7)v7版本是目前为止ARM处理器体系结构的最高版本定义了三大系列:“A”,”R”,”M”采用了Thunmb-2技术采用NEON技术,即进阶SIMD延伸集支持改良的浮点运算支持改良的运行环境,以迎合不断增加的JIT(JustInTime)和DAC(DynamicAdaptiveCompilation)技术的使用1.2ARM指令集体系结构版本(7)v7版本是目前为止ARM1.2ARM指令集体系结构版本(8)2011年10月ARM终于宣布了自己的第一个64位指令集处理器架构“ARMv8”,引入了一个全新指令集A64。目前的ARMv7架构的主要特性都将在ARMv8架构中得以保留或进一步拓展iphone5s采用A7处理器,A7是全球首款被用于智能手机上的ARM架构64位处理器1.2ARM指令集体系结构版本(8)2011年10月ARM终第2章_ARM处理器和架构课件1.3ARM微处理器系列ARM微处理器以及授权厂商基于ARM体系结构设计的微处理器现在主要有下面几个系列:ARM7系列,ARM9系列,ARM9E系列,ARM10E系列,ARM11系列,Cortex系列,SecurCore系列,StrongARM系列和XScale系列。其中ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列都提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用设计1.3ARM微处理器系列ARM微处理器以及授权厂商基于AR第2章_ARM处理器和架构课件第2章_ARM处理器和架构课件第2章_ARM处理器和架构课件第2章_ARM处理器和架构课件1.3ARM微处理器系列1.3ARM微处理器系列x86架构与ARM架构对比(1)x86架构与ARM架构对比(1)x86架构与ARM架构对比(2)x86架构与ARM架构对比(2)x86架构与ARM架构对比(3)x86架构与ARM架构对比(3)x86架构与ARM架构对比(4)x86架构与ARM架构对比(4)x86架构与ARM架构对比(5)这是首款采用英特尔AtomZ2580处理器的手机,X86架构只要不调用额外的内容,程序一般都不会出现兼容性问题。在评测中发现,同等条件下联想K900机身发热高于其他手机,电池续航时间相对于其他几款手机略显短随着RISC处理器在嵌入式领域中大放异彩,传统的X86系列CISC处理器在Intel公司的积极改进下也克服了功耗过高的问题,成为一些高性能嵌入式设备的最佳选择x86架构与ARM架构对比(5)这是首款采用英特尔Atomx86架构与ARM架构对比(6)1ARM2X863X86和ARM发展到今天,CISC与RISC之间的界限已经不再是那么泾渭分明,RISC自身的设计正在变得越来越复杂,例如:允许一些特定指令的执行周期数字可变,以降低功耗,减小面积和代码尺寸。(当然并不是完全依着CISC的思路变复杂),因为所有实际使用的CPU都需要不断提高性能,所以在体系结构中加入新特点就在所难免。另一方面,原来被认为是CISC体系结构的处理器也吸收了许多RISC的优点,比如Pentium处理器在内部的实现中也是采用的RISC的架构,复杂的指令在内部由微码分解为多条精简指令来运行,但是对于处理器外部来说,为了保持兼容性还是以CISC风格的指令集展示出来。x86架构与ARM架构对比(6)1ARM1.3ARM微处理器系列产量最大的低端电子产品,如果使用ARM公司的处理器授权内核,大都采用ARM9内核,而ARM9内核,是基于ARMv5架构。比较先进的电子产品,大都采用ARM11内核,该内核是基于ARMv6架构,2001年发布。少数最先进的电子产品,如高档智能手机,大都采用CortexA8或CortexA9内核,该内核基于ARMv7架构,2006年发布。2013年上市的高档智能手机,将采用ARMv7架构的新产品CortexA151.3ARM微处理器系列产量最大的低端电子产品,如果使用A2、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、ARM9处理器架构ARM9处理器系列有两个分支2.1ARM9寄存器(1)37个32位寄存器31个属于通用寄存器6个为ARM处理器不同工作模式所设立的专用状态寄存器,状态寄存器虽然也是32位的,但是ARM9只使用了其中的14位6个状态寄存器并不是在任意时候都能使用的,某些寄存器在不同的处理器工作模式下有不同的的访问权限2.1ARM9寄存器(1)37个32位寄存器2.1ARM9寄存器(2)ARM9处理器模式用户模式(User)快速中断模式(FIQ)外部中断模式(IRQ)管理模式(Supervisor)中止模式(Abort)未定义模式(Undef)系统模式(System)七种模式之间可以相互切换特权模式异常模式2.1ARM9寄存器(2)ARM9处理器模式特权模式异常模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寄存器(3)工作模式下ARM寄存器的使用R02.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寄存器(4)状态寄存器状态寄存器结构32位会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.1ARM9寄存器(5)状态寄存器第31位表明结果的正负2.2流水线技术和哈佛体系结构(1)一条指令的执行可以分为1:取指,2:译码,3:取操作数,4:执行运算,5:存储器访问,6结果写回寄存器ARM7采用的是3级流水线取址译码寄存器、存储器的读写操作,移位操作、ALU操作FETCHDECODEEXECUTEEXECUTE阶段工作量大,需要多个时钟周期,限制了系统性能2.2流水线技术和哈佛体系结构(1)一条指令的执行可以分为12.2流水线技术和哈佛体系结构(2)周期1周期2周期3周期4周期5

取指译码执行

取指译码执行

取指译码执行三级流水线示意图2.2流水线技术和哈佛体系结构(2)2.2流水线技术和哈佛体系结构(3)ARM9采用5级流水线取指译码和读取寄存器操作数产生ALU运算结果或存储器地址存储器读写操作结果写回寄存器FETCHDECODEEXECUTEMEMORYWRITE流水线级数的增加减少了每条指令的平均执行周期;充分流水化,减少了流水线的停顿2.2流水线技术和哈佛体系结构(3)ARM9采用5级流水线取2.2流水线技术和哈佛体系结构(4)周期1

周期2

周期3

周期4

周期5周期6周期7

FETCH

DECODE

EXECUTEMEMORYWRITE

FETCH

DECODE

EXECUTEMEMORYWRITE

FETCH

DECODE

EXECUTEMEMORYWRITE FETCHDECODEEXECUTEMEMORY2.2流水线技术和哈佛体系结构(4)周期12.2流水线技术和哈佛体系结构(5)2.2流水线技术和哈佛体系结构(5)2.2流水线技术和哈佛体系结构(6)冯·诺依曼体系将数据和指令全部存储在同一个存储器中,大多数的计算机采用。包括ARM7哈佛体系中,指令存储和数据存储是分开的,指令的存取和数据的存取通过不同的数据总线进行2.2流水线技术和哈佛体系结构(6)指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指令1指令2指令3指令4数据数据0数据1数据2冯·诺依曼体系结构(ARM7)2.2流水线技术和哈佛体系结构(7)指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指2.2流水线技术和哈佛体系结构(8)指令寄存器控制器数据通道输入输出CPU程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据哈佛体系结构(ARM9以后)2.2流水线技术和哈佛体系结构(8)指令寄存器控制器数据通道2.3CP15协处理器(1)协处理器需要专门的协处理器指令来操作ARM可以支持16个协处理器CP15协处理器,即系统控制协处理器(SystemControlCoprocessor)是非常重要的协处理器用来配置和控制缓存,紧耦合存储器(TCM),内存管理单元(MMU),时钟模式等CP15提供了16个额外的寄存器2.3CP15协处理器(1)协处理器需要专门的协处理器指令来CP15协处理器(2)

CP15协处理器(2) 第2章_ARM处理器和架构课件3、ARM9处理器的内存管理内存管理单元MMU(MemoryManagementUnit)作用有了MMU,才能使用虚拟内存构成:一个或一组芯片组成,一般存在于协处理器中CPU产生的虚拟地址被先送到MMU中,通过一定的映射,转换为物理地址,然后进行相应的读写操作控制内存的访问权限MMU中的地址变换过程:通过两级页表实现。a)一级页表中包含有以段为单位的地址变换条目以及指向二级页表的指针。以段为单位的地址变换过程只需要一级页表。b)二级页表中包含有以大页和小页为单位的地址变换条目。有一种类型的二级页表还包含有以微小页为单位的地址变换条目。以页为单位的地址变换过程需要二级页表。

3、ARM9处理器的内存管理内存管理单元MMU(Memory当ARM要访问存储器时,MMU先查找TLB(TranslationLookasideBuffer,旁路转换缓冲)中的虚拟地址表。如果TLB中没有虚拟地址的入口,则转换表遍历硬件会从存放在内存的转换表中获得转换和访问器权限。一旦取到,这些信息将被放到TLB中,这时访问存储器的TLB入口就拿到了。(1.

C(高速缓存)和B(缓冲)位被用来控制高速缓存和写缓冲,并决定是否高速缓存。(如果系统中没有高速缓存和写缓冲,则对应的位将被忽略)

2.

访问权限和域位用来控制访问是否被允许。如果不允许,则MMU将向ARM处理器发送一个存储器异常;否则访问将被允许进行。

3.

对没有高速缓存的系统(包括在没有高速缓存系统中的所有存储器访问),物理地址将被用作主存储器访问的地址。对有高速缓存的系统,在高速缓存没有选中的情况下,物理地址将被用行取(line

fetch)的地址。如果选中了高速缓存,则物理地址将被忽略。)当ARM要访问存储器时,MMU先查找TLB(3.2ARM9内存管理(1) CPU产生的虚拟地址

快速上下文切换扩展FCSE(FastContextSwitchExtension)

MMU

虚拟地址MVAFCSE是MMU的一个附加硬件,位于CPU和MMU之间,它根据CP15协处理器的c3的值把虚拟地址转换为修改的虚拟地址(MVA)保证每个进程的虚拟空间不会有重合,避免在进行进程切换时造成虚拟地址到物理地址的重映射3.2ARM9内存管理(1) CPU产生的虚拟地址虚拟地址3.2ARM9内存管理(2)

访问转换表的一级描述符MVATTBRModifiedVirtualAddressTTBR转换表基址寄存器,即CP15协处理器的c2寄存器。它指向物理内存中的转换表每段描述1MB的虚拟内存,共4096表项,总寻址空间4GB3.2ARM9内存管理(2)访问转换表的一级描述符MVAT3.2ARM9内存管理(3)

一级描述符页表项类型决定位[1:0]段映射在经过这一步后便能能得到最后的物理地址。3.2ARM9内存管理(3)一级描述符页表项类型决定位[13.2ARM9内存管理(4)段描述符格式段描述符位含义2-63.2ARM9内存管理(4)段描述符格式段描述符位含义2-63.2ARM9内存管理(5)域访问控制寄存器C3域控制定义3.2ARM9内存管理(5)域访问控制寄存器C3域控制定义3.2ARM9内存管理(6)访问权限位AP3.2ARM9内存管理(6)访问权限位AP3.2ARM9内存管理(7)3.2ARM9内存管理(7)3.2ARM9内存管理(8)根据粗页表访问大页面3.2ARM9内存管理(8)根据粗页表访问大页面3.2ARM9内存管理(8)31 1098543210粗页表描述符格式二级描述符位含义3.2ARM9内存管理(8)313.2ARM9内存管理(9)31 121198543210细页表格式二级描述符页表项类型决定位[1:0]3.2ARM9内存管理(9)313.2ARM9内存管理(10)

31 16151211109876543210二级描述符格式二级描述符位含义03.2ARM9内存管理(10)31 第2章_ARM处理器和架构课件4、ARM9异常异常(Exception)是指任何打断处理器正常执行过程,迫使处理器转换到特权状态执行特定指令的事件。中断(Interrupt)是异常的一种,通常情况下会将它与异步异常等同看待,这已经是一种被广泛采用的用法。4、ARM9异常异常(Exception)是指任何打断处理器4.1ARM9异常(2)ARM总共有7种处理器异常:复位(Reset)异常:复位可以通过按下复位键产生Reset信号实现;也可以通过指令转跳到复位异常中断处理程序实现,这种方式称为软复位未定义指令(UndefinedInstruction)异常:当处理器或协处理器不能识别当前指令时,会产生未定义指令中断软件中断(SWI)异常:这是由用户定义的中断指令,通常用于提供系统调用接口4.1ARM9异常(2)ARM总共有7种处理器异常:4.1ARM9异常(3)指令预取中止(PrefetchAbort)异常:若预取指令的地址不存在或不允许访问,会产生预取中止异常数据访问中止(DataAbort)异常:若请求数据的地址不存在或不允许访问,会产生数据访问异常外部中断请求(IRQ):IRQ信号被触发且CPSR寄存器I位清零时会产生该中断快中断请求(FIQ):FIQ信号被触发且CPSR寄存器F位清零时会产生该中断4.1ARM9异常(3)指令预取中止(PrefetchAb4.1ARM9异常(4)异常发生后,处理器会进入5种异常模式中一种并处理该异常复位异常和软件中断异常时,处理器进入管理(Supervisor)模式未定义指令异常时,处理器进入未定义(Undef)模式指令预取中止异常和数据访问中止异常时时,处理器进入中止(Abort)模式外部中断请求时,处理器进入外部中断(IRQ)模式快中断请求时,处理器进入快中断(FIQ)模式4.1ARM9异常(4)异常发生后,处理器会进入5种异常模式4.2ARM9异常处理向量表异常向量地址及处理优先级4.2ARM9异常处理向量表异常向量地址及处理优先级4.3ARM9异常处理过程保存异常返回地址(确切的说是当前PC)到连接寄存器R14中,注意这个R14是指异常模式下的连接寄存器保存CPSR寄存器内容到SPSR,同样注意这个SPSR也是异常模式下的状态寄存器改写CPSR[4:0],以切换到相应的异常模式中去置位CPSR的第7位来禁止IRQ。如果异常本身为快中断或复位,还需要置位第6位来禁止FIQ根据异常向量表,跳转到异常处理代码处执行异常处理4.3ARM9异常处理过程保存异常返回地址(确切的说是当前P小结ARM处理器概述ARM指令集体系结构的各个版本ARM处理器系列ARM9处理器的架构内存管理异常处理小结ARM处理器概述谢谢!谢谢!CISC和RISC(1)CISC:复杂指令集(ComplexInstructionSetComputer)具有大量的指令和寻址方式执行频度高的简单指令,因复杂指令的存在,执行速度无法提高2-8原则:80%的程序只使用20%的指令用20%的简单指令组合不常用的80%的指令功能RISC:精简指令集(ReducedInstructionSetComputer)包含了简单、基本的指令,透过这些简单、基本的指令,就可以组合成复杂指令。同样长度的指令大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。CISC和RISC(1)CISC:复杂指令集(ComplexCISC体系的优缺点优点:能够有效缩短新指令的微代码设计时间,允许设计师实现CISC体系机器的向上相容。新的系统可以使用一个包含早期系统的指令超集合,也就可以使用较早电脑上使用的相同软体。另外微程式指令的格式与高阶语言相匹配,因而编译器并不一定要重新编写。缺点:指令集以及晶片的设计比上一代产品更复杂,不同的指令,需要不同的时钟周期来完成,执行较慢的指令,将影响整台机器的执行效率。CISC体系的优缺点RISC体系的优缺点优点:在使用相同的晶片技术和相同运行时钟下,RISC系统的运行速度将是CISC的2~4倍。由于RISC处理器的指令集是精简的,它的记忆体管理单元、浮点单元等都能设计在同一块晶片上。RISC处理器比相对应的CISC处理器设计更简单,所需要的时间将变得更短,并可以比CISC处理器应用更多先进的技术,开发更快的下一代处理器。缺点:多指令的操作使得程式开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。另外就是RISC体系的处理器需要更快记忆体,这通常都集成于处理器内部,就是L1Cache(一级缓存)。返回RISC体系的优缺点优点:返回TightlyCoupledMemory紧致内存(1)分为数据TCM和指令TCM,用来存数某些关键数据和代码紧致内存是指片上快速存储区,与片上缓存具有同等的性能,目的是通过这一快速的存储区,一方面提高某些关键代码(如中断处理函数)的性能,另方面使存储访问延迟保持一致,这是实时性应用所要求的。TightlyCoupledMemory紧致内存(1)TightlyCoupledMemory紧致内存(2)Cache是一个通用目的的加速器,他会加速你的所有代码,而不依赖于存储方式。TCM只会加速你有意放入TCM的代码,其余的其他代码只能通过cache加速。Cache是一个通用目的解决方案,TCM在某些特殊情况下是非常有用的。

返回TightlyCoupledMemory紧致内存(2)EmbeddedTraceMacrocell嵌入式跟踪宏它支持实时指令跟踪、实时数据访问追踪、并包含触发和过滤逻辑,过滤功能可以只捕获特定的中断或特殊的文件的代码执行,相当于对代码的压缩功能粗略的讲,ETM的作用就是记录处理器做的事情并送到外面的调试器。

返回EmbeddedTraceMacrocell嵌入式跟踪第2章ARM处理器和架构第2章ARM处理器和架构提纲1、ARM处理器概述2、ARM9处理器架构3、ARM9处理器内存管理4、ARM9异常处理提纲1、ARM处理器概述ARM是什么?ARM是什么?1、ARM处理器概述ARM公司简介ARM公司总部位于英国剑桥,全称AdvancedRISC(ReducedInstructionSetComputer即精简指令集计算机)MachinesARM公司是apple、nokia、Acorn、VLSI、Technology等公司的合资企业。独特的知识产权(IP)授权方式,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片。超过200家合作伙伴,包括Intel,IBM,SONY,NEC等ARM设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。1、ARM处理器概述ARM公司简介ARM产品简介

ARM处理器ARM处理采用RISC架构,具有高性能、低成本、低耗能、合作伙伴众多等特点应用范围极广,包括消费电子、工业控制、通信系统、网络系统、军工项目ARM系列产品ARM7系列ARM9系列ARM9E系列ARM10E系列ARM11系列SecurCore系列Intel的StrongARMIntel的XscaleARM产品简介ARM处理器1.2ARM指令集体系结构版本(1)ARM主要采用32位指令集,占据了32位RISC处理器80%的市场。2011年,ARM的客户报告了79亿ARM处理器出货量,占有95%的智能手机,90%的硬盘驱动器,40%的数字电视和机顶盒,15%的单片机,和20%的移动电脑。从成立至今,总共推出了7个版本的体系结构,不仅引入了Thumb16位指令集,而且在性能上也不断提高。1.2ARM指令集体系结构版本(1)ARM主要采用32位指令1.2ARM指令集体系结构版本(2)V1版本该版本并未商业化,而只在原型机ARM1上出现过寻址空间为64M只提供基本的数据处理指令,甚至不包含乘法指令提供基于字节、字、多字的Load/store存储器访问指令子程序调用指令(BL)和链接指令完成操作系统调用的软件中断指令SWI1.2ARM指令集体系结构版本(2)V1版本1.2ARM指令集体系结构版本V2版本是V1版本的扩展,它还包括一个扩展版本v2a。ARM2采用了v2版本,而ARM3则是v2a架构。支持乘法指令和乘加指令支持协处理器操作指令对于快中断(FIQ)提供影子寄存器支持支持SWP和SWPB指令1.2ARM指令集体系结构版本V2版本是V1版本的扩展,它还1.2ARM指令集体系结构版本(3)V3版本是ARM被大规模使用的开始地址空间扩展到32位,而且向前兼容(除了v3g子版本以外)26位的地址空间增加CPSR(CurrentProgramStatusRegister,当前程序状态寄存器)和SPSR(SavedProgramStatusRegister,备份程序状态寄存器)增加了两条指令:MRS指令和MSR指令增加了中止(Abort)和未定义两种异常模式改进了从异常返回的指令1.2ARM指令集体系结构版本(3)V3版本是ARM被大规模1.2ARM指令集体系结构版本(4)V4版本是被最广泛应用的ARM体系结构ARM7、ARM9、StrongARM都采用v4架构引入了Thumb状态增加了系统模式增加了对有符号、无符号半字和有符号字节的存/取指令1.2ARM指令集体系结构版本(4)V4版本是被最广泛应用的1.2ARM指令集体系结构版本(5)v5版本ARM9E、ARM10和XScale都采用v5架构。提高了ARM指令集和Thumb指令集的混合使用的效率增加了前导零计数(CLZ)指令引入了软件断点(BKPT)指令增加了数字信号处理指令(v5TE版)1.2ARM指令集体系结构版本(5)v5版本1.2ARM指令集体系结构版本(6)v6版本ARM11处理器采用V6版本具备高性能定点DSP功能引入全新Jazelle技术支持SIMD(SingleInstructionMultipleData,单指令流多数据流)技术v6支持多微处理器内核1.2ARM指令集体系结构版本(6)v6版本1.2ARM指令集体系结构版本(7)v7版本是目前为止ARM处理器体系结构的最高版本定义了三大系列:“A”,”R”,”M”采用了Thunmb-2技术采用NEON技术,即进阶SIMD延伸集支持改良的浮点运算支持改良的运行环境,以迎合不断增加的JIT(JustInTime)和DAC(DynamicAdaptiveCompilation)技术的使用1.2ARM指令集体系结构版本(7)v7版本是目前为止ARM1.2ARM指令集体系结构版本(8)2011年10月ARM终于宣布了自己的第一个64位指令集处理器架构“ARMv8”,引入了一个全新指令集A64。目前的ARMv7架构的主要特性都将在ARMv8架构中得以保留或进一步拓展iphone5s采用A7处理器,A7是全球首款被用于智能手机上的ARM架构64位处理器1.2ARM指令集体系结构版本(8)2011年10月ARM终第2章_ARM处理器和架构课件1.3ARM微处理器系列ARM微处理器以及授权厂商基于ARM体系结构设计的微处理器现在主要有下面几个系列:ARM7系列,ARM9系列,ARM9E系列,ARM10E系列,ARM11系列,Cortex系列,SecurCore系列,StrongARM系列和XScale系列。其中ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列都提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用设计1.3ARM微处理器系列ARM微处理器以及授权厂商基于AR第2章_ARM处理器和架构课件第2章_ARM处理器和架构课件第2章_ARM处理器和架构课件第2章_ARM处理器和架构课件1.3ARM微处理器系列1.3ARM微处理器系列x86架构与ARM架构对比(1)x86架构与ARM架构对比(1)x86架构与ARM架构对比(2)x86架构与ARM架构对比(2)x86架构与ARM架构对比(3)x86架构与ARM架构对比(3)x86架构与ARM架构对比(4)x86架构与ARM架构对比(4)x86架构与ARM架构对比(5)这是首款采用英特尔AtomZ2580处理器的手机,X86架构只要不调用额外的内容,程序一般都不会出现兼容性问题。在评测中发现,同等条件下联想K900机身发热高于其他手机,电池续航时间相对于其他几款手机略显短随着RISC处理器在嵌入式领域中大放异彩,传统的X86系列CISC处理器在Intel公司的积极改进下也克服了功耗过高的问题,成为一些高性能嵌入式设备的最佳选择x86架构与ARM架构对比(5)这是首款采用英特尔Atomx86架构与ARM架构对比(6)1ARM2X863X86和ARM发展到今天,CISC与RISC之间的界限已经不再是那么泾渭分明,RISC自身的设计正在变得越来越复杂,例如:允许一些特定指令的执行周期数字可变,以降低功耗,减小面积和代码尺寸。(当然并不是完全依着CISC的思路变复杂),因为所有实际使用的CPU都需要不断提高性能,所以在体系结构中加入新特点就在所难免。另一方面,原来被认为是CISC体系结构的处理器也吸收了许多RISC的优点,比如Pentium处理器在内部的实现中也是采用的RISC的架构,复杂的指令在内部由微码分解为多条精简指令来运行,但是对于处理器外部来说,为了保持兼容性还是以CISC风格的指令集展示出来。x86架构与ARM架构对比(6)1ARM1.3ARM微处理器系列产量最大的低端电子产品,如果使用ARM公司的处理器授权内核,大都采用ARM9内核,而ARM9内核,是基于ARMv5架构。比较先进的电子产品,大都采用ARM11内核,该内核是基于ARMv6架构,2001年发布。少数最先进的电子产品,如高档智能手机,大都采用CortexA8或CortexA9内核,该内核基于ARMv7架构,2006年发布。2013年上市的高档智能手机,将采用ARMv7架构的新产品CortexA151.3ARM微处理器系列产量最大的低端电子产品,如果使用A2、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、ARM9处理器架构ARM9处理器系列有两个分支2.1ARM9寄存器(1)37个32位寄存器31个属于通用寄存器6个为ARM处理器不同工作模式所设立的专用状态寄存器,状态寄存器虽然也是32位的,但是ARM9只使用了其中的14位6个状态寄存器并不是在任意时候都能使用的,某些寄存器在不同的处理器工作模式下有不同的的访问权限2.1ARM9寄存器(1)37个32位寄存器2.1ARM9寄存器(2)ARM9处理器模式用户模式(User)快速中断模式(FIQ)外部中断模式(IRQ)管理模式(Supervisor)中止模式(Abort)未定义模式(Undef)系统模式(System)七种模式之间可以相互切换特权模式异常模式2.1ARM9寄存器(2)ARM9处理器模式特权模式异常模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寄存器(3)工作模式下ARM寄存器的使用R02.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寄存器(4)状态寄存器状态寄存器结构32位会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.1ARM9寄存器(5)状态寄存器第31位表明结果的正负2.2流水线技术和哈佛体系结构(1)一条指令的执行可以分为1:取指,2:译码,3:取操作数,4:执行运算,5:存储器访问,6结果写回寄存器ARM7采用的是3级流水线取址译码寄存器、存储器的读写操作,移位操作、ALU操作FETCHDECODEEXECUTEEXECUTE阶段工作量大,需要多个时钟周期,限制了系统性能2.2流水线技术和哈佛体系结构(1)一条指令的执行可以分为12.2流水线技术和哈佛体系结构(2)周期1周期2周期3周期4周期5

取指译码执行

取指译码执行

取指译码执行三级流水线示意图2.2流水线技术和哈佛体系结构(2)2.2流水线技术和哈佛体系结构(3)ARM9采用5级流水线取指译码和读取寄存器操作数产生ALU运算结果或存储器地址存储器读写操作结果写回寄存器FETCHDECODEEXECUTEMEMORYWRITE流水线级数的增加减少了每条指令的平均执行周期;充分流水化,减少了流水线的停顿2.2流水线技术和哈佛体系结构(3)ARM9采用5级流水线取2.2流水线技术和哈佛体系结构(4)周期1

周期2

周期3

周期4

周期5周期6周期7

FETCH

DECODE

EXECUTEMEMORYWRITE

FETCH

DECODE

EXECUTEMEMORYWRITE

FETCH

DECODE

EXECUTEMEMORYWRITE FETCHDECODEEXECUTEMEMORY2.2流水线技术和哈佛体系结构(4)周期12.2流水线技术和哈佛体系结构(5)2.2流水线技术和哈佛体系结构(5)2.2流水线技术和哈佛体系结构(6)冯·诺依曼体系将数据和指令全部存储在同一个存储器中,大多数的计算机采用。包括ARM7哈佛体系中,指令存储和数据存储是分开的,指令的存取和数据的存取通过不同的数据总线进行2.2流水线技术和哈佛体系结构(6)指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指令1指令2指令3指令4数据数据0数据1数据2冯·诺依曼体系结构(ARM7)2.2流水线技术和哈佛体系结构(7)指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指2.2流水线技术和哈佛体系结构(8)指令寄存器控制器数据通道输入输出CPU程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据哈佛体系结构(ARM9以后)2.2流水线技术和哈佛体系结构(8)指令寄存器控制器数据通道2.3CP15协处理器(1)协处理器需要专门的协处理器指令来操作ARM可以支持16个协处理器CP15协处理器,即系统控制协处理器(SystemControlCoprocessor)是非常重要的协处理器用来配置和控制缓存,紧耦合存储器(TCM),内存管理单元(MMU),时钟模式等CP15提供了16个额外的寄存器2.3CP15协处理器(1)协处理器需要专门的协处理器指令来CP15协处理器(2)

CP15协处理器(2) 第2章_ARM处理器和架构课件3、ARM9处理器的内存管理内存管理单元MMU(MemoryManagementUnit)作用有了MMU,才能使用虚拟内存构成:一个或一组芯片组成,一般存在于协处理器中CPU产生的虚拟地址被先送到MMU中,通过一定的映射,转换为物理地址,然后进行相应的读写操作控制内存的访问权限MMU中的地址变换过程:通过两级页表实现。a)一级页表中包含有以段为单位的地址变换条目以及指向二级页表的指针。以段为单位的地址变换过程只需要一级页表。b)二级页表中包含有以大页和小页为单位的地址变换条目。有一种类型的二级页表还包含有以微小页为单位的地址变换条目。以页为单位的地址变换过程需要二级页表。

3、ARM9处理器的内存管理内存管理单元MMU(Memory当ARM要访问存储器时,MMU先查找TLB(TranslationLookasideBuffer,旁路转换缓冲)中的虚拟地址表。如果TLB中没有虚拟地址的入口,则转换表遍历硬件会从存放在内存的转换表中获得转换和访问器权限。一旦取到,这些信息将被放到TLB中,这时访问存储器的TLB入口就拿到了。(1.

C(高速缓存)和B(缓冲)位被用来控制高速缓存和写缓冲,并决定是否高速缓存。(如果系统中没有高速缓存和写缓冲,则对应的位将被忽略)

2.

访问权限和域位用来控制访问是否被允许。如果不允许,则MMU将向ARM处理器发送一个存储器异常;否则访问将被允许进行。

3.

对没有高速缓存的系统(包括在没有高速缓存系统中的所有存储器访问),物理地址将被用作主存储器访问的地址。对有高速缓存的系统,在高速缓存没有选中的情况下,物理地址将被用行取(line

fetch)的地址。如果选中了高速缓存,则物理地址将被忽略。)当ARM要访问存储器时,MMU先查找TLB(3.2ARM9内存管理(1) CPU产生的虚拟地址

快速上下文切换扩展FCSE(FastContextSwitchExtension)

MMU

虚拟地址MVAFCSE是MMU的一个附加硬件,位于CPU和MMU之间,它根据CP15协处理器的c3的值把虚拟地址转换为修改的虚拟地址(MVA)保证每个进程的虚拟空间不会有重合,避免在进行进程切换时造成虚拟地址到物理地址的重映射3.2ARM9内存管理(1) CPU产生的虚拟地址虚拟地址3.2ARM9内存管理(2)

访问转换表的一级描述符MVATTBRModifiedVirtualAddressTTBR转换表基址寄存器,即CP15协处理器的c2寄存器。它指向物理内存中的转换表每段描述1MB的虚拟内存,共4096表项,总寻址空间4GB3.2ARM9内存管理(2)访问转换表的一级描述符MVAT3.2ARM9内存管理(3)

一级描述符页表项类型决定位[1:0]段映射在经过这一步后便能能得到最后的物理地址。3.2ARM9内存管理(3)一级描述符页表项类型决定位[13.2ARM9内存管理(4)段描述符格式段描述符位含义2-63.2ARM9内存管理(4)段描述符格式段描述符位含义2-63.2ARM9内存管理(5)域访问控制寄存器C3域控制定义3.2ARM9内存管理(5)域访问控制寄存器C3域控制定义3.2ARM9内存管理(6)访问权限位AP3.2ARM9内存管理(6)访问权限位AP3.2ARM9内存管理(7)3.2ARM9内存管理(7)3.2ARM9内存管理(8)根据粗页表访问大页面3.2ARM9内存管理(8)根据粗页表访问大页面3.2ARM9内存管理(8)31 1098543210粗页表描述符格式二级描述符位含义3.2ARM9内存管理(8)313.2ARM9内存管理(9)31 121198543210细页表格式二级描述符页表项类型决定位[1:0]3.2ARM9内存管理(9)313.2ARM9内存管理(10)

31 16151211109876543210二级描述符格式二级描述符位含义03.2ARM9内存管理(10)31 第2章_ARM处理器和架构课件4、ARM9异常异常(Exception)是指任何打断处理器正常执行过程,迫使处理器转换到特权状态执行特定指令的事件。中断(Interrupt)是异常的一种,通常情况下会将它与异步异常等同看待,这已经是一种被广泛采用的用法。4、ARM9异常异常(Exception)是指任何打断处理器4.1ARM9异常(2)ARM总共有7种处理器异常:复位(Reset)异常:复位可以通过按下复位键产生Reset信号实现;也可以通过指令转跳到复位异常中断处理程序实现,这种方式称为软复位未定义指

温馨提示

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

评论

0/150

提交评论