- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PowerPC的MMU和TLB机制
1.1????? 基本原理
1.1.1??????? 基本概念
在涉及虚拟存储系统时,需要搞明白以下这些地址的概念及相互之间的关系。
?
逻辑地址:代码中使用,如数据载入和绝对指令跳转等使用的地址 ,如 LR寄存器中的地址等,本文中有效( EA )地址也就是逻辑地址;
虚拟地址:虚拟地址在页转换中使用,为中间地址,逻辑地址转成虚拟地址后再转成物理地址,虚拟地址的位数取决于处理器类型及型号,如 PPC440中的虚拟地址为 41位;
TLB: Translation Lookaside Buffers,转换快表,简称快表,保存最近使用的页转换地址映射表,一般由硬件实现。 TLB是内存里存放的页表的缓存,那么它里边存放的数据实际上和内存页表区的数据是一致的,在内存的页表区里,每一条记录虚拟页面和物理页框对应关系的记录称之为一个页表条目( Entry),同样地在 TLB里边也缓存了部分甚至全部的页表条目( Entry)。
物理地址:地址总线上使用的实际地址,传给 SDRAM使用的地址。
?
1.1.2??????? 内存管理
内存管理主要是管理计算机主存,简单的来说,就是为程序提供内存分配和释放的功能。内存管理分为三个层次:硬件、操作系统和应用程序 。对大多数人而言,都只会关注应用程序的内存管理。
?
硬件内存管理:硬件的内存管理主要是需要关注 CPU层,提供了什么样的硬件机制来实现内存管理,如是否提供分页机制、分段机制以及 Cache/MMU 等。
?
操作系统内存管理:操作系统应该提供一个虚拟内存机制,为应用程序提供内存分配回收等,实现交换等。
?
应用程序内存管理:每个应用可能对当前可用内存未知,因此需要像系统提出内存分配申请,一般如在 C语言中使用 malloc等申请堆空间。
?
重定位( Relocation):代码的加载域和链接域不一致的情况下,加载程序需要对代码进行重新定位,以便能够正确解析符号。
?
1.1.3??????? MMU 简介
MMU的基本功能包括:
1)将有效地址 (effective address)转换成实际物理地址( real address),这也是 MMU的最基本功能,地址转换分为 2种类型,分别为指令地址转换和数据地址转换;
2)权限保护功能,如提供读写保护等,在 PPC中还针对超级模式和普通用户模式做了不同的权限区分;
3)访问更大的虚拟空间,有效地址空间可以比实际物理内存大,这样可以实现虚拟交换技术,便于运行大型的程序。基本原理就是不将程序的所有数据 /指令载入内存,只载入马上需要使用的,而暂时不用的可以交换到二级存储器。
?
现代 MMU通常都将虚拟地址空间划分成页,页大小为 2 的 n 次方,一般为几 k 字节。 虚拟地址中的低 n位为页内地址,在地址转换中保持不变,而高位称作虚拟页号( Virtual Page Number), MMU最基本的功能就是将虚拟页号转换成物理页号。 MMU首先在 TLB缓存中查找待访问的指令或者数据地址,如果 TLB没有命中,将进入页表异常处理。
?
1.1.4??????? 地址转换模式
有 3种地址转换模式:
1)段页式地址转换 ;
2)块地址转换( BAT),通常用于将逻辑地址映射到一块很大的连续的物理地址 上,这样可以减少页表数量,提高转换效率。块地址只适用于部分 PPC 处理器,如 MPC8247/8260 等, PPC440 没有块地址转换功能;
3)实地址转换,也即平板映射模式,禁止地址转换( MSR[IR] =0, MSR[DR]=0),逻辑地址与物理地址相等 ?,直接将逻辑地址送往地址总线,如果物理内存较小,高位的逻辑地址可能被忽略。 大多数嵌入式处理器不支持 MMU,或者硬件支持 MMU,但操作系统不支持虚拟内存管理时,都只能采用平板映射。
?
1.2????? PPC440 MMU 概述
PPC440× 6支持 4G 的有效地址空间( EA ),及 64G(36bit) 的 RA 实地址空间 ,其 MMU实现如下功能:
EA地址到 RA地址的转换;
可用软件来控制页表替换策略;
页表级的指令和数据访问权限控制;
页表级的存储属性控制。
?
MMU首先将有效地址 EA扩展为虚拟地址 VA,然后利用页表转换功能将其转换成 RA物理地址,以此进行指令和数据的读取。
?
PPC440 只支持页式内存管理,共支持 9 种页大小,分别为 1K/4K/16k 。。。 1G 。 而通常大多数处理器的页表大小为 4K,也有支持二级页表 4k和 1m的。当访问的地址无法通过 TLB进行映射时,将触发 DATA或者 Instruction TLB Exc
文档评论(0)