[发明专利]用于优化存储器中软件功能的配置的方法和软件有效
申请号: | 200680031690.0 | 申请日: | 2006-08-30 |
公开(公告)号: | CN101253479A | 公开(公告)日: | 2008-08-27 |
发明(设计)人: | T·里特佐;R·莫勒 | 申请(专利权)人: | 索尼爱立信移动通讯股份有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 王庆海;刘春元 |
地址: | 瑞典*** | 国省代码: | 瑞典;SE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 优化 存储器 软件 功能 配置 方法 | ||
技术领域
本发明涉及用于优化计算装置的存储器中的软件功能的配置(positioning)的方法和相应的软件程序。在许多其中执行程序或软件代码和/或处理任意类型数据的计算装置中,数据、信息、软件代码等的主存储介质与运行存储装置结合使用,软件代码和/或信息当所述运行存储装置正在运行时存储在所述工作存储装置中。主存储装置例如是硬盘或者类似物,而主工作装置例如是RAM(随机访问存储器)。在硬盘中,即使当计算装置关闭时,所存储的软件代码和信息也保持存储状态,然而RAM在在计算机关闭后被清空。在数据处理和/或软件代码执行期间,因为RAM允许在所述RAM的任何区域以相同的速度寻址所存储的软件代码和信息,所以通常使用RAM执行这种处理。
背景技术
在任何类型计算装置中,会发生所需RAM空间比可用RAM空间更多的情况。因为较大RAM比较小RAM昂贵很多,并且需要比可用空间更多的RAM空间的情况并不是经常出现,所以引入了虚拟存储器的概念。这种思想主要是将来自RAM的软件代码或数据复制到次级存储器以腾出空间用于从所述次级存储器加载回来的其它软件代码或数据。因此,所述次级存储器可以是计算装置中诸如硬盘之类的主存储介质或者计算机装置中可用的任何其它适当的存储器或存储装置的。虚拟存储器的一般性概念在图1中展示。这里,逻辑(或虚拟)存储器1具有比物理存储器2更大的存储空间,所述物理存储器2例如是RAM。应用程序3a,3b,3c在逻辑存储器1中具有地址数据,这些地址数据转换(地址转换4)到物理存储器2中的数据或软件代码的“实际”地址。这种地址数据或软件的转换对于应用程序是完全透明的。
如前面陈述的,虚拟或逻辑存储器1比物理存储器2更大,而次级存储器用作没有放置在主工作存储器中的数据或软件代码的备份,所述主工作存储器通常是所提到的RAM。
虚拟存储器的概念也被用作-实质上直接-从诸如NAND闪存和硬盘驱动器的原地非执行部分(XiP)设备执行软件代码,这意味着应用程序或软件代码不需要处理任何来自于次级存储器的加载操作,因为这是由系统代码自动处理。
通常,有两种主要类型的虚拟存储系统,即其中逻辑和物理存储器分成相等尺寸页的分页系统,和块具有可变尺寸的分段系统。出于简化理解的目的,在以下描述中将仅仅使用分页系统的术语,但是应该明确的是本发明也适用于分段系统。
如果逻辑或虚拟存储器空间比物理存储器空间大,可能发生下述情况,访问包含所需数据或软件代码的所需页,而此所需页在物理存储器中得不到。当发生此种情况时,就发生了所谓的页面失效。由系统处理此情况,并且这是通过在逻辑存储器中查找空白页开始的。如果没有找到这样的空白页,它选择一个需要卸载的牺牲数据(victim data)或软件代码块。如果牺牲页(victim page)中的数据在之前因为一些处理已经改变了,它必须按次序写回到次级存储器以保存这些变化,否则它将被简单地覆盖。下一步是将所需的数据或软件代码从次级存储器复制到主存储器中,即RAM,并且更新地址转换数据。最后,系统将转换地址数据返回给应用程序,所述应用程序在略有延迟后重新开始执行。
虚拟存储概念的优点是无需提供更大的物理存储装置就能够获得更大的存储空间以及可能透明地执行来自non-XiP存储器的应用程序。其缺点是前面描述的页失效所导致的延迟。页失效发生的次数主要依赖于逻辑和物理存储器的大小、选择牺牲页的算法以及数据和代码的设计。
现有技术中已有一些通过重新排列次级存储器中的软件代码以使得页失效较少发生来降低页失效发生率的尝试。例如,在ACM出版社于1990年出版的关于编程语言设计和应用(Conference on Programming Language Design andImplementation)的ACM SIGPLAN1990会议的会议论文中,K.Pettis,R.Hansen在论文“Profile Guided Code Positioning”中提出了一种形成此技术领域参考标准的算法。由Pettes和Hansen提出的此方法是基于“最近即最好(closest is best)”的原则。换句话说,经常相互调用的软件代码或软件功能应该在代码的最终版本中被最终配置为彼此相邻。这增加了它们被放置在相同RAM页(或段)中的机会,从而减少了运行集的大小并相应减少了页失效的次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于索尼爱立信移动通讯股份有限公司,未经索尼爱立信移动通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680031690.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高铬锰铸铁轧辊及其制备方法
- 下一篇:用于低合金结构钢零件的阻渗涂料