[发明专利]实现使用大容量高速缓存的内存管理方法及装置有效

专利信息
申请号: 201110269002.7 申请日: 2011-09-13
公开(公告)号: CN102323909A 公开(公告)日: 2012-01-18
发明(设计)人: 程旭;管雪涛;黄涛 申请(专利权)人: 北京北大众志微系统科技有限责任公司
主分类号: G06F12/08 分类号: G06F12/08
代理公司: 北京安信方达知识产权代理有限公司 11262 代理人: 栗若木;王漪
地址: 100080 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 实现 使用 容量 高速缓存 内存 管理 方法 装置
【说明书】:

技术领域

发明涉及到计算机系统的内存管理方法,尤其涉及实现使用大容量高速缓存的内存管理方法及装置。

背景技术

高速缓存处于处理器访问的关键路径。随着处理器和主存储器之间速度差距的不断扩大,高速缓存尤其是容量较大的最低一级高速缓存,其失效产生的系统开销逐渐增大,已成为制约计算机整体性能提高的主要瓶颈之一。

主存储器在逻辑上划分为若干行,每行划分为若干个存储单元组,每组包含几个或几十个字(或字节),如图1所示;因此,处理器访问主存储器的逻辑地址划分为行号、列号和组内地址三个字段。高速缓存也相应地划分为行和列的存储单元组,可参见图3。二者的列数相同,组的大小也相同,但高速缓存的行数却比主存储器的行数少得多(u<<m)。当出现访问失效而高速缓存对应列中没有空的位置时,便淘汰该对应列中的某一组,以腾出位置存放新调入的组,这称为替换。确定替换的方法叫替换算法。常用的替换算法包括:最近最少使用法(LRU)、先进先出法(FIFO)和随机法(RAND)等。商业处理器普遍采用LRU替换算法管理高速缓存。

在现代处理器中,高速缓存容量不断地在扩大,其规模已经上升到若干兆比特。由于LRU替换算法并不区分访问高速缓存的不同应用进程,导致一个进程的高速缓存失效可能会替换另一进程的高速缓存块,从而导致出现高速缓存被不同应用进程抢占的问题。并发的多个进程对高速缓存的抢占,使得其性能比单个进程单独占有高速缓存时下降很多;同时,还会导致并发进程中单个进程的执行时间受与其并发执行的其它进程的影响很大,并难以预测。此外,该LRU算法不能区分对高速缓存不同的访问模式,无法根据程序局部性的变化进行调整。再有,在运行工作集较大、局部性较差的访存密集型程序时,该LRU算法会引发高速缓存污染,即指将未来需要使用的数据替换出高速缓存,而换入未来不会被使用的数据。高速缓存污染会导致高速失效率增高,访存延迟增大,系统性能降低。

因此,针对目前使用大容量物理寻址高速缓存的内存管理所存在的一系列问题,需要提供一种改进的内存管理方法,能够隔离同时运行的不同应用程序以及同一应用程序不同内存区域的高速缓存访问,从而实现对系统性能的优化。

发明内容

本发明所要解决的技术问题是提供一种实现使用大容量高速缓存的内存管理方法及装置,能够减少为并发应用进程分配不同内存页面映射到同一高速缓存区域所导致的冲突失效。

为了解决上述技术问题,本发明提供了一种实现使用大容量高速缓存的内存管理方法,包括:

以内存的物理页框为单位划分使用的高速缓存,并确定划分的高速缓存区域的映射条件。

进一步地,该内存管理方法还包括:

为并发应用进程分配符合高速缓存区域的映射条件的物理页框。

进一步地,以内存的物理页框为单位划分使用的高速缓存,并确定划分的高速缓存区域的映射条件,具体包括:

将与高速缓存的组号所重合的物理页框的页号作为区域号对高速缓存组进行区域划分,并以划分的区域编号作为所述高速缓存区域的映射条件确定。

进一步地,为并发应用进程分配符合高速缓存区域的映射条件的物理页框,具体包括:

当并发应用进程申请映射到高速缓存区域的物理页框时,根据申请的新物理页框经计算处理将与高速缓存的组号重合的所述物理页框的页号作为区域编号;

判断经计算处理出的区域编号与分配该应用进程的目标区域编号是否一致,一致表示符合映射条件,则为该应用进程分配相应的物理页框;不一致表示不符合映射条件,则提醒该应用进程相应的物理页框分配失败。

为了解决上述技术问题,本发明提供了一种使用大容量高速缓存的内存管理装置,包括相互连接的高速缓存划分模块和内存分配模块,其中:

高速缓存划分模块,用于以内存的物理页框为单位划分高速缓存,并将确定的划分高速缓存区域的映射条件输出给内存分配模块;

内存分配模块,用于为并发应用进程分配符合高速缓存区域的映射条件的物理页框。

进一步地,该高速缓存划分模块包括依次连接的高速缓存区域划分单元和划分区域映射单元,其中:

高速缓存区域划分单元,将与高速缓存组的组号重合的所述物理页框的页号作为区域编号对高速缓存组进行区域划分,并将区域编号输出给划分区域映射单元;

划分区域映射单元,用于将区域号作为相应应用进程内存分配的映射条件保存,并在内存分配模块提出映射条件请求时,将符合映射条件相应的区域号返回给内存分配模块。

进一步地,该内存分配模块包括依次连接的映射条件判断单元和页框分配单元,其中:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110269002.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top