CN1125338A - 用于动态控制地址空间分配的方法和设备 - Google Patents

用于动态控制地址空间分配的方法和设备 Download PDF

Info

Publication number
CN1125338A
CN1125338A CN95104838A CN95104838A CN1125338A CN 1125338 A CN1125338 A CN 1125338A CN 95104838 A CN95104838 A CN 95104838A CN 95104838 A CN95104838 A CN 95104838A CN 1125338 A CN1125338 A CN 1125338A
Authority
CN
China
Prior art keywords
inlet
address
address space
memory
memory 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.)
Granted
Application number
CN95104838A
Other languages
English (en)
Other versions
CN1084005C (zh
Inventor
R·贝尔考斯基
D·S·克朗克
B·R·格里米斯
M·R·特纳
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 CN1125338A publication Critical patent/CN1125338A/zh
Application granted granted Critical
Publication of CN1084005C publication Critical patent/CN1084005C/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
    • 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
    • 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]

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

一种用于管理存储器系统中存贮地址空间的方法,所述存储器系统有许多块地址转换入口,每个入口定义一部分存储器地址空间,该方法包括以下步骤:a)确定给不是由任何块地址转换入口定义的存储器地址空间的一部分加标记的被接收虚拟地址;b)重新对至少一个所述块地址转换入口定位,以定义包括所述被接收虚拟地址的存储器地址空间的一部分;和c)利用重新定位的块地址转换入口提供与虚拟地址匹配的物理地址。

Description

用于动态控制地址空间 分配的方法和设备
本发明一般地涉及个人计算机系统,并更具体地涉及用于动态管理寻址控制的方法。
计算机系统一般利用两个主地址空间,用以规定数据位置或存储器中单元位置。一个物理地址空间利用物理地址去规定数据在存储器中的实际位置。一个虚拟地址空间利用虚拟地址去规定数据或指令在存储器结构中的位置。也就是说,软件一般能设置数据在一种存储器结构中的逻辑位置因此该软件无需知道或理解实际的存储器物理位置和限定(limitations)。存储器管理部件是通过微处理器用于将虚拟存储器地址变换为物理存储器地址,从而进一步将软件与物理存储器存储单元和边界隔开。在某些情况下,物理存储器地址也可另由诸如图形适配器之类的另一装置变换成局部物理存储器地址。
物理存储器的一个限定可为那个存储器的容量。也就是说,虚拟地址空间可大于物理地址空间。这种限定易于受大多数系统所操纵,因为在任何给定时刻,处理器仅用一小部分存储器来工作。一种技术是使页面数据进、出存储器的同时用转换后备缓冲器,分段寄存器和页面表去保留数据踪迹。这种分页技术一般用来在某一时间处理少量数据页(例如4K字节)。另一技术是用几个块地址转换寄存器去处理某一时刻的大量数据块。
然而,当发生从虚拟到物理的地址转换时,可能对某一给定的虚拟地址不存在被分配的物理地址。这在现有技术中通常为一种例外而称为分页例外或分页故降。一般,将该例外届时通知一个软件例外处理程序并由该例外处理程序负责确定为分析该例外需采取什么动作。这些动作包括分配物理存储器的一个已清除页面并将其标为有效以使被请求地址用一不同地址,或者取消已引起该例外的地址的应用程序的请求。
本发明包括一种用于管理存储器系统中的存储器地址空间的方法,该存储器系统具有多个块地址转换入口,每个入口界定一部分存储器地址空间,该方法包括以下步骤:确定被接收虚拟地址引用未被任何块地址转换入口所定义的一部分存储器地址空间,重新给至少一个块地址转换入口分配地址,以确定包含所接收虚拟地址的一部分存储器地址空间,以及利用重新定址的块地址,转换入口提供与虚拟地址匹配的物理地址。此外,本发明包括用于管理存储系统中存储地址空间的设备,该存储系统有多个块地址转换入口,每个入口限定一部分存储器地址空间,该设备包括用于确定被接收虚拟地址引用的一部分存储器地址空间没有被任何块地址转换入口所定义的设备,用于对至少一个所述块地址转换入口重新定地址的设备,以定义包含所接收虚拟地址的一部分存储器地址空间,以及用于利用重新定址的块地址转换入口提供与虚拟地址匹配的物理地址的设备。
对本发明的特性和优点的进一步了解可参考说明书和附图的其余部分予以实现。
图1A是为本发明一个最佳实施例所利用的典型数字计算机的方块图;
图1B是为本发明一个最佳实施例所用的上述图1A中所示一个典型存储器管理部件的方块图;
图2是一种存储变换的方块图;
图3是系统存储器中一组典型内容的方块图;
图4是系统地址空间的分段视图的方块图;
图5是说明在第一类型微处理器中的地址分解的流程图;
图6是说明第二类型微处理器中的地址分解的流程图;
图7是说明本发明概念性概要的方块图;
图8是设置和初始化序列的流程图;
图9是例外出现时的流程图;
图10是按第一类型微处理器,本发明例外处理程序的流程图;和
图11是本发明对第二类型微处理器的异常处理的流程图。
本发明公开描述的是允许虚拟寻址和分页的计算机系统。也用块地址译码记发器去定义物理地址的比例小子集(proportionallysmall subset)。页面错误用于请求异常处理程序。该异常处理程序响应页面错误动态地改变至少一个块地址译码记发器的定义状态,从而提供虚拟到物理的可寻址性。这使得在动态基础上能快速存取大部分存储器。
在最佳实施例中,将所有页面定义为无效,从而每当被请求虚拟地址没有被块地址译码记发器定义时就产生页面错误。此外,存储器某些部分被定义为具有诸如超高速缓冲存储或非超高速缓冲存储之类的不同存取特性。再者,在该最佳实施例中,地址空间稀疏被占有,因此要求一种敏捷灵巧的系统去动态处理页面错误。
现参照诸附图,特别是图1A,那显示出由本发明最佳实施例所用典型数字计算机100的方块图。该计算机包括微处理器110。微处理器110最好是PowerPC(IBM公司商标)系列的微处理器中的一种。对该PowerPC的更全面的描述是在“Power PC601 RISC微处理器的用户手册”和“power PC603微处理器的用户手册”中并在先有技术中是众所周知的。微处理器110可包括单一处理器或多台处理器。微处理器110通过总线115耦合到存储器控制器-I/O桥120,以使微处理器能与以下所述各种部件通信。MMU(存储器管理部件)150用于将译码虚拟地址处理成物理地址并在下文参照图1B更详细地加以描述。存储器控制器I/O桥120还通过总线125耦合到系统存储器130。系统存储器130一般包括RAM(随机存取存储器)。存储器控制器I/O桥还通过总线135耦合到I/O装置-I/O总线140。I/O装置-I/O总线允许各种I/O部件同处理器通信。I/O装置140可包括键盘,鼠标,图形输入卡或其他类型的输入装置,或文本监视器,绘图机或其他类型的输出装置,或磁盘驱动存储器,磁性存储器,或其他类型的I/O装置。总线115,总线125和总线135包括地址,数据和由本领域技术人员公知的控制线路。
图1B是为本发明一个最佳实施例所用的以上图1A中所示MMU(存储器管理部件)150的一个方块图。MMU包括控制逻辑180,BAT(块地址译码)记发器152,TLBs(译码后备缓冲器)154,分段寄存器156,和其他寄存器160。BATs,TLBs和位于系统存储器中的相关页面表,和分段寄存器在本领域中是众所周知的,故除了就本发明功能方面以外,不在此详细描述它们的功能。
参照图2,图中示出一种系统地址空间存储变换映象200的简化视图。在该最佳实施例中,系统地址空间存储变换映象200由总共4千兆字节(GB)的有效地址空间组成,这些空间不全都需要用诸如物理RAM130等的实际存储器和I/O装置140占据。该系统地址空间存储变换映象200还由两个2GB空间,系统RAM210和I/O空间220限定。在该最佳实施例中,系统RAM210被限定为超高速缓冲存储的而I/O空间220被限定为非超高速缓冲存储的。将系统地址空间存储变换映象200分为两个具有不同存取特性的空间的这种分法是任选的,系统地址空间存储变换映象200的其他分法也是可能的。
参照图3,图中示出存储器130中的典型的一组内容。存储器130一般包含异常入口指针310,异常处理程序320,程序码330,数据空间340,堆栈空间350,和空闲空间360。当然,存储器130的内容和使用的种种变化是可能的。
现参照图4,该图表示按本发明一个最佳实施例的系统地址空间存储变换映象200的一种分段视图400。有效地址空间被分成十六个256MB(兆字节)段。这些256MB段是段0到段F(402至432)。如图2所述,在最佳实施例中,段0至7被定义为超高速缓冲存储的而段8至F被定义为非超高速缓冲存储的。如以上所述,不是所有系统存储器需要用实际存储器来占用的。
现将参照两种不同类型微处理器描述招致页面错误和异常处理的过程。
现参见图5,该图表示一种处理器(第一类型的)地址分解方法500的流程图。最好,该地址分解方法500是Power PC601微处理器,可兼容微处理器或改进的微处理器的方法。Power PC地址分辨装置在“Power Pc 601 RISC处理器用户手册”中有完整说明并是本领域众所周知的。首先,一个指令设法对系统地址空间200(替换视图400)的某部分访问510。第一类型微处理器通过BAT(块地址译码)记发器520的所请求虚似地址的有效地址。若步骤520的存取有效(命中),则控制程序继续步骤580,对正在由微处理器存取的被请求存储器进行连续正常处理。若检查步骤520判定:存取是无效(没命中)则流程继续到步骤530,在那里检查TLB(译码后备缓冲器的所请求虚似地址的实际地址。若步骤530的TLB是命中的,则流程进到步骤580。若步骤530的TLB是没命中,则控制程序进到步骤540,在那里微处理器访问(walks)页面表以寻找被请求的虚拟地址。若在页面表检查步骤550中存在命中,则程序进到步骤580。若步骤550判定存在丢失(无任何页面表项目包含被请求虚拟地址),则流程进到步骤560启动异常处理。接着步骤560的异常处理的开始便是步骤570的调用异常处理程序的子程序。在该最佳实施例中,存在无效TLB或页面表项目。因此在该最佳实施例中,步骤530和步骤550决不会引起采取走“是”的通路。
现参照图6,该图示出一种微处理器(第二类型的)地址分辨方法600的流程图。最好,该地址分辨方法600是PowerPC603微处理器,可兼容微处理器,或改进微处理器的方法。PowerPC地址分辨方式在“PowerPC603 RISC微处理器用户手册”中作了完整描述并在本领域中是众所周知的。道先,一个指令设法对系统地址空间200(替换视图400)的某部分进行存取610。第二类微处理器借助BAT记发器620检查该取存是否有效。若步骤620的存取有效,则控制程序继续步骤660,继续进行正常处理。在步骤620检查的判定结果是存取无效,则流程继续步骤630,检查TLB。若步骤630中TLB是命中的,则流程进到步骤660。若步骤630存在TLB未命中,则控制程序进到步骤640,启动异常处理。接着步骤640的异常处理的启动,是步骤650调用异常处理程序。在该最佳实施例中,存在无效TLB项目。因此,引起在该最佳实施例中步骤630将决不会采取“是”路径。
现参照图7,该图示出本发明的一个概念性视图700。再次示出图4的地址空间400。概念性视图700示出该图左侧的一组BAT设置程序702,704,706和708,表示异常或页面错误出现时的状态716。地址空间712的程序存取部分由于段A422未由BAT702-708之一定义而产生错误713。错误713启动引起待调用的异常处理管理程序714(此后称为自动批处理AUTOBAT)的除外。该图的右侧即是错误分解程序718。然后AUTOBAT(自动批处理)管理程序714对BAT3709重新编程,同样如从段D428至段A422的BAT3708程序。这些程序段产生BAT3710。该AUTOBAT管理程序还检查该被存取地址空间是否为高速缓冲存储器的,并将有那种存储器特性的BAT记发器作出标记。当AUTOBAT管理程序714完成这一过程时,便恢复程序存取存贮器712并继续执行,因为现存在一个带有匹配虚拟地址的BAT记发器。下面更详细地描述图8-11中的概念性视图700的处理流程。
现参照图8,该图示出本发明最佳实施例的建立和起始顺序的流程800。可在程序编码330中找到的诸如电源接通起始子程序之类的程序码(program code)在步骤810建立异常入口点310中的异常处理程序的指针,该指针将指向异常处理程序320和更具体的自动BAT管理程序714。然后该电源接通码在步骤820启动数据空间340中的页面表区。在该最佳实施例中,页面表因所有无效人入口启动。这确保了:不是由BAT定义的任何地址将调用异常处理程序。另一些可选实施例可用有效页面入口。然后BAT记发器被装有起始值(830)。然后在步骤840允许该微处理器的译码方式(该译码方式是一种启动power PC微处理器中虚拟寻址的已知方式)。在初始化阶段完成的时间点,继续进行系统操作,即步骤850。
现参照图9,该图示出异常事件900的流程图。在步骤910,执行一程序。该程序执行一个不是由BAT寄存器920定义的存储器存取指令。微处理器由于步骤920的故障存取而产生异常930。然后在步骤940调用异常处理程序。图10和11中更全面地描述了异常处理程序的操作。于是步骤920的异常指令在步骤950被再启动。然后在步骤960以适当的批处理分解执行该指令。然后该程序在步骤970继续正常执行。
现参照图10,该图示出第一类微处理器1000的异常处理程序。更具体地说,该异常处理程序是AUTOBAT管理程序714。一旦调用异常处理程序,处理程序1000将所需状态保存在堆栈1010上。然后在步骤1020确定引起异常的地址,这是通过读出微处理器的一个寄存器来完成的。在步骤1030将BAT3的内容复制到通用寄存器。步骤1040,修改当前通用寄存器中的BAT3值以便提供对引起异常的地址空间的可寻址性。然后在步骤1050,将BAT3装以更新值。在步骤1060,重新存贮步骤1010以来的先前所存贮状态。然后在步骤1070,退出该异常处理程序,返回到异常指令。
现参照图11,该图示出用于第二类微处理器1100的异常处理程序。更具体地说,该异常处理程序是AUTOBAT管理程序714。一旦调用该异常处理程序,即在步骤1110通过读出一微处理器的寄存器确定引起该异常的地址。在步骤1120,将BAT3的内容复制到各专用寄存器。在步骤1130,修改专用寄存器中的当前BAT3值,以提供对引起异常的地址空间的可寻址性。然后在步骤1140,将BAT3装以更新值。然后在步骤1150退出异常处理程序返回到异常指令。
使用如上所述的动态BAT定位,提供了一种结构紧凑和敏捷灵巧的存储器管理系统。该系统结构紧凑是因为页面表利用率最低,还因为对BAT记发器进行管理是一项需要较少指令的操作。该系统敏捷灵巧是因为由标记定域性构思造成仅当出现一种异常和通常罕见的多种异常时才调用异常处理程序。也就是说,大多数存贮器存取一般是邻接的或接近于已由BAT定义的先前存贮器存取,因此通常不会引起由于由BAT确定的存贮器宽度造成的异常。
虽然本发明已参考特定实施例作了上述完全描述,但对本领域普通技术人员而言,有些其他可供选择的实施例是显而易见的。例如,虽然最佳实施例用了Power PC微处理器,但本发明可在其他微处理器上加以实施。同样,本领域技术人员将认识到本发明的许多要点可用硬件或软件加以实施。因此,以上说明应不是对由所附权利要求书所限定的本发明范围的限制。

Claims (15)

1.一种用于管理存储器系统中存贮地址空间的方法,所述存储器系统有许多块地址转换入口,每个入口定义一部分存储器地址空间,该方法包括以下步骤:
a)确定给不是由任何块地址转换入口定义的存储器地址空间的一部分加标记的被接收虚拟地址;
b)重新对至少一个所述块地址转换入口定位,以定义包括所述被接收虚拟地址的存储器地址空间的一部分;和
c)利用重新定位的块地址转换入口提供与虚拟地址匹配的物理地址。
2.如权利要求1的所述方法,其特征在于:所述确定步骤包括确定被接收虚拟地址引用一部分不是由任何转换后备缓冲器入口界定的存储器地址空间。
3.如权利要求2所述的方法,其特征在于:所述确定步骤包括确定被接收虚拟地址引用不是由负面表入口定义的一部分存储器地址空间。
4.如权利要求3的方法,其特征在于:还包括初始确定所有转换后备缓冲器入口和页面表入口为无效的步骤。
5.如权利要求4的方法,其特征在于:所述重新定位步骤包括给存储器地址空间的所述确定部分的所述块地址转换入口配置存取特性。
6.用于管理存储器系统中的存储器地址空间的设备,所述存储器系统有多个块地址转换入口,每个入口确定一部分存储器地址空间,该设备包括:
a)用于确定被接收虚拟地址给一部分不是由任何块地址转换入口确定的存储器地址空间加标记的装置;
b)用于对至少一个所述块地址转换入口进行重新定位的装置,以界定包括所述被接收虚拟地址的一部分存储器地址空间;和
c)利用重新定位的块地址转换入口提供与虚拟地址匹配的物理地址的装置。
7.如权利要求6的设备,其特征在于:所述用于确定的装置包括确定被接收虚拟地址引用一部分不是由任何转换后备缓冲器入口界定的存储器地址空间的装置。
8.如权利要求7的设备,其特征在于:所述用于确定装置包括确定被接收虚拟地址引用一部分不是由任何页面表入口界定的存储器地址空间的装置。
9.如权利要求8的设备,其特征在于还包括将所有转换后备缓冲器入口和页面表入口开始确定为无效的装置。
10.如权利要求9的设备,其特征在于:所述用于重新定位的装置包括给所述确定的存储器地址空间部分的所述块地址转换入口配置存取特性的装置。
11.一种计算机系统,包括:
a)用于处理数据的微处理器;和
b)用于贮存待由所述微处理器处理的数据的存储器;和
c)用于管理存贮器地址空间的存储器系统,所述存储器系统有多个块地址转换入口,每个入口定义一部分存储器地址空间,所述存储器系统包括:
i)用于确定被接收虚拟地址引用一部分不是由任何块地址转换入口定义的存储器地址空间的装置;
ii)用于对至少一个所述块地址转换入口进行重新定位的装置,以限定包含所述接收虚拟地址的一部分存储器地址空间;和
iii)用于利用重新定位的块地址转换入口提供与虚拟地址匹配的物理地址的装置。
12.如权利要求11的计算机系统,其特征在于:所述用于确定的装置包括确定被接收虚拟地址引用一部分不是由任何转换后备缓冲器入口定义的存储器地址空间的装置。
13.如权利要求12的计算机系统,其特征在于:所述确定装置包括确定被接收的虚拟地址引用一部分不是任何页面表入口定义的存储器地址空间的装置。
14.如权利要求13的计算机系统,其特征在于还包括用于开始将所有转换后备缓冲器入口和页面表入口定义为无效的装置。
15.如权利要求14的计算机系统,其特征在于:所述重新定位装置包括给存储器地址空间的所述确定部分的所述块地址转换入口配置存取特性。
CN95104838A 1994-06-27 1995-04-27 用于动态控制地址空间分配的方法和设备 Expired - Fee Related CN1084005C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US266,914 1988-11-03
US26691494A 1994-06-27 1994-06-27

Publications (2)

Publication Number Publication Date
CN1125338A true CN1125338A (zh) 1996-06-26
CN1084005C CN1084005C (zh) 2002-05-01

Family

ID=23016523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95104838A Expired - Fee Related CN1084005C (zh) 1994-06-27 1995-04-27 用于动态控制地址空间分配的方法和设备

Country Status (5)

Country Link
US (1) US5852738A (zh)
EP (1) EP0690385A1 (zh)
JP (1) JPH0816479A (zh)
KR (1) KR960002005A (zh)
CN (1) CN1084005C (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854637A (en) * 1995-08-17 1998-12-29 Intel Corporation Method and apparatus for managing access to a computer system memory shared by a graphics controller and a memory controller
US6301648B1 (en) * 1999-08-18 2001-10-09 Ati International Srl Method and apparatus for processing memory accesses utilizing a TLB
GB2377048B (en) * 2001-06-30 2005-05-04 Hewlett Packard Co Method of utilisation of a data storage array and array controller therefor
KR100818298B1 (ko) * 2005-12-08 2008-03-31 한국전자통신연구원 가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리액세스 방법
US8327115B2 (en) 2006-04-12 2012-12-04 Soft Machines, Inc. Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode
US20080028180A1 (en) * 2006-07-31 2008-01-31 Newman Alex P Inappropriate access detector based on system segmentation faults
CN107368285B (zh) 2006-11-14 2020-10-09 英特尔公司 多线程架构
US10228949B2 (en) 2010-09-17 2019-03-12 Intel Corporation Single cycle multi-branch prediction including shadow cache for early far branch prediction
US9842005B2 (en) 2011-03-25 2017-12-12 Intel Corporation Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
CN103547993B (zh) 2011-03-25 2018-06-26 英特尔公司 通过使用由可分割引擎实例化的虚拟核来执行指令序列代码块
CN108108188B (zh) 2011-03-25 2022-06-28 英特尔公司 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段
TWI548994B (zh) 2011-05-20 2016-09-11 軟體機器公司 以複數個引擎支援指令序列的執行之互連結構
CN107729267B (zh) 2011-05-20 2022-01-25 英特尔公司 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构
US9921967B2 (en) 2011-07-26 2018-03-20 Intel Corporation Multi-core shared page miss handler
KR101703401B1 (ko) 2011-11-22 2017-02-06 소프트 머신즈, 인크. 다중 엔진 마이크로프로세서용 가속 코드 최적화기
WO2013077876A1 (en) 2011-11-22 2013-05-30 Soft Machines, Inc. A microprocessor accelerated code optimizer
US8751830B2 (en) * 2012-01-23 2014-06-10 International Business Machines Corporation Memory address translation-based data encryption/compression
US8954755B2 (en) 2012-01-23 2015-02-10 International Business Machines Corporation Memory address translation-based data encryption with integrated encryption engine
US8930674B2 (en) 2012-03-07 2015-01-06 Soft Machines, Inc. Systems and methods for accessing a unified translation lookaside buffer
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
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
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
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
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
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US9244840B2 (en) 2012-12-12 2016-01-26 International Business Machines Corporation Cache swizzle with inline transposition
CN105210040B (zh) 2013-03-15 2019-04-02 英特尔公司 用于执行分组成块的多线程指令的方法
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
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
EP2972836B1 (en) 2013-03-15 2022-11-09 Intel Corporation A method for emulating a guest centralized flag architecture by using a native distributed flag architecture
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register 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
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
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
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095424A (en) * 1986-10-17 1992-03-10 Amdahl Corporation Computer system architecture implementing split instruction and operand cache line-pair-state management
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
GB2260004B (en) * 1991-09-30 1995-02-08 Apple Computer Memory management unit for a computer system
CA2083634C (en) * 1991-12-30 1999-01-19 Hung Ping Wong Method and apparatus for mapping page table trees into virtual address space for address translation

Also Published As

Publication number Publication date
CN1084005C (zh) 2002-05-01
JPH0816479A (ja) 1996-01-19
EP0690385A1 (en) 1996-01-03
KR960002005A (ko) 1996-01-26
US5852738A (en) 1998-12-22

Similar Documents

Publication Publication Date Title
CN1084005C (zh) 用于动态控制地址空间分配的方法和设备
US20210374069A1 (en) Method, system, and apparatus for page sizing extension
US10684800B2 (en) Facilitating processing within computing environments supporting pageable guests
US5630097A (en) Enhanced cache operation with remapping of pages for optimizing data relocation from addresses causing cache misses
JP5805675B2 (ja) ガーベッジコレクションに対するcpuサポート
US5390310A (en) Memory management unit having cross-domain control
Shekita et al. Cricket: A mapped, persistent object store
CN1617113A (zh) 向物理内存分配虚拟内存的方法、存储控制器和计算机系统
WO2007024937A1 (en) Tlb lock indicator
JPS60221851A (ja) メモリ・アクセス・コントローラを具えるデータ処理装置
US20080162611A1 (en) Methods and apparatus for marking objects for garbage collection in an object-based memory system
US6832295B1 (en) Methods and systems for extending an application's address space
WO2005078590A2 (en) Address conversion technique in a context switching environment
US7644114B2 (en) System and method for managing memory
US5619673A (en) Virtual access cache protection bits handling method and apparatus
JP3554320B2 (ja) オブジエクト指向メモリ保護メカニズムを採用するデータ処理システムで実行環境間の通信を実行するデータ処理システム
US5455922A (en) Dynamic validity facility for fast purging of translation bypass buffers
US7181587B1 (en) Mapping an arbitrary number of contiguous memory pages at an arbitrary alignment
JPH0564817B2 (zh)
Pleszkun et al. An architecture for efficient Lisp list access
JPS589452B2 (ja) フア−ムウエアホウシキ
Kim et al. U-cache: A cost-effective solution to the virtual cache synonym problem
Ramachandran et al. A measurement‐based study of hardware support for object invocation
Kemikli et al. Design of a persistent operating system kernel
Walton A Proposed New Memory Manager

Legal Events

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