powerpc 的mmu和tlb机制

powerpc 的mmu和tlb机制

ID:20388970

大小:63.00 KB

页数:12页

时间:2018-10-12

powerpc 的mmu和tlb机制_第1页
powerpc 的mmu和tlb机制_第2页
powerpc 的mmu和tlb机制_第3页
powerpc 的mmu和tlb机制_第4页
powerpc 的mmu和tlb机制_第5页
资源描述:

《powerpc 的mmu和tlb机制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PowerPC的MMU和TLB机制1.1     基本原理1.1.1       基本概念在涉及虚拟存储系统时,需要搞明白以下这些地址的概念及相互之间的关系。 逻辑地址:代码中使用,如数据载入和绝对指令跳转等使用的地址,如LR寄存器中的地址等,本文中有效(EA)地址也就是逻辑地址;虚拟地址:虚拟地址在页转换中使用,为中间地址,逻辑地址转成虚拟地址后再转成物理地址,虚拟地址的位数取决于处理器类型及型号,如PPC440中的虚拟地址为41位;TLB:TranslationLookasideBuffers,转换快表,简称快表,保存最近使用的页

2、转换地址映射表,一般由硬件实现。TLB是内存里存放的页表的缓存,那么它里边存放的数据实际上和内存页表区的数据是一致的,在内存的页表区里,每一条记录虚拟页面和物理页框对应关系的记录称之为一个页表条目(Entry),同样地在TLB里边也缓存了部分甚至全部的页表条目(Entry)。物理地址:地址总线上使用的实际地址,传给SDRAM使用的地址。 1.1.2       内存管理内存管理主要是管理计算机主存,简单的来说,就是为程序提供内存分配和释放的功能。内存管理分为三个层次:硬件、操作系统和应用程序。对大多数人而言,都只会关注应用程序的内存管

3、理。 硬件内存管理:硬件的内存管理主要是需要关注CPU层,提供了什么样的硬件机制来实现内存管理,如是否提供分页机制、分段机制以及Cache/MMU等。 操作系统内存管理:操作系统应该提供一个虚拟内存机制,为应用程序提供内存分配回收等,实现交换等。 应用程序内存管理:每个应用可能对当前可用内存未知,因此需要像系统提出内存分配申请,一般如在C语言中使用malloc等申请堆空间。 重定位(Relocation):代码的加载域和链接域不一致的情况下,加载程序需要对代码进行重新定位,以便能够正确解析符号。 1.1.3       MMU简介MM

4、U的基本功能包括:1)将有效地址(effectiveaddress)转换成实际物理地址(realaddress),这也是MMU的最基本功能,地址转换分为2种类型,分别为指令地址转换和数据地址转换;2)权限保护功能,如提供读写保护等,在PPC中还针对超级模式和普通用户模式做了不同的权限区分;3)访问更大的虚拟空间,有效地址空间可以比实际物理内存大,这样可以实现虚拟交换技术,便于运行大型的程序。基本原理就是不将程序的所有数据/指令载入内存,只载入马上需要使用的,而暂时不用的可以交换到二级存储器。 现代MMU通常都将虚拟地址空间划分成页,页

5、大小为2的n次方,一般为几k字节。虚拟地址中的低n位为页内地址,在地址转换中保持不变,而高位称作虚拟页号(VirtualPageNumber),MMU最基本的功能就是将虚拟页号转换成物理页号。MMU首先在TLB缓存中查找待访问的指令或者数据地址,如果TLB没有命中,将进入页表异常处理。 1.1.4       地址转换模式有3种地址转换模式:1)段页式地址转换;2)块地址转换(BAT),通常用于将逻辑地址映射到一块很大的连续的物理地址上,这样可以减少页表数量,提高转换效率。块地址只适用于部分PPC处理器,如MPC8247/8260等,

6、PPC440没有块地址转换功能;3)实地址转换,也即平板映射模式,禁止地址转换(MSR[IR]=0,MSR[DR]=0),逻辑地址与物理地址相等 ,直接将逻辑地址送往地址总线,如果物理内存较小,高位的逻辑地址可能被忽略。大多数嵌入式处理器不支持MMU,或者硬件支持MMU,但操作系统不支持虚拟内存管理时,都只能采用平板映射。 1.2     PPC440MMU概述PPC440×6支持4G的有效地址空间(EA),及64G(36bit)的RA实地址空间,其MMU实现如下功能:EA地址到RA地址的转换;可用软件来控制页表替换策略;页表级的指令

7、和数据访问权限控制;页表级的存储属性控制。 MMU首先将有效地址EA扩展为虚拟地址VA,然后利用页表转换功能将其转换成RA物理地址,以此进行指令和数据的读取。 PPC440只支持页式内存管理,共支持9种页大小,分别为1K/4K/16k。。。1G。而通常大多数处理器的页表大小为4K,也有支持二级页表4k和1m的。当访问的地址无法通过TLB进行映射时,将触发DATA或者InstructionTLBException。 1.3     TLBPPC440的TLB为64路全相连的硬件结构,其控制地址转换、存取保护及存储属性等。TLB的维护由软

8、件通过专门指令控制,相关指令如下:Tlbwe,写TLB表,通过连续三条指令可以从GPR和MMUCR[STID]中获取一条TLB表项写入到硬件中;Tlbre,三条连续指令可读取一条表项;Tlb[.]:可以搜索特定的TLB表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。