《ARM处理器和架构》PPT课件.ppt_第1页
《ARM处理器和架构》PPT课件.ppt_第2页
《ARM处理器和架构》PPT课件.ppt_第3页
《ARM处理器和架构》PPT课件.ppt_第4页
《ARM处理器和架构》PPT课件.ppt_第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的Xscale 1 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 和链接指令完成操作系统调用的软件中断指令SWI 1 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架构的新产品CortexA15 2 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操作 FETCH DECODE EXECUTE EXECUTE阶段工作量大 需要多个时钟周期 限制了系统性能 2 2流水线技术和哈佛体系结构 2 周期1周期2周期3周期4周期5取指译码执行取指译码执行取指译码执行 三级流水线示意图 2 2流水线技术和哈佛体系结构 3 ARM9采用5级流水线 取指 译码和读取寄存器操作数 产生ALU运算结果或存储器地址 存储器读写操作 结果写回寄存器 FETCH DECODE EXECUTE MEMORY WRITE 流水线级数的增加减少了每条指令的平均执行周期 充分流水化 减少了流水线的停顿 2 2流水线技术和哈佛体系结构 4 周期1周期2周期3周期4周期5周期6周期7FETCHDECODEEXECUTEMEMORYWRITEFETCHDECODEEXECUTEMEMORYWRITEFETCHDECODEEXECUTEMEMORYWRITEFETCHDECODEEXECUTEMEMORY 2 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 对没有高速缓存的系统 包括在没有高速缓存系统中的所有存储器访问 物理地址将被用作主存储器访问的地址 对有高速缓存的系统 在高速缓存没有选中的情况下 物理地址将被用行取 linefetch 的地址 如果选中了高速缓存 则物理地址将被忽略 3 2ARM9内存管理 1 CPU产生的虚拟地址快速上下文切换扩展FCSE FastContextSwitchExtension MMU 虚拟地址 MVA FCSE是MMU的一个附加硬件 位于CPU和MMU之间 它根据CP15协处理器的c3的值把虚拟地址转换为修改的虚拟地址 MVA 保证每个进程的虚拟空间不会有重合 避免在进行进程切换时造成虚拟地址到物理地址的重映射 3 2ARM9内存管理 2 访问转换表的一级描述符 MVA TTBR ModifiedVirtualAddress TTBR转换表基址寄存器 即CP15协处理器的c2寄存器 它指向物理内存中的转换表 每段描述1MB的虚拟内存 共4096表项 总寻址空间4GB 3 2ARM9内存管理 3 一级描述符页表项类型决定位 1 0 段映射在经过这一步后便能能得到最后的物理地址 3 2ARM9内存管理 4 段描述符格式 段描述符位含义 2 6 3 2ARM9内存管理 5 域访问控制寄存器C3 域控制定义 3 2ARM9内存管理 6 访问权限位AP 3 2ARM9内存管理 7 3 2ARM9内存管理 8 根据粗页表访问大页面 3 2ARM9内存管理 8 311098543210 粗页表描述符格式 二级描述符位含义 3 2ARM9内存管理 9 31121198543210 细页表格式 二级描述符页表项类型决定位 1 0 3 2ARM9内存管理 10 3116151211109876543210 二级描述符格式 二级描述符位含义 0 4 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体系的优缺点 优点 能够有效缩短新指令的微代

温馨提示

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

最新文档

评论

0/150

提交评论