CN1153145C - 预加载不同缺省地址转换属性的方法和装置 - Google Patents

预加载不同缺省地址转换属性的方法和装置 Download PDF

Info

Publication number
CN1153145C
CN1153145C CNB971255857A CN97125585A CN1153145C CN 1153145 C CN1153145 C CN 1153145C CN B971255857 A CNB971255857 A CN B971255857A CN 97125585 A CN97125585 A CN 97125585A CN 1153145 C CN1153145 C CN 1153145C
Authority
CN
China
Prior art keywords
page
processor
default
attribute
address
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
CNB971255857A
Other languages
English (en)
Other versions
CN1192009A (zh
Inventor
ɽ��һ��
山田康一
�����ɵ�
G·N·哈蒙德
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN1192009A publication Critical patent/CN1192009A/zh
Application granted granted Critical
Publication of CN1153145C publication Critical patent/CN1153145C/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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/654Look-ahead translation

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

预加载不同缺省地址转换属性的方法和装置
技术领域
本发明涉及计算机系统领域。更准确地说本发明涉及存储器管理领域。
背景技术
存储器寻址模式常常使用一种称为页面调度的技术来实现虚拟存储器。在使用页面调度时,虚拟地址空间(亦即由处理器的执行单元或者由处理器的执行单元与分段单元一道产生的地址空间)被分为称为页的固定大小的块,每一块(页)可以被映射到系统中可用的任何物理地址(亦即相应于硬件存储单元的地址)。在一个典型的计算机系统中,存储器管理单元根据页面调度算法使用一个或多个页表管理和维护虚拟地址到物理地址的当前映射。
当从处理器的执行单元接收到一个虚拟地址时,典型的存储器管理单元最初使用页表把该虚拟地址转换为与其对应的物理地址。由于页表常常存储在主存储器中,因此访问页表要耗费时间。为了加快页面调度的转换,一些计算机系统把最新使用的转换关系存储在一个转换监视缓冲器或简称为TLB(常常位于处理器中的一种快速存储器)中。当产生一个需要转换的虚拟地址时,存储器管理单元在访问页表之前首先检索TLB中的转换关系。如果该转换关系存储在TLB中,则称有一个TLB“命中”,TLB提供该转换关系。然而,如果该转换关系未存储在TLB中,则称TLB“失中”,于是调用页失中处理器访问页表而提供该转换关系。
使用一些不同的技术来实现页失中处理器,包括:1)使用处理器中的硬件访问页表(称为“硬件页失中处理器”);2)使用操作系统子例程,其执行控制对页表的访问(称为“软件页失中处理器”)等。一些系统使用多种技术处理TLB失中。例如一个系统使用一个硬件页失中处理器访问杂散页表,而使用一个软件页失中处理器来控制非杂散页表的移动。因此,这里使用“页失中处理器”这一术语指当另一个地址转换单元不能提供一个转换关系时任何提供该转换关系的技术。
当使用软件页失中处理器时,一个TLB失中使处理器中断执行当前进程,存储被中断的进程的执行环境(亦即恢复被中断进程执行的必须的信息),执行该软件页失中处理器来确定页转换。软件页失中处理器的执行导致产生转换关系,并通常把该转换关系装入TLB。在软件页失中处理器完成后,处理器恢复被中断进程的执行。
一些计算机系统现在使用地址扩展进一步把虚拟地址空间分为多个虚拟地址空间区域,其中每一个区域可以包括一个或者多个页。每一个区域由一个区域标识符(也叫作“地址空间标识符)标识。在一些计算机系统中,使用虚拟地址的N个位来标识2N个不同的虚拟地址空间区域。2N个区域中的每一个都可以用于任意数目不同的应用。另外,虚拟存储器不同区域的每一种不同的应用可以具有不同的存储器访问特征(例如局部、全局等)。
为把转换关系装入TLB,通常使用一个或者多个TLB装入寄存器(例如一个页失中处理器存储该转换关系到TLB装入寄存器并指示处理器安装这些转换关系到TLB中)。TLB安装寄存器常常包括一个区域标识符字段、一个转换属性字段、一个虚拟页号码字段和一个物理页号码字段。转换属性字段用于存储标识正被访问的页的各种特征数据(例如访问保护等)。
在识别到页失中时,通常计算机系统:1)把虚拟页号码和区域标识符加载到TLB安装寄存器中;2)激活页失中处理器加载物理页号码和属性到TLB安装寄存器。虽然在一个区域中的页属性可以不同,但是一个区域中的大多数页常常具有相同属性。然而,页处理程序必须在每次安装转换关系时加载一个区域中每一页的属性。由于TLB的安装以比其它类型的事件(异常、中断、操作系统调用等)高得多的速率发生,所以希望页失中处理器尽可能精简。
发明内容
本发明描述了一种用于将虚拟地址向物理地址的转换关系的安装集成到一个转换单元的方法和装置。根据本发明的一个方面,提供一种用于计算机系统的装置,它一般包括一个转换单元,一个缺省属性存储区域和一个预加载单元。转换单元存储将虚拟地址转换为物理地址的转换关系,这些转换关系的每一个包含一个属性字段。缺省转换属性存储区域存储一些缺省转换属性。预加载单元连接到缺省转换单元和转换单元。在接收到从转换单元来的,指示对一个虚拟地址的转换关系未存储在转换单元中的信号时,预加载单元给转换单元发送适当的缺省转换属性。
根据本发明的另一个方面,提供了一个处理器,它包括:一个转换监视缓冲器,用于将一个虚拟地址转换为一个物理地址;一个转换监视缓冲器安装存储单元,其连接到所述转换监视缓冲器并包括一个转换属性字段,该字段当将虚拟地址转换为物理地址时定义一个属性;一组寄存器,所述寄存器组中的每一个寄存器包括一个缺省转换属性字段;一个预加载电路,其被连接到该组寄存器和转换监视缓冲器安装存储单元,该预加载单元用于预加载一个相应的缺省转换属性来供所述转换监视缓冲器安装存储单元使用,但是如果所述缺省转换属性对于该虚拟地址不正确,则替换该缺省转换属性字段。
根据本发明的另一个方面,还提供了一个一个计算机系统,它包括一个处理器,该处理器包括:一个转换监视缓冲器,用于将一个虚拟地址转换为一个物理地址;一个转换监视缓冲器安装存储单元,其连接到所述转换监视缓冲器并包括转换属性字段,该字段当将虚拟地址转换为物理地址时定义一个属性;一组寄存器,所述寄存器组中的每一个寄存器包括一个缺省转换属性字段;一个预加载电路,其被连接到该组寄存器和转换监视缓冲器安装存储单元,该预加载单元用于预加载一个相应的缺省转换属性来供所述转换监视缓冲器安装存储单元使用,但是如果所述缺省转换属性对于该虚拟地址不正确,则替换该缺省转换属性字段;以及连接到所述处理器的一个存储设备,其由一个由该处理器传输的物理地址来定址。
根据本发明的另一个方面,提供了一种将转换关系存储到一个地址转换单元的方法,所述地址转换单元用以转换虚拟地址为转换后的地址,所述方法包括由计算机实现的如下步骤:检测用于一个虚拟地址的转换关系未存储在所述地址转换单元;在一个缺省转换属性存储单元中存储多个缺省转换属性;所述多个缺省转换属性中的每一个对于虚拟地址的一个不同虚拟区域而被选择;根据标识所述虚拟地址中的虚拟区域的N个位,从多个缺省转换属性中选择一个作为当前选择的缺省属性,所述缺省转换属性不包括在该虚拟地址中;预加载所述当前选择的缺省转换属性到所述地址转换单元;在所述预加载步骤之后使用一个页失中处理器确定所述转换关系;在所述地址转换单元中存储任何为完成所述转换必需的其它数据。
附图说明
参考下面的说明以及本发明的附图可以更好地理解本发明,附图中:
图1是一个方框图,表示可以根据本发明的一个实施例用虚拟地址的一些位寻址的不同虚拟区域;
图2是例示实现本发明的一个实施例的方框图;
图3是一个流程图,表示根据本发明的一个实施例、响应把一个虚拟地址转换为其相应物理地址的请求所执行的步骤;
图4是一个流程图,更为详细地说明根据本发明的一个实施例在图3中的步骤360所执行的步骤;
图5是例示根据本发明的一个实施例的计算机系统的方框图。
具体实施方式
在下面的说明中,叙述了大量特别的细节以提供对本发明彻底的了解。然而,应该理解,本发明可以不要这些细节实现。在另一些情况下,公知的电路、结构和技术未详细叙述,以避免不必要地模糊本发明。
本发明描述了一种集成TLB安装的方法和装置。在一个实施例中,处理器包括一个存储区域,它为一些不同的虚拟地址集之中的每一个存储缺省转换属性。响应TLB失中,处理器预加载虚拟地址的适当的缺省转换属性到TLB安装寄存器中。如果预加载的缺省转换属性正确,则页失中处理器不加载TLB安装寄存器的属性字段,从而TLB装入的性能增加。然而,如果缺省转换属性不正确,则页失中处理器简单地把正确的属性重写在预加载缺省属性上。在另一个实施例中,缺省转换属性直接预先加载到TLB中的一个登记项下,TLB安装寄存器可以被使用或不被使用(存在)。
图1是一个方框图,表示可以用一个虚拟地址的一些位寻址的不同虚拟区域。图1表示一个64位的虚拟地址100,64个位从0到63编号。在本发明的一个实施例中,虚拟地址100的N个高位用于标识2N个不同的虚拟区域105。于是,如图1中的例子所示,每一个不同的虚拟区域具有264-N个字节的可寻址空间。虽然该实施例是以64位的计算机系统叙述的,但是本发明不限于64位的计算机系统。
不同的实施例可以以任何数目的不同方式给区域和页指定任何数目的不同属性。例如,不同的实施例可以以任何数目的不同方式把虚拟区域细分为页(例如每一个虚拟区域可以包含一个或者多个页,不同的区域可以包含不同大小的页,同一区域可以包含不同大小的页,等)。另外,不同的实施例可以以任何数目的不同方式指定访问保护准则(例如同一保护关键字可以用于一个区域中的每一页,每一页可以具有它自己的保护关键字,等)。还有,不同的实施例可以以任何数目的不同方式处理超高速缓冲存储(例如,同样的超高速缓冲存储协议可以用于一个区域中的每一页,每一页可以有它自己的超高速缓冲存储协议,等)。虽然叙述了一个可以使用地址扩展来标识虚拟空间的不同区域的实施例,但是另外的实施例却不需要支持不同的虚拟区域。
图2是例示本发明的一个实施例的方框图。图2表示一个包含K个位的虚拟地址200,它需要转换为一个物理地址205。虚拟地址200包含一个虚拟区域标识符字段210、一个虚拟页号码字段220和一个位移字段215。图中所示的位移字段215包含m个位。在一个支持多个页大小(例如4K、16K、4M等)的实施例中,位移字段215中的位数和虚拟页号码字段220依赖于该虚拟地址所属的页的大小。图2中用在位移字段215和虚拟页号码字段220之间的虚线表示位移可变化的大小。
在一个实施例中,虚拟区域标识符字段210中的N个位用来标识寄存器组225中的一个寄存器。寄存器组225包括2N个寄存器,用于为与当前被执行的进程有关的每一区域存储区域标识符和缺省转换属性。在该实施例中,寄存器组225不必为由处理器作多任务的进程存储缺省转换属性。区域的缺省转换属性对不同的进程可以选择为不同。对当前作为多任务的进程缺省转换属性可以在主存储器和寄存器组225之间由操作系统交换。当然另外一个实施例可以包含更多或更少的寄存器。
如前所述,本发明另外的实施例不需要支持不同的虚拟区域(亦即,本发明另外的实施例不使用区域标识符作为地址扩展)。另外,尽管所叙述的实施例是使用一组寄存器来存储缺省转换属性和根据虚拟地址的位而选择缺省转换属性的,但是也有另外的实施例,它们可以使用任何数目的不同技术存储缺省转换属性和/或从其中选择。例如,缺省转换属性可以:1)用硬连线实现一些或者全部区域的缺省转换属性存储;2)用硬连线实现一些或者全部虚拟地址的缺省转换属性存储(包括不支持虚拟区域的计算机系统);3)存储在处理器外的一个存储区域和/或由一个软件处理程序访问;4)根据当前与一个虚拟地址相关的指令选择(例如I/O指令的执行可以导致选择一组缺省转换属性,而非I/O指令的执行可以导致选择一组不同的缺省转换属性)等。此处所用术语“缺省转换属性存储区域”指的是任何存储缺省转换属性的机构。所用术语“缺省转换属性选择准则”指的是由在缺省转换属性存储区域中的缺省转换属性来进行选择的任何技术。
可以存储任意数目的属性作为缺省转换属性的部分,包括缺省页大小、缺省超高速缓冲协议、缺省保护关键字等。例如,一个区域的缺省页大小应该选择为代表在该区域中最经常被访问和/或出现的页大小。通过选择在该区域中最经常被访问和/或出现的页大小,对于属于该区域的一个虚拟地址而言,预先加载的缺省页大小常常为正确的页大小。尽管保护关键字可以用于任意目的,但是在本发明的一个实施例中保护关键字用于支持基于域的保护模型并允许单一地址空间操作系统模型对该保护区域指定不同的关键字标识符。在一个使用保护关键字作为部分缺省转换属性的实施例中,一个区域的缺省保护关键字是区域标识符。
与虚拟地址200的虚拟页号码一起,区域标识符从寄存器组255中标识的一个寄存器送往TLB230。TLB230可以以任意方式实现(例如,一个或者多个完全关联超高速缓冲存储器,一个或者多个直接映射超高速缓冲存储器,完全关联超高速缓冲存储器和直接映射超高速缓冲存储器的组合等)。如果TLB230包含虚拟地址200的转换关系,则从TLB230中检索物理页号码并与位移字段215中的m位连在一起来产生物理地址205。
然而,如果TLB不包含虚拟地址200的转换关系的话,则产生一个TLB失中错误。响应该TLB失中错误,预加载电路240用被标识的寄存器中的缺省转换属性预加载一组TLB安装寄存器245。另外,调用一组页失中处理器250来确定对该虚拟地址的转换关系。该组页失中处理器250代表任意数目可以具有不同类型(例如硬件或软件页失中处理器)和使用不同技术(例如杂散页表、不同杂散函数、线性页表等)的页失中处理器。如果提供多个页失中处理器,则可以使用任意数目的技术选择这些页失中处理器,包括分级技术,在这种技术中在一个页失中处理器中的页失中引起在该分级中的下一页失中处理器被调用。因此,本发明既不限制于页失中处理器的类型数目,也不限制于这些页失中处理器所采用的技术。
如果预加载到TLB安装寄存器245中的缺省转换属性对该转换是正确的话,则页失中处理器把该转换的物理页号码加载到TLB安装寄存器中,而不加载转换属性。因为不加载转换属性,以这种方式可以提高页失中处理器的性能。
然而,如果预加载的缺省转换属性不正确,则页失中处理器必须既加载正确的转换属性,又加载物理页号码到TLB安装寄存器245中。一旦在TLB安装寄存器245中存储有正确的转换关系,则在TLB230中建立该转换关系。
如果在虚拟区域中的全部或者大部页共享同一转换属性的话,也可以使用缺省转换属性的预加载来减少页表的覆盖区(footprint)。例如,如果在虚拟区域中的所有页共享同一转换属性的话,则那些公共的转换属性不需要存储在每一页表的条目中,因为公共的转换属性将从寄存器组225中被标识的寄存器中预加载。
虽然只叙述了一个本发明帮助实现虚拟地址到物理地址的转换的实施例,但是在另外的实施例中本发明可以用于从虚拟地址到所转换的地址的转换,随后将该所转换的地址转换为物理地址。另外,虽然只参考特定字段(例如虚拟页号码字段220包含虚拟区域标识符字段210)描述一个实施例,但是另外的实施例可以使用不同的字段来实现本发明(例如在一个实施例中,虚拟页号码字段可以不包含虚拟区域号码字段或与其部分重合)。
TLB安装寄存器表示任意数目的寄存器,并且不必限制于在TLB230中存储用于在TLB230中安装的转换数据。例如,在TLB安装寄存器中表示的字段可以常驻于几个不同的系统寄存器中,这些寄存器包含除转换之外的信息。在转换完成后,该转换关系从几个不同的寄存器送往TLB230,以便存储在TLB230中的一个条目中。
如前所述,本发明的一个实施例直接预加载缺省转换属性到TLB条目中而不是到TLB安装寄存器中。这样一个实施例可以包括或者可以不包括TLB安装寄存器。这里用术语“TLB单元”指一个TLB以及与其相关的安装寄存器(如果有的话)。因此,预加载缺省转换属性到一个TLB单元是指预加载任何安装寄存器或者在一个TLB中预加载一个条目。
这里用术语“地址转换单元”表示一个计算机系统中转换虚拟地址的任何机构,包括:1)一个TLB单元;2)一个软件或者硬件页失中处理器等。本发明不限于预加载安装用的缺省转换属性到一个TLB单元,而可以用于预加载安装用的缺省转换属性到任何地址转换单元中(例如,预加载缺省转换属性到某种形式的基于主存储器的转换关系存储表中)。虽然只叙述了由一个预加载电路实现预加载的一个实施例,但是另外的实施例可以使用软件实现预加载。这里用术语“预加载单元”表示预加载安装用的缺省转换属性到一个地址转换单元中的任何机构。
图3是一个流程图,表示根据本发明的一个实施例响应把一个虚拟地址转换为其对应的物理地址的请求而执行的步骤。该流程图从步骤300开始,从这里控制进行到步骤310。
如在步骤310所示,此处判定TLB是否包含该虚拟地址的转换关系。如果找到一个匹配的话,流程前进到步骤320,这里使用匹配的转换关系判定虚拟地址对应的物理地址,随后流程结束。否则流程前进到步骤330。
如在步骤330所示,虚拟地址的虚拟页号码存储在TLB安装寄存器中,从步骤330,流程前进到步骤340。
如在步骤340所示,虚拟地址的缺省转换属性预加载到TLB安装寄存器中。如果使用区域标识符,则该区域的区域标识符也可以被加载到TLB安装寄存器中。从步骤340,控制进行到步骤350。
在步骤350,产生一个TLB失中错误,流程前进到步骤360。错误的产生和处理在本技术领域中是公知的技术。从步骤350控制交给步骤360。
在步骤360,TLB失中错误使用页失中处理器处理。在页失中处理器是软件的场合,处理器中断执行当前进程,保存被中断的进程执行环境(亦即恢复执行被中断的进程必需的信息),并激活该软件页失中处理器提供转换关系。页失中处理器指示处理器存储该转换关系到TLB安装寄存器中,在TLB中建立该转换关系,恢复被中断的程序的执行。在硬件页失中处理器的场合,硬件页失中处理器提供这一转换关系(例如使用做成硬连线的转换访问页表等)和/或在TLB中建立这一转换关系。步骤360将进一步参考图4说明。从步骤360,控制进行到步骤370。
在步骤370,处理器恢复被中断的进程的执行。在软件页失中处理器的场合,被中断的进程在引起TLB的失中错误的指令(亦即产生在步骤300中说明的虚拟地址的指令)处恢复执行。这样执行后,同样的虚拟地址再次被产生。然而这一次该转换关系存储在TLB中。其结果,控制通过流程图并在步骤320结束,在这里为虚拟地址确定对应的物理地址。
图4是一个流程图,它更详细地说明了根据本发明的一个实施例的图3中步骤360中执行的步骤。在使用软件页失中处理器的场合,图4中所示的步骤应该响应软件页失中处理程序的执行而执行。从产生TLB失中错误的步骤350开始,控制进行到步骤400。
在步骤400,确定虚拟地址的转换,然后控制进行到步骤410。可以使用任何执行步骤400的技术。
在步骤410,确定预加载缺省转换属性对于确定的转换来说是否正确。如果是,流程前进到步骤430。否则,流程前进到步骤420。以这种方式,如果预加载缺省转换属性(它应该是最常用的属性)正确,则TLB的装入由于不需加载转换关系的属性部分而更精简。可以使用任何技术执行步骤410,包括:1)存储指示正确转换属性(或对于一个给定的页该转换是否与缺省转换属性不同)的数据到页表的条目中;2)使操作系统测试具有不同于缺省转换属性的转换属性的地址区域;等等。
在步骤420,用正确属性重写存储在TLB安装寄存器中的预加载缺省转换属性。如果预加载的是多个缺省转换属性,则不同的实施方案可能选择性地只覆盖不正确的属性。从步骤420,流程前进到步骤430。
在步骤430,所确定的转换的物理页号码装入TLB安装寄存器中。从步骤430,流程前进到步骤440。
在步骤440,该转换关系装入TLB中,流程进行到步骤370。在软件页失中处理器的场合,软件页失中处理器包含一个或多个指令,执行这些指令,使得该转换关系得以安装,被中断的进程得以恢复。
图5是一个示例计算机系统500的框图,它包括根据本发明的一个实施例的一个软件页失中处理器。示例计算机系统500包括一个由总线515连接到存储设备510的处理器505。另外,一些用户输入/输出设备,例如键盘520、显示器525,也可以连接到总线515,但并不是本发明的必需部分。也可以在总线515上连接一个网络530。处理器505表示任何结构类型的中央处理单元,例如CISC、RISC、VLIW结构或者混合结构。另外,处理器505可以以一个或者多个芯片实现。存储设备510代表一个或多个用于存储数据的机构,例如,存储设备510可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、快速存储器设备和/或其它机读介质。总线515表示一个或者多个总线(例如PCI、ISA、X总线、EISA、VESA等)和桥路(也称为总线控制器)。虽然该实施例是对单处理器计算机系统说明,但是本发明也可以在多处理器计算机系统中实现。
图5也示出在存储设备510中存储有一个页失中处理软件535和一组确定转换关系的页表540。当然,存储设备510最好是包括另外的软件,例如操作系统和各种应用程序(未示出),它们对理解本发明来说不是必需的。
图5另外还示出处理器505包括一个执行单元545、一组寄存器550、一个TLB555、一个预加载电路560、一组TLB安装寄存器565和一个事件处理单元570。执行单元545将虚拟地址的字段发送到寄存器组550和TLB555以转换为虚拟地址。寄存器组550和TLB555与预加载电路560和TLB安装寄存器565以参考图2叙述的类似方式一起操作。
响应TLB失中,事件处理单元570启动软件页失中处理器535的执行。软件页失中处理器535的执行引起处理器505从一组页表540中检索转换关系,并将这些转换关系按照上面叙述的方法安装在TLB555中。软件页失中处理器535被写入,以便当预加载的缺省转换属性正确时利用缺省转换属性的预加载。
如上所述,本发明既不限制于页失中处理器的数目或类型,也不限制于这些页失中处理器所使用的技术。因此,虽然所示计算机系统只有单一的软件页失中处理器,但是另外的实施例可以包括任何数目的、使用任何不同技术的软件和/或硬件页失中处理器。特别是另外的实施例可以具有一个硬件页失中处理器与软件页失中处理器535并用或取而代之。
虽然图5表示了具有单一TLB的处理器,但是处理器的另外的实施方案可以包括多个TLB(例如一个数据TLB和一个指令TLB),它们共享TLB安装寄存器或具有单独的TLB安装寄存器。这里所用的存储区域一词指的是任何存储数据的机构,包括在像存储设备510这样的存储设备中的一个存储单元、处理器中一个或者多个寄存器等。
虽然本发明根据几个实施例加以说明,但是熟悉本技术领域的人员会看出,本发明不局限于所叙述的实施例。本发明的方法和装置可以经过修改和变更而实现。因此本说明应该看作是示例性的而不是对本发明的限制。

Claims (19)

1.计算机系统中所用的一种装置,所述装置包括:
一个地址转换单元,用以存储把虚拟地址转换为物理地址的多个转换关系,所述多个转换关系的每一个包含一个属性字段,该属性字段为该转换关系定义一个属性;
一个缺省转换属性存储单元,用以存储多个缺省转换属性,所述多个缺省转换属性中的每一个与一组选择的虚拟地址组相关并且当相对于一个特定虚拟地址的一个转换关系没有出现在所述地址转换单元中时被使用;以及
一个预加载单元,其被连接到所述缺省转换属性存储单元和地址转换单元,该预加载单元用于预加载一个相应的缺省转换属性来供所述地址转换单元使用,但是如果所述缺省转换属性对于该特定虚拟地址不正确,则替换该缺省转换属性。
2.如权利要求1所述的装置,其中,所述多个缺省转换属性中的每一个至少标识页大小、超高速缓冲协议和保护关键字中的一个。
3.如权利要求1所述的装置,进一步包括:
连接到所述地址转换单元的一个页失中处理器,用于当在所述地址转换单元中出现一个页丢失时为该转换关系产生一个物理页号码字段。
4.如权利要求1所述的装置,其中,所述缺省转换属性存储区包括一组寄存器。
5.一个处理器,包括:
一个转换监视缓冲器,用于将一个虚拟地址转换为一个物理地址;
一个转换监视缓冲器安装存储单元,其连接到所述转换监视缓冲器并包括一个转换属性字段,该字段当将虚拟地址转换为物理地址时定义一个属性;
一组寄存器,所述寄存器组中的每一个寄存器包括一个缺省转换属性字段;
一个预加载电路,其被连接到该组寄存器和转换监视缓冲器安装存储单元,该预加载单元用于预加载一个相应的缺省转换属性来供所述转换监视缓冲器安装存储单元使用,但是如果所述缺省转换属性时于该虚拟地址不正确,则替换该缺省转换属性字段。
6.如权利要求5所述的处理器,其中,所述虚拟地址的N位用于标识具有相应缺省转换属性字段的所述寄存器组中的一个相应寄存器。
7.如权利要求5所述的处理器,其中,存储在所述转换属性字段中的数据至少标识与一个存储器有关的页大小、超高速缓冲协议和保护关键字中的一个。
8.如权利要求5所述的处理器,进一步包括连接到所述转换监视缓冲器的一个页失中处理器,用于当在所述转换监视缓冲器中出现一个页丢失时为该转换关系产生一个页号码。
9.如权利要求5所述的处理器,进一步包括为一个连接到所述转换监视缓冲器的事件处理单元,该事件处理单元用于当在所述转换监视缓冲器中出现一个页丢失时调用一个软件页失中处理器以为该转换关系产生一个页号码。
10.一个计算机系统,包括:
一个处理器,该处理器包括:
一个转换监视缓冲器,用于将一个虚拟地址转换为一个物理地址;
一个转换监视缓冲器安装存储单元,其连接到所述转换监视缓冲器并包括转换属性字段,该字段当将虚拟地址转换为物理地址时定义一个属性;
一组寄存器,所述寄存器组中的每一个寄存器包括一个缺省转换属性字段;以及
一个预加载电路,其被连接到该组寄存器和转换监视缓冲器安装存储单元,该预加载单元用于预加载一个相应的缺省转换属性来供所述转换监视缓冲器安装存储单元使用,但是如果所述缺省转换属性对于该虚拟地址不正确,则替换该缺省转换属性字段;以及
连接到所述处理器的一个存储设备,其由一个由该处理器传输的物理地址来定址。
11.如权利要求10所述的计算机系统,其中,所述虚拟地址的N位用于标识具有相应缺省转换属性字段的所述寄存器组中的一个相应寄存器。
12.如权利要求10所述的计算机系统,其中,存储在所述转换属性字段中的数据至少标识与所述存储器有关的页大小、超高速缓冲协议和保护关键字中的一个。
13.如权利要求10所述的计算机系统,进一步包括连接到所述转换监视缓冲器的一个页失中处理器,用于当在所述转换监视缓冲器中出现一个页丢失时为该转换关系产生一个页号码。
14.如权利要求10所述的计算机系统,所述存储器具有驻留其中的一个软件页失中处理器,当该缺省转换属性字段不正确时由该处理器执行该软件页失中处理器以加载一个正确的缺省转换属性字段。
15.将转换关系存储到一个地址转换单元的方法,所述地址转换单元用以转换虚拟地址为转换后的地址,所述方法包括由计算机实现的如下步骤:
检测用于一个虚拟地址的转换关系未存储在所述地址转换单元;
在一个缺省转换属性存储单元中存储多个缺省转换属性;
所述多个缺省转换属性中的每一个对于虚拟地址的一个不同虚拟区域而被选择;
根据标识所述虚拟地址中的虚拟区域的N个位,从多个缺省转换属性中选择一个作为当前选择的缺省属性,所述缺省转换属性不包括在该虚拟地址中;
预加载所述当前选择的缺省转换属性到所述地址转换单元;
在所述预加载步骤之后使用一个页失中处理器确定所述转换关系;
在所述地址转换单元中存储任何为完成所述转换必需的其它数据。
16.如权利要求15所述的方法,其中,在所述地址转换单元中存储任何为完成所述转换必需的其它数据的所述存储步骤包括的步骤有:
如果所述转换关系包括预加载缺省转换属性,则存储该转换关系到所述地址转换单元,而不重写该预加载缺省转换属性;以及
如果所述转换关系不包括所述预加载的缺省转换属性,则用一个正确的转换属性重写该预加载缺省转换属性;
17.如权利要求15所述的方法,进一步包括的步骤有:
在向所述地址转换单元中存储为完成所述转换必需的其它数据的所述存储步骤之前,把所述转换关系的一个虚拟页号码存储到所述地址转换单元。
18.如权利要求15所述的方法,其中,所述预加载步骤包括预加载所述当前选择的缺省转换属性以标识页大小、超高速缓冲协议和保护关键字中至少一个的步骤。
19.如权利要求15所述的方法,其中,所述确定步骤包括执行一个软件页失中处理器的步骤。
CNB971255857A 1996-12-23 1997-12-23 预加载不同缺省地址转换属性的方法和装置 Expired - Fee Related CN1153145C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US771,845 1977-02-25
US771845 1996-12-23
US08/771,845 US5918251A (en) 1996-12-23 1996-12-23 Method and apparatus for preloading different default address translation attributes

Publications (2)

Publication Number Publication Date
CN1192009A CN1192009A (zh) 1998-09-02
CN1153145C true CN1153145C (zh) 2004-06-09

Family

ID=25093117

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971255857A Expired - Fee Related CN1153145C (zh) 1996-12-23 1997-12-23 预加载不同缺省地址转换属性的方法和装置

Country Status (5)

Country Link
US (1) US5918251A (zh)
EP (1) EP0851357B1 (zh)
JP (1) JP3998787B2 (zh)
CN (1) CN1153145C (zh)
DE (1) DE69724572T2 (zh)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041366A (en) * 1998-02-02 2000-03-21 International Business Machines Corporation System and method for dynamic specification of input/output attributes
US6205531B1 (en) * 1998-07-02 2001-03-20 Silicon Graphics Incorporated Method and apparatus for virtual address translation
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US7275246B1 (en) * 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US8121828B2 (en) 1999-01-28 2012-02-21 Ati Technologies Ulc Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US6301648B1 (en) * 1999-08-18 2001-10-09 Ati International Srl Method and apparatus for processing memory accesses utilizing a TLB
US6393544B1 (en) * 1999-10-31 2002-05-21 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for calculating a page table index from a virtual address
US6560689B1 (en) * 2000-03-31 2003-05-06 Intel Corporation TLB using region ID prevalidation
US6704817B1 (en) * 2000-08-31 2004-03-09 Hewlett-Packard Development Company, L.P. Computer architecture and system for efficient management of bi-directional bus
US6681295B1 (en) 2000-08-31 2004-01-20 Hewlett-Packard Development Company, L.P. Fast lane prefetching
US6662265B1 (en) 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Mechanism to track all open pages in a DRAM memory system
US6779142B1 (en) 2000-08-31 2004-08-17 Hewlett-Packard Development Company, L.P. Apparatus and method for interfacing a high speed scan-path with slow-speed test equipment
US7213087B1 (en) 2000-08-31 2007-05-01 Hewlett-Packard Development Company, L.P. Mechanism to control the allocation of an N-source shared buffer
US6678840B1 (en) * 2000-08-31 2004-01-13 Hewlett-Packard Development Company, Lp. Fault containment and error recovery in a scalable multiprocessor
US6546453B1 (en) 2000-08-31 2003-04-08 Compaq Information Technologies Group, L.P. Proprammable DRAM address mapping mechanism
US6751721B1 (en) * 2000-08-31 2004-06-15 Hewlett-Packard Development Company, L.P. Broadcast invalidate scheme
US7099913B1 (en) 2000-08-31 2006-08-29 Hewlett-Packard Development Company, L.P. Speculative directory writes in a directory based cache coherent nonuniform memory access protocol
US6754739B1 (en) 2000-08-31 2004-06-22 Hewlett-Packard Development Company Computer resource management and allocation system
US6715057B1 (en) 2000-08-31 2004-03-30 Hewlett-Packard Development Company, L.P. Efficient translation lookaside buffer miss processing in computer systems with a large range of page sizes
US6738836B1 (en) 2000-08-31 2004-05-18 Hewlett-Packard Development Company, L.P. Scalable efficient I/O port protocol
US6961781B1 (en) 2000-08-31 2005-11-01 Hewlett-Packard Development Company, L.P. Priority rules for reducing network message routing latency
US6546465B1 (en) 2000-08-31 2003-04-08 Hewlett-Packard Development Company, L.P. Chaining directory reads and writes to reduce DRAM bandwidth in a directory based CC-NUMA protocol
US6671822B1 (en) 2000-08-31 2003-12-30 Hewlett-Packard Development Company, L.P. Method and system for absorbing defects in high performance microprocessor with a large n-way set associative cache
US6654858B1 (en) 2000-08-31 2003-11-25 Hewlett-Packard Development Company, L.P. Method for reducing directory writes and latency in a high performance, directory-based, coherency protocol
US6668335B1 (en) 2000-08-31 2003-12-23 Hewlett-Packard Company, L.P. System for recovering data in a multiprocessor system comprising a conduction path for each bit between processors where the paths are grouped into separate bundles and routed along different paths
US6622225B1 (en) 2000-08-31 2003-09-16 Hewlett-Packard Development Company, L.P. System for minimizing memory bank conflicts in a computer system
US6567900B1 (en) 2000-08-31 2003-05-20 Hewlett-Packard Development Company, L.P. Efficient address interleaving with simultaneous multiple locality options
US6633960B1 (en) 2000-08-31 2003-10-14 Hewlett-Packard Development Company, L.P. Scalable directory based cache coherence protocol
US6662319B1 (en) 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Special encoding of known bad data
US6636955B1 (en) 2000-08-31 2003-10-21 Hewlett-Packard Development Company, L.P. Mechanism for synchronizing multiple skewed source-synchronous data channels with automatic initialization feature
DE10131124A1 (de) * 2001-06-28 2003-01-23 Infineon Technologies Ag Konfigurierbare Adressierungsvorrichtung
GB2378779B (en) * 2001-08-14 2005-02-02 Advanced Risc Mach Ltd Accessing memory units in a data processing apparatus
US6782446B2 (en) * 2001-08-22 2004-08-24 Intel Corporation Method to prevent corruption of page tables during flash EEPROM programming
US7124273B2 (en) * 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7581010B2 (en) * 2003-07-14 2009-08-25 Microsoft Corporation Virtual connectivity with local connection translation
US20050160229A1 (en) * 2004-01-16 2005-07-21 International Business Machines Corporation Method and apparatus for preloading translation buffers
US7206916B2 (en) * 2004-03-08 2007-04-17 Sun Microsystems, Inc. Partial address compares stored in translation lookaside buffer
JP4233492B2 (ja) * 2004-06-02 2009-03-04 富士通マイクロエレクトロニクス株式会社 アドレス変換装置
US7424584B2 (en) * 2004-08-12 2008-09-09 International Business Machines Corporation Key-controlled object-based memory protection
US7617380B2 (en) * 2005-08-25 2009-11-10 Broadcom Corporation System and method for synchronizing translation lookaside buffer access in a multithread processor
CN103646009B (zh) 2006-04-12 2016-08-17 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
US7886112B2 (en) * 2006-05-24 2011-02-08 Sony Computer Entertainment Inc. Methods and apparatus for providing simultaneous software/hardware cache fill
CN101627365B (zh) 2006-11-14 2017-03-29 索夫特机械公司 多线程架构
US8799620B2 (en) 2007-06-01 2014-08-05 Intel Corporation Linear to physical address translation with support for page attributes
US9244855B2 (en) * 2007-12-31 2016-01-26 Intel Corporation Method, system, and apparatus for page sizing extension
JP5347024B2 (ja) * 2009-06-24 2013-11-20 パナソニック株式会社 メモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置
US8364933B2 (en) * 2009-12-18 2013-01-29 International Business Machines Corporation Software assisted translation lookaside buffer search mechanism
US8694755B1 (en) * 2010-03-17 2014-04-08 Ambarella, Inc. Virtual memory management for real-time embedded devices
EP3156896B1 (en) 2010-09-17 2020-04-08 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
CN103635875B (zh) 2011-03-25 2018-02-16 英特尔公司 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段
EP2689327B1 (en) 2011-03-25 2021-07-28 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
WO2012135041A2 (en) 2011-03-25 2012-10-04 Soft Machines, Inc. Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
KR101639854B1 (ko) 2011-05-20 2016-07-14 소프트 머신즈, 인크. 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조
TWI603198B (zh) 2011-05-20 2017-10-21 英特爾股份有限公司 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
US20150039859A1 (en) 2011-11-22 2015-02-05 Soft Machines, Inc. Microprocessor accelerated code optimizer
KR101703401B1 (ko) 2011-11-22 2017-02-06 소프트 머신즈, 인크. 다중 엔진 마이크로프로세서용 가속 코드 최적화기
US9378150B2 (en) * 2012-02-28 2016-06-28 Apple Inc. Memory management unit with prefetch ability
US8930674B2 (en) 2012-03-07 2015-01-06 Soft Machines, Inc. Systems and methods for accessing a unified translation lookaside buffer
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9430410B2 (en) 2012-07-30 2016-08-30 Soft Machines, Inc. Systems and methods for supporting a plurality of load accesses of a cache in a single cycle
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9229873B2 (en) 2012-07-30 2016-01-05 Soft Machines, Inc. Systems and methods for supporting a plurality of load and store accesses of a cache
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
CN103116555B (zh) * 2013-03-05 2014-03-05 中国人民解放军国防科学技术大学 基于多体并行缓存结构的数据访问方法
KR102083390B1 (ko) 2013-03-15 2020-03-02 인텔 코포레이션 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
KR101708591B1 (ko) 2013-03-15 2017-02-20 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0175398A3 (en) * 1984-08-17 1989-08-30 Koninklijke Philips Electronics N.V. Data processing system comprising a memory access controller which is provided for combining descriptor bits of different descriptors associated with virtual addresses
US5060137A (en) * 1985-06-28 1991-10-22 Hewlett-Packard Company Explicit instructions for control of translation lookaside buffers
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US4881075A (en) * 1987-10-15 1989-11-14 Digital Equipment Corporation Method and apparatus for adaptive data compression
US4980816A (en) * 1987-12-18 1990-12-25 Nec Corporation Translation look-aside buffer control system with multiple prioritized buffers
US5179674A (en) * 1988-07-25 1993-01-12 Digital Equipment Corporation Method and apparatus for predicting valid performance of virtual-address to physical-address translations
US5058003A (en) * 1988-12-15 1991-10-15 International Business Machines Corporation Virtual storage dynamic address translation mechanism for multiple-sized pages
JPH02205953A (ja) * 1989-02-03 1990-08-15 Nec Corp アドレス変換装置
US5307477A (en) * 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5412787A (en) * 1990-11-21 1995-05-02 Hewlett-Packard Company Two-level TLB having the second level TLB implemented in cache tag RAMs
EP0506236A1 (en) * 1991-03-13 1992-09-30 International Business Machines Corporation Address translation mechanism
RU1804645C (ru) * 1991-03-27 1993-03-23 Институт Точной Механики И Вычислительной Техники Им.С.А.Лебедева Центральный процессор
US5278963A (en) * 1991-06-21 1994-01-11 International Business Machines Corporation Pretranslation of virtual addresses prior to page crossing
US5465337A (en) * 1992-08-13 1995-11-07 Sun Microsystems, Inc. Method and apparatus for a memory management unit supporting multiple page sizes
US5493660A (en) * 1992-10-06 1996-02-20 Hewlett-Packard Company Software assisted hardware TLB miss handler
US5442766A (en) * 1992-10-09 1995-08-15 International Business Machines Corporation Method and system for distributed instruction address translation in a multiscalar data processing system
US5479627A (en) * 1993-09-08 1995-12-26 Sun Microsystems, Inc. Virtual address to physical address translation cache that supports multiple page sizes
US5526504A (en) * 1993-12-15 1996-06-11 Silicon Graphics, Inc. Variable page size translation lookaside buffer
US5561814A (en) * 1993-12-22 1996-10-01 Intel Corporation Methods and apparatus for determining memory operating characteristics for given memory locations via assigned address ranges
US5652872A (en) * 1994-03-08 1997-07-29 Exponential Technology, Inc. Translator having segment bounds encoding for storage in a TLB
JP3740195B2 (ja) * 1994-09-09 2006-02-01 株式会社ルネサステクノロジ データ処理装置
US5809563A (en) * 1996-11-12 1998-09-15 Institute For The Development Of Emerging Architectures, Llc Method and apparatus utilizing a region based page table walk bit

Also Published As

Publication number Publication date
EP0851357B1 (en) 2003-09-03
JP3998787B2 (ja) 2007-10-31
CN1192009A (zh) 1998-09-02
DE69724572T2 (de) 2004-04-08
DE69724572D1 (de) 2003-10-09
US5918251A (en) 1999-06-29
JPH10228419A (ja) 1998-08-25
EP0851357A1 (en) 1998-07-01

Similar Documents

Publication Publication Date Title
CN1153145C (zh) 预加载不同缺省地址转换属性的方法和装置
EP0642086B1 (en) Virtual address to physical address translation cache that supports multiple page sizes
US6173369B1 (en) Computer system for processing multiple requests and out of order returns using a request queue
US5991757A (en) Method and system for searching an array for an array value
US5752275A (en) Translation look-aside buffer including a single page size translation unit
CN1149473C (zh) 用32位微处理器中的4字节和8字节页面表表目实现线性地址扩展以及到物理存储器上的映射
US5918250A (en) Method and apparatus for preloading default address translation attributes
US7516297B2 (en) Memory management
US20090187731A1 (en) Method for Address Translation in Virtual Machines
US5893930A (en) Predictive translation of a data address utilizing sets of associative entries stored consecutively in a translation lookaside buffer
CN102792285A (zh) 层级转换表控制
CN1659525A (zh) 简化了缓存替换策略的实现的多线程缓存方法和装置
JPS60221851A (ja) メモリ・アクセス・コントローラを具えるデータ処理装置
CN1993683A (zh) 体系结构事件期间维持处理器资源
JPH0887451A (ja) アドレス変換を管理する方法およびアドレス変換マネージャ
KR20080041707A (ko) Tlb 록 표시자
JPH07262092A (ja) 仮想メモリ管理システム、変換索引バッファ管理方法、及び変換索引バッファパージオーバーヘッド最小化方法
CN1306421C (zh) 具有增强的翻译能力的翻译后援缓冲器及其方法
JPH11102323A (ja) 仮想アドレス変換用の柔軟な変換記憶バッファ
US6571316B1 (en) Cache memory array for multiple address spaces
JPH07295886A (ja) 階層メモリ、階層メモリを有するコンピュータ・システムおよび階層メモリ管理方法
US6434685B1 (en) Paged memory management system within a run-time environment
JP2000227874A (ja) コンピュ―タ・システムにおいてディレクトリ構造を含むメイン・メモリの内容にアドレスするための方法および装置
US6990551B2 (en) System and method for employing a process identifier to minimize aliasing in a linear-addressed cache
JP2008512758A (ja) 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法

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: 20040609

Termination date: 20121223