第5节 ARM存储系统.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM存储系统概述 与其他中低档单片机不同,ARM处理器中一般都包含一个存储器管理部件,用于对存储器的管理。 为了适应不同的嵌入式应用, ARM存储系统的体系结构存在很多差别。简单的可以使用向单片机系统中使用的平板式地址映射机制即可;而一些复杂的系统中则可能包含多种技术来提供功能强大的存储系统。 ARM所使用的存储系统技术 系统中可能包含多种类型的存储器件,如FLASH、ROM、SDRAM、SRAM等;而且不同类型的存储器件要求不同的速度、数据宽度等; 通过CACHE和WRITE BUFFER技术缩小处理器和存储系统速度差别,从而提高系统性能; 内存管理部件使用内存映射技术实现虚拟空间到物理空间的映射。 引入存储保护机制,增强系统的安全性; 引入一些机制保证I/O操作映射成内存操作后,各种I/O操作能够得到正确的结果。 用于存储管理的系统控制协处理寄存器CP15 在基于ARM的嵌入式系统中,存储系统通常使用CP15来完成存储器的大部分管理工作;除了CP15之外,在具体的存储机制中可能还会用到其他技术如:页表技术等。 CP15可以保护16个32位的寄存器,编号0-15。实际上对于某些编号的寄存器可能对应有多个物理寄存器,在指令中指定特定的标志位来区分相应的寄存器。 CP15寄存器列表-1 CP15寄存器列表-2 CP15寄存器列表-3 访问CP15寄存器的指令 访问CP15寄存器的指令有如下两条: MCR Register - Coprocessor Register MRC Coprocessor Register - Register 注意:这两条指令只能在系统模式下执行;在用户模式下执行该指令将引起异常。 MCR 访问CP15 指令语法 MCR {cond} p15, op1, Rd,CRn,CRm{, op2} MCR2 p15, op1, Rd,CRn,CRm{, op2} OP1为协处理器将执行的操作的代码。对于CP15来说,该值必须为0 Rd为源寄存器,其值将被传送到协处理器中;该寄存器不能为PC; CRn是协处理器的目标寄存器,可以是C0-15; CRm是附加的目标寄存器或源操作数寄存器,用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时要将C0指定为CRm; OP2也提供附加信息,用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时,可以省略或者将其置0 MCR 访问CP15示例 MCR P15, 0, R4, C1, C0, 0 ; R4-C1 上述指令从ARM寄存器R4中将数据传送到协处理器CP15的寄存器C1中。其中R4为ARM寄存器,存放源操作数;C1和C0为协处理器寄存器,为目标寄存器;操作码1为0,操作码附加信息也为0。 MRC 访问CP15 指令语法 MRC {cond} p15, op1, Rd,CRn,CRm{, op2} MRC2 p15, op1, Rd,CRn,CRm{, op2} OP1为协处理器将执行的操作的代码。对于CP15来说,该值必须为0,Rd为目标寄存器,指令处理的结果将存放在该寄存器中; CRn是协处理器寄存器,存放第一个源操作数; CRm是附加的源操作数寄存器,用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时要将C0指定为CRm; OP2也提供附加信息,用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时,可以省略或者将其置0 存储管理单元MMU的作用 实现虚拟地址空间到物理存储空间的映射; 存储器访问权限的控制; 设置虚拟存储空间的缓冲特性。 页表是实现上述功能的一个重要手段,它实际上是位于内存中的一个对照表。 存储器单元的段页式管理 为了实现不同层次的管理,系统提供了基于段或页的存储器访问方式 段(section):由1MB 的存储器块构成 大页(large page):由64KB 的存储器块构成 小页(small page):由4KB 的存储器块构成 微页(tiny page):由1KB 的存储器块构成 用于存储管理的页表 地址变换条目:页表的每一行对应与虚拟地址空间的一个页,该行同时保含了该虚拟内存页对应的物理内存页的地址、该页的访问权限以及缓冲特性等。我们将页表中的一行称为地址变换条目。 页表存放在内存中,系统通常有一个寄存器来保存页表的基地址。ARM系统中使用的就是CP15的寄存器C2。 快表:从虚拟地址到物理地址的转换实际上就是查询页表的过程。由于程序在执行过程中具有局部性,即在一段时间内只是局限在少数几个单元,为了加快页表的查询速度,在系统中通常使用一个容量更小、速度更快的存储器件来保存当前需要访问的地址变换条目,这个容量小的页表又称作快表(T

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档