CN101326499A - 更新多级翻译旁视缓冲器(tlb)字段 - Google Patents
更新多级翻译旁视缓冲器(tlb)字段 Download PDFInfo
- Publication number
- CN101326499A CN101326499A CNA200680046048XA CN200680046048A CN101326499A CN 101326499 A CN101326499 A CN 101326499A CN A200680046048X A CNA200680046048X A CN A200680046048XA CN 200680046048 A CN200680046048 A CN 200680046048A CN 101326499 A CN101326499 A CN 101326499A
- Authority
- CN
- China
- Prior art keywords
- tlb
- subordinate
- higher level
- address translation
- translation information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/681—Multi-level TLB, e.g. microTLB and main TLB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/684—TLB miss handling
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
一种设备包含经配置以存储数据的存储器、下级TLB、上级TLB以及TLB控制器。所述下级TLB和所述上级TLB经配置以存储多个条目,所述条目中的每一者含有允许将虚拟地址翻译为相应物理地址的地址翻译信息。如果所需虚拟地址从所述下级TLB和从所述上级TLB产生TLB未命中,那么所述TLB控制器从所述存储器中的页表检索针对所述所需虚拟地址的地址翻译信息,使用单一TLB写入指令,所述TLB控制器通过将从所述页表检索到的所述地址翻译信息写入所述下级TLB以及所述上级TLB中来更新所述下级TLB和所述上级TLB两者。
Description
技术领域
本发明涉及翻译旁视缓冲器(TLB)。
背景技术
在支持分页虚拟存储器的处理器中,可使用占据处理器的虚拟地址空间的虚拟地址(也称为“有效”或“线性”地址)来指定数据。虚拟地址空间通常可大于系统中实际物理存储器的大小。处理器中的操作系统可以固定大小区块(称为页)来管理物理存储器。
为了将虚拟页地址翻译为物理页地址,处理器可搜索存储在系统存储器中的页表,所述页表可含有必需的地址翻译信息。由于除非页表数据在数据高速缓冲存储器中,否则这些搜索(或“页表遍历”)通常可涉及存储器存取,因此这些搜索可能较耗时。
因此处理器可使用一个或一个以上翻译旁视缓冲器(TLB)来执行地址翻译。TLB是地址翻译高速缓冲存储器,即,存储从虚拟地址到物理地址的新近映射的小高速缓冲存储器。处理器可在执行页表搜索和地址翻译之后将物理地址高速缓冲存储在TLB中。TLB的内容通常可包含通常提到的虚拟页地址,以及与其相关联的物理页地址。可存在单独的用于指令地址的TLB(称为“指令TLB”或“I-TLB”)和用于数据地址的TLB(称为“数据TLB”或“D-TLB”)。
为了增加TLB地址的效率,可类似于多级存储器高速缓冲存储器来使用和实施多级TLB。与一个或一个以上上级TLB相比,下级TLB通常可较小且较快。当TLB未命中发生在下级TLB和上级TLB两者中时,通常可在页表遍历后更新上级TLB。
一般来说,可能不会用从物理存储器中的页表检索到的地址翻译信息来更新下级TLB。对下级TLB的后续参考将随后导致TLB未命中,从而要求针对所需地址翻译信息搜索上级TLB。然而可能存在不合意的等待时间,其与下级TLB中的未命中相关联且与所引起的对上级TLB的搜索相关联。
发明内容
一种其中存储有用于处理器的计算机可读指令的计算机可读媒体。所述指令在由处理器读取和实施时促使所述处理器存取物理存储器以检索针对虚拟地址的地址翻译信息,所述虚拟地址针对下级TLB和上级TLB两者产生TLB未命中信号的虚拟地址的地址翻译信息。所述指令还促使所述处理器使用单一TLB写入指令,通过将从所述存储器检索到的所述地址翻译信息写入所述下级TLB和所述上级TLB两者中,来更新所述下级TLB和所述上级TLB两者。
一种更新一级以上TLB的方法包含:存取存储器以检索针对虚拟地址的地址翻译信息。所述方法包含使用单一TLB写入指令,通过将从所述存储器检索到的所述地址翻译信息写入下级TLB和上级TLB两者中,来更新所述下级TLB和所述上级TLB两者。
一种设备包含存储器、下级TLB和上级TLB以及TLB控制器。所述下级TLB和所述上级TLB经配置以存储多个条目,所述条目中的每一者含有允许将虚拟地址翻译为相应物理地址的地址翻译信息。所述TLB控制器经配置以如果所需虚拟地址从所述下级TLB和从所述上级TLB产生TLB未命中,那么从所述存储器检索用于所述所需虚拟地址的地址翻译信息。所述TLB控制器进一步经配置以使用单一TLB写入指令,通过将从所述存储器检索到的所述地址翻译信息写入所述下级TLB和所述上级TLB两者中,来更新所述下级TLB和所述上级TLB两者。
附图说明
图1示意性说明在虚拟存储器系统中操作的TLB。
图2是地址翻译系统的实例的示意图,所述地址翻译系统具有上级TLB和下级TLB,以及经配置以在单一TLB写入操作后更新两级TLB的TLB控制器。
图3是说明更新一级以上TLB的方法的示意性流程图。
具体实施方式
下文结合附图所陈述的具体实施方式希望描述经配置以更新多级TLB的方法与系统的各种实施例,而不希望呈现仅可能的实施例。具体实施方式包含具体细节,以便允许对所描述内容的详尽理解。然而所属领域的技术人员应了解,这些具体细节可能不包含在所描述实施例的一些实施例中。在一些情况下,以框图形式展示众所周知的结构和组件,以便更清楚地说明所解释的概念。
图1示意性说明翻译旁视缓冲器(TLB)10的结合包含在物理存储器30中的页表20的虚拟存储器系统中的操作。如此项技术中已知,在虚拟存储器系统中,映射(或翻译)通常可在虚拟(或“线性”)地址空间与物理地址空间之间执行。虚拟地址空间通常指由处理器产生的所有虚拟地址22的集合。物理地址空间通常指针对驻存在物理存储器30中的数据的所有物理地址的集合,即,可提供于存储器总线上以写入到物理存储器30中特定位置或从所述位置进行读取的地址。
在分页虚拟存储器系统中,可假定数据由通常称为页31的固定长度单位组成。可将虚拟地址空间和物理地址空间划分为连续页地址的区块,每一虚拟页地址提供一虚拟页码,且每一相应的物理页地址指示存储器30内特定数据页31的位置。典型页大小可为例如约4千字节,但不同的虚拟分页存储器系统可使用不同的页大小。物理存储器30中的页表20可含有对应于虚拟存储器系统的所有虚拟页地址的物理页地址,即,针对虚拟地址空间中的所有虚拟页地址,可含有虚拟页地址与相应物理页地址之间的映射。通常,页表20可含有多个页表条目(PTE)21,每一PTE 21指向物理存储器30中对应于特定虚拟地址的页31。
存取存储在物理存储器30中的页表20中的PTE 21可能需要存储器总线事务,其在处理器循环时间和功率消耗方面可能成本较高。可通过存取TLB 10而不是物理存储器30来减少存储器总线事务的次数。如早先所解释,TLB 10是存储虚拟地址与物理地址之间的新近映射的地址翻译高速缓冲存储器。TLB 10通常含有存储在页表20中的虚拟到物理地址映射的子集。TLB 10通常可含有多个TLB条目12。每一TLB条目12可具有标签字段14和数据字段16。标签字段14可包含虚拟页地址的高阶位中的某些位作为标签。数据字段16可指示对应于带标签虚拟页地址的物理页地址。
当指令在程序执行期间具有需要翻译为相应物理地址的虚拟地址22时,可存取TLB10以在存储在TLB 10中的TLB条目12中查找虚拟地址22。虚拟地址22通常包含虚拟页码,其可用于TLB 10中以查找相应的物理页地址。
如果TLB 10在其TLB条目中含有对应于呈现给TLB的虚拟地址22中所含有的虚拟页码的特定物理页地址,那么发生TLB“命中”,且可从TLB 10检索所述物理页地址。如果TLB 10不含有对应于呈现给TLB的虚拟地址22中的虚拟页码的特定物理页地址,那么发生TLB“未命中”,且可能必须执行对物理存储器30中的页表20的查找。一旦从页表20确定物理页地址,就可将对应于虚拟页地址的物理页地址加载到TLB 10中,且可以虚拟页地址22再次存取TLB 10。因为已将所需的物理页地址加载到TLB 10中,所以TLB存取此时导致TLB“命中”,且新近加载的物理页地址可在TLB 10的输出处产生。
图2是地址翻译系统100的实例的功能图,地址翻译系统100经配置以作为单一TLB写入操作的结果来更新一级以上TLB。在概述中,地址翻译系统100可包含下级TLB 110、上级TLB 115以及控制下级TLB 110和上级TLB 115两者的操作的TLB控制器140。地址翻译系统100可连接到物理存储器130,其可包含页表120。TLB控制器140可以是处理器中的CPU(中央处理单元)的一部分。或者,TLB控制器140可位于处理器的核心内,和/或位于处理器的CPU附近。TLB控制器140可包含控制对两级TLB的存取的TLB管理软件。
类似于通常用于例如存储器高速缓冲存储器中的多级高速缓冲存储器,可通过使用下级TLB 110结合上级TLB来增加地址翻译操作的效率。下级TLB 110通常可小于上级TLB 115,且可含有较少的TLB条目,进而提供对频繁使用的地址数据的短存取时间。尽管为了简明起见,在图2中仅展示单一上级TLB 115,但应了解,地址翻译系统100中可包含多个上级TLB,每个增加级的TLB通常大于前一级TLB,且具有逐渐增加TLB条目数目。
TLB控制器130中的TLB管理软件可促使初始存取和搜索下级TLB 110,以查找针对所需虚拟地址的地址翻译信息,如图2中由标有参考标号111的箭头所指示。如果TLB命中发生于下级TLB 110中,那么TLB控制器130中的软件可促使检索搜索结果,如由标有参考标号112的箭头所指示。如果TLB未命中发生于下级TLB 110中,软件可实施对上级TLB 115的搜索。对上级TLB 115的搜索在图2中由标有参考标号113的箭头指示。与下级TLB 110相比,上级TLB 115通常可含有多得多的TLB条目。
如果对上级TLB 115的搜索113导致TLB命中,那么可检索搜索的结果并将其加载到下级TLB中,如图2中由标有参考标号116的箭头所指示。然而对上级TLB 115的搜索113仍可能导致未命中,在此情况下TLB控制器140中的软件可对物理存储器130中的页表120实施搜索,以便检索所需的物理页地址信息。对页表120的搜索在图2中由标有参考标号117的箭头指示。
如果所需的页不存在于物理存储器130中,那么可将相关的地址翻译信息从页表120加载到上级TLB 115中。这意味着可将所需的地址翻译信息(即,虚拟地址与相应物理地址之间的映射)写入上级TLB 115中,如图2中由标有参考标号121的箭头所指示。如果所需的页不存在于存储器130中,那么可发生页错误,且可向操作系统通知异常。
一旦更新上级TLB 115,TLB管理软件就可促使TLB控制器140重复TLB参考过程。具有在TLB(110和115)两者中初始产生未命中的虚拟地址的指令可被重新获取,且可在下级TLB 110开始再次从头执行TLB参考过程。
如果未更新下级TLB 110,且仅以从页表120检索到的地址翻译信息对上级TLB 120进行更新,那么在后续TLB参考过程中在下部TLB 110中将发生TLB未命中。因此,对上级TLB 115的搜索将是必要的,以便检索所需的地址翻译信息。不合意的等待时间将与下级TLB 110中的未命中相关联,且与所引起的对上部TLB 115的搜索相关联。
在地址翻译系统100的所说明实施例中,TLB控制器140包含软件,所述软件促使TLB控制器140使用从页表120检索到的地址翻译信息来更新下级TLB 110和上级TLB115两者。特定来说,TLB控制器140中的软件促使将从页表120检索到的地址翻译信息在单一TLB写入指令后写入到两级TLB中。图2中,对下级TLB 110的更新由标有参考标号119的箭头指示。在所说明实施例中,TLB控制器140经配置以每当对上级TLB115的更新121发生时便允许对下级TLB 110的更新。
作为更新下级TLB 110以及上级TLB 115的结果,当第二次尝试存取第一级TLB 110时,即在含有虚拟地址(在对TLB的初始存取期间在两级TLB中未命中)的指令被重新获取之后,现在可导致TLB命中而不是TLB未命中。以此方式,可省去对上级TLB 115执行另一搜索的需要。而且,可消除与第二(重复)TLB参考过程期间下级TLB 110中的未命中相关联以及与所引起的对上级TLB 120的搜索相关联的等待时间。
如图2中说明,TLB控制器140可包含具有配置位145的控制寄存器143。配置位145可控制是否应执行TLB写入操作(由参考标号121指示)。配置位145也可选择单一TLB写入操作应对哪级TLB执行,以便用从页表检索的地址翻译信息来更新选定级TLB。
在TLB控制器140的另一实施例(未图示)中,可由正从页表写入的值来控制对所检索的地址翻译信息所写入到的TLB级的选择。换句话说,从页表检索的值除了所需的地址翻译信息以外还可包含与针对所检索的地址翻译信息的TLB写入操作将对其执行的TLB级的选择有关的信息。
TLB控制器140可含有其中存储有计算机可读指令的计算机可读媒体。这些计算机可读指令在由处理器读取和执行时可促使处理器存取物理存储器130中的页表120,以检索针对从下级TLB 110和上级TLB 115两者产生TLB未命中的虚拟地址的地址翻译信息。计算机可读指令可促使处理器响应于单一TLB写入指令而将从页表120检索到的地址翻译信息写入下级TLB 110和上级TLB 115两者中,进而更新两级TLB。
TLB控制器140可包含具有配置位145的控制寄存器143。计算机可读媒体在其中可存储有额外的计算机可读指令,所述计算机可读指令在由处理器读取和实施时可促使配置位145确定将所检索的地址翻译信息写入下级TLB和上级TLB中的TLB写入操作是否应发生。
计算机可读媒体在其中可存储有额外的计算机可读指令,所述计算机可读指令在由处理器读取和实施时可促使配置位145从处理器内的多级TLB中选择在单一TLB写入指令后将进行更新的两级或两级以上TLB,换句话说,这些额外的计算机可读指令可促使配置位选择从页表检索的地址翻译信息在单一TLB写入指令后应被写入到的那些级TLB。
计算机可读媒体在其中可存储有额外的计算机可读指令,所述计算机可读指令在由处理器读取和实施时可促使处理器从自页表检索到的地址翻译信息读取额外信息,所述额外信息与对在单一TLB写入指令后将进行更新的两级或两级以上TLB的选择有关。换句话说,这些额外的计算机可读指令在由处理器读取和实施时可促使处理器从所检索的地址翻译信息本身读取对所检索的地址翻译信息应被写入到的TLB级的选择。
计算机可读媒体在其中可存储有额外的计算机可读指令,所述计算机可读指令在由处理器读取和实施时可促使处理器初始存取下级TLB 110以搜索针对所需虚拟地址的地址翻译信息,且如果针对所需虚拟地址的地址翻译信息从下级TLB 110未命中,即如果所需虚拟地址在呈现到下级TLB 110时产生TLB未命中,那么存取并搜索上级TLB 115。额外的计算机可读指令可进一步促使处理器如果针对所需虚拟地址的地址翻译信息从上级TLB 115未命中,即如果所需虚拟地址在呈现到上级TLB 115时产生TLB未命中,那么存取物理存储器130中的页表120以检索所述地址翻译信息。
尽管图2所说明的地址翻译系统100的实施例仅展示两级TLB,但地址翻译系统的其它实施例(未图示)可包含两级以上TLB。这些地址翻译系统可包含多级TLB,每一级TLB包含可存储针对虚拟地址的地址翻译信息的TLB条目。这些地址翻译系统中的TLB控制器可经配置以从最下级TLB开始逐渐到最上级TLB依次存取多级TLB中的每一者。TLB控制器可经配置以如果针对所需虚拟地址的地址翻译信息在所有所述多级TLB中未命中,那么存取物理存储器中的页表,且从物理存储器中的页表检索针对所需虚拟地址的地址翻译信息。TLB控制器可进一步经配置以用已从物理存储器中的页表检索到的地址翻译信息来更新所有所述多级TLB。
图3是更新一级以上TLB的方法300的流程图。方法300在步骤302中开始。在步骤304中,可获取指令以使得指令的执行可开始。在步骤306中,可针对获取的指令产生虚拟地址。在步骤308中,TLB控制器可存取下级TLB以在下级TLB中搜索针对步骤306中所产生的虚拟地址的地址翻译信息。如果地址翻译信息不存在于下级TLB中,那么在步骤309中,TLB控制器可从下级TLB中检索地址翻译信息。如果所需地址翻译信息不存在于下级TLB中,那么可能发生TLB未命中。TLB控制器可接收来自下级TLB的TLB未命中的指示,即接收“TLB未命中”信号。TLB控制器接着可在步骤310中进行到检查上级TLB以确定所需条目是否存在于上级TLB中。
如果所需地址翻译信息存在于上级TLB中,那么在步骤311中,TLB控制器可从上级TLB检索地址翻译信息。如果所需地址翻译信息不存在于上级TLB中,那么在上级TLB中可能发生TLB未命中。TLB控制器可接收来自上级TLB的TLB未命中的指示,即接收来自上级TLB的“TLB未命中”信号。在步骤312中,TLB控制器接着可进行到存取物理存储器以在页表中搜索所需条目,如果在页表中找到所需地址翻译信息,那么在步骤314中,TLB控制器可从页表检索所述信息。如果在页表中没有找到所需地址翻译信息,那么在步骤313中,TLB控制器可促使发生页错误。
在步骤314中TLB控制器从页表检索所需条目之后,在步骤316中TLB控制器可通过执行单一TLB写入指令将地址翻译信息(从页表检索)写入下级TLB和上级TLB两者中。换句话说,TLB控制器可通过执行单一TLB写入指令来更新两级TLB。接着可从步骤318开始再次执行TLB参考过程,在所述步骤318中可重新获取指令。在步骤320中,可再次存取下级TLB。此时,由于已经用从页表检索到的地址翻译信息更新下级TLB,因此可发生TLB命中。在步骤322中,TLB控制器可从下级TLB检索所需地址翻译信息。
方法300可包含读取TLB控制器中的配置位以确定应使用单一TLB写入指令更新哪级TLB的动作(未图示)。方法300可包含读取从页表检索到的值以确定应使用单一TLB写入指令更新哪级TLB的动作(未图示)。
尽管图3所说明的方法仅展示两级TLB(即,下级TLB和上级TLB),但更新TLB的其它方法可包含两级以上TLB。
概括来说,已描述一种用于消除与在指令重新获取期间下级TLB中发生的未命中相关联的等待时间的系统和方法,所述未命中是因为当更新上级TLB时下级TLB未被更新而引起。下级TLB中的未命中要求上级TLB中的搜索,其导致额外的等待时间。通过在更新上级TLB的同时更新下级TLB,后续对下级TLB的参考产生命中而不是未命中,从而省去了从上级TLB获得条目的需要。
提供对所揭示实施例的先前描述以使所属领域的技术人员能够制作或使用上述方法和系统。所属领域的技术人员将容易明白对这些实施例的各种修改,且在不脱离所描述内容的精神或范围的情况下,可将本文定义的一般原理应用于其它实施例。因此,不希望上述方法和系统被限于本文所示的实施例,而是赋予其与权利要求书一致的完整范围,其中以单数形式对元件的参考不希望表示“一个且仅一个”(除非具体规定如此),而是希望表示“一个或一个以上”。整个本发明中所描述的所属领域的技术人员已知或稍后获知的各种实施例的元件的所有结构和功能等效物明确以引用方式并入本文中,且希望由权利要求书涵盖。而且,本文所揭示的任何内容均不希望公之于众,无论所述揭示内容是否在权利要求书中明确陈述。除非使用术语“用于...的装置”对权利要求要素明确加以陈述,或在方法项的情况下使用术语“用于...的步骤”对所述要素加以陈述,否则不应根据35U.S.C.§112第六节来解释任何权利要求要素。
Claims (13)
1.一种其中存储有计算机可读指令的计算机可读媒体,其中所述指令在由处理器读取和实施时促使所述处理器:
存取物理存储器以检索针对虚拟地址的地址翻译信息,所述虚拟地址针对下级TLB和上级TLB两者产生TLB未命中信号;以及
使用单一TLB写入指令,通过将从所述存储器检索到的所述地址翻译信息写入所述下级TLB和所述上级TLB两者中来更新所述下级TLB和所述上级TLB两者。
2.根据权利要求1所述的计算机可读媒体,其中所述计算机可读媒体在其中存储有用于所述处理器的进一步的计算机可读指令,且其中所述进一步的指令在由所述处理器读取和实施时促使所述处理器初始存取所述下级TLB以搜索针对虚拟地址的地址翻译信息,如果所述虚拟地址从所述下级TLB产生TLB未命中,那么存取并搜索上级TLB,且如果所述虚拟地址从所述上级TLB产生TLB未命中,那么存取所述物理存储器中的页表以检索针对所述所需虚拟地址的所述地址翻译信息。
3.根据权利要求1所述的计算机可读媒体,其中所述处理器包含具有配置位的控制寄存器,其中所述计算机可读媒体在其中存储有用于所述处理器的进一步的计算机可读指令,且其中所述进一步的指令在由所述处理器读取和实施时促使所述配置位确定所述检索的地址翻译信息的TLB写入操作是否应发生。
4.根据权利要求3所述的计算机可读媒体,其中所述处理器包含多级TLB,且其中所述进一步的指令在由所述处理器读取和实施时促使所述配置位从所述多级TLB中选择将响应于所述单一TLB写入指令而更新的所述下级TLB和所述上级TLB。
5.根据权利要求1所述的计算机可读媒体,其中所述处理器包含多级TLB,其中所述计算机可读媒体在其中存储有用于所述处理器的进一步的计算机可读指令,且其中所述进一步的指令在由所述处理器读取和实施时促使所述处理器使用从所述存储器检索到的所述地址翻译信息来从所述多级TLB中选择将响应于所述单一TLB写入指令而更新的所述下级TLB和所述上级TLB。
6.一种更新一个级以上TLB的方法,所述方法包括:
存取存储器以检索针对虚拟地址的地址翻译信息;以及
使用单一TLB写入操作,通过将从所述存储器检索到的所述地址翻译信息写入下级TLB和上级TLB两者中来更新所述下级TLB和所述上级TLB两者。
7.根据权利要求6所述的方法,其进一步包括从所述下级TLB和从所述上级TLB接收针对虚拟地址的TLB未命中的指示的动作。
8.根据权利要求5所述的方法,其进一步包括存取所述下级TLB和所述上级TLB以搜索针对所述虚拟地址的地址翻译信息的动作,所述地址翻译信息允许将所述虚拟地址翻译为物理地址。
9.根据权利要求6所述的方法,其中所述存储器经配置以将数据存储在多个页中,其中所述存储器含有经配置以存储关于所述存储器内所述多个页中每一页的位置的信息的页表,且其中所述存取所述存储器以检索所述地址翻译信息的动作包括从所述页表检索所述地址翻译信息。
10.一种设备,其包括:
存储器;
下级翻译旁视缓冲器(TLB)和上级TLB,所述下级TLB和所述上级TLB经配置以存储多个条目,所述条目中的每一者含有允许将虚拟地址翻译为相应物理地址的地址翻译信息;以及
TLB控制器,其经配置以如果所需虚拟地址从所述下级TLB和从所述上级TLB产生TLB未命中,那么从所述存储器检索针对所述所需虚拟地址的地址翻译信息,所述TLB控制器进一步经配置以使用单一TLB写入指令,通过将从所述存储器检索到的所述地址翻译信息写入所述下级TLB和所述上级TLB两者中来更新所述下级TLB和所述上级TLB两者。
11.根据权利要求10所述的设备,其中所述存储器经配置以将数据存储在多个页中,且其中所述存储器含有经配置以存储关于所述存储器内所述多个页中每一页的位置的信息的页表。
12.根据权利要求10所述的设备,其中所述TLB控制器进一步经配置以初始存取所述下级TLB以搜索所述所需地址翻译信息,如果所述所需翻译信息从所述下级TLB未命中,那么存取并搜索所述上级TLB,且如果所述所需地址翻译信息从所述上级TLB未命中,那么存取所述存储器以检索所述所需地址翻译信息。
13.根据权利要求10所述的设备,其中所述TLB控制器包括具有配置位的控制寄存器,且其中所述配置位经配置以从多级TLB中选择将使用单一TLB写入指令而更新的所述下级TLB和所述上级TLB。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/254,898 US20070094476A1 (en) | 2005-10-20 | 2005-10-20 | Updating multiple levels of translation lookaside buffers (TLBs) field |
US11/254,898 | 2005-10-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101326499A true CN101326499A (zh) | 2008-12-17 |
Family
ID=37808178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200680046048XA Pending CN101326499A (zh) | 2005-10-20 | 2006-10-20 | 更新多级翻译旁视缓冲器(tlb)字段 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20070094476A1 (zh) |
EP (1) | EP1941374A1 (zh) |
JP (1) | JP2009512943A (zh) |
KR (1) | KR20080063512A (zh) |
CN (1) | CN101326499A (zh) |
BR (1) | BRPI0617527A2 (zh) |
IL (1) | IL190972A0 (zh) |
WO (1) | WO2007048134A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102498477A (zh) * | 2009-07-13 | 2012-06-13 | 苹果公司 | Tlb预取 |
CN102597971A (zh) * | 2009-10-29 | 2012-07-18 | 苹果公司 | 具有多个虚拟队列的地址转换单元 |
CN102866957A (zh) * | 2012-07-31 | 2013-01-09 | 中国人民解放军国防科学技术大学 | 面向多核多线程微处理器的虚拟活跃页缓冲方法及装置 |
WO2014201998A1 (zh) * | 2013-06-20 | 2014-12-24 | 华为技术有限公司 | 一种tlb管理方法及装置 |
CN110073338A (zh) * | 2016-12-23 | 2019-07-30 | 超威半导体公司 | 翻译旁视缓冲器中的可配置的偏斜关联性 |
CN110941565A (zh) * | 2018-09-25 | 2020-03-31 | 北京比特大陆科技有限公司 | 用于芯片存储访问的内存管理方法和装置 |
CN114281720A (zh) * | 2021-12-14 | 2022-04-05 | 海光信息技术股份有限公司 | 处理器、用于处理器的地址翻译方法、电子设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282055A1 (en) * | 2005-12-29 | 2008-11-13 | Rongzhen Yang | Virtual Translation Lookaside Buffer |
EP2546748A1 (en) * | 2010-03-09 | 2013-01-16 | Fujitsu Limited | Information processing device, information processing method, and program |
CN102360339A (zh) * | 2011-10-08 | 2012-02-22 | 浙江大学 | 一种提高tlb利用效率的方法 |
US10127159B1 (en) * | 2017-07-13 | 2018-11-13 | International Business Machines Corporation | Link consistency in a hierarchical TLB with concurrent table walks |
US11243891B2 (en) * | 2018-09-25 | 2022-02-08 | Ati Technologies Ulc | External memory based translation lookaside buffer |
CN112631962A (zh) * | 2019-09-24 | 2021-04-09 | 阿里巴巴集团控股有限公司 | 存储管理装置、存储管理方法、处理器和计算机系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60150148A (ja) * | 1983-09-22 | 1985-08-07 | デイジタル イクイプメント コ−ポレ−シヨン | 2レベル変換バツフアを用いた仮想アドレスマツピング |
JPH0642213B2 (ja) * | 1986-02-20 | 1994-06-01 | 富士通株式会社 | アドレス変換方式 |
JPH08137756A (ja) * | 1994-11-07 | 1996-05-31 | Fuji Xerox Co Ltd | アドレス変換バッファ機構 |
US6418521B1 (en) * | 1998-12-23 | 2002-07-09 | Intel Corporation | Hierarchical fully-associative-translation lookaside buffer structure |
US6625714B1 (en) * | 1999-12-17 | 2003-09-23 | Hewlett-Packard Development Company, L.P. | Parallel distributed function translation lookaside buffer |
US6553477B1 (en) * | 2000-11-06 | 2003-04-22 | Fujitsu Limited | Microprocessor and address translation method for microprocessor |
EP1296237A1 (en) * | 2001-09-25 | 2003-03-26 | Texas Instruments Incorporated | Data transfer controlled by task attributes |
EP1522923A3 (fr) * | 2003-10-08 | 2011-06-22 | STMicroelectronics SA | Architecture de processeur à plusieurs contextes d'exécution simultanés |
US7426626B2 (en) * | 2005-08-23 | 2008-09-16 | Qualcomm Incorporated | TLB lock indicator |
-
2005
- 2005-10-20 US US11/254,898 patent/US20070094476A1/en not_active Abandoned
-
2006
- 2006-10-20 CN CNA200680046048XA patent/CN101326499A/zh active Pending
- 2006-10-20 WO PCT/US2006/060134 patent/WO2007048134A1/en active Application Filing
- 2006-10-20 BR BRPI0617527-9A patent/BRPI0617527A2/pt not_active IP Right Cessation
- 2006-10-20 KR KR1020087011891A patent/KR20080063512A/ko not_active Application Discontinuation
- 2006-10-20 EP EP06846129A patent/EP1941374A1/en not_active Withdrawn
- 2006-10-20 JP JP2008536650A patent/JP2009512943A/ja active Pending
-
2008
- 2008-04-17 IL IL190972A patent/IL190972A0/en unknown
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102498477B (zh) * | 2009-07-13 | 2015-02-11 | 苹果公司 | Tlb预取 |
CN102498477A (zh) * | 2009-07-13 | 2012-06-13 | 苹果公司 | Tlb预取 |
CN102597971B (zh) * | 2009-10-29 | 2015-01-07 | 苹果公司 | 具有多个虚拟队列的地址转换单元 |
CN102597971A (zh) * | 2009-10-29 | 2012-07-18 | 苹果公司 | 具有多个虚拟队列的地址转换单元 |
CN102866957B (zh) * | 2012-07-31 | 2014-07-30 | 中国人民解放军国防科学技术大学 | 面向多核多线程微处理器的虚拟活跃页缓冲方法及装置 |
CN102866957A (zh) * | 2012-07-31 | 2013-01-09 | 中国人民解放军国防科学技术大学 | 面向多核多线程微处理器的虚拟活跃页缓冲方法及装置 |
WO2014201998A1 (zh) * | 2013-06-20 | 2014-12-24 | 华为技术有限公司 | 一种tlb管理方法及装置 |
CN110073338A (zh) * | 2016-12-23 | 2019-07-30 | 超威半导体公司 | 翻译旁视缓冲器中的可配置的偏斜关联性 |
CN110073338B (zh) * | 2016-12-23 | 2024-03-08 | 超威半导体公司 | 翻译旁视缓冲器中的可配置的偏斜关联性 |
CN110941565A (zh) * | 2018-09-25 | 2020-03-31 | 北京比特大陆科技有限公司 | 用于芯片存储访问的内存管理方法和装置 |
CN110941565B (zh) * | 2018-09-25 | 2022-04-15 | 北京算能科技有限公司 | 用于芯片存储访问的内存管理方法和装置 |
CN114281720A (zh) * | 2021-12-14 | 2022-04-05 | 海光信息技术股份有限公司 | 处理器、用于处理器的地址翻译方法、电子设备 |
CN114281720B (zh) * | 2021-12-14 | 2022-09-02 | 海光信息技术股份有限公司 | 处理器、用于处理器的地址翻译方法、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2007048134A1 (en) | 2007-04-26 |
JP2009512943A (ja) | 2009-03-26 |
US20070094476A1 (en) | 2007-04-26 |
KR20080063512A (ko) | 2008-07-04 |
BRPI0617527A2 (pt) | 2011-07-26 |
EP1941374A1 (en) | 2008-07-09 |
IL190972A0 (en) | 2008-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101326499A (zh) | 更新多级翻译旁视缓冲器(tlb)字段 | |
CN101589374B (zh) | 用于在处理器中设置高速缓存策略的方法和设备 | |
CN101331466B (zh) | 同经高速缓存的存储器数据一起高速缓存存储器属性指示符 | |
US6457104B1 (en) | System and method for recycling stale memory content in compressed memory systems | |
US5003459A (en) | Cache memory system | |
US7516296B2 (en) | Flash memory storage device and read/write method | |
US6023747A (en) | Method and system for handling conflicts between cache operation requests in a data processing system | |
US4825412A (en) | Lockout registers | |
US9317448B2 (en) | Methods and apparatus related to data processors and caches incorporated in data processors | |
US9418011B2 (en) | Region based technique for accurately predicting memory accesses | |
US11232037B2 (en) | Using a first-in-first-out (FIFO) wraparound address lookup table (ALT) to manage cached data | |
US5956752A (en) | Method and apparatus for accessing a cache using index prediction | |
CN107368436B (zh) | 一种联合地址映射表的闪存冷热数据分离存储方法 | |
US7779214B2 (en) | Processing system having a supported page size information register | |
US11226904B2 (en) | Cache data location system | |
WO2004029812A3 (en) | Computer system with processor cache that stores remote cache presence information | |
CN102063943A (zh) | Nand闪存参数自动检测系统 | |
US8495286B2 (en) | Write buffer for improved DRAM write access patterns | |
JPH08272693A (ja) | 仮想アドレスについてのキャッシュ可能性属性ビットを備えた変換テーブル・エントリ及びそのビットを用いた仮想アドレスの参照方法並びにその仮想アドレスの参照装置 | |
US10552335B2 (en) | Method and electronic device for a mapping table in a solid-state memory | |
CN101213526A (zh) | 阻止针对存储器中同一页的多次转译后备缓冲器存取 | |
JP2000227874A (ja) | コンピュ―タ・システムにおいてディレクトリ構造を含むメイン・メモリの内容にアドレスするための方法および装置 | |
CN113419675B (zh) | 用于存储器的写操作方法及读操作方法 | |
CN101930344A (zh) | 确定链接数据储存器中存储和重写的项目的数据存储协议 | |
CN109992535B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20081217 |