- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PowerPC体系结构之存储管理.doc
PowerPC 体系结构之存储管理取 BOOKE 精要,兼顾 E500 规范。 E500 规范是 BOOKE 的 32-bit 实现,更详细些,大部与 BOOKE 兼容。BOOKE 对存储管理的规范较抽象,没有非常多的细节(比如 TLB 每项的结构必须如此等等),涉及细节则多以 E500 为例子。1. 概述E500 实现有两级 TLB,即:L1 TLB 和 L2 TLB。L1 TLB 可以理解为 L2 TLB 的部分缓存。访问 L1 TLB 的效率要比 L2 的效率高,相应的实现的花费也就高。L1 TLB 由硬件维护,不可编程精确控制。故下面的讨论皆针对 L2 TLB,为方便简称其为 TLB。E500 没有对虚拟地址空间进行划分,即没有固定使用某段虚拟地址固定映射到某段物理地址 (MIPS,主要用于支持设备资源的固定映射以及方便内核对内存的管理)。而是引入了一个更灵活的设计:将 TLB 分为 TLB0 和 TLB1。TLB0 即用于页映射的 TLB,可动态被替换,页大小固定为 4 KB。E500v1 实现为 2 路组相联,256 项;E500v2 实现为 4 路组相联,512 项。TLB1 则设计用于映射大页(比如 16MB, 256MB ...),支持可变页大小,E500v1 可支持 9 个页大小(最大 256MB),E500v2 则支持 11 个页大小(最大 4GB)。使用时可将某项设为永驻 TLB1 (通过置 Invalidation Protection 位,简写为 IPROT 位),不会被动态替换,实现为全相联,共 16 项,可将其理解为用于映射 16 个段的可编程固定映射机制。2. TLB 结构与工作方式 2.1 TLB 结构E500 之 TLB0 与 TLB1 每项的数据格式相似,皆由页区分域、翻译域、访问控制域和存储属性位组成。2.1.1 页区分域 页区分域 (Page Identificaion Fields) 即为查找 TLB 时的比对域。包括 EPN (Effective Page Number),TS (Translation Address Space, 1 bit),TID (Translation ID),V (Valid, 1 bit),SIZE (Page Size, 4 bits)。其中 EPN 即为虚页号。PowerPC 习惯上将地址转换时需要比对的位 (IS/DS | PID | EPN) 的组合,叫做一个地址空间。其中 IS/DS 为 Instruction/Data Address Space,各 1 bit,位于 MSR,0 为地址空间 0,1 则为地址空间 1,转换时其于 TLB_Entry 之 TS 相比较,相等才会输出物理页号;PID 为 Process ID,本意是用于区分不同进程的虚拟地址空间,存放于 PIDR 中,属上下文。转换时,比较 PIDR 与 TLB_Entry 之 TID 位,相等才会输出物理页号。BOOKE 规定需实现一个 PID 寄存器;E500 作了扩展,其实现有 3 个 PIDR (PID0 ~ 2),则 E500 在转换时会形成 3 个虚拟地址。将 TLB_Entry 之 TID 置 0,则硬件会忽略 PID0 ~ 2 与 TID 的比较,PowerPC Linux 设计时,就将 TID 置 0。2.1.2 翻译域 翻译域 (Translation Field) 即为经 TLB 翻译后输出的数据,其实即为物理页号,PowerPC 叫 RPN (Real Page Number)2.1.3 访问控制域访问控制域 (Access Control Fields) 又称为 PERMIS,共 6 bits,分别指定该页可否被用户态读、写、可执行 (UR, UW, UX);管理态(核心态)的读、写、可执行 (SR, SW, SX)2.1.4? 存储属性位存储属性位 (Storage Attribute Bits) ,其重要的 5 bits 为: W (Write through), I (caching Inhibited), M (Memory coherence), G (Guarded), E (Endianness),一般简写为 WIMGE;E500 还实现有可用于系统软件的 X0~1,可用于用户软件的 U0 ~ U3此外E500 之 TLB1 还有一位无效保护位 IPROT,置位则该项不会被置无效。2.1.5 完整的 E500 TLB Entry 结构2.2 TLB 工作方式3. TLB 控制接口3.
您可能关注的文档
最近下载
- 【精心整理】16第十六讲:作文审题立意(12页).docx VIP
- 最新2024医疗器械经营质量管理规范试题与答案 .pdf VIP
- 2025考研英语一真题及答案.pdf
- 2025年江苏对口单招语文模拟试卷答案1 .pdf VIP
- 2024重庆市公安局辅警岗位招聘笔试参考题库含答案解析.pdf VIP
- 2024年湖南省湘潭市小升初数学模拟试卷及答案解析.docx
- 基于核心素养的小学第三学段语文校本作业设计策略研究--以厦门市S小学为例.pdf
- 律师诉讼方案.docx
- 河南省洛阳市洛龙区2023-2024学年部编版七年级下学期期中考试历史试卷.docx VIP
- 《GPIR复合板外墙防火保温系统建筑构造》.pdf VIP
文档评论(0)