[发明专利]内存管理方法、装置和系统、以及片上网络有效
申请号: | 201480037710.X | 申请日: | 2014-08-08 |
公开(公告)号: | CN105518631B | 公开(公告)日: | 2019-04-12 |
发明(设计)人: | 蔡卫光;程德华;吴祖光 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 张耀光 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 物理页 内存管理 内存管理器 调整指令 片上网络 表项 空闲 交换处理 物理内存 物理页号 性能损失 映射关系 进程 不连续 减小 内存 交换 虚拟 发送 合并 分配 记录 应用 | ||
本发明实施例提供了一种内存管理方法、装置和系统、以及片上网络。该内存管理方法包括:从空闲的物理页中确定分配给所述进程的第一物理页;向内存管理器发送调整指令,该调整指令用于指示内存管理器对物理内存中的至少一对第二物理页进行交换处理,每对第二物理页包括物理页号不连续的第一物理页中的一个和一个非空闲的物理页,使得交换后得到的第一物理页与至少另一个第一物理页是连续的;在进程的TLB页表中添加一条表项,该表项中记录了至少两个连续的第一物理页合并为一个大物理页后与进程的虚拟页的映射关系,大物理页包括交换后得到的第一物理页。本发明能够减小大内存的应用中,由于TLB缺页造成的性能损失。
技术领域
本发明涉及计算机技术领域,特别涉及一种内存管理方法、装置和系统、以及片上网络。
背景技术
基于页的虚拟内存技术是当前计算系统中内存管理的核心部分。在该技术中,操作系统将物理内存的地址空间划分为多个连续的物理页,并将程序将会用到的虚拟内存的地址空间划分为多个连续的虚拟页。在程序运行过程中,内存管理单元会将程序需要访问的虚拟地址转换为物理地址,然后根据物理地址访问物理内存。
该地址转换的过程通常采用TLB(Translation Look-aside Buffer,翻译后备缓冲区)实现。具体地,CPU获得虚拟地址后,会根据虚拟地址确定虚拟页号,然后在该进程的TLB表项(保存有虚拟页号和物理页号的映射关系)中查找该虚拟页号,若在TLB表项中查找到该虚拟页号,则称为TLB命中(即TLB Hit),则输出该虚拟页号对应的物理页号并根据该物理页号确定物理地址;若查找不到该虚拟页号,则表明发生了TLB缺页(TLB Miss),此时,需要从内存中寻找该虚拟页号对应的映射信息(包括虚拟页号和物理页号的映射关系),并将内存中找到的该虚拟页号的映射信息重新装填入TLB,以便下次使用。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
设备配置的物理内存越来越大(例如,一台服务器能够集成数十GB甚至上TB的物理内存),而TLB的资源有限,其中能够保存的TLB表项有限,因此在大内存应用中,TLB缺页的情况十分严重,由此带来的系统开销很大。现有技术中,通常采用大页面技术来减少TLB缺页带来的系统开销。所谓大页面技术,即增大页面尺寸,增大页面尺寸相当于增大了TLB中每个表项所能映射的地址空间,对于程序而言,相当于减少了其使用的页面数量,因此,大页面技术在一定程度上能减少缺页开销,但是,实验证明,当页面大小增加到一定限度,缺页开销将不再变化,也就是说,采用大页面技术对减少缺页开销作用有限。
发明内容
为了解决现有技术中大内存应用中TLB缺页开销大的问题,本发明实施例提供了一种内存管理方法、装置和系统、以及片上网络。所述技术方案如下:
第一方面,本发明实施例提供了一种内存管理方法,所述方法包括:
当需要为进程分配物理内存时,从空闲的物理页中确定分配给所述进程的第一物理页;
当确定出的所述第一物理页为至少两个,且确定出的所述第一物理页中存在物理页号不连续的第一物理页时,向内存管理器发送调整指令,所述调整指令用于指示所述内存管理器对所述物理内存中的至少一对第二物理页进行交换处理,每对所述第二物理页包括所述物理页号不连续的第一物理页中的一个和一个非空闲的物理页,使得交换后得到的第一物理页与至少另一个所述第一物理页是连续的;
在所述进程的地址转换缓冲区TLB页表中添加一条表项,所述表项中记录了至少两个连续的所述第一物理页合并为一个大物理页后与所述进程的虚拟页的映射关系,所述大物理页包括所述交换后得到的第一物理页。
在第一方面的第一种可能的实施方式中,所述内存管理器中设有物理页号和内部页号的映射表,所述调整指令携带第一物理页号和第二物理页号,所述存储指令用于指示所述内存管理器交换所述第一物理页号和所述第二物理页号对应的内部页号,所述内存管理器用于根据所述内部页号访问所述物理内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480037710.X/2.html,转载请声明来源钻瓜专利网。