PowerPCE600内核MMU机制分析汇编.pdfVIP

  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文档。上传文档
查看更多
PowerPC E600 内核 MMU 机制分析 本文我将详细的讨论一下 E600 内核的 MMU 机制, 为了能清晰的阐述 E600 的 MMU 机制, 我将从 Power ISA 的 32 位通用 MMU 的机制说起。 PowerPC 的 MMU 机制作用是把有效地址 EA 转换成物理地址 PA,同时考虑到内存保护。 第一部分 PowerPC ISA 通用 MMU 机制 1.1 概述 PowerPC 使用 load 和 store 指令来读取指令和数据, 读取的过程需要地址转换机制: 段寄存 器组 SRs (16 个 SR 寄存器)把 32 位 EA 转换成 52 位的内部虚拟地址 VA ,页表再把 52 位 的 VA 转换成 32 位的物理地址 PA。 TLBs(Translation Lookaside Buffers) 用来保存最近使用过的页表项 PTEs; SRs 寄存器用来产生内部 52 位的虚拟地址 VA ; BATs 寄存器用来存放可以访问到的块地址信息, 并且 BATs 寄存器组被当做 SPRs 寄存器来 访问。 MMU 和中断机制为“请求换页”机制的虚拟内存提供了支持,它使得比物理内存空间更大 的程序得以运行, “请求换页”意味着只有正在执行的程序访问这些页时,它们才会被装入 内存。 再次强调: PowerPC 的 MMU 所包含的虚拟地址是指 52 位的虚拟地址,它是由 16 个 SR 寄 存器来维护的;在地址转换的过程中, MMU 首先把 32 位的 EA 转换成 52 位的 VA ,然后 再把 VA 转换成 PA 。操作系统来管理系统的物理内存资源,它首先初始化 MMU 寄存器组, 主要包括 SRs 寄存器、 BATs 寄存器以及 SDR1 寄存器,并在内存中建立页表;然后 MMU 协助 OS 管理页表的状态,并选择缓存最近使用过的页表信息来提高后续的访问速度。 EA 地址空间被分割成大小为 256M 的段 (段会被细分为 4K 的页)或者大小从 128K 到 256M 的 BAT 块;对于每个块或者页, OS 建立地址描述符 PTE (Page Table Entry )或者 BAT 数 组项来描述它们; MMU 通过 PTE 或者 BAT 数组项来产生物理地址 PA,以及每次地址转换 时所需要的保护信息和控制信息。为了提供访问速度, MMU 通常会在片上高速缓存中保持 最近访问过的 PTEs,在 BAT 寄存器组中保持块地址信息。 物理内存映射图分成 4 个部分: 第一部分:物理内存的第一个 256 个字节区域 (如果 MSR[IP] 置位的话,位于物理地址 0xFFF0 0000 处的第一个 256 字节)提供给 OS 使用, 物理内存的第一个页的其它部分被中断向量基 地址定义,提供给中断向量使用,或者暂时保留为将来的中断向量使用; 第二部分和第三部分:内存映射的第二和第三个页表是跟具体的执行相关; 第四部分: OS 使用第四个页开始的内存区域来存放页表,具体布局如下表: 从图中我们可以看出有效地址 EA 高 12 位 (EA[20:31]) 直接作为 PA 的高 12 位,因为它们是 作为页内偏移地址使用的,不需要转换。 从图中我们可以看出 PowerPC 支持三种地址转换格式: 第一:页地址转换,通过 SRs、TLBs 或者页表把 EA 转换成 PA; 第二:块地址映射,通过 BATs 寄存器组把 EA 转换成 PA; 第三:实模式地址转换,关闭地址转换机制,

文档评论(0)

高胖莹 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档