CN1294498C - 利用再参考指示符进行页面替换的方法和装置 - Google Patents

利用再参考指示符进行页面替换的方法和装置 Download PDF

Info

Publication number
CN1294498C
CN1294498C CNB2004100600543A CN200410060054A CN1294498C CN 1294498 C CN1294498 C CN 1294498C CN B2004100600543 A CNB2004100600543 A CN B2004100600543A CN 200410060054 A CN200410060054 A CN 200410060054A CN 1294498 C CN1294498 C CN 1294498C
Authority
CN
China
Prior art keywords
page
reference designator
memory
designator
primary memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004100600543A
Other languages
English (en)
Other versions
CN1577296A (zh
Inventor
安德鲁·邓舍
德克·米歇尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1577296A publication Critical patent/CN1577296A/zh
Application granted granted Critical
Publication of CN1294498C publication Critical patent/CN1294498C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了利用再参考指示符进行页面替换的方法、设备、处理器、系统和信号承载媒体。在存储器已满时根据页面表条目中的参考指示符和再参考指示符确定替换哪个页面。当与条目中的参考指示符相关的页面在存储器内被访问,而参考指示符原先已被清除时,设置该条目中的参考指示符。当与条目中的再参考指示符相关的页面被访问,而参考指示符原先已设置时,设置该条目中的再参考指示符。如果与参考指示符和再参考指示符相关的页面被访问,且参考指示符和再参考指示符原先都已设置,设置参考指示符和再参考指示符。当新页面被访问,且存储器已满,如果页面的参考指示符和再参考指示符原先均已设置,不能替换存储器内的该页面。否则,可以替换该页面。

Description

利用再参考指示符进行页面替换的方法和装置
有限版权弃权声明
本专利文件所公开的部分内容包含已申请了版权保护的材料。版权所有者不反对任何人传真复制出现在美国专利与商标局档案或资料内的专利文件或专利所公开的内容,但保留其它所有一切权利。
技术领域
本发明的一个实施例一般涉及利用再参考指示符替换存储器内的页面的方法。
背景技术
计算机系统将数据存储在存储器内。为了有效地工作,计算机系统针对这些数据进行运算和处理。在理想的情况下,计算机系统应该有一个容量无限大而且速度极快的存储器,在该存储器内任何特定的数据都可以被计算机系统随时利用。实际上这是不可能的,因为极快速的存储器也是极为昂贵的。
因此,计算机一般都有一个存储器分级(即分层次)体系,其每个级别的存储容量都大于前一级别,但速度更慢,单价更低。分级体系的这些层次可以互相形成子集,即在一个级别上的所有数据都可以在下一个级别上发现,而在该较低级别上的所有数据又可以在再下一个级别上发现,依次类推,直至到达分级体系的最底层。为了将存储器分级体系所带来的性能弊端降至最低,需要将使用频度最高的数据存储在最快的存储器内,并将使用频度最低的数据存入最慢的存储器内。
虽然一个计算机系统可以包含任意个存储器级别,但在下面的例子中计算机系统只包含两个存储器级别:
1)一个小型、高速和价格较贵的RAM(随机存取存储器),常被称作主存储器,用于存储使用频度最高的数据;以及
2)几个大型、速度较低、价格低廉的磁盘驱动器,用于保存计算机系统内的所有数据。
当计算机系统需要为数据分配存储器时,它首先看的是主存储器的内部。如果在主存储器内存储器不可利用时(没有空闲的存储器),计算机系统就必须确定从主存储器中删除哪些数据,以便为当前需要的数据腾出空间。为有效起见,数据可以所谓的页面为单位进行移动或在存储器级别之间转移。页面可以是一个作为单元而移动的、长度固定或可变的数据块。页面也可以称作页帧。在主存储器中腾空页面以满足当前正在进行的工作的需要的过程叫做页面调度、页面替换或页面挪用。
用于选择通过存储器各级向后移动哪个页面(即挪用或替换页面)的算法叫做替换算法。“最近最少使用”算法常常被用来管理页面的运动。也就是说,那些最近没有被参考过的数据首先被替换。因此,如果一个页面长时间未被使用,它就将通过存储器分级体系转移到最低级别。这样,最近使用最频繁的数据就存储在高速度的主存储器内,以便可以随时被访问,而较少使用的数据就通过存储器分级体系转移到常常被称作辅助存储器的速度较低的存储器内。
由于页面可能在多个存储装置的分级体系内跨越多个物理地址而进行转移,常常使用一种叫做虚拟寻址的方法,其中一个页面有一个虚拟地址,无论页面当前的存储物理地址如何,该虚拟地址都不会改变。为了进行将虚拟地址映射到物理地址的处理并使页面通过分级体系而移动,常常使用一种页面表。页面表的每个页面都有一个条目,并有用于执行替换算法的控制信息。
例如,控制信息就是一个参考位,该参考位用于表示页面是否被参考或访问过。典型的页面替换算法使用参考位来确定是否替换或挪用页面。若页面的参考位没有设定(已被清除),页面替换算法就替换或挪用页面,而如果参考位被设定,页面替换算法就清除参考位而不挪用页面。由于一旦页面被访问参考位就被设定,所以被页面替换算法第一次扫描的页面就会有一个设定的参考位,使得页面不能被挪用。如果没有一个页面可以被替换或挪用,就需要对存储器进行第二次扫描,替换或挪用那些其参考位被继续清除的页面。这种对存储器进行的额外扫描需要时间,所以会影响计算机系统的性能。
为了提高性能,需要采用一种能更好地选择可被挪用的页面的方法。
发明内容
本发明提供了一种方法、设备、处理器、系统和信号承载媒体,在一个实施例中,当存储器已满时根据页面表条目中的参考指示符和再参考指示符确定替换哪个页面。在一个实施例中,当与一个条目中的参考指示符所相关的页面在存储器内被访问,而该参考指示符原先已被清除时,则该条目中的参考指示符被设置。当与一个条目中的再参考指示符相关的页面被访问,而参考指示符原先已设置时,则该条目中的再参考指示符被设置。如果与参考指示符和再参考指示符相关的页面被访问,而且参考指示符和再参考指示符原先都已设置,则参考指示符和再参考指示符都被清除。当一个新的页面被访问,而且存储器已经满了,如果一个页面的参考指示符和再参考指示符均已设置,则存储器内的该页面不能被替换。否则,该页面就可以被替换。
本发明提供一种方法,包括:接收指令以访问第一页面;以及根据第二页面的参考指示符和再参考指示符确定是否用第一页面取代存储器内的第二页面,其中参考指示符表示自第二页面装入存储器后第二页面是否已经被访问过,而再参考指示符则表示在参考指示符被设置后第二页面是否已经被访问过。
本发明提供一种存储器管理的方法,包括:当主存储器内多个页面全部都在使用中,而且第一页面不在主存储器内时,就对页面表内的多个条目进行搜索,其中多个条目中的每一个都包含一个参考指示符和一个再参考指示符;以及当在多个条目的第二条目中的参考指示符和再参考指示符都被清除时,用第一页面取代主存储器内多个页面中的第二页面,其中第二页面与第二条目相关。
本发明提供一种用页面表管理存储器的方法,其中页面表包括与至少一个相应页面相关的至少一个条目,其中所述至少一个条目包括一个参考指示符和一个再参考指示符,该方法包括:当主存储器内相应的页面被访问时,存储器管理单元即设置该参考指示符;当主存储器内相应的页面被访问而且再参考指示符以前已经设置时,存储器管理单元即设置该再参考指示符。
本发明提供一种处理器,该处理器包括:一个包括多个条目的页面表,其中多个条目中的每个条目有一个指示符和一个再参考指示符;一个存储器管理实用工具,用于在主存储器内相关的页面被访问而且参考指示符以前已被清除时,设置参考指示符;以及在主存储器内相关的页面被访问而且参考指示符以前已被设置时,设置再参考指示符。
本发明提供一种电子装置,该电子装置包括:一个处理器,用于在主存储器内一个相关的页面被访问而且参考指示符在以前已被清除时,在一个页面表条目内设置一个参考指示符;以及在主存储器内一个相关的页面被访问而且参考指示符在以前被设置时,在该页面表条目内设置一个再参考指示符;用虚拟存储器管理器编码的辅助存储器,若参考指示符和再参考指示符两者均被设置、主存储器已满而且一个来自辅助存储器的新页面被访问,则所述虚拟存储器管理器即清除参考指示符和再参考指示符。
附图说明
图1是描述用于实现本发明一个实施例的实例系统的一幅框图。
图2是依据本发明一个实施例描述页面表的一幅框图。
图3是依据本发明一个实施例描述存储器管理单元的处理实例的一幅流程图。
图4是依据本发明一个实施例描述虚拟存储器管理器的处理实例的一幅流程图。
具体实施方式
图1是一幅描述用于实现本发明一个实施例的实例系统100的框图。系统100包括与网络104连接的电子装置102。尽管只显示了一个电子装置102和一个网络104,在其它实施例中它们的任何数量和组合方案都可出现。在另一个实施例中,网络104没有出现。
电子装置102包括一个处理器105,该处理器通过总线120与辅助存储装置110及主存储器115连接。处理器105代表一个任何体系结构类型的中央处理器,例如CISC(复杂指令集计算机)、RISC(精简指令集计算机)、VLIW(超长指令字),或者一个混合结构,尽管任何合适的处理器都可以使用。处理器105执行指令,并包含电子装置102的对整个电子装置实施控制的部分。处理器105从辅助存储装置110和(或)主存储器115读出并(或)向辅助存储装置110和(或)主存储器115内存储代码和(或)数据。
处理器105包括一个存储器管理单元(MMU)125和一个页面表130。存储器管理单元125利用页面表130将虚拟存储器地址映射到物理存储器地址。下面将参照图3进一步描述存储器管理单元125的功能。尽管图中所示页面表130在是处理器105的一部分,但在另一个实施例中页面表130可以与处理器105分开;例如,页面表130可以包括在主存储器115中。下面将参照图2进一步描述页面表130。
虽然在图1中没有加以描述,处理器105还可以包括其它多种对于理解本发明实施例来说不是必需的部分。例如,处理器105还可以包括在处理器周期内执行指令的执行单元、用于与总线120接口的总线接口单元、读取指令的读取单元以及用于保存指令和数据的队列和(或)高速缓冲存储器。在其它实施例中,处理器105可以包括任何合适的部件。
尽管图中所示电子装置102只包括一个处理器105和一条总线120,本发明同样也应用于那些有多个处理器和多条总线的电子装置,其中一些或全部以不同的方法履行不同的功能。
辅助存储装置110代表一个或几个用于存储数据的机构。例如,辅助存储装置110可以包括随机存取存储器(RAM)、磁盘存储媒体、光学存储媒体、快闪存储装置以及(或)其它机器可读媒体。在其它实施例中,任何合适类型的存储装置都可以使用。虽然只展示了一个辅助存储装置110,但是也可出现多个存储装置以及多种类型和级别的存储装置。而且,虽然图中所示电子装置102包括了辅助存储装置110,但它还可以通过其它电子装置而成为分布式的,例如,当一些电子装置在诸如网络104那样的网络内实现连接的时候。
辅助存储装置110包括一个虚拟存储器管理器140。虚拟存储器管理器140可以包括能被处理器105执行的指令和(或)能被在处理器105上执行的指令所翻译的语句。在另一个实施例中,虚拟存储器管理器140的一些或全部功能可以通过逻辑门和(或)其它硬件机构执行。虚拟存储器管理器140可以执行页面调度功能以便在辅助存储装置110和主存储器115之间转移页面(包含其本身)。下面将参照图4进一步描述虚拟存储器管理器140的功能。
主存储器115代表一个或多个存储数据的机构。例如,主存储器115可以包括一个或数个高速缓冲存储器或者任何适当类型的随机存取存储器。虽然在图中仅展示了一个主存储器115,但是也可出现多个存储器、多种类型和级别的存储器。在一个实施例中,主存储器115比辅助存储装置110更小、存取速度更快。
总线120可以代表一条或多条总线,例如,PCI(外设部件互连)、ISA(工业标准体系结构)、X-总线、EISA(扩展的工业标准体系结构)或任何其它适合的总线和(或)网桥(亦称作总线控制器)。
电子装置102可以利用任何适当的硬件和(或)软件,例如个人计算机,来实现。电子装置102可能采用的其它配置实例包括便携式计算机、膝上型或笔记本型计算机、PDA(个人数字助理)、袖珍式计算机、电话、寻呼机、汽车、电话会议系统、仪表和大型计算机等。图1所描述的硬件和软件可以根据具体的应用情况而变化,而且所包括的成分可以比所描述的更多或更少。例如,音频适配器等其它外设,或EPROM(可擦写可编程序只读存储器)等芯片编程装置可以用来补充或取代已描述过的硬件。
网络104可以是任何适合的网络或网络组合,可以支持适用于向电子装置102发送或从电子装置102接收数据和(或)代码的任何合适的通信协议。在各种实施例中,网络104可以代表直接或间接地与电子装置102连接的一个存储装置或存储装置的组合。在一个实施例中,网络104可以支持无限带宽。在另一个实施例中,网络104可以支持无线通信。在另一个实施例中,网络104可以支持硬连线通信,诸如电话线或电缆通信等。在另一个实施例中,网络104可以支持以太网IEEE(美国电气和电子工程师学会)802.3x规范。在另一个实施例中网络104可以是因特网并可以支持IP(因特网协议)。在另一个实施例中,网络104可以是一个局域网(LAN)或广域网(WAN)。在另一个实施例中,网络104可以是一个热点服务供应商网络。在另一个实施例中,网络104可以是一个内联网。在另一个实施例中网络104可以是一个GPRS(通用分组无线业务)网。在另一个实施例中,网络104可以是任何适当的蜂窝式数据网,即基于小单元的无线网络技术。在另一个实施例中,网络104可以是一个IEEE 802.11B无线网。在另一个实施例中,网络104可以是任何合适的网络或网络组合。尽管仅显示了一个网络104,但在其它实施例中可以出现任何数量(相同种类或不同种类)的网络。
正如下面所要详细描述的,本发明一个实施例的各个方面与特定的设备和可在计算机、处理器或其它电子装置上执行的方法要素有关。在另一个实施例中,本发明可以作为程序产品与计算机、处理器或其它电子装置一起使用。用于定义该实施例的功能的程序可以通过各种信号承载媒体发送到计算机、处理器或其它电子装置,该程序包括(但不局限于):
(1)永久存储在一个不可改写的存储媒体内的信息,例如,这些存储媒体包括与计算机、处理器或其它电子装置连接或在其内部的只读存储装置,如CD-ROM驱动器可读的CD-ROM等;
(2)存储在可改写存储媒体,例如硬盘驱动器或软盘,内的可变信息;
(3)通过通信媒体,例如包括无线通信在内的、如网络104那样的计算机或电话网络,传送到计算机、处理器或其它电子装置的信息。
这些信号承载媒体,当载有机器可读的、能控制本发明的功能的指令时,就代表本发明的实施例。
图2依据本发明的一个实施例描述了页面表130的框图。页面表130包括一个物理地址字段202、一个参考指示符字段204、一个再参考指示符字段206、一个修改指示符字段208,一个有效指示符字段210以及控制信息212。
物理地址字段202包含主存储器115内的数据的地址,该地址与页面表130中的条目相关。参考指示符字段204表示自页面装入主存储器115以来,与条目相关的页面是否已被访问过。再参考指示符字段206表示自参考指示符字段204设定以后,与条目相关的页面是否再次被访问过。关于参考指示符字段204和再参考指示符字段206的设定和清除将在下面参照图3和图4进一步描述。修改指示符字段208表示自页面存入主存储器115以来,与条目相关的页面是否被修改。有效指示符字段210表示条目是否有效,也就是说,与虚拟地址相关的页面是否在主存储器115内。
控制信息字段212可以包括存储器管理单元125或虚拟存储器管理器140所需要的任何其它信息。在各种实施例中,控制信息字段212可能包括的数据的实例有,用于表示页面是否已被写入但并未被存入辅助存储器110的无效指示符、用于表示对于一个用户过程来说页面是否可访问的用户指示符、用于表示是否允许对页面写的写启用指示符或者任何其它适合的控制信息。在其它实施例中,控制信息212是可选择的,不是已使用的或现用的。在其它实施例中页面表130可以包括比图中所显示的更多、更少或不同的字段。
页面表130还包括两个条目214和216,两者包括前面所述202、204、206、208、210和212字段中的数据。尽管显示了两个页面表条目214和216,但在另一个实施例中页面表130可以包括电子装置102的每一个虚拟地址的条目。在其它实施例中,页面表130内可以出现任意数量的条目。在一个实施例中,存储器管理单元125将一个虚拟地址作为对页面表130的索引使用,以便发现与虚拟地址相关的条目。在另一个实施例中,存储器管理单元125使用一种散列功能来发现与虚拟地址相关的条目。在另一个实施例中,存储器管理单元125使用翻译后援缓冲器(TLB)从一个虚拟地址映射到页面表130中的相关条目。在其它实施例中,可以使用从一个虚拟地址映射到页面表130中相关条目的任何适当的方法。
在一个实施例中,字段204、206、208和210作为位指示符而存储,例如,被清除时为“0”,被设置时为“1”,但在其它实施例中,任何合适的指示和编码方法都可能被使用。
图3描述的是依据本发明一个实施例的存储器管理单元125的一个处理实例的流程图。控制开始于图框300。然后控制继续进行至图框305,其中存储器管理单元125接收到一条指令,要求对虚拟存储器地址进行访问。这类指令的实例有读、写、装入和存储,但在其它实施例中任何合适的指令都可使用。
然后控制继续进行至图框310,其中存储器管理单元125将指令中的虚拟存储器地址映射到物理地址并访问页面表130。然后控制继续进行至图框315,其中存储器管理单元125确定,从页面表条目获得的物理地址是否包含在主存储器115内。如前面参照图2所做的描述,在一个实施例中,存储器管理单元125可以在图框315通过用于页面表130当前条目的有效指示符210,做出这种确定。
如果在图框315的确定结果为“是”,则从页面表条目获得的物理地址即包含在主存储器115内,为此,控制继续进行到图框325,其中存储器管理单元125确定,页面表条目内的参考指示符204(以前在图框310中发现)是否已经被清除。
如果在图框325的确定结果为“是”,则参考指示符204即被清除,为此,控制继续进行到图框330,其中存储器管理单元125设置参考指示符204。然后控制继续进行到图框335,其中存储器管理单元125按照物理地址字段202内为页面条目规定的地址访问主存储器115的内容。然后控制继续进行至图框399,功能从此处返回。
如果在图框325的确定结果为“否”,则参考指示符204被设置,为此,控制继续进行至图框340,其中存储器管理单元125在与页面表条目相关的再参考指示符字段206中设置再参考指示符的值。然后控制继续进行至图框335,其中存储器管理单元125按照物理地址字段202内为页面条目规定的地址访问主存储器115的内容。然后控制继续进行至图框399,功能从此处返回。
如果在图框315的确定结果为“否”,则从页面表条目获得的物理地址未包含在主存储器115内,为此,控制继续进行至图框320,其中存储器管理单元125造成一次中断,导致虚拟存储器管理器140履行下面将参照图4进一步描述的功能。在其它实施例中,存储器管理单元125可以使用任何合适的机构来导致虚拟存储器管理器140执行这些功能。然后控制继续进行至图框399,功能从此处返回。
图4描述的是依据本发明一个实施例的虚拟存储器管理器140的一个处理实例的流程图。控制开始于图框400。然后控制继续进行至图框405,其中虚拟存储器管理器140确定,是否主存储器115内所有的页面当前都在使用中,如果是,主存储器115即是满的,从而没有空的页面可以利用。
如果在图框405的确定结果为“否”,则不是所有页面都在使用中,为此,控制继续进行至框图410,其中虚拟存储器管理器140将与来自辅助存储器110的虚拟地址相关的页面复制到主存储器115,并更新页面表130以表示与虚拟地址相关的页面现在处在主存储器115内。然后控制继续进行至图框498,功能从此处返回。
如果在图框405的确定结果为“是”,则所有页面都在使用中,为此,控制继续进行至图框415,其中虚拟存储器管理器140确定,在页面表130中是否还有未处理过的页面表条目。如果在图框415的确定结果为“是”,则还有未处理过的页面表条目,为此,控制继续进行至图框420,其中虚拟存储器管理器140确定,是否参考指示符204和再参考指示符206两者均已为页面表130内的条目设置。
如果在图框420的确定结果为“是”,则参考指示符204和再参考指示符206两者都已设置,为此,控制继续进行至图框425,其中虚拟存储器管理器140清除参考指示符204和再参考指示符206。然后,控制继续进行至图框430,其中虚拟存储器管理器140将当前条目设置为页面表130中的下一个未被处理的条目。然后,控制返回至图框415,其中,如上所述,虚拟存储器管理器开始处理页面表130中的下一个条目。
如果在图框420的确定结果为“否”,则不是参考指示符204和再参考指示符206两者都已设置,为此,控制继续进行至图框435,其中虚拟存储器管理器140挪用主存储器115内与页面表内当前条目相关的页面。在一个实施例中,虚拟存储器管理器140挪用页面的方法是清除页面有效指示符210以表示页面已经不在主存储器115内,并且如果页面自上一次写入辅助存储装置110后已经被修改,则将页面从主存储器115写入辅助存储装置110。
然后,控制继续进行至图框440,其中虚拟存储器管理器140访问与辅助存储装置110内的虚拟地址相关的页面并将其复制到主存储器115内该页面曾在步骤435被挪用的位置上。在另一个实施例中,如果与虚拟地址相关的页面还没有存在于辅助存储装置110内,则虚拟存储器管理器140就创建一个新的页面。虚拟存储器管理器140还在与虚拟地址相关的条目中进一步设置有效指示符210,以表示该页面现在在主存储器115内。然后,控制继续进行至图框445,其中虚拟存储器管理器140清除与虚拟地址相关的页面表条目中的参考指示符204和再参考指示符206。然后控制继续进行至图框499,功能从此处返回。
如果在图框415的确定结果为“否”,则没有未处理过的页面表条目,为此,控制继续进行至图框450,其中虚拟存储器管理器140从页面表130的起始处重新启动过程。然后控制返回到图框415以进行如上所述的另一轮通过页面表130的过程。
在前面对本发明范例性实施例的详细描述中都参照了附图(其中相应的数字代表相应的要素),这些附图是整个描述的一个组成部分,在图中以图解的方法展示了本发明得以付诸实践的具体范例性实施例。对这些实施例描述的详细程度足以使本专业的技术人员能够实践本发明,但其它实施例可以被利用并且可以在不违背本发明范围的前提下进行逻辑的、机械的、电气的和其它方面的变动。在本说明范围内“实施例”一词在不同场合的使用并不一定指的是同一个实施例,但可以指同一个实施例。因此,以上详细的说明并不构成限制,本发明的范围仅由附加的权利要求书来定义。
在以上说明中列举了许多具体细节以便于对本发明的彻底理解。但本发明可以在不用这些细节的情况下实践。在其它情况下,为了不对本发明产生模糊作用,对众所周知的电路、结构和方法未加以详细说明。

Claims (20)

1.一种方法,包括:
接收指令以访问第一页面;以及
根据第二页面的参考指示符和再参考指示符确定是否用第一页面取代存储器内的第二页面,其中参考指示符表示自第二页面装入存储器后第二页面是否已经被访问过,而再参考指示符则表示在参考指示符被设置后第二页面是否已经被访问过。
2.权利要求1的方法,还包括:
若参考指示符和再参考指示符两者均被清除,则用第一页面取代存储器内的第二页面。
3.权利要求1的方法,还包括:
若参考指示符被设置而再参考指示符被清除,则用第一页面取代存储器内的第二页面。
4.权利要求1的方法,其中确定步骤还包括:
若参考指示符和再参考指示符两者均已设置而且存储器内的所有页面均在使用中,则清除参考指示符和再参考指示符。
5.权利要求1的方法,其中,在第二页面被访问而且参考指示符在以前已被清除时,由存储器管理单元设置参考指示符。
6.权利要求1的方法,其中,在第二页面被访问而且参考指示符在以前已被设置时,由存储器管理单元设置再参考指示符。
7.一种存储器管理的方法,包括:
当主存储器内多个页面全部都在使用中,而且第一页面不在主存储器内时,就对页面表内的多个条目进行搜索,其中多个条目中的每一个都包含一个参考指示符和一个再参考指示符;以及
当在多个条目的第二条目中的参考指示符和再参考指示符都被清除时,用第一页面取代主存储器内多个页面中的第二页面,其中第二页面与第二条目相关。
8.权利要求7的方法,还包括:
当第二条目内的参考指示符和再参考指示符两者都被清除时,在多个条目的第一条目中设置一个有效指示符,其中该第一条目与第一页面相关。
9.权利要求7的方法,还包括:
当在多个条目的第二条目中参考指示符被设置,而再参考指示符被清除时,用第一页面取代主存储器内的第二页面。
10.权利要求9的方法,还包括:
当在第二条目中参考指示符被设置,而再参考指示符被清除时,在多个条目的第一条目中设置一个有效指示符,其中第一条目与第一页面相关。
11.权利要求7的方法,还包括:
当在第二条目中参考指示符和再参考指示符两者都被设置时,清除参考指示符和再参考指示符。
12.一种用页面表管理存储器的方法,其中页面表包括与至少一个相应页面相关的至少一个条目,其中所述至少一个条目包括一个参考指示符和一个再参考指示符,该方法包括:
当主存储器内相应的页面被访问时,存储器管理单元即设置该参考指示符;
当主存储器内相应的页面被访问而且再参考指示符以前已经设置时,存储器管理单元即设置该再参考指示符。
13.权利要求12的方法,其中当参考指示符和再参考指示符两者都被清除时,虚拟存储器管理器即用来自辅助存储器的第二页面取代主存储器内相应的页面。
14.权利要求12的方法,其中当参考指示符被设置而再参考指示符被清除时,虚拟存储器管理器即用来自辅助存储器的第二页面取代主存储器内相应的页面。
15.权利要求12的方法,其中当主存储器中的所有页面都在使用中而且参考指示符和再参考指示符两者均被设置时,虚拟存储器管理器将参考指示符和再参考指示符两者均清除。
16.一种处理器,该处理器包括:
一个包括多个条目的页面表,其中多个条目中的每个条目有一个指示符和一个再参考指示符;
一个存储器管理实用工具,用于
在主存储器内相关的页面被访问而且参考指示符以前已被清除时,设置参考指示符;以及
在主存储器内相关的页面被访问而且参考指示符以前已被设置时,设置再参考指示符。
17.权利要求16的处理器,其中存储器管理实用工具进一步确定,当与一条指令相关的地址不在主存储器内时,是否对一个虚拟存储器管理器造成一次中断。
18.一种电子装置,该电子装置包括:
一个处理器,用于
在主存储器内一个相关的页面被访问而且参考指示符在以前已被清除时,在一个页面表条目内设置一个参考指示符;以及
在主存储器内一个相关的页面被访问而且参考指示符在以前被设置时,在该页面表条目内设置一个再参考指示符;
用虚拟存储器管理器编码的辅助存储器,若参考指示符和再参考指示符两者均被设置、主存储器已满而且一个来自辅助存储器的新页面被访问,则所述虚拟存储器管理器即清除参考指示符和再参考指示符。
19.权利要求18的电子装置,其中所述虚拟存储器管理器还:
在参考指示符和再参考指示符两者均被清除时,用新的页面取代主存储器内的相关页面。
20.权利要求18的电子装置,其中虚拟存储器管理器还:
在参考指示符被设置而再参考指示符被清除时,用新的页面取代主存储器内的相关页面。
CNB2004100600543A 2003-07-03 2004-06-25 利用再参考指示符进行页面替换的方法和装置 Expired - Fee Related CN1294498C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/614,628 US7080220B2 (en) 2003-07-03 2003-07-03 Page replacement with a re-reference indicator
US10/614,628 2003-07-03

Publications (2)

Publication Number Publication Date
CN1577296A CN1577296A (zh) 2005-02-09
CN1294498C true CN1294498C (zh) 2007-01-10

Family

ID=33552831

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100600543A Expired - Fee Related CN1294498C (zh) 2003-07-03 2004-06-25 利用再参考指示符进行页面替换的方法和装置

Country Status (2)

Country Link
US (1) US7080220B2 (zh)
CN (1) CN1294498C (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1510899B1 (en) * 2002-06-05 2011-12-07 Fujitsu Limited Memory management unit
US20050027954A1 (en) * 2003-08-01 2005-02-03 Rothman Michael A. Method and apparatus to support the maintenance and reduction of FLASH utilization as it pertains to unused or infrequently referenced FLASH data
US20050192229A1 (en) * 2004-02-27 2005-09-01 Perricone Nicholas V. Topical glutathione treatments
US7353361B2 (en) * 2005-06-06 2008-04-01 International Business Machines Corporation Page replacement policy for systems having multiple page sizes
US7721023B2 (en) 2005-11-15 2010-05-18 International Business Machines Corporation I/O address translation method for specifying a relaxed ordering for I/O accesses
US7685386B2 (en) * 2007-01-24 2010-03-23 International Business Machines Corporation Data storage resynchronization using application features
US8627327B2 (en) * 2007-10-24 2014-01-07 International Business Machines Corporation Thread classification suspension
US8712984B2 (en) 2010-03-04 2014-04-29 Microsoft Corporation Buffer pool extension for database server
US9235531B2 (en) * 2010-03-04 2016-01-12 Microsoft Technology Licensing, Llc Multi-level buffer pool extensions
US8799611B2 (en) 2011-05-05 2014-08-05 International Business Machines Corporation Managing allocation of memory pages
US8793444B2 (en) * 2011-05-05 2014-07-29 International Business Machines Corporation Managing large page memory pools
US8683169B2 (en) 2011-05-05 2014-03-25 International Business Machines Corporation Selecting an auxiliary storage medium for writing data of real storage pages
US8656133B2 (en) 2011-05-05 2014-02-18 International Business Machines Corporation Managing storage extents and the obtaining of storage blocks within the extents
US8880806B2 (en) 2012-07-27 2014-11-04 International Business Machines Corporation Randomized page weights for optimizing buffer pool page reuse
US20150052326A1 (en) * 2013-08-19 2015-02-19 International Business Machines Corporation User-controlled paging
CN105446889B (zh) * 2014-07-31 2019-02-12 华为技术有限公司 一种内存管理方法、装置以及内存控制器
US9857979B2 (en) * 2015-11-24 2018-01-02 International Business Machines Corporation Optimizing page boundary crossing in system memory using a reference bit and a change bit
US9892060B2 (en) 2015-12-02 2018-02-13 International Business Machines Corporation Identifying stale entries in address translation cache

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758120A (en) * 1993-01-08 1998-05-26 Internatiional Business Machines Corporation Method and system for increased system memory concurrency in a multi-processor computer system utilizing concurrent access of reference and change bits
WO2001022941A1 (en) * 1999-09-28 2001-04-05 H. Lundbeck A/S Melt granulated composition and modified release dosage form prepared from said composition

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US120821A (en) * 1871-11-14 Improvement in bottle-stoppers
US120808A (en) * 1871-11-07 Improvement in skirt-supporting corsets
JP3155537B2 (ja) 1989-01-23 2001-04-09 株式会社日立製作所 実記憶管理方法
US5394539A (en) 1991-09-04 1995-02-28 International Business Machines Corporation Method and apparatus for rapid data copying using reassigned backing pages
US6886085B1 (en) * 2000-04-19 2005-04-26 International Business Machines Corporation Method and apparatus for efficient virtual memory management
US6829693B2 (en) 2001-02-28 2004-12-07 International Business Machines Corporation Auxiliary storage slot scavenger
US6918022B2 (en) 2001-02-28 2005-07-12 Intel Corporation Memory space organization
US6594742B1 (en) * 2001-05-07 2003-07-15 Emc Corporation Cache management via statistically adjusted slot aging
US20030084253A1 (en) * 2001-10-31 2003-05-01 Johnson David J.C. Identification of stale entries in a computer cache
JP3808837B2 (ja) * 2003-03-11 2006-08-16 株式会社東芝 キャッシュメモリーシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758120A (en) * 1993-01-08 1998-05-26 Internatiional Business Machines Corporation Method and system for increased system memory concurrency in a multi-processor computer system utilizing concurrent access of reference and change bits
WO2001022941A1 (en) * 1999-09-28 2001-04-05 H. Lundbeck A/S Melt granulated composition and modified release dosage form prepared from said composition

Also Published As

Publication number Publication date
US20050005080A1 (en) 2005-01-06
US7080220B2 (en) 2006-07-18
CN1577296A (zh) 2005-02-09

Similar Documents

Publication Publication Date Title
CN1294498C (zh) 利用再参考指示符进行页面替换的方法和装置
US7487329B2 (en) Page replacement policy for systems having multiple page sizes
CN1153145C (zh) 预加载不同缺省地址转换属性的方法和装置
US7047382B2 (en) System and method for managing compression and decompression and decompression of system memory in a computer system
US6658549B2 (en) Method and system allowing a single entity to manage memory comprising compressed and uncompressed data
US6182089B1 (en) Method, system and computer program product for dynamically allocating large memory pages of different sizes
CN1278244C (zh) 内存管理系统及依据线性地址的内存存取保密的方法
US20070005911A1 (en) Operating System-Based Memory Compression for Embedded Systems
JP4366012B2 (ja) 仮想記憶システムにおいてアプリケーションプログラムによってコードまたはデータをグループに分類して、物理メモリの割り振りの制御を行うアプリケーション・プログラミング・インターフェイス
EP1988474A1 (en) System and method of managing indexation of flash memory
Kirovski et al. Procedure based program compression
JPH1196074A (ja) 交換アルゴリズム動的選択コンピュータシステム
US20070088920A1 (en) Managing data for memory, a data store, and a storage device
US6341325B2 (en) Method and apparatus for addressing main memory contents including a directory structure in a computer system
US7496722B2 (en) Memory mapped page priorities
US7174429B2 (en) Method for extending the local memory address space of a processor
Ross Modeling the performance of algorithms on flash memory devices
CN100336038C (zh) 嵌入顺序缓冲器的计算机系统及其方法
KR100894845B1 (ko) 플래시 변환 계층 모듈을 이용한 주소 변환 방법
CN1794209A (zh) Java操作系统中段页式虚拟存储系统的实现方法
US7181587B1 (en) Mapping an arbitrary number of contiguous memory pages at an arbitrary alignment
JPS6015971B2 (ja) 緩衝記憶装置
US7853771B2 (en) Page allocation management for virtual memory
KR100302928B1 (ko) 명령어및데이터에대한하드웨어-관리프로그래머블통합/분할된캐싱메카니즘
CN118193140A (zh) 一种基于虚拟内存的数据管理方法、设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070110