嵌入式系统原理及应用开发 教学课件 作者 陈渝 第3章 第4节 ARM内存管理单元.pptVIP

嵌入式系统原理及应用开发 教学课件 作者 陈渝 第3章 第4节 ARM内存管理单元.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 ARM体系结构 3.4 ARM 内存管理单元 ARM MMU概述 ARM MMU的功能 ARM MMU的操作 ARM MMU的地址转换 ARM MMU概述 ARM MMU的功能 ARM MMU的功能 ARM MMU的操作 ARM MMU的操作 ARM MMU的操作 ARM MMU的操作 ARM MMU的操作 ARM MMU的操作 ARM MMU的操作 ARM MMU的操作 ARM MMU的地址转换 ARM MMU的地址转换 ARM MMU的地址转换 ARM MMU的地址转换 第一级描述符 段方式 二级页方式 二级页方式 存储权限 课程结束 * MMU是内存管理单元(Memory Management Unit)的缩写。MMU在处理器中实现内存管理的功能,完成物理地址到虚拟地址的映射。MMU本身有少量存储空间存放从虚拟地址到物理地址的匹配表。此表称作TLB(转换旁置缓冲区)。所有数据请求都送往MMU,由MMU决定数据是在RAM内还是在大容量存储器设备内。如果数据不在存储空间内,MMU将产生页面错误中断。 在通常情况下,MMU的两个主要功能是: 1. 将虚地址转换成物理地址 2. 控制内存的访问权限 MMU关闭时,虚地址直接输出到物理地址总线。 CP15的主要管理和配置功能如下; ? 页表 ? TLB(转换旁路缓冲器) ? 域和访问权限 ? Cache和写缓冲器 ? 快速上下文切换 CP15协处理器的功能模块: 寄存器11、12、14 保留 寄存器15 测试和时钟控制 寄存器13 FSCE 寄存器7、9 Cache和Write Buffer 寄存器2、3、5、6以及寄存器1中的部分 MPU 寄存器2、3、4、5、6、8,10以及寄存器1中的部分 MMU 寄存器0、1 全局控制 使用寄存器 功能 MMU的功能相关的CP15中寄存器的描述 操作TLB功能(无效统一TLB、无效指令或数据TLB) R8 设置16个域的访问权限 R3 设置变换表基地址(16k对齐) R2 使能/禁止MMU、cache、写缓冲 R1 主要操作 寄存器 当MMU被禁止的时候存储器按如下处理: 根据具体的情况决定是否允许Cache和写缓冲 没有存储区访问的权限,MMU也不会产生异常信号 物理地址的虚拟地址相同,即平板(flat address mapping)地址映射模式 R1 控制寄存器 (类型:ARMv3:只写,ARMv4:读写) M (位[0]):允许MMU A (位[1]):允许定位故障检测 C (位[2]):允许数据Cache或者统一Cache W (位[3]):允许写缓冲 P (位[4]):从26-32位异常处理 D (位[5]):从26-32位地址区域 L (位[6]):至上一次中止区域 B (位[7]):从小端到大端 S (位[8]):修改MMU系统 R (位[9]):ROM保护状态 F (位[10]):控制外协处理器通信速度 Z (位[11]):允许分支预测 I (位[12]):允许指令Cache V (位[13]):向量地址 (从0- 0x0000001C到0xFFFF0000 - 0xFFFF001C) RR (位[14]):控制Cache置换算法 L4 (位[15]):对于ARMv5以后版本,控制向后兼容 位[31:16]:保留 注意:对于MMU,其实只和CP15的寄存器的0、1、8、9位有关 ? R2 地址变换表基址寄存器 (类型:ARMv3:只写,ARMv4:读写) 位[31:14]:变换表基地址,定位界限为16KB ? R3 域访问控制寄存器: (类型:ARMv3:只写,ARMv4:读写) 数据的含义如下: 00 不允许访问,任何访问将产生域错误 01 客户(Client)使用域,根据段和页描述符的访问权限检验 10 保留 11 管理(Manager)使用域,不检查访问许可位,任何都不会产生域错误 ? R6 故障地址寄存器: (类型:ARMv3:只读,ARMv4:读写) 上一次数据存取中止的地址 ?R5 故障状态寄存器: (类型:ARMv3:只读,ARMv4:读写) Bit[8]:0 Bits[7:4]:当错误发生时,确定16个域中(D15–D0) 哪个被访问。 Bits[3:0]:指出试图访问的类型 功能如下所示: ?无效指令TLB ?无效指令单一入口 ?无效整个数据TLB ?无效数据单一入口 MCR p15, 0, Rd, c8, c6, 1 虚拟地址 110 1 无效数据单一入口 MCR p15, 0, Rd, c8, c6,

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档