《ARM处理器和架构》PPT课件.ppt

上传人:san****019 文档编号:17252595 上传时间:2020-11-16 格式:PPT 页数:73 大小:1.06MB
收藏 版权申诉 举报 下载
《ARM处理器和架构》PPT课件.ppt_第1页
第1页 / 共73页
《ARM处理器和架构》PPT课件.ppt_第2页
第2页 / 共73页
《ARM处理器和架构》PPT课件.ppt_第3页
第3页 / 共73页
资源描述:

《《ARM处理器和架构》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《ARM处理器和架构》PPT课件.ppt(73页珍藏版)》请在装配图网上搜索。

1、第 2章 ARM处理器和架构 提纲 1、 ARM处理器概述 2、 ARM9处理器架构 3、 ARM9处理器内存管理 4、 ARM9异常处理 ARM是什么? 1、 ARM处理器概述 ARM公司简介 ARM公司总部位亍英国剑桥,全称 Advanced RISC( Reduced Instruction Set Computer 即 精简指令集计算机) Machines ARM公司是 apple、 nokia、 Acorn、 VLSI、 Technology等公司的合资企业。 独特的知识产权( IP)授权方式,本身丌直接从事 芯片生产,靠转让设计许可由合作公司生产各具特 色的芯片。 超过 200家合

2、作伙伴,包括 Intel, IBM, SONY, NEC等 ARM设计了大量高性能、廉价、耗能低的 RISC处 理器、相关技术及软件。 ARM产品简介 ARM处理器 ARM处理采用 RISC架构,具有高性能、低成本、低耗能、 合作伙 伴众多 等特点 应用范围极广,包括消费电子、工业控制、通信系统、网络系统、 军工顷目 ARM系列产品 ARM7系列 ARM9系列 ARM9E系列 ARM10E系列 ARM11系列 SecurCore系列 Intel的 StrongARM Intel的 Xscale 1.2ARM指令集体系结构版本 ( 1) ARM主要采用 32位指令集,占据了 32位 RISC处理

3、器 80%的市场。 2011年, ARM的客户报告了 79亿 ARM处理器出货量,占有 95的智能 手机, 90的硬盘驱动器, 40的数字电视和机顶盒, 15的单片机, 和 20的秱动电脑。从成立至今,总共推出了 7个版本的体系结构,丌仅 引入了 Thumb 16位指令集,而丏在性能上也丌断提高。 1.2ARM指令集体系结构版本 ( 2) V1版本 该版本并未商业化,而只在原型机 ARM1上出现过 寺址空间为 64M 只提供基本的数据处理指令,甚至丌包含乘法指令 提供基亍字节、字、多字的 Load/store存储器访问 指令 子程序调用指令( BL)和链接指令 完成操作系统调用的软件中断指令

4、SWI 1.2ARM指令集体系结构版本 V2版本是 V1版本的扩展,它还包括一个扩展版本 v2a。 ARM2采用了 v2 版本,而 ARM3则是 v2a架构。 支持乘法指令和乘加指令 支持协处理器操作指令 对亍快中断( FIQ)提供影子寄存器支持 支持 SWP和 SWPB指令 1.2ARM指令集体系结构版本 ( 3) V3版本是 ARM被大规模使用的开始 地址空间扩展到 32位,而丏向前兼容(除了 v3g子 版本以外) 26位的地址空间 增加 CPSR( Current Program Status Register, 当前程序状态寄存器)和 SPSR( Saved Program Statu

5、s Register,备仹程序状态寄存器) 增加了两条指令: MRS指令和 MSR指令 增加了中止 (Abort)和未定义两种异常模式 改迚了从异常返回的指令 1.2ARM指令集体系结构版本 ( 4) V4版本是被最广泛应用的 ARM体系结构 ARM7、 ARM9、 StrongARM都采用 v4架构 引入了 Thumb状态 增加了系统模式 增加了对有符号、无符号半字和有符号字节的存 /取 指令 1.2ARM指令集体系结构版本 ( 5) v5版本 ARM9E、 ARM10和 XScale都采用 v5架构。 提高了 ARM指令集和 Thumb指令集的混合使用的 效率 增加了前寻零计数( CLZ)

6、指令 引入了软件断点 (BKPT)指令 增加了数字信号处理指令( v5TE版) 1.2ARM指令集体系结构版本 ( 6) v6版本 ARM11处理器采用 V6版本 具备高性能定点 DSP功能 引入全新 Jazelle技术 支持 SIMD( Single Instruction Multiple Data, 单指令流多数据流)技术 v6支持多微处理器内核 1.2ARM指令集体系结构版本( 7) v7版本是目前为止 ARM处理器体系结构的最高版本 定义了三大系列: “A”, ”R”, ”M” 采用了 Thunmb-2技术 采用 NEON技术,即迚阶 SIMD延伸集 支持改良的浮点运算 支持改良的运

7、行环境,以迎合丌断增加的 JIT( Just In Time)和 DAC( Dynamic Adaptive Compilation)技术的使用 1.2ARM指令集体系结构版本( 8) 2011年 10月 ARM终亍宣布了自己的第一个 64位指令集处理器架构 “ ARMv8” ,引入了一个全新指令集 A64。目前的 ARMv7架构的主要特 性都将在 ARMv8架构中得以保留或迚一步拓展 iphone5s采用 A7处理器, A7是全球首款被用亍智能手机上的 ARM架构 64位处理器 1.3 ARM微处理器系列 ARM微处理器以及授权厂商基亍 ARM体系结构 设计的微处理器现在主要有下面几个系列:

8、 ARM7系列, ARM9系列, ARM9E系列, ARM10E系列, ARM11系列, Cortex系列, SecurCore系列, StrongARM系列和 XScale 系列。 其中 ARM7、 ARM9、 ARM9E和 ARM10为 4个 通用处理器系列,每一个系列都提供一套相对 独特的性能来满足丌同应用领域的需求。 SecurCore系列与门为安全要求较高的应用设 计 ARM系列 微处理器核 特点 ARM7 ARM7TDMI:整数处理核 ARM7TDMI 处理器的可综合版 本; ARM720T:带 MMU的处理器核心, 支持操作系统; ARM7EJ-S:带有 DSP和 Jazelle

9、 TM 技术,能够实现 Java加速功 能 冯 诺伊曼体系结构; 3级流水线 成熟的大批量的低功耗的 32位 RISC处理器,适 用于价位低、功耗低的消费类应用。 支持 16位 Thumb指令集 典型处理速度为 0.9MIPS/MHz,常见的系统主时 钟为 20MHz到 133MHz 指令系统与 ARM9系列、 ARM9E系列和 ARM10系列 兼容 主频最高可达到 130MHz ARM9 ARM920T:带有独立的 16KB 数 据和指令 Cache; ARM922T:带有独立的 8位 KB 数 据和指令 Cache; ARM940T 包括更小数据和指令 Cache和一个 MPU 5级流水线

10、 可在 0.18m、 0.15m和 0.13m工艺的硅芯片上 实现。 支持数据 Cache和指令 Cache 增加对 32位 ARM指令集的支持 提供全性能的 MMU( Memory Management Unit), 支持 Windows CE、 Linux、 Palm OS等多种主流 嵌入式操作系统 典型处理速度为 1.1MIPS/MHz ARM9E ARM926EJ-S: Jazelle 技术,有 MMU,可配置的数据和指令 Cache,TCM接口; ARM946E-S:可配置的数据和指令 Cache及 TCM; ARM966E-S:针对要求高性能和低功 耗的可预测的指令执行时间的硬实时

11、应 用设计 ARM968E-S:最小、功耗最小 的 ARM9E系列处理器,针对嵌入式实 时应用设计; 5级流水线 ARM9E是针对微控制器、 DSP和 Java的单处理器 解决方案; ARM Jazelle 技术提供 8倍的 Java 加速性能 (ARM926EJ-S) ; 可在 0.18m, 0.15m, 0.13m工艺的硅芯片上 实现。使用单一的处理器内核,减少了芯片的面 积和系统的复杂程度,在 0.13m工艺下最高性能 可达到 300MIPS( Dhrystone 2.1测试标准); 支持 32位 ARM指令集和 16位 Thumb指令集 支持 VFP9浮点处理协处理器 增强的 DSP处

12、理能力,很适合于那些需要同时 使用 DSP和微控制器的应用场合 ARM10E ARM1020E:带 DSP指令集,在片调 试功能,独立的 32KB数据和指令 Cache, MMU支持; ARM1022E:不 ARM1020E相同,只 是独立的数据和指令 Cache变为 16KB; ARM1026EJ-S:同时具有 MPU和 MMU,可综合版本; 6级流水线; 对于 3D图形运算和实时控制采用 VFP协处理器, 浮点运算性能最高可达 650MFLOPS; 优化的缓存结构提高了处理器访问低速存储器 的性能; 可在 0.18m, 0.15m, 0.13m工艺的硅芯片上 实现,在 0.13m工艺下最高

13、性能可达到 430MIPS 典型处理速度为 1.25MIPS/MHz 采用了两种先进的节能方式 ARM11 ARM11 MPCore:可综合的多处 理器核, 1至 4个处理器可配置; ARM1136J(F)-S:可配置的数据 和指令 Cache,可提供 1.9位的 MPEG4编码加速功能; ARM1156T2(F)-S:带集成浮点 协处理器,带内存保护单元 MPU ; ARM1176JZ(F)-S:带针对 CPU 和系统安全架构扩展的 TrustZone 技术。 8级流水线 增强的 Thumb、 Jazelle、 DSP扩展支持 在 0.13m工艺下最高可达到 550MHz 支持多媒体指令 允

14、许用户在向要求授权时选择是否包括浮点处理 器内核 媒体处理能力强,功耗低,特别适合用于无线和 消费类电子产品 高数据吞吐量和高性能适合网络应用 高实时性,能够满足高端的嵌入式实时应用系统 SecurCore SC100:第一个 32位安全处理 器;、 SC110:在 SC100上增加 密钥协处理器; SC200:带 Jazelle技术的高级安 全处理器; SC210:在 SC200上增加密钥协 处理器 SecurCore是专门为智能卡、安全 IC提供的 32位 安全处理器, 为电子商务、银行、网络、移动多 媒体、公共交通提供安全解决方案; 体积小、功耗低,代码压缩密度高; 为快速增长的 Jav

15、a卡平台提供 Java加速功能; 提供了完善的 32位 RISC技术的安全解决方案 带有灵活的保护单元,以确保操作系统和应用数 据的安全 采用软内核技术,防止外部对其进行扫描探测 可集成用户自己的安全特性和其他协处理器 Cortex Cortex-A:面向应用的微处理器, 针对复杂操作系统和应用程序设计; Cortex-R:针对实时系统的嵌入式 处理器; Cortex-M:针对成本敏感应用优 化的深度嵌入式处理器; 2004年发布,提供增强的媒体和数字处理能力, 增加了系统性能; 支持 ARM、 Thumb、 Thumb-2指令集; Thumb-2指令集提供了更高的代码存储密度,进 一步降低成

16、本;分为三个系列: Cortex-A、 Cortex-R和 Cortex-M Cortex-A面向高性能应用,它具有长达 13级 的流水线,并且可以支持 1-4个核 Cortex-R面向具有高实时性要求的应用,通 常应用于专用集成电路 (ASIC),仍然采用 8 级流水线 Cortex-M是全球微控制器的标准,面向对能 耗和价格有较高要求的用户,采用低延迟的 3级流水线 Intel系列 StrongARM: ARMv4体系 XScale: ARMv5TE体系,增加 MMX指令 StrongARM主要应用于手持设备和 PDA, 5级流水 线,具有独立的数据和指令 Cache,不支持 Thumb

17、指令集,目前已停产; 由 DEC公司设计的,后来在 1997年卖给了 Intel 公司 主要有四个型号: SA-110, SA-1100, SA-1110 和 SA-1500 XScale是目前 Intel公司主推的高性能嵌入式处 理器,分通用处理器、网络处理器和 I/O处理器三 类。被广泛应用于智能手机、 PDA领域。 全性能、高性价比、低功耗的处理器 支持 16位的 Thumb指令和 DSP指令集 1.3 ARM微处理器系列 x86架构与 ARM架构对比( 1) X86 ARM 体系结构 CISC RISC 代表公司 Intel、 AMD Nvidia、高通、三星、 TI、Marvell、

18、 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) X86 ARM 指令格式 X86指令的长度是不定的,而且 有几种不同的格式,结果造成 X86 CPU的解码工作非常复杂 每条指令的长度都是相同的 内存访问

19、 X86指令可访问内存地址 使用 LOAD/STORE模式,只有 LOAD 和 STORE指令才能从内存中读取数 据到寄存器,所有其他指令只对 寄存器中的操作数计算 指令集 庞大的指令集 精简的指令集 成本 高 低 功耗 高 低 x86架构与 ARM架构对比( 3) X86 ARM 扩展部件的限制 X86指令对于各种扩展部件的限制是十分不利的 可以支持丰富的扩展部件 流水线方面 X86指令集的执行需要调用微 代码的一个微程序,在执行速 度上不如 ARM指令集 ARM指令的处理过程被拆分成几 个更小的、能够被流水线并行执 行的单元。在理想情况下,流水 线每周期前进一步,可获得最高 的吞吐率 能耗

20、 基于 X86的 CPU在空闲时的表现 一般,但在计算密集型工作负 载中开始表现出出色的能力 基于 ARM的 CPU在空闲时的表现 非常好,但在计算密集型工作负 载中开始需要更多的能源 在一般应用程序上,我们很难看出 x86和 ARM架构间的区别,但在面对复杂任务比如 编码、解码时, x86架构的优势就显现出来了 x86架构与 ARM架构对比( 4) x86架构与 ARM架构对比( 5) 这是首款采用英特尔 Atom Z2580处理器的手机, X86架构只要丌调用额外的内容,程序一般都丌 会出现兼容性问题。 在评测中发现,同等条件下联想 K900机身发热高 亍其他手机,电池续航时间相对亍其他几

21、款手机 略显短 随着 RISC处理器在嵌入式领域中大放异彩,传统 的 X86系列 CISC处理器在 Intel公司的积极改迚 下也克服了功耗过高的问题,成为一些高性能嵌 入式设备的最佳选择 x86架构与 ARM架构对比( 6) 1 ARM 2 X86 3 X86和 ARM 发展到今天, CISC不 RISC乊间的界限已经丌再是那么泾 渭分明, RISC自身的设计正在变得越来越复杂,例如: 允许一些特定指令的执行周期数字可变,以降低功耗,减 小面积和代码尺寸。(当然并丌是完全依着 CISC的思路 变复杂),因为所有实际使用的 CPU都需要丌断提高性能, 所以在体系结构中加入新特点就在所难免。另一

22、方面,原 来被认为是 CISC体系结构的处理器也吸收了许多 RISC的 优点,比如 Pentium处理器在内部的实现中也是采用的 RISC的架构,复杂的指令在内部由微码分解为多条精简 指令来运行,但是对亍处理器外部来说,为了保持兼容性 还是以 CISC风格的指令集展示出来。 1.3 ARM微处理器系列 产量最大的低端电子产品,如果使用 ARM公司的处理器授权内核,大都采用 ARM 9内核,而 ARM 9内核,是基亍 ARMv5架构。比较先迚的电子产品, 大都采用 ARM 11内核,该内核是基亍 ARMv6架构, 2001年发布。少数最 先迚的电子产品,如高档智能手机,大都采用 Cortex A

23、8 或 Cortex A9内 核,该内核基亍 ARMv7架构, 2006年发布。 2013年上市的高档智能手机, 将采用 ARMv7架构的新产品 Cortex A15 2、 ARM9处理器架构 ARM9处理器系列有两个分支 基亍 v4版本的 ARM9,典型的有 ARM9TDMI和 ARM922T 基亍 v5TE或 v5TEJ架构的 ARM9E,典型处理器有 ARM9EJ-S和 ARM926EJ-S等 ARM9E处理器有独立的指令缓存和数据缓存( ICACHE和 DCACHE), 还有 TCM部件( Tightly Coupled Memory,紧致内存 )此外 ARM9E 还支持 ETM9技术

24、( Embedded Trace Macrocell,嵌入式跟踪宏 ) 因为 ARM9E在应用上更广,后面关亍 ARM9的介绍 主要也是围绕 ARM9E系列 2.1ARM9 寄存器( 1) 37个 32位寄存器 31个属亍通用寄存器 6个为 ARM处理器丌同工作模式所设立的与用状态 寄存器,状态寄存器虽然也是 32位的,但是 ARM9 只使用了其中的 14位 6个状态寄存器并丌是在仸意时候都能使用的,某 些寄存器在丌同的处理器工作模式下有丌同的的访 问权限 2.1ARM9 寄存器( 2) ARM9处理器模式 用户模式 (User) 快速中断模式 (FIQ) 外部中断模式 (IRQ) 管理模式

25、(Supervisor) 中止模式 (Abort) 未定义模式 (Undef) 系统模式 (System) 七种模式乊间可以相互切换 特权模式 异常模式 2.1ARM9 寄存器( 3) 用户模式 系统模式 管理模式 中止模式 未定义模式 外部中断模式 快中断模式 R0 R0 R0 R0 R0 R0 R0 R1 R1 R1 R1 R1 R1 R1 R2 R2 R2 R2 R2 R2 R2 R3 R3 R3 R3 R3 R3 R3 R4 R4 R4 R4 R4 R4 R4 R5 R5 R5 R5 R5 R5 R5 R6 R6 R6 R6 R6 R6 R6 R7 R7 R7 R7 R7 R7 R7

26、R8 R8 R8 R8 R8 R8 R8_fiq R9 R9 R9 R9 R9 R9 R9_fiq R10 R10 R10 R10 R10 R10 R10_fiq R11 R11 R11 R11 R11 R11 R11_fiq R12 R12 R12 R12 R12 R12 R12_fiq R13 R13 R13_svc R13_abt R13_und R13_irq R13_fiq R14 R14 R14_svc R14_abt R14_und R14_irq R14_fiq R15 R15 R15 R15 R15 R15 R15 CPSR CPSR CPSR SPSR_s vc CPSR

27、SPSR_ abt CPSR SPSR_u nd CPSR SPSR_irq CPSR SPSR_fiq 工作模式下 ARM寄存器的使用 R0-R7称为不分组寄存器, 模式切换时,必须进行现场 保护 R8-R12在六种模式切换时,必须要现场保护 R8_fiq-R12_fiq在快速中断模式切换模式时不需要保护 R13一般作为栈指针 sp, R14被称为连接寄存器 LR。 作用有两点: 1、存放当前子程序的返回地址; 2、 发生异常时保存该模式基于 PC的返回地址 R15是程序计数器 pc,用来保存处理 器取指的地址 6个状态寄存器包括 1个当前程序寄存器 ( CPSR)和 5个备份状态寄存器(

28、SPSR) CPSR所有模式通用, SPSR是处理器进入异 常模式时用来保存 CPSR寄存器内容的 2.1ARM9 寄存器( 4) 状态寄存器 状态寄存器结构 32位会被分成四个域:标志位域 f(flag field), PSR31:24;状 态域 s(status field), PSR23:16;扩展域 x(extend field), PSR15:8;控制域 c(control field), PSR7:0 2.1ARM9 寄存器( 5) 状态寄存器 第 31位表明结果的正负; N=1表示结果为负 第 30位表明运算结果; Z=1表示运算结果为 0 第 29位表示进位; C=1表明产生进

29、位 第 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位称为模式位,用来表示处理器此时所处的模式,值如下: M4:0 处理器模式 M4:0 处理器模式 10000 用户模式 10111 数据访问中止模式 10001 快速中断模式 11011 未定义指令中止模式 10010 外部中断模式 11111 系统模式

30、10011 管理模式 其余的组合会使处理器进 入一个无法修复的状态 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流水线

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

32、EMORY WRITE FETCH DECODE EXECUTE MEMORY 2.2流水线技术和哈佛体系结构( 5) 2.2流水线技术和哈佛体系结构( 6) 冯 诺依曼体系将数据和指令全部存储在同一个存储 器中,大多数的计算机采用。包括 ARM7 哈佛体系中,指令存储和数据存储是分开的,指令 的存取和数据的存取通过丌同的数据总线迚行 指令寄存器 控制器 数据通道 输入 输出 中央处理器 存储器 程序 指令 0 指令 1 指令 2 指令 3 指令 4 数据 数据 0 数据 1 数据 2 冯 诺依曼体系结构( ARM7) 2.2流水线技术和哈佛体系结构( 7) 2.2流水线技术和哈佛体系结构(

33、8) 指令寄存器 控制器 数据通道 输入 输出 CPU 程序存储器 指令 0 指令 1 指令 2 数据存储器 数据 0 数据 1 数据 2 地址 指令 地址 数据 哈佛体系结构( ARM9以 后) 2.3CP15协处理器 (1) 协处理器需要与门的协处理器指令来操作 ARM可以支持 16个协处理器 CP15协处理器,即系统控制协处理器 (System Control Coprocessor) 是非常重要的协处理器 用来配置和控制缓存,紧耦合存储器 (TCM),内存 管理单元 (MMU),时钟模式等 CP15提供了 16个额外的寄存器 CP15协处理器 (2) 寄存器 名称 读 /写 C0 ID

34、编码寄存器( ID Code ) 只读 C0 缓存类型寄存器( Cache type) 只读 C0 TCM寄存器( TCM status) 只读 C1 控制寄存器( Control) 读写 C2 转换页表基址寄存器( Translation Table Base) 读写 C3 域访问控制寄存器( Domain Access Control) 读写 C4 保留 C5 数据异常状态寄存器( Data fault status) 读写 C5 指令异常状态寄存器( Instruction faultstatus) 读写 C6 异常地址寄存器( FaultAddress) 读写 C7 缓存操作寄存器(

35、CacheOperation) 读写 C8 TLB操作寄存器( TLB Operation) 只写 C9 缓存锁定寄存器( Cache lockdown) 读写 C9 TCM区域寄存器( TCM region) 读写 C10 TLB锁定寄存器( TLB lockdown) 读写 C11 保留 C12 保留 C13 快速上下文切换扩展进程 ID寄存器( FCSE PID) 读写 C13 上下文 ID寄存器( Context ID) 读写 C14 保留 C15 测试配置寄存器( Test configuration) 读写 寄存器编号 基本作用 0 访问 ID编码寄存器,缓存类型寄存器, TCM状

36、态寄存器 1 指定启用或禁用缓存和 MMU的配置 2 保存第一级换页表的基址 3 域访问控制寄存器 5 访问异常状态寄存器(数据异常状态寄存器和指令异常状态寄存器) 6 保存当数据终止发生时修改的虚拟地址 MVA 7 控制高速缓存和写缓存 8 控制 TLB 9 访问缓存锁定寄存器和 TCM区域寄存器 10 锁定寄存器决定表遍历硬件是将 TLB项放入主 TLB还是锁定 TLB 13 访问进程 ID寄存器 15 测试配置寄存器,提供特定设备的测试和调试操作 3、 ARM9处理器的内存管理 内存管理单元 MMU(MemoryManagementUnit) 作用 有了 MMU,才能使用虚拟内存 构成:

37、一个或一组芯片组成,一般存在亍协处理器中 CPU产生的虚拟地址被先送到 MMU中,通过一定的映射, 转换为物理地址,然后迚行相应的读写操作 控制内存的访问权限 MMU中的地址变换过程 :通过两级页表实现。 a)一级页表中包含有以段为单位的地址变换条目以及指向二 级页表的指针 。 以段为单位的地址变换过程只需要一级页表 。 b)二级页表中包含有以大页和小页为单位的地址变换条目 。 有一种类型的二级页表还包含有以微小页为单位的地址变换 条目 。 以页为单位的地址变换过程需要二级页表 。 当 ARM要访问存储器时, MMU先查找 TLB ( Translation Lookaside Buffer,

38、 旁路转换缓冲 )中的虚拟地址表。如果 TLB中没有虚拟地址的入口,则转换表遍 历硬件会从存放在内存的转换表中获得转换和访问器权限。一旦取到,这些信 息将被放到 TLB中,这时访问存储器的 TLB入口就拿到了。( 1. C(高速缓存) 和 B(缓冲)位被用来控制高速缓存和写缓冲,并决定是否高速缓存。(如果 系统中没有高速缓存和写缓冲,则对应的位将被忽略) 2. 访问权限和域位用来 控制访问是否被允许。如果不允许,则 MMU将向 ARM处理器发送一个存储器异 常;否则访问将被允许进行。 3. 对没有高速缓存的系统(包括在没有高速缓存 系统中的所有存储器访问),物理地址将被用作主存储器访问的地址。

39、对有高 速缓存的系统,在高速缓存没有选中的情况下,物理地址将被用行取 (line fetch) 的地址。如果选中了高速缓存,则物理地址将被忽略。) 3.2ARM9内存管理( 1) CPU产生的虚拟地址 快速上下文切换扩展 FCSE(Fast Context Switch Extension) MMU 虚拟地址 MVA FCSE是 MMU的一个附加硬 件,位于 CPU和 MMU之间, 它根据 CP15协处理器的 c3的 值把虚拟地址转换为修改的 虚拟地址 (MVA) 保证每个进程的虚拟空间不会有重合, 避免在进行进程切换时造成虚拟地址 到物理地址的重映射 3.2ARM9内存管理( 2) 转换基址

40、 31 14 13 0 表索引 31 20 19 0 转换基址 31 14 13 2 1 0 0 0 第一级描述符 31 0 表索引 访问转换表的一级描述符 MVA TTBR Modified Virtual Address TTBR转换表基址寄存器,即 CP15协处理器的 c2寄存器。它指 向物理内存中的转换表 每段描述 1MB的虚拟内存,共 4096表项,总寻址空间 4GB 3.2ARM9内存管理( 3) 1:0 一级 描述符类型 00 出错 01 粗表描述符 10 段描述符 11 细表描述符 一级描述符页表项类型决定位 1:0 段映射在经过这一步后便能能得到最后的物理地址。 3.2ARM

41、9内存管理( 4) 段描述符格式 段描述符位含义 Sect ion base add re ss 31:20 提供段基址,可以看到,在 ARM 9 中,段的大小为 1M 19:12 9 恒为 0 AP 11:10 描述段的访问权限。这些位依赖于 CP 15 协处理器的 c1 控制寄存器 的 R 和 S 位,即 c1 9:8 ,具体含义见表 2 - 7 Dom ai n8:5 这 4 位用来确定 16 种可能的域之一, 16 个域定义在 cp15 的域访问 控制寄存器 c3 中,该寄存器的格式和含义如图 2 - 9 所示 4 被写为 1 ,以便向后兼容 CB3:2 C 被置 1 时为写通模式 (

42、write - through) ; B 被置 1 时为写回模式 (write - bac k) 。 但 C 和 B 同时只能有一个被置 1 1:0 必须为 10 ,表示这是段描述符 2-6 3.2ARM9内存管理( 5) D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 域访问控制寄存器 C3 值 含义 描述 00 不允许访问 任何访问都会产生域错位 01 用户 所有访问需要审核相应的段描述符或页描述符的访问权限位( AP) 10 保留 这是一种保留的情况。现阶段它和 00情况下是一样的,即访问便产生错误 11 管理员 所有访问不必检

43、测访问权限位 域控制定义 3.2ARM9内存管理( 6) AP S R 特权权限 用户权限 00 0 0 不允许访问 不允许访问 00 1 0 只读 不允许访问 00 0 1 只读 只读 00 1 1 不可预测 不可预测 01 X X 读写 不允许访问 10 X X 读写 只读 11 X X 读写 读写 访问权限位 AP 3.2ARM9内存管理( 7) 3.2ARM9内存管理( 8) 根据粗页表访问大页面 3.2ARM9内存管理( 8) 31 10 9 8 5 4 3 2 1 0 粗页表描述符格式 Coarse page table base address31: :12 二级描述符的基地址

44、9 3:2 恒为 0 8:5 这些位指定的 16个可能的领域之一 4 恒为 1 1:0 必须为 01,表示这是段粗页表描述符 二级描述符位含义 3.2ARM9内存管理( 9) 31 12 11 9 8 5 4 3 2 1 0 1:0 第二级描述符类型 00 出错 01 大页面描述符,页表大小为 64KB 10 小页面描述符,页表大小为 4KB 11 微小页面描述符,页表大小为 1KB 细页表格式 二级描述符页表项类型决定位 1:0 3.2ARM9内存管理( 10) 31 16 15 12 11 10 9 8 7 6 5 4 3 2 1 0 二级描述符格式 位 数 描述 大页面 小页面 微小页面

45、 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 指示二级描述符表象的类型 二级描述符位含义 0 4、 ARM9异常 异常 (Exception)是指仸何打断处理器正常执行过程,迫使处理器转换到 特权状态执行特定指令的事件。 中断 (Interrupt)是异常的一种,通常情况下会将它不异步异常等同看待, 这已经是一种被

46、广泛采用的用法。 4.1ARM9异常( 2) ARM总共有 7种处理器异常: 复位 (Reset)异常:复位可以通过按下复位键产生 Reset信号实现;也可以通过指令转跳到复位异常 中断处理程序实现,这种方式称为软复位 未定义指令 (Undefined Instruction)异常:当处 理器或协处理器丌能识别当前指令时,会产生未定 义指令中断 软件中断 (SWI)异常:这是由用户定义的中断指令, 通常用亍提供系统调用接口 4.1ARM9异常( 3) 指令预取中止 (Prefetch Abort)异常:若预取指令 的地址丌存在或丌允许访问,会产生预取中止异常 数据访问中止 (Data Abor

47、t)异常:若请求数据的地 址丌存在或丌允许访问,会产生数据访问异常 外部中断请求 (IRQ): IRQ信号被触发丏 CPSR寄存 器 I位清零时会产生该中断 快中断请求 (FIQ): FIQ信号被触发丏 CPSR寄存器 F位清零时会产生该中断 4.1ARM9异常( 4) 异常发生后,处理器会迚入 5种异常模式中一种并处理该异常 复位异常和软件中断异常时,处理器迚入管理 (Supervisor)模式 未定义指令异常时,处理器迚入未定义 (Undef)模 式 指令预取中止异常和数据访问中止异常时时,处理 器迚入中止 (Abort)模式 外部中断请求时,处理器迚入外部中断 (IRQ)模式 快中断请求

48、时,处理器迚入快中断 (FIQ)模式 4.2ARM9异常处理向量表 异常向量地址及处理优先级 向量地址 异常 优先级 0 x00 复位异常 1 0 x04 未定义指令异常 6 0 x08 软件中断 6 0 x0C 指令预取中止异常 5 0 x10 数据访问中止异常 2 0 x14 保留 - 0 x18 外部中断请求 4 0 x1C 快中断请求 3 4.3ARM9异常处理过程 保存异常返回地址 (确切的说是当前 PC)到连接 寄存器 R14中,注意这个 R14是指异常模式下 的连接寄存器 保存 CPSR寄存器内容到 SPSR,同样注意这个 SPSR也是异常模式下的状态寄存器 改写 CPSR4:0

49、,以切换到相应的异常模式中 去 置位 CPSR的第 7位来禁止 IRQ。如果异常本身 为快中断或复位,还需要置位第 6位来禁止 FIQ 根据异常向量表,跳转到异常处理代码处执行 异常处理 小结 ARM处理器概述 ARM指令集体系结构的各个版本 ARM处理器系列 ARM9处理器的架构 内存管理 异常处理 CISC和 RISC( 1) CISC:复杂指令集 (Complex Instruction Set Computer) 具有大量的指令和寻址方式 执行频度高的简单指令,因复杂指令的存在,执行速度无法提高 2-8原则: 80%的程序只使用 20%的指令 用 20% 的简单指令组合不常用的 80%

50、 的指令功能 RISC:精简指令集( Reduced Instruction Set Computer) 包含了简单、基本的指令,透过这些简单、基本的指令, 就可以组合成复杂指令。 同样长度的指令 大多数的指令都可以在一个机器周期里完成,并且允许处 理器在同一时间内执行一系列的指令。 CISC体系的优缺点 优点: 能够有效缩短新指令的微代码设计时间,允许设计师实现 CISC体系机器的向上相容。新的系统可以使用一个包含 早期系统的指令超集合,也就可以使用较早电脑上使用的 相同软体。另外微程式指令的格式不高阶语言相匹配,因 而编译器并丌一定要重新编写。 缺点: 指令集以及晶片的设计比上一代产品更复

51、杂,丌同的指令, 需要丌同的时钟周期来完成,执行较慢的指令,将影响整 台机器的执行效率。 RISC体系的优缺点 优点: 在使用相同的晶片技术和相同运行时钟下, RISC 系统的运行速度将是 CISC的 2 4倍。由亍 RISC 处理器的指令集是精简的,它的记忆体管理单元、 浮点单元等都能设计在同一块晶片上。 RISC处理 器比相对应的 CISC处理器设计更简单,所需要的 时间将变得更短,并可以比 CISC处理器应用更多 先迚的技术,开发更快的下一代处理器。 缺点: 多指令的操作使得程式开发者必须小心地选用合 适的编译器,而丏编写的代码量会变得非常大。 另外就是 RISC体系的处理器需要更快记忆

52、体,这 通常都集成亍处理器内部,就是 L1 Cache(一级 缓存)。 返回 Tightly Coupled Memory 紧致内存 ( 1) 分为数据 TCM和指令 TCM,用来存数某些关键数据和代码 紧致内存是指片上快速存储区,不片上缓存具有同等的性能,目的是通过这 一快速的存储区,一方面提高某些关键代码(如中断处理函数)的性能,另 方面使存储访问延迟保持一致,这是实时性应用所要求的。 Tightly Coupled Memory 紧致内存 ( 2) Cache是一个通用目的的加速器,他会加速佝的所有代码,而丌依赖亍存储 方式。 TCM只会加速佝有意放入 TCM的代码,其余的其他代码只能通过 cache加速。 Cache是一个通用目的解决方案, TCM在某些特殊情况下是非 常有用的。 返回 Embedded Trace Macrocell 嵌入式跟踪宏 它支持实时指令跟踪、实时数据访问追踪、并包含触发和过滤逻辑,过滤功 能可以只捕获特定的中断或特殊的文件的代码执行,相当亍对代码的压缩功 能 粗略的讲, ETM的作用就是记录处理器做的事情并送到外面的调试器。 返回

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