Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

转换后备缓冲器中的条目的租约的自适应延期 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

摘要:所描述的实施方案包括具有两个或更多个转换后备缓冲器TLB的计算装置。在操作期间,所述计算装置基于来自页表条目的在页表寻访期间所获取的虚拟地址到物理地址转换和元数据来更新所述TLB中的条目。然后,所述计算装置基于租约长度表达式来计算所述TLB中的所述条目的租约长度。接下来,针对所述TLB中的所述条目,所述计算装置将租约值设置为所述租约长度,其中所述租约值表示直到所述TLB中的所述条目的租约到期时为止的时间,其中当相关联的租约已经到期时,所述TLB中的所述条目无效。然后,所述计算装置使用所述租约值来控制允许使用来自所述TLB中的所述条目的信息执行的操作。

主权项:1.一种用于处理计算装置中的转换后备缓冲器TLB中的条目的方法,所述方法包括:基于来自页表条目的在页表寻访期间所获取的虚拟地址到物理地址转换和元数据来更新所述TLB中的条目;基于租约长度表达式来计算所述TLB中的所述条目的租约长度;针对所述TLB中的所述条目,将租约值设置为所述租约长度,其中所述租约值表示直到所述TLB中的所述条目的租约到期时为止的时间,其中当相关联的租约已经到期时,所述TLB中的所述条目无效;使用所述租约值来控制允许使用来自所述TLB中的所述条目的信息执行的操作;保存用于所述TLB条目的延期计数器,所述延期计数器存储表示所述TLB中的所述条目的租约延期次数的值,其中当所述租约到期并且为所述TLB条目建立另一个租约时,租约被延期;其中所述租约长度表达式是至少所述延期计数器的函数。

全文数据:转换后备缓冲器中的条目的租约的自适应延期技术领域所描述的实施方案涉及计算装置。更具体地,所描述的实施方案涉及转换后备缓冲器中条目的租约的自适应延期。相关技术许多现代计算装置使用虚拟存储器技术来处理由在计算装置中执行的程序例如,应用程序、操作系统、装置驱动程序等进行的数据访问。在这种计算装置中,当程序访问数据时,将包括数据的给定大小例如,4kB的存储器块其被称为存储器的“页”从大容量存储装置例如,硬盘驱动器或半导体存储器复制到计算装置中的主存储器中的可用物理位置,或者在存储器中新创建所述存储器块例如,用于存储从计算操作生成的结果等。为了避免程序需要跟踪存储器中页的物理位置,计算装置中的处理器替程序跟踪页的物理位置。在这种计算装置中,程序使用“虚拟地址空间”其是特定于对应程序的本地地址空间中的“虚拟地址”访问存储器,而不是使用基于页的物理位置的地址或“物理地址”访问存储器。从程序的角度来看,虚拟地址指示存储器中的页内存储数据的实际物理位置,并且因此程序使用虚拟地址进行存储器访问。然而,虚拟地址可能不直接映射到存储器中的页中存储数据的物理位置的物理地址。作为管理页的物理位置的一部分,处理器将存储器访问请求中由程序使用的虚拟地址转换为数据实际所在的物理地址。然后,处理器使用所述物理地址来替程序执行存储器访问。为了能够实现上述虚拟地址到物理地址转换,计算装置包括“页表”。页表是存储在计算装置的存储器中的记录或记录的层级,所述记录包括条目或“页表条目”,具有用于存储在主存储器中的数据页的虚拟地址到物理地址转换信息。在从程序接收到访问给定虚拟地址处的存储器的请求时,处理器通过执行“页表寻访”从页表获取对应的物理地址信息,在此期间可能逐个条目地在页表中搜索提供与虚拟地址关联的物理地址的页表条目。由于上述页表寻访相对较慢,因此希望避免执行页表寻访。因此,计算装置包括转换后备缓冲器“TLB”,其是每个处理器中的本地高速缓存,所述本地高速缓存由处理器用于存储基于在页表寻访期间获取的页表条目的有限数量的信息副本。在操作期间,处理器首先尝试从对应的TLB获取高速缓存的页表条目,以执行虚拟地址到物理地址转换。当TLB中不存在对应页表条目的副本时,即,当发生“TLB未命中”时,处理器执行页表寻访以获取期望的页表条目,并且然后可以将所获取的页表条目的副本高速缓存在TLB中。在操作期间,上述计算装置中的处理器可以修改页表中的页表条目例如,改变页表条目的虚拟地址到物理地址转换信息、改变页表条目的读取写入属性等。为了避免页表与计算装置中的其他处理器中的TLB中保存的页表条目的副本之间的不一致,发起页表条目修改的“发起处理器”可以执行称为“TLB击落”的操作。一般来说,在TLB击落期间,用于修改页表条目的处理器导致保存页表条目的高速缓存副本的其他处理器使高速缓存的副本无效,从而避免不一致。当执行TLB击落以使得能够修改页表条目时,发起处理器例如,发起处理器中的存储器管理单元、在发起处理器上执行的操作系统等修改页表条目。发起处理器还确定可以具有来自高速缓存在其TLB中的页表条目的信息的副本的其他处理器,并向每个其他处理器发送指示页表条目正被修改的进程间中断IPI。在接收到IPI时,如果在对应的TLB中存在所述页表条目,则每个其他处理器使包含这种条目的对应TLB中的条目无效。每个其他处理器还向发起处理器传回确认。发起处理器收集确认,并且当已经从每个其他处理器接收到确认时,继续进行后续操作。在这些操作期间,一些处理器在内核模式与用户模式之间切换一次或多次。由于用于执行TLB击落的上述操作是长等待时间,因此执行TLB击落通常需要大量时间来完成例如,处理器中的数万个时钟周期。使这个问题更加复杂的是,这些操作的等待时间随着计算装置中处理器数量的增加而增加。例如,当中央处理单元CPU和图形处理单元GPU共享计算装置中的地址空间时,CPU和GPU两者都可能需要参与TLB击落。因此,等待TLB击落完成可能使处理器延迟,并且更一般地,使计算装置延迟执行其他操作。附图说明图1呈现示出根据一些实施方案的计算装置的框图。图2呈现示出根据一些实施方案的页表的框图。图3呈现示出根据一些实施方案的用于页表条目的元数据的框图。图4呈现示出根据一些实施方案的TLB的框图。图5呈现示出根据一些实施方案的用于TLB中条目的元数据的框图。图6呈现示出根据一些实施方案的用于为TLB中的条目设置租约值以及为对应的页表条目设置最新租约值的过程的流程图。图7呈现示出根据一些实施方案的用于使用TLB中的条目的租约值的过程的流程图。图8呈现示出根据一些实施方案的用于使用页表中的页表条目的最新租约的过程的流程图。图9呈现示出根据一些实施方案的用于使用页表中的页表条目的最新租约的过程的流程图。图10呈现示出根据一些实施方案的用于动态地设置租约值的过程的流程图。图11呈现根据一些实施方案的动态地设置租约值的伪代码示例。图12呈现示出根据一些实施方案的使用多个表实现的页表的框图。在整个附图和描述中,相同的附图标记指代相同的附图元件。具体实施方式呈现以下描述以使得本领域技术人员能够制造和使用所描述的实施方案,并且在特定应用及其要求的背景下提供以下描述。对所描述的实施方案的各种修改对于本领域技术人员来说将是显而易见的,并且在本文中定义的一般原理可以应用于其他实施方案和应用。因此,所描述的实施方案不限于示出的实施方案,而是与符合本文公开的原理和特征的最宽范围相一致。概况所描述的实施方案包括位于处理器中的两个或更多个处理器核心中的每一个中的单独的转换后备缓冲器TLB。每个TLB具有多个条目,每个条目被配置成用于存储即,高速缓存基于页表条目的信息例如,虚拟地址到物理地址转换和对应的元数据。在所描述的实施方案中,处理器可以在修改页表中的页表条目时执行上述TLB击落。然而,由于TLB击落相对较慢,因此所描述的实施方案使用租约值和最新租约值来在可能的情况下避免执行TLB击落。在所描述的实施方案中,租约值与TLB中包含基于页表条目的信息的每个条目相关联。例如,租约值可以存储在与TLB中的条目相关联的元数据中或存储在单独的位置中。每个条目的租约值表示条目有效的时间。例如,租约值可以是特定的绝对或相对时间,在所述时间之前,TLB中的对应条目被认为是有效的。当租约“到期”时,对应的条目被认为是无效的,并且条目中的页表条目信息不能再用于指定的操作例如,虚拟地址到物理地址转换等。例如,当租约值是已经过去的特定时间时,条目被视为过期,并且因此无效且不能再用于指定的操作。在所描述的实施方案中,处理器中的多个TLB可以保存基于具有不同租约值并且因此具有不同到期时间的相同页表条目的信息的高速缓存副本。为了跟踪最新最后的租约到期时间,所描述的实施方案存储页表中的页表条目的最新租约值。例如,最新的租约值可以存储在与页表条目相关联的元数据中,或者存储在存储器中的单独位置中。每个页表条目的最新租约值包含这样一个值:其表示基于保存在TLB中的页表条目的信息的副本的最长租约值。例如,如果第一核心中的TLB保存基于页表条目的信息的副本,其租约值为时间X,并且第二核心中的TLB保存基于相同页表条目的信息的副本,其租约值为时间X+Z,其中X和Z是正值,则页表中的页表条目的最新租约值是时间X+Z。在一些实施方案中,当基于页表条目的信息的第一副本被存储在具有对应租约值的TLB中时,设置页表条目的最新租约值。当基于页表条目的信息的每个后续副本存储在具有对应租约值的TLB中时,如果对应的租约值比现有的最新租约值长,则可以更新页表条目的最新租约值。所描述的实施方案使用页表中的最新租约值来在可能的情况下避免TLB击落。所描述的实施方案通过使用页表条目的最新租约值这样做,以确定TLB中是否存在基于页表条目的信息的任何有效的高速缓存副本。更具体地,在修改页表条目之前,处理器例如,发起处理器中的存储器管理单元、在发起处理器上执行的操作系统等检查与页表条目相关联的最新租约值。当最新的租约值已经过去这指示基于TLB中保存的页表条目的信息的每个副本的租约已经到期时,处理器可以修改页表条目而不执行TLB击落。换句话说,由于已知基于TLB中的页表条目的信息的每个副本的租约已经到期并且因此副本是无效的,因此还知道每个核心将触发页表寻访以便从页表条目中检索信息。因此,处理器可以修改页表条目而不使TLB中的页表条目的副本无效如在TLB击落期间发生的那样。相反,当最新的租约值尚未过去时,基于TLB中高速缓存的页表条目的信息的至少一个副本仍然有效并且因此仍然可以由对应的核心使用。在这种情况下,在修改页表条目之前,处理器可以:a执行TLB击落,或b等待直到最新租约值过去即,等待直到基于TLB中的页表条目的信息的所有副本的租约都已经到期并且因此副本已经变得无效。在所描述的实施方案中,TLB条目的租约值可以动态地确定。换句话说,当在运行时为给定TLB条目设置租约值时,处理器可以基于一个或多个策略、规则、阈值等,根据时间例如,毫秒、时间间隔等来确定TLB条目的租约长度,并且相应地设置租约值。例如,在一些实施方案中,使用与给定TLB条目相关联的延期计数器来保持给定TLB条目的租约被延期即,到期然后重新建立的次数的记录。当确定租约长度时,处理器可以使用延期计数器,可能连同一个或多个其他值来计算租约长度,作为对应公式例如,数学表达式和或逻辑表达式等的结果。通过使用租约值和最新租约值来避免执行TLB击落,所描述的实施方案可以提高涉及修改页表条目的操作的速度和效率例如,在延迟、通信带宽、功耗等方面。改进这些操作反过来可以改进计算装置的整体操作。例如,代替执行TLB击落,计算装置可以执行其他操作。计算装置图1呈现示出根据一些实施方案的计算装置100的框图。如图1中可以看出,计算装置100包括处理器102、存储器106、大容量存储装置116以及直接存储器存取机构118“DMA118”。处理器102是在计算装置100中执行计算操作的装置。处理器102包括两个核心,即核心108和109,每个核心包括一个或多个计算机构,诸如中央处理单元CPU、图形处理单元GPU、嵌入式处理器、专用集成电路ASIC和或其他计算机构。处理器102还包括高速缓存存储器或“高速缓存”,其用于在本地存储由核心108用来执行计算操作的数据和指令。如图1中可以看出,处理器102中的高速缓存包括核心108和109中的每一个中的一级L1高速缓存110和111“L1110”和“L1111”,每个L1高速缓存包括诸如以下各项中的一个或多个的存储器电路:静态随机存取储存器SRAM、动态随机存取存储器DRAM、双倍数据速率同步DRAMDDRSDRAM和或用于存储由对应的核心108和109使用的数据和指令的其他类型的存储器电路以及用于处理存储在存储器电路中的数据和指令的访问的控制电路。在一些实施方案中,L1高速缓存110和111是处理器102中的一组高速缓存中最小的就存储器电路的容量而言,并且位于最靠近使用对应核心108中的数据和指令的功能块例如,执行单元、指令获取单元等的位置。处理器102另外包括共享二级L2高速缓存112,其包括诸如以下各项中的一个或多个的存储器电路:SRAM、DRAM、DDRSDRAM和或用于存储由两个核心108使用的数据和指令的其他类型的存储器电路以及用于处理存储在存储器电路中的数据和指令的访问的控制电路。在一些实施方案中,L2高速缓存112大于L1高速缓存110和111,并且位于比L1高速缓存110和111距使用数据和指令的功能块更远的位置。处理器102还包括共享三级L3高速缓存104,其包括诸如以下各项中的一个或多个的存储器电路:SRAM、DRAM、DDRSDRAM和或用于存储由两个核心108使用的数据和指令的其他类型的存储器电路以及用于处理存储在存储器电路中的数据和指令的访问的控制电路。在一些实施方案中,L3高速缓存104是处理器102中的高速缓存中最大的,并且位于相对于L1高速缓存110和111以及L2高速缓存112距使用数据和指令的功能块最远的位置。处理器106是计算装置100的“主存储器”,并且包括诸如以下各项中的一个或多个的存储器电路:DRAM、DDRSDRAM、非易失性随机存取存储器NVRAM和或用于存储由计算装置100中的功能块使用的数据和指令的其他类型的存储器电路以及用于处理存储在存储器电路中的数据和指令的访问的控制电路。在一些实施方案中,存储器106包括比计算装置100中的高速缓存显著更多的存储器电路就存储器电路的容量而言,但是存取速度比高速缓存慢。大容量存储装置116是存储用于在计算装置100中使用的数据和指令的大容量存储装置,诸如高容量半导体存储器诸如闪存存储器、NVRAM等的非易失性半导体存储器、磁盘驱动器硬盘驱动器等、光学驱动器等。在所描述的实施方案中,大容量存储装置116保存由存储器管理单元114检索的数据和指令,以便存储在存储器106中以供计算装置100中的功能块随后使用。例如,可以给定大小例如,4kB、8kB等的块从大容量存储装置116中检索数据和指令,所述块被称为“页”,并且页可以存储在存储器106中以准备用于处理器102中的核心108和109、高速缓存等进行的访问。此外,可以在存储器中可用的物理位置处新创建页例如,当创建存储器块以用于存储计算结果时等。存储器管理单元114是处理器102中处理存储器访问请求的功能块。当处理器102中的功能块要访问数据或指令即,由核心108或另一功能块读取、写入、检查验证、删除、无效等时,功能块向存储器管理单元114发送存储器访问请求。然后,存储器管理单元114向L2高速缓存112、L3高速缓存104和存储器106中的一个或多个发送对应的请求,以满足解析存储器访问请求。例如,如果要基于存储器访问请求来检索数据,则存储器管理单元114可以从L2高速缓存112、L3高速缓存104或存储器106或大容量存储装置116,条件是数据不存在于L2高速缓存112、L3高速缓存104或存储器106之一中获取数据并将数据转发到请求功能块。在所描述的实施方案中,计算装置100使用虚拟存储器来使软件程序例如,由核心108和109执行能够访问存储器而无需管理存储器106中的页的物理位置。如上所述,对于虚拟存储器,程序使用“虚拟地址空间”其是特定于对应程序的本地地址空间中的“虚拟地址”访问存储器,而不是使用基于页的物理位置的地址或“物理地址”访问存储器。在这些实施方案中,在从具有虚拟地址的程序接收到存储器访问请求时,存储器管理单元114执行用于将虚拟地址转换为存储器106中数据所在的页的物理地址的操作。在一些实施方案中,存储器管理单元114使用两种机构来执行虚拟地址到物理地址转换。第一种机构是页表122,其是存储在存储器106中的数据结构例如,表、数组、列表等。在一些实施方案中,页表122存储存在于存储器106中的每个页的至少一种转换。因此,在这些实施方案中,如果已经将页从大容量存储装置116复制到存储器106或者在存储器106中新创建所述页并且所述页在存储器106中保持可用,则页表122中应当存在对应的虚拟地址到物理地址转换。在从具有虚拟地址的程序接收到存储器访问请求时,存储器管理单元114搜索页表122或执行“页表寻访”以获取针对虚拟地址的物理地址。下文更详细地描述页表122。用于执行虚拟地址到物理地址转换的第二种机构是转换后备缓冲器120和121“TLB120”和“TLB121”,它们是核心108和109中的每一个中的高速缓存,所述高速缓存被配置成存储高速缓存在页表122的页表寻访期间获取的虚拟地址到物理地址转换信息。在可能的情况下,核心108和109从对应的TLB120和121获取虚拟地址到物理地址转换信息,以避免执行页表寻访。下文更详细地描述TLB120和121。直接存储器访问机构118是功能块,其被配置成执行从大容量存储装置116到存储器106的数据传输,并且反之亦然。一般来说,直接存储器访问机构118从处理器102卸载数据传输操作,这使得处理器102能够避免执行与执行存储器传输有关的一些计算工作。这反过来使得处理器102能够执行其他计算操作,代替由直接存储器访问机构118执行的存储器传输和或与所述存储器传输并行执行。在一些实施方案中,如本文所述将数据页从大容量存储装置116复制到存储器106的操作由直接存储器访问机构118基于从存储器管理单元114接收的请求来执行。在一些实施方案中,通信路径其包括一个或多个总线、电线、引导件和或其他连接耦接在计算装置100中的各种功能块处理器核心108和109、存储器管理单元114、存储器106等之间,如元件之间的箭头线所示。通信路径用于在功能块之间传送命令、数据、控制信号和或其他信息。尽管利用特定的核心布置来描述实施方案,但是一些实施方案包括不同数量的核心和或不同的核心布置。例如,一些实施方案仅具有一个核心,而其他实施方案具有两个、五个、八个或另一数量的核心。一般来说,所描述的实施方案可以使用能够执行本文所述操作的任何核心布置。尽管利用特定的高速缓存布置来描述实施方案,但是一些实施方案包括不同数量的高速缓存和或不同的高速缓存布置。例如,一些或所有高速缓存例如,L1高速缓存110和111等可以被划分为单独的指令和数据高速缓存。另外,L2高速缓存112可以不被共享,并且因此可以仅由单个核心使用即,处理器102中可以存在两个L2高速缓存。作为另一个示例,一些实施方案包括不同级别的高速缓存,从仅一级高速缓存到多级高速缓存,并且这些高速缓存可位于处理器102中和或处理器102外部。一般来说,所描述的实施方案可以使用能够执行本文所述操作的任何高速缓存布置。尽管描述了计算装置具有一个存储器管理单元114的实施方案,但是一些实施方案具有不同数量的存储器管理单元和或不同的存储器管理单元布置。例如,在一些实施方案中,核心108和109中的每一个具有单独的存储器管理单元114。一般来说,所描述的实施方案包括足以执行本文所述操作的存储器管理单元。尽管图1中示出特定的TLB布置,但是在一些实施方案中,在计算装置100使用不同的TLB布置。例如,在一些实施方案中,在计算装置100中使用单独的数据和指令TLB。作为另一个示例,在一些实施方案中,使用TLB的层级,所述层级包括具有对应访问时间和大小即,条目数的两个或更多个级别的TLB。一般来说,所描述的实施方案包括足以执行本文所述操作的TLB。尽管计算装置100和处理器102在图1中出于说明目的而被简化,但是在一些实施方案中,计算装置100和或处理器102包括用于执行本文描述的操作和其他操作的附加机构。例如,计算装置100和或处理器102可以包括功率控制器、电池、媒体处理器、输入-输出机构、通信机构、联网机构、显示机构等。计算装置100可以是执行计算操作的任何电子装置或者可以包括在所述电子装置中。例如,计算装置100可以是诸如以下各项的电子装置或者可以包括其中:台式计算机、膝上型计算机、可佩戴计算装置、平板计算机、智能电话、服务器、网络装置、玩具、视听装置、家用电器、控制器、车辆等和或它们的组合。页表如上所述,计算装置100使用页表来执行虚拟地址到物理地址转换。图2呈现示出根据一些实施方案的页表122的框图。如图2中可以看出,页表122包括多个条目200条目200在图2中使用虚线突出显示,每个条目被配置成存储虚拟地址“VA”到物理地址“PA”转换202以及对应的元数据204。虚拟地址到物理地址转换202指示与一个或多个虚拟地址相关联的数据所处的存储器中的页即,给定大小的数据块,诸如4kB、8kB等的物理位置例如,存储器106中的起始地址。例如,在一些实施方案中,每个虚拟地址到物理地址转换202包括具有一个或多个虚拟地址中的一些或全部的第一字段,以及具有一个或多个虚拟地址所映射匹配的物理地址中的一些或全部的第二字段。例如,在一些实施方案中,每个虚拟地址到物理地址转换202中的第一字段包括虚拟地址的位例如,上部40、36等位的子集,并且第二字段包括对应物理地址的位的子集。在一些实施方案中,当从大容量存储装置116检索页并将页存储在存储器106中或在存储器106中新创建页时,对应的条目200被添加到具有虚拟地址到物理地址转换202的页表122。因此,如果页已经从大容量存储装置116复制到存储器106或者在存储器106中新创建并且在存储器106中保持可用,则对应的虚拟地址到物理地址转换202应当存在于页表122中。元数据204包括与对应的虚拟地址到物理地址转换202相关联,表征、控制所述虚拟地址到物理地址转换和或以其他方式与所述虚拟地址到物理地址转换相关的信息。当将虚拟地址到物理地址转换202添加到页表122时,获取、生成等元数据并将其添加到对应的条目200作为元数据204。图3呈现示出根据一些实施方案的元数据204的框图。如图3中可以看出,元数据204包括有效性300,其包括与对应的虚拟地址到物理地址转换202和或存储器106中的对应页的有效性相关的一个或多个值。例如,有效性300可以包括指示存储器106中的对应页是否有效可访问和或条目200本身是否有效可访问的一个或多个位。元数据204还包括许可302,其包括与存储器106中的对应页的访问许可相关的一个或多个值。例如,元数据204可以包括一个或多个位,其指示存储器106中的对应页具有只读还是读写许可集、页是否仅以特定权限管理员、用户、内核等可访问和或其他许可信息。元数据204还包括控件304,其包括与存储器106中的条目200和或对应页的使用相关的一个或多个值。例如,控件304可以包括页大小指示符、脏指示符用于当存储器106中的对应页已经被修改并且因此与大容量存储装置116上的相关联存储器块不一致时、被访问指示符用于当存储器106中的页已经被访问一次或多次时、直写指示符用于当对存储器106中的页的修改将立即反映在大容量存储装置116上的相关联存储器块中时和或其他值。元数据204还包括最新租约306,其包括表示保存在TLB例如,TLB120和或121中的虚拟地址到物理地址转换202的副本的最长现有租约到期到期之前等的绝对或相对时间的值例如,一个或多个位。例如,最新租约306可以包括描述从起始点开始的特定系统时间的值例如,自指定开始时间以来的秒数等、年-月-日-小时-分-秒值等。作为另一个示例,最新租约306可以包括缩减、压缩或简化的值,其表示缩略或缩短形式的时间,诸如仅保存较长形式时间值的几个相关位或字节、保存其输入是时间值的散列函数的输出等。例如,当TLB中保存的虚拟地址到物理地址转换的最长现有租约是500毫秒、1秒、5秒等时,可以将年-月-日-小时-分舍弃、丢弃、移除等,时间值通常将包括所有年-月-日-小时-分-秒-毫秒。作为又一个示例,在跟踪诸如历元的片段中的时间的系统中,最新租约306可以包括诸如历元计数器的片段计数器。作为又一个示例,在监视或跟踪事件例如,周期性或异步事件、中断事件等发生的系统中,最新租约306可以包括事件计数器、标识符等。一般来说,在所描述的实施方案中,最新租约306包括足以使计算装置100例如,存储器管理单元114、对应的核心108或109等能够确定对应的虚拟地址到物理地址转换202的所有现有租约是否已经到期的信息。例如,如果核心108和109两者都在对应的TLB120和121中保存虚拟地址到物理地址转换的副本,核心108具有时间P的租约值并且核心109具有时间K的租约值,其中时间P发生在时间K之后,则对应的最新租约306将指示时间P,从而指示至少一个核心即,在这个示例中的核心108具有以到期时间P高速缓存的虚拟地址到物理地址转换。在一些实施方案中,最新租约306包括除了表示最长现有租约到期的值之外的信息。例如,在一些实施方案中,最新租约306包括计数器值,其用于计算其中保存或最近保存例如,在现有租约在现有最长租约的阈值时间内的情况下等保存虚拟地址到物理地址转换202的副本的TLB的数量。作为另一个示例,在一些实施方案中,最新租约306包括一个或多个TLB的一个或多个标识符,所述TLB保存具有最长现有租约的虚拟地址到物理地址转换的副本。元数据204还包括延期计数器“EXTCOUNTER”308,其保存数字值或其他值,所述值表示与页表条目相关联的TLB条目的租约被“延期”的次数,即,租约延期次数。一般来说,在TLB条目的租约到期后重新建立或续订TLB条目时,租约延期。换句话说,当存储器管理单元114发现TLB条目的租约到期并且执行表寻访以便从对应的页表条目重新获取信息用于续订更新TLB条目时,发生延期。每次发生延期时,存储器管理单元114使元数据中针对页表条目的计数器递增或以其他方式更新所述计数器。在一些实施方案中,使延期计数器递增仅在到期延期足够近例如,在最近的N毫秒内等时发生。以这种方式,“延期”不考虑超过给定时间之前发生的到期。如本文所述,在添加到页表122之后,可以对虚拟地址到物理地址转换202和元数据204中的一个或两个进行修改改变、更新等。例如,当页从存储器106中的第一位置移动到第二位置时,可以更新对应条目200中的虚拟地址到物理地址转换202。作为另一个示例,在元数据204包括许可302例如,读取写入许可的实施方案中,可以更新许可302以指示针对存储器106中的对应页的只读、读写等许可。为了执行修改,所描述的实施方案使用最新租约306来确定核心108和109中的任一个具有高速缓存在对应TLB中的虚拟地址到物理地址转换202的副本,如本文所述。如上所述,当试图获取指定虚拟地址的物理地址信息时,存储器管理单元114或计算装置100中的另一实体可以执行页表寻访。在页表寻访期间,存储器管理单元114使用对应的搜索技术诸如顺序或逐个条目检查来搜索存储器106中的页表122,以找到保存对应的虚拟地址到物理地址转换202的条目200,如果存在这种条目200的话。在遇到这种条目200时,存储器管理单元114从条目200获取指定虚拟地址的物理地址即,从虚拟地址到条目200中的物理地址转换202。如果存储器管理单元114不能找到具有对应的虚拟地址到物理地址转换的条目200,则执行错误处理操作例如,发出页错误并且随后进行处理等。尽管页表122被示出为具有特定数量的条目200,但是一些实施方案包括不同数量的条目200如图2中的省略号所示。此外,尽管条目200和元数据204被示出为具有特定的信息布置和特定类型的信息,但是在一些实施方案中,条目200和元数据204中的一个或两个包括不同的信息。例如,在一些实施方案中,元数据204中的至少一些存储在除了条目200中之外的位置中。例如,在一些实施方案中,使用单独的存储器内数据结构来存储最新租约值。在这些实施方案中的一些中,单独的存储器内数据结构可以是包括成对的页表条目标识符地址或其部分等和对应的租约信息的表、列表等,如上文针对元数据204所描述的。作为另一示例,在一些实施方案中,不使用延期计数器306即,使用另一种技术来确定租约长度,并且因此元数据204中不包括延期计数器306。一般来说,页表122,并且更一般地,计算装置100,包括足以使计算装置100能够存储和检索虚拟地址到物理地址转换信息并处理如本文所述的页表条目修改的信息。尽管页表122在图2中被示出为单个表,但是在一些实施方案中,使用多个表的布置或其他数据结构来实现页表122。图12呈现示出根据一些实施方案的使用多个表实现的页表的框图。如图12中可以看出,页表1200包括页映射4级表1206、页目录指针表“PAGEDIRPTRTABLE”1208、页目录表“PAGEDIRTABLE”1210、页表1212和存储器页1214。页映射4级表1206、页目录指针表1208、页目录表1210和页表1212是存储在存储器中的数据结构例如,表、链接列表等。页映射4级表1206、页目录指针表1208和页目录表1210各自包括关于要在表寻访的下一步骤期间搜索或“寻访”以找到对应于虚拟地址1202的物理地址的后续表的信息。例如,页映射4级表1206包括多个条目,每个条目包括将对应的地址位子集从虚拟地址1202映射到页目录指针表诸如页目录指针表1208,如图3所示的信息。页表1212包括指示与虚拟地址的对应部分相关联的特定存储页的物理地址。存储器页1214是存储器中由虚拟地址1202指示的数据所在的特定页。在一些实施方案中,当在页表1200中执行表寻访以获取与虚拟地址1202相关联的物理地址时,表寻访器读取控制寄存器“CR”1204以确定与对应虚拟机相关联的页级别表例如,页映射4级表1206在存储器中的位置。然后,表寻访器使用来自虚拟地址1202的位的子集例如,64位虚拟地址中的39-47位在页映射4级表1206中搜索或“寻访”指示接下来要寻访的页目录指针表例如,页目录指针表1208的位置的条目示出为“PML4E”。表寻访器接下来继续搜索剩余的表,即,页目录指针表1208、页目录表例如,页目录表1210和页表例如,页表1212,使用来自虚拟地址1202的位的对应子集来寻访每个表并在表中定位指示要寻访的下一个表的条目示出为“PDPE”和“PDE”。最后,使用从页表1212页表条目或“PTE”获取的物理地址,表寻访器到达特定的存储器页例如,存储器页1214。使用虚拟地址1202的位的对应部分例如,64位虚拟地址中的0-11位,表寻访器确定存储器页1214中包括由虚拟地址1202指示的数据的条目DATA。如果表寻访器不能找到针对虚拟地址1202的地址转换,则执行错误处理操作例如,发出页错误并随后进行处理等。如图12中可以看出,租约与页表1212中的页表条目分开示出,以表示最新租约306可以如何存储在页表1212中的其他地方。然而,如上所述,包括最新租约306的元数据可以与页表条目一起存储例如,在连续的存储器块中。转换后备缓冲器如上所述,计算装置100包括分别位于核心108和109中的TLB120和121。每个TLB是高速缓存,其被配置成存储在对页表122进行页表寻访期间获取的虚拟地址到物理地址转换信息,所述信息用于由对应的核心、存储器管理单元114等进行的访问。图4呈现示出根据一些实施方案的TLB400的框图。在一些实施方案中,TLB120和121中的一个或两个类似于TLB400布置。如图4所示,TLB400包括控制机构404和多个条目402条目402在图4中使用虚线突出显示,每个条目被配置成存储虚拟地址“VA”到物理地址“PA”转换406以及对应的元数据408。虚拟地址到物理地址转换406指示存储器106中与一个或多个虚拟地址相关联的数据所在的页的物理位置例如,存储器106中的起始地址。例如,在一些实施方案中,每个虚拟地址到物理地址转换406包括具有一个或多个虚拟地址中的一些或全部的第一字段,以及具有存储器106中一个或多个虚拟地址所映射匹配的物理地址中的一些或全部的第二字段。在一些实施方案中,当从页表122获取虚拟地址到物理地址转换202和对应的元数据204时即,在页表寻访期间,至少部分地基于虚拟地址到物理地址转换202和或对应的元数据204而在条目402中更新虚拟地址到物理地址转换406和元数据408。在一些实施方案中,直接从对应的页表条目复制虚拟地址到物理地址转换信息,但是在其他实施方案中,在将来自页表条目的虚拟地址到物理地址转换信息存储在虚拟地址到物理地址转换406中之前执行一个或多个操作例如,缩减、重新格式化、散列等。例如,在一些实施方案中,TLB400包括多级查找机构未示出,其中存储虚拟地址到物理地址转换406,并且将来自页表122的虚拟地址到物理地址转换信息分成多个部分以便存储在多级查找机构的每个级别中。在一些实施方案中,由于TLB400中的条目402的数量是有限的,因此更新TLB400中的条目402可能涉及覆盖条目402中的现有信息。例如,当TLB400中的指定条目402例如,全部、特定子集等保存虚拟地址到物理地址转换时,要写入TLB400的下一个虚拟地址到物理地址转换将覆盖条目402中的现有虚拟地址到物理地址转换。在这些实施方案中,可以使用诸如先入先出、最近最少使用、最常使用等的策略来确定要覆盖哪个条目402。此外,在一些实施方案中,使用特定类型的关联性来管理TLB400中的条目,诸如直接映射、集合关联性、倾斜关联性等。换句话说,在一些实施方案中,作为高速缓存的TLB400可以使用各种替换技术来管理。元数据408包括与对应的虚拟地址到物理地址转换406相关联,表征、控制所述虚拟地址到物理地址转换和或以其他方式与所述虚拟地址到物理地址转换相关的信息。在一些实施方案中,当在页表寻访期间获取虚拟地址到物理地址转换406时,获取、生成等元数据并将其添加到对应的条目402或存储在TLB400中的其他位置。图5呈现示出根据一些实施方案的元数据408的框图。如图5中可以看出,元数据408包括有效性500,其包括与对应的虚拟地址到物理地址转换406和或存储器106中的对应页的有效性相关的一个或多个值。例如,有效性500可以包括指示存储器106中的对应页是否有效可访问和或条目402本身是否有效可访问的一个或多个位。元数据408还包括许可502,其包括与存储器106中的对应页的访问许可相关的一个或多个值。例如,许可502可以包括一个或多个位,其指示存储器106中的对应页具有只读还是读写许可集、页是否仅以特定权限管理员、用户、内核等可访问和或其他许可信息。元数据408还包括控件504,其包括与存储器106中的条目402和或对应页的使用相关的一个或多个值。例如,控件504可以包括页大小指示符、脏指示符用于当存储器106中的对应页已经被修改并且因此与大容量存储装置116上的相关联存储器块不一致时、被访问指示符用于当存储器106中的页已经被访问一次或多次时、直写指示符用于当对存储器106中的页的修改将立即反映在大容量存储装置116上的相关联存储器块中时和或其他值。元数据408还包括租约值506,其包括表示虚拟地址到物理地址转换406的租约到期到期之前等的绝对或相对时间的值例如,一个或多个位。如本文所述,当虚拟地址到物理地址转换406的租约到期时,虚拟地址到物理地址转换406被认为是无效的并且可能不再用于指定的操作例如,将虚拟地址转换为物理地址、确定针对存储器106中的对应页的许可等。例如,租约值506可以包括描述从起始点开始的特定系统时间的值例如,自指定开始时间以来的秒数等、年-月-日-小时-分-秒-毫秒值等。作为另一个示例,租约值506可以包括缩减、压缩或简化的值,其表示缩略或缩短形式的时间,诸如仅保存较长形式时间值的几个相关位或字节、保存其输入是时间值的散列函数的输出等。例如,当对应的虚拟地址到物理地址转换406的最长现有租约是500毫秒、1秒、5秒等时,可以将年-月-日-小时-分从时间值舍弃、丢弃、移除等,所述时间值通常将包括所有的年-月-日-小时-分-秒-毫秒。作为又一个示例,在跟踪诸如历元的片段中的时间的系统中,租约值506可以包括诸如历元计数器的片段计数器。作为又一个示例,在监视或跟踪事件例如,周期性或异步事件、中断事件等发生的系统中,租约值506可以包括事件计数器、标识符等。一般来说,在所描述的实施方案中,租约值506包括足以使计算装置100例如,存储器管理单元114、对应的核心等能够确定对应的虚拟地址到物理地址转换406的租约是否已经到期的信息。例如,如果给定虚拟地址到物理地址转换406的租约值506是F,其中F是绝对或相对时间,并且系统时间当前是H,即超过F的时间值,则租约已经到期并且虚拟地址到物理地址转换406被认为是无效的。否则,如果H是未超过F的时间值即,早于F,则租约尚未到期并且虚拟地址到物理地址转换406被认为是有效的至少相对于租约值,虚拟地址到物理地址转换406可以出于其他原因被认为是无效的。返回到图4,控制机构404是功能块,其被配置成执行用于获取、使用和管理条目402中的信息的各种操作。例如,控制机构404可以将虚拟地址到物理地址转换信息存储在条目402中、使用条目402中的信息来执行虚拟地址到物理地址转换、确定租约值和或其他元数据值、利用租约值和或其他值更新元数据等。在操作期间,当存储器管理单元114和或计算装置100中的另一硬件或软件实体要将虚拟地址转换为物理地址时,存储器管理单元114将包括虚拟地址中的一些或全部的请求发送到TLB400中的控制机构404。然后,控制机构404使用对应的搜索技术诸如顺序或依次逐个条目检查、地址匹配等以找到条目402,如果存在这种条目402的话,所述条目中保存对应的虚拟地址到物理地址转换406。例如,在一些实施方案中,TLB120包括条目402所在的内容可寻址存储器,并且控制机构在内容可寻址存储器中搜索虚拟地址。作为另一个示例,在一些实施方案中,TLB120包括条目402所在的表、目录和或另一数据结构,并且控制机构在表、目录和或其他数据结构中执行对应的搜索。在遇到具有对应的虚拟地址到物理地址转换406的条目402时,控制机构404从条目402获取指定虚拟地址的物理地址即,从虚拟地址到物理地址转换406并向存储器管理单元114传回物理地址转换。如果TLB400中不存在具有虚拟地址到物理地址转换的条目402,则对虚拟地址到物理地址转换的搜索在TLB400中“未命中”,并且控制机构404向存储器管理单元114发送未命中信号。然后,存储器管理单元114开始页表寻访以获取虚拟地址到物理地址转换。尽管TLB400被示出为具有特定的功能块布置,但是在一些实施方案中,TLB400被不同地布置。例如,在一些实施方案中,TLB400被配置成具有功能元件目录、一个或多个表等,以用于执行对虚拟地址到物理地址转换信息的多级搜索。一般来说,所描述的实施方案可以使用TLB400的任何内部布置,其中上述租约值506与对应的虚拟地址到物理地址转换相关联。此外,尽管TLB400被示出为具有特定数量的条目402,但是一些实施方案包括不同数量的条目402如图4中的省略号所示。另外,尽管条目402和元数据408被示出为具有特定的信息布置和特定类型的信息,但是在一些实施方案中,条目402和元数据408中的一个或两个包括更多或不同的信息。例如,元数据408中的一些或全部可以存储在TLB400中的另一个位置,诸如元数据记录数据结构未示出。一般来说,条目402和元数据408包括足以使计算装置100能够执行本文所述操作的信息。设置租约值和最新租约值图6呈现示出根据一些实施方案的用于为TLB中的条目设置租约值以及为对应的页表条目设置最新租约值的过程的流程图。应当注意,呈现图6所示的操作作为由一些实施方案执行的操作的一般示例。由其他实施方案执行的操作包括不同的操作和或以不同的顺序执行的操作。另外,尽管使用特定的机构例如,存储器管理单元114、核心108TLB120等来描述操作,但是在一些实施方案中,其他机构可以执行操作。例如,核心109TLB121可以代替核心108TLB120执行操作。图6开始于存储器管理单元114接收要转换成物理地址的虚拟地址时步骤600。例如,存储器管理单元114可以从核心108接收用于执行包括虚拟地址的存储器访问诸如存储器写入的请求。然后,存储器管理单元114从存储器访问请求中获取例如,提取、确定等虚拟地址。存储器管理单元114接下来向TLB120发送对与虚拟地址相关联的物理地址的请求步骤602。换句话说,存储器管理单元114请求TLB120基于存储在TLB120中的条目中的对应虚拟地址到物理地址转换如果存在这种条目来确定物理地址并传回物理地址。对于这个示例,假设TLB120中的任何条目都不包括与虚拟地址相对应的虚拟地址到物理地址转换,并且因此请求在TLB120中“未命中”。因此,存储器管理单元114从TLB120接收在TLB120中未命中的指示步骤604。由于TLB120中的查找导致未命中,因此存储器管理单元114执行页表寻访以便从页表122获取与虚拟地址相关联的物理地址步骤606。在页表寻访期间,存储器管理单元114在页表122中搜索具有与虚拟地址相关联的物理地址的页表条目即,具有对应的虚拟地址到物理地址转换。在一些实施方案中,使用以下技术执行页表寻访:诸如顺序或逐个条目搜索、分层搜索例如,使用目录、散列方案等和或另一种技术。对于这个示例,假设页表122包括具有对应的虚拟地址到物理地址转换的页表条目。如果没有,则执行补救措施例如,页错误。然后,存储器管理单元114利用所获取的虚拟地址到物理地址转换来更新TLB120中的条目步骤608。如上所述,更新包括在条目中存储可以直接或间接用来基于已知的虚拟地址确定对应的物理地址的信息。例如,在一些实施方案中,每个条目包括具有一个或多个虚拟地址中的一些或全部例如,一个或多个虚拟地址中的位集合的至少一部分的第一字段,以及具有对应的物理地址中的一些或全部例如,存储器页的起始地址、与已知地址的偏移等的第二字段。在一些实施方案中,使用替换算法管理TLB120,并且根据替换算法的规则、策略等将虚拟地址到物理地址转换存储在条目中。例如,可以使用集合关联性来至少部分地管理TLB120,并且可以从对应的集合中选择用于存储虚拟地址到物理地址转换的条目。除了将虚拟地址到物理地址转换存储在条目中之外,存储器管理单元114和或另一个实体,诸如TLB120、核心108等更新与TLB120中的条目相关联的元数据。当更新与条目相关联的元数据时,存储器管理单元114可以确定、生成或以其他方式获取要用于从各种源更新元数据的信息。例如,存储器管理单元114可以基于与从页表122获取的页表条目相关联的元数据例如,元数据204来获取或确定用于更新的至少一些信息。例如,存储器管理单元114可以获取页表122中的页表条目的元数据其指示存储器106中的对应页的访问许可,并且可以更新TLB120中的条目的元数据以指示访问许可。作为另一个示例,存储器管理单元114可以生成要用于更新元数据的信息、值等。例如,存储器管理单元114可以设置TLB120中的条目的有效性信息,可以设置或更新与条目相关联的访问计数器等。作为又一个示例,存储器管理单元114可以从计算装置中的一个或多个其他功能块例如,核心108和或109、存储器106等获取用于更新元数据的信息。一般来说,存储器管理单元114和或另一个实体获取用于更新元数据的足够信息,如本文所述。当更新与条目相关联的元数据时,存储器管理单元114更新TLB120中的条目的元数据中的租约值步骤610。一般来说,对于这种操作,存储器管理单元114首先确定要用于虚拟地址到物理地址转换的租约值,然后基于所确定的租约值在条目的元数据中设置租约值。回想一下,租约值是条目被认为有效或之前的时间并且因此允许在指定的操作例如,虚拟地址到物理地址转换、访问条目的元数据等期间使用。为避免低效操作,应当将租约值设置为这样一个值:所述值足够长以使条目的租约不会过早到期这可能导致不必要的页表寻访和或所述值足够短以使租约不会太晚到期这可能导致不必要的TLB击落或延迟。在一些实施方案中,由于TLB击落可能需要比页表寻访更多时间来执行,因此存储器管理单元114优先将租约长度设置得更短而不是更长。这可能导致更多的页寻访,因为租约将会更快到期,但是可以帮助避免TLB击落。当确定租约值时,存储器管理单元114通常确定TLB120中的条目将到期的时间,所述时间可以是绝对特定时间例如,特定的小时、分、秒、毫秒等或相对偏移时间例如,距时间Z的X秒等。存储器管理单元114可以基于来自计算装置100中的一个或多个源的信息来确定租约值即,时间。例如,存储器管理单元114可以被配置成例如,经由固件、从其他硬件或软件实体接收的输入、存储器管理单元114中的硬件预设装置等具有要用于TLB120中的所有条目的单个租约值。作为另一个示例,存储器管理单元114可以被配置成具有要用于TLB120中的对应条目的一个或多个租约值。例如,存储器管理单元114可以包括用于针对存储器的对应区域中的物理地址例如,物理地址的范围的所有TLB120条目的两个或更多个租约值。在一些实施方案中,单独的租约值用于各个TLB120条目,即用于存储器中特定地址处的页的TLB120条目。在这些实施方案中,可以使用算法或策略来确定每个TLB120条目的租约值,所述租约值可以与其他TLB120条目的租约值不同或相同。在一些实施方案中,在计算装置100的运行时期间确定租约值,即“动态地”确定。在这些实施方案中,当计算装置100操作时,用于更新TLB120中的新添加的条目的元数据的租约值可以随着时间改变但是,一旦设置,给定条目中的租约值通常就保持不变,尽管这不是必要条件。在这些实施方案中,计算装置100可以避免使用如上所述的太长或太短的租约值。在一些实施方案中,存储器管理单元114或计算装置100中的另一个硬件或软件实体被配置成具有用于动态地确定租约值的一个或多个策略、规则、阈值等。例如,一个或多个租约值即,租约持续时间可以与对应的运行时条件阈值相关联,诸如TLB120中的命中率或未命中率的阈值包括由过期条目引起的未命中、TLB120中条目的访问次数、所执行的页表寻访次数包括基于TLB中的过期条目的页表寻访、存储器访问的次数、类型或位置、TLB120和或另一个实体例如,存储器106、核心108等的操作模式等。例如,当TLB120中的命中率或未命中率或者命中或未命中的次数低于阈值例如,每Y微秒X次命中时,可以使用第一租约值,而当TLB120中的命中率或未命中率或者命中或未命中的次数等于或大于阈值时,使用第二租约值。作为另一个示例,当TLB120中遇到过期条目的速率或次数低于阈值时,可以使用第一租约值,而当TLB120中遇到过期条目的速率或次数等于或大于阈值时,使用第二租约值。作为另一个示例,可以使用基于核心108或计算装置100的操作模式例如,低功率、全功率、高性能等的两个阈值来确定要使用三个租约值中的哪一个,使得在第一阈值以下例如,在低功率模式下使用第一租约值,在第一阈值与第二阈值之间例如,在全功率模式下使用第二租约值,并且在第二阈值以上例如,在高性能模式下使用第三租约值。在一些实施方案中,可以基于尝试修改最新租约已经或未到期的页表条目的速率来动态地确定租约值。在这些实施方案中,当多次尝试修改其最新租约值未到期和或大于阈值的页表条目时,可以递增地缩短租约值,直到发生一定数量的TLB击落。此外或替代地,当由于过期的租约值而发生多个TLB未命中时,可以递增地延长租约值,直到发生指定数量的页表寻访。在一些实施方案中,可以基于存储器106中页的属性和或存储器106中页的属性的改变或预期改变来动态地确定租约值。例如,存储器管理单元114可以监视页、页访问、存储器访问等,以确定一个或多个页的一个或多个属性已经改变和或可以被预测为要改变。作为另一个示例,计算装置100中的硬件或软件实体例如,剖析实体可以向存储器管理单元114发信号通知一个或多个页的一个或多个属性已经被预测为要改变和或将改变。这些属性可以包括可用于动态地确定租约值的页的任何属性或与页相关联的任何属性,包括访问许可、页大小、存储器中的页位置、访问页的一个或多个程序的类型,访问页的一个或多个程序的操作阶段等。然后,存储器管理单元114可以相应地设置租约值,即用于避免使用太长或太短的租约值。当设置租约值时,存储器管理单元114利用TLB120中的条目将到期的时间的表示来更新TLB120中的条目的元数据例如,租约值506。如上所述,租约值可以是能够被TLB120、存储器管理单元114等识别为到期时间的任何值。例如,时间可以是未来系统时钟时间、从开始时间的偏移、历元标识符计数器数字、事件标识符计数器数字、倒计时时间、对存储在另一位置中例如,在TLB120中、在存储器106中等的其他地方的租约值的参考或指针和或到期时间的另一种表示。时间可以各种形式中的任一种存储,包括众所周知的时间的多字节表示、位模式、字符串等。时间可以缩减、简化和或压缩格式存储,诸如截断不相关或不需要的长格式时间表示的部分、一些或所有时间值的散列等。除了更新TLB120中的条目之外,存储器管理单元114还在页表122中基于租约值选择性地更新页表条目的元数据中的最新租约值例如,最新租约306步骤612。如这里所使用的,“选择性地”更新意味着在满足条件时更新最新租约值,所述条件是现有的最新租约值不是晚于租约值的时间。对于这种操作,存储器管理单元114将现有的最新租约值与TLB120中的条目的租约值进行比较,以确定现有的最新租约值是否是时间上晚于条目的租约值即,在其之后的到期时间。当租约值晚于现有的最新租约值时,存储器管理单元114利用租约值或利用代表租约值、与租约值成比例等的值来覆盖现有的最新租约值。例如,当租约值是绝对特定时间、相对偏移时间、基于事件或基于历元的参考等时,存储器管理单元114利用或以其他方式基于租约值来覆盖最新租约值。否则,当租约值早于快于最新租约值时,存储器管理单元114不更新最新租约值。以这种方式,在页表122中维持页表条目的最长最新到期租约。这使得能够避免如图8-9所描述的TLB击落或延迟。尽管步骤612被描述为好像已经存在用于页表条目的现有最新租约值,但是可能还不存在最新租约值。例如,如果TLB中未存储来自页表条目的虚拟地址到物理地址转换的其他副本,则可以将最新租约值设置为默认值例如,应当已经到期的时间,诸如时间0。在这种情况下,上述比较应当始终导致覆盖最新租约值,因为任何租约值都将晚于最新租约值。使用TLB中的条目的租约值图7呈现示出根据一些实施方案的用于使用TLB中的条目的租约值的过程的流程图。应当注意,呈现图7所示的操作作为由一些实施方案执行的操作的一般示例。由其他实施方案执行的操作包括不同的操作和或以不同的顺序执行的操作。另外,尽管使用特定的机构例如,存储器管理单元114、核心108TLB120等来描述操作,但是在一些实施方案中,其他机构可以执行操作。例如,核心109TLB121可以代替核心108TLB120执行操作。图7所示的过程开始于TLB120中的控制机构从存储器管理单元114接收对与虚拟地址相关联的物理地址的请求时步骤700。换句话说,TLB120接收对虚拟地址的虚拟地址到物理地址转换的请求。然后,控制机构在TLB120中的条目中搜索虚拟地址到物理地址转换即,搜索存储虚拟地址到物理地址转换的条目步骤702。一般来说,在这种操作期间,TLB120将虚拟地址中的一些或全部与存储在TLB120中的条目中的一组虚拟地址到物理地址转换中的一些或全部的虚拟地址信息进行比较。例如,在一些实施方案中,TLB120包括存储虚拟地址到物理地址转换的内容可寻址存储器,并且控制机构在内容可寻址存储器中搜索虚拟地址。作为另一个示例,在一些实施方案中,TLB120包括表、目录和或另一数据结构,并且控制机构在表、目录和或其他数据结构中执行对应的搜索。在一些实施方案中,在执行搜索之前处理虚拟地址,诸如用于使用散列函数创建散列值、被截断或以其他方式缩减等。在这些实施方案中,将虚拟地址到物理地址转换存储在TLB120中,具有以类似方式从对应的虚拟地址生成的标签、密钥、指针等。当在TLB120中未找到虚拟地址到物理地址转换时步骤704,控制机构向存储器管理单元114传回在TLB120中未命中的指示步骤706。基于接收到未命中的指示,存储器管理单元114执行页表寻访以获取虚拟地址到物理地址转换。当在TLB120中找到虚拟地址到物理地址转换时步骤704,控制机构确定虚拟地址到物理地址转换的租约是否到期步骤708。一般来说,这种操作包括将租约要到期的时间或其他值与当前时间或其他参考进行比较以确定租约是否已经到期。例如,当租约值是绝对特定时间例如,小时、分、秒等时,可以将绝对特定时间与当前系统时间、参考计时器和或另一个计数器或时钟进行比较。作为另一个示例,当租约值是相对偏移时间时,可以将相对偏移时间与基于偏移计时器或计数器的当前值、基准时间值加偏移等计算、确定等的时间值进行比较。作为又一个示例,当租约值是基于事件或基于历元的参考时,可以将基于事件或基于历元的参考与当前事件标识符或历元计数器进行比较。在一些实施方案中,当当前的绝对特定时间或相对偏移时间超过租约值、当超过基于事件或基于历元的参考时等,确定租约已经到期。例如,当系统时间是P其是晚于租约值K的值时,租约到期。作为另一个示例,当系统中的历元计数器是M其是高于最新租约值H的计数器时,最新租约到期。当租约尚未到期时,控制机构将与虚拟地址相关联的物理地址传回到存储器管理单元114步骤710。例如,当TLB120包括内容可寻址存储器时,控制机构可以从内容可寻址存储器检索物理地址并将物理地址传回到存储器管理单元114。作为另一个示例,当TLB120包括目录、表或其他数据结构时,控制机构可以执行对应的检索操作以便基于虚拟地址检索物理地址并将物理地址传回到存储器管理单元114。尽管租约值被描述为用于控制TLB120中虚拟地址到物理地址转换的使用,但是可以类似地控制对条目的元数据的访问。例如,如果接收到获取给定虚拟地址的访问许可信息读取写入、只读等的请求,则可以如上所述使用租约值来控制是否从条目的传回许可信息。一般来说,在一些实施方案中,如所描述的,可以使用租约值来控制对给定条目中的一些或所有信息的访问。通过如所描述的传回或不传回来自TLB120中的条目的信息例如,虚拟地址到物理地址转换、元数据等,所描述的实施方案使用租约值来控制TLB120中的条目的使用期。换句话说,TLB120中的条目在它们到期之前具有有限的使用期限并且不能再用于指定的操作。如本文所述,这可以使计算装置100能够避免执行TLB击落。使用页表条目的最新租约值图8呈现示出根据一些实施方案的用于使用页表122中的页表条目的最新租约的过程的流程图。应当注意,呈现图8所示的操作作为由一些实施方案执行的操作的一般示例。由其他实施方案执行的操作包括不同的操作和或以不同的顺序执行的操作。另外,尽管使用特定的机构例如,存储器管理单元114、核心108TLB120等来描述操作,但是在一些实施方案中,其他机构可以执行操作。例如,核心109TLB121可以代替核心108TLB120执行操作。图8所示的过程开始于存储器管理单元114确定要修改页表条目步骤800。例如,存储器管理单元114可以从核心108接收修改页表条目中的虚拟地址到物理地址转换的请求,诸如当存储器页已经在存储器106中移动时、当虚拟地址已经改变时等。作为另一个示例,存储器管理单元114可以从核心108接收修改与页表条目相关联的元数据的请求,诸如当存储器106中的对应页的访问许可已经改变时、当访问计数器要改变时等。然后,存储器管理单元114从页表中获取页表条目的最新租约值步骤802。通常,当获取最新租约值时,存储器管理单元114在页表122中找到页表条目例如,通过如上所述的搜索或寻访页表并且从与条目相关联的元数据例如,元数据204获取最新租约值。然后,存储器管理单元114确定页表条目的最新租约是否到期步骤804。更具体地,存储器管理单元114基于最新租约值,确定基于保存在TLB中的页表条目的虚拟地址到物理地址转换的所有副本是否已经到期。一般来说,这种操作包括将最新租约要到期的时间或其他值与当前时间或其他参考进行比较以确定最新租约是否已经到期。例如,当最新租约是绝对特定时间例如,小时、分、秒等时,可以将绝对特定时间与当前系统时间、参考计时器和或另一个计数器或时钟进行比较。作为另一个示例,当最新租约是相对偏移时间时,可以将相对偏移时间与基于偏移计时器或计数器的当前值、基准时间值加偏移等计算、确定等的时间值进行比较。作为又一个示例,当最新租约是基于事件或基于历元的参考时,可以将基于事件或基于历元的参考与当前事件标识符或历元计数器进行比较。在一些实施方案中,当当前绝对特定或相对偏移时间超过最新租约值、当超过基于事件或基于历元的参考时等,确定最新租约已经到期。例如,当系统时间是P其是晚于最新租约值K的值时,最新租约到期。作为另一个示例,当系统中的历元计数器是M其是高于最新租约值H的计数器时,最新租约到期。当最新租约尚未到期步骤804,并且因此存在来自保存在TLB中的页表条目的虚拟地址到物理地址转换的至少一个有效并且因此可用副本时,存储器管理单元114不能在不导致页表条目与一个或多个副本之间不一致的情况下修改页表条目。因此,存储器管理单元114执行TLB击落以使TLB中的对应条目无效步骤806。如上所述,当执行TLB击落时,存储器管理单元114导致可以保存来自页表条目的虚拟地址到物理地址转换和元数据的副本的每个TLB使副本无效。在执行TLB击落之后,存储器管理单元114修改页表条目步骤808。在这种操作期间,存储器管理单元114更新页表条目的虚拟地址到物理地址转换和或元数据。当最新租约已经到期步骤804,并且因此没有来自页表条目的虚拟地址到物理地址转换的有效并且因此可用副本保持在TLB中时,存储器管理单元114能够修改页表条目而不会导致不一致。因此,存储器管理单元114修改页表条目步骤808。应当注意,这种修改是在不执行TLB击落的情况下进行的,因为最新租约值能够用于确认没有虚拟地址到物理地址转换的副本保持在TLB中。图9呈现示出根据一些实施方案的用于使用页表122中的页表条目的最新租约的过程的流程图。应当注意,呈现图9所示的操作以作为由一些实施方案执行的操作的一般示例。由其他实施方案执行的操作包括不同的操作和或以不同顺序执行的操作。另外,尽管在描述操作时使用了特定的机构例如,存储器管理单元114、核心108TLB120等,但是在一些实施方案中,其他机构可以执行所述操作。例如,核心109TLB121可以代替核心108TLB120来执行操作。图9所示的过程开始于存储器管理单元114确定页表条目有待修改步骤900。例如,存储器管理单元114能够从核心108接收修改页表条目中的虚拟地址到物理地址转换的请求,诸如当存储器页已经在存储器106中移动时、当虚拟地址已经改变时等。作为另一个示例,存储器管理单元114能够从核心108接收修改与页表条目相关联的元数据的请求,诸如当存储器106中的对应页的访问许可已经改变时、当访问计数器待改变时等。然后,存储器管理单元114从页表中获取页表条目的最新租约值步骤902。通常,当获取最新租约值时,存储器管理单元114在页表122中找到页表条目例如,通过如上所述的搜索或寻访页表并且从与条目相关联的元数据例如,元数据204获取最新租约值。然后,存储器管理单元114确定页表条目的最新租约是否到期步骤904。更具体地,存储器管理单元114基于最新租约值来确定保持在TLB中的基于页表条目的虚拟地址到物理地址转换的所有副本是否已经到期。一般来说,这种操作包括将最新租约要到期的时间或其他值与当前时间或其他参考进行比较以确定最新租约是否已经到期。例如,当最新租约是绝对特定时间例如,小时、分、秒等时,能够将所述绝对特定时间与当前系统时间、参考计时器和或另一个计数器或时钟进行比较。作为另一个示例,当最新租约是相对偏移时间时,能够将所述相对偏移时间与基于偏移计时器或计数器的当前值、基准时间值加偏移等计算、确定等的时间值进行比较。作为又一个示例,当最新租约是基于事件或基于历元的参考时,能够将基于事件或基于历元的参考与当前事件标识符或历元计数器进行比较。在一些实施方案中,在当前绝对特定或相对偏移时间超过最新租约值时、当超过了基于事件或基于历元的参考时等,确定最新租约已经到期。例如,当系统时间是P其是晚于最新租约值K的值时,最新租约到期。作为另一个示例,当系统中的历元计数器是M其是高于最新租约值H的计数器时,最新租约到期。当最新租约尚未到期步骤904,并且因此有来自页表条目的虚拟地址到物理地址转换的至少一个有效并且因此可用副本保持在TLB中时,存储器管理单元114不能在不导致页表条目与一个或多个副本之间不一致的情况下修改页表条目。因此,存储器管理单元114等待,直到最新租约到期步骤906。在一些实施方案中,等待包括确定在最新租约到期时的剩余时间小于阈值时间,然后暂停对页表条目的修改,直到最新租约已经到期。在一些实施方案中,存储器管理单元114可以防止虚拟地址到物理地址转换的其他副本在等待时被存储在TLB中,以避免等待持续一个或多个后续新获取的租约。在等待直到最新租约到期之后,存储器管理单元114修改页表条目步骤908。在这种操作期间,存储器管理单元114更新页表条目的虚拟地址到物理地址转换和或元数据。当最新租约已经到期步骤904,并且因此没有来自页表条目的虚拟地址到物理地址转换的有效并且因此可用副本保持在TLB中时,存储器管理单元114能够修改页表条目而不会导致不一致。因此,存储器管理单元114修改页表条目步骤908。应当注意,这种修改是在不执行TLB击落的情况下进行的,因为最新租约值能够用于确认没有虚拟地址到物理地址转换的副本保持在TLB中。基于延期计数器来动态地设置租约值如上所述,在一些实施方案中,针对TLB条目动态地设置租约值。在这些实施方案中的一些中,使用与页表条目相关联的延期计数器来动态地设置租约值。图10呈现示出根据一些实施方案的用于基于延期计数器来动态地设置租约值的过程的流程图。应当注意,呈现图10所示的操作以作为由一些实施方案执行的操作的一般示例。由其他实施方案执行的操作包括不同的操作和或以不同顺序执行的操作。另外,尽管在描述操作时使用了特定的机构例如,存储器管理单元114等,但是在一些实施方案中,其他机构可以执行所述操作。图10所示的过程开始于存储器管理单元114在TLB中执行针对给定虚拟地址的虚拟地址到物理地址转换的查找时步骤1000。对于这个示例,假设TLB中存在对应的条目,但是租约到期即,TLB条目的租约值早于当前时间在当前时间之前。因此,存储器管理单元114在将TLB中的对应条目的元数据中的租约值与当前时间进行比较后,确定租约到期步骤1002。然后,存储器管理单元114执行页表寻访以从对应的页表条目获取信息即,虚拟地址到物理地址转换和元数据步骤1004。当从对应的页表条目获取信息时,并且基于发现TLB条目过期的事实,存储器管理单元114递增或以其他方式更新用于对应页表条目的延期计数器步骤1006。接下来,存储器管理单元114基于从页表条目获取的信息即,虚拟地址到物理地址转换和元数据来更新TLB中的对应条目步骤1008。另外,存储器管理单元114至少部分地基于延期计数器来设置TLB中的对应条目的租约值步骤1010。换句话说,存储器管理单元114使用延期计数器的值作为包括一个或多个数学运算、逻辑运算等的租约长度表达式的输入,所述表达式的结果是租约值即,租约在时间方面的长度。例如,延期计数器可以乘以先前现有租约值、常数、默认值或基准租约值和或另一个值以达到租约值。作为另一个示例,延期计数器能够用于数学表达式中,诸如用于指数表达式、线性表达式等中。一般来说,延期计数器能够用于随着租约延期次数的增加而将租约长度增加对应的量。在一些实施方案中,在指定事件发生后,延期计数器减小和或被设置为指定值。例如,当页在存储器中移动、分配等时,能够将延期计数器设置为初始值例如,1或另一个值。作为另一个示例,用于一个或多个页表条目的延期计数器能够随时间衰减,诸如通过以指定的时间间隔使延期计数器减小指定量。以这种方式,对应TLB条目的租约在相对较长的时间段内不会受到有限数量的局部过期延期的影响例如,由于涉及对应页的短暂活动间隔,例如,随着时间的推移、在某些事件之后等,租约返回到初始值或默认值。在一些实施方案中,计算装置100中的一个或多个实体例如,操作系统、硬件功能块等能够设置延期计数器的值例如,在不同于租约被延期时的时间。例如,当给定页会使用较长时间段时,操作系统能够将对应页表条目中的延期计数器设置为较大值,从而避免TLB条目的租约很快到期。作为另一个示例,当给定页会使用较短时间段时,操作系统能够将延期计数器设置为较小值,从而使得TLB条目更快到期。在一些实施方案中,除了设置租约值之外,延期计数器还能够用于其他操作。例如,在一些实施方案中,基于使用级别而在存储器中的不同类型和或位置之间迁移页例如,“热”或高使用率页被迁移到较快的存储器,而“冷”或低使用率页被迁移到较慢的存储器等。在这些实施方案中,当确定要迁移页的一个或多个时间例如,设置迁移间隔等时,能够考虑用于一个或多个页表条目的延期计数器。例如,如果超过阈值数量的页表条目具有超过指定值的计数器,则可以调度页的迁移和或可以更新迁移间隔。动态地设置租约值的伪代码示例图11呈现根据一些实施方案的动态地设置租约值的伪代码示例。针对图11中的示例,为与存储器中的地址“A”处的页相关联的TLB条目设置租约值。换句话说,在图11所示的操作期间,确定并设置在为地址A处的页的TLB条目设置租约时所使用的租约值。租约值随后可以用于设置与存储器中的地址A相关联的TLB条目的租约,如本文中所述。应当注意,呈现图11所示的操作以作为由一些实施方案执行的操作的一般示例。由其他实施方案执行的操作包括不同的操作和或以不同顺序执行的操作。另外,尽管在描述操作时使用了特定的机构例如,存储器管理单元114等,但是在一些实施方案中,其他机构可以执行操作。如图10至图11中可以看出,图11中的示例使用与图10所示的操作不同的操作来设置租约值。因此,图10至图11示出了不同的实施方案,并且不同的实施方案可以执行不同类型和布置的用于确定租约值的操作。一般来说,并且如上所述,所描述的实施方案执行用于将租约值设置为以下值的操作:所述值足够长以使得条目的租约不会过早到期和或足够短以使得租约不会太晚到期。伪代码包括两个区段,即区段1100和1102。区段1100示出了当页表条目被覆盖、更新或以其他方式改变时能够执行的操作。当页在存储器中从第一位置移动到第二位置等时,页表条目会变得无效。一般来说,在区段1100中,在租约尚未到期的页表条目无效之后,租约值减小缩短。如区段1100所示,当地址A处的页的页表条目变得无效时,存储器管理单元114检查与页表条目相关联的元数据中的最新租约,以确定页表条目的最新租约是否晚于当前时间,即最新租约是否未到期。如果未到期,则存储器管理单元114将租约值“LEASE_A”重新设置为指定值。例如,如图11所示,存储器管理单元114将租约值设置为:当前时间“CURRENTTIME”减去针对TLB中的缺失或过期条目其可以是TLB中的任何条目,不一定是针对地址A的条目的最后一次页表寻访的时间“LAST_PTW_TIME_STAMP”,再除以常数值C。例如,常数的值可以是例如2、5的值,或者基于TLB击落率、页表寻访和或计算装置100中的其他操作条件而设置的值。区段1102示出当由于TLB条目到期而发生页寻访时可以执行的操作。当TLB中没有虚拟地址到物理地址转换信息时,必须执行页表寻访以获取此类信息。这包括当TLB条目的租约到期时,尽管条目可能仍在TLB中,条目不再被视为有效的。一般来说,在区段1102中,在由于缺失TLB条目而进行设定次数的页表寻访之后,租约值增加。如区段1102所示,当由于到期而发生页表寻访时,存储器管理单元递增连续TLB未命中次数的计数器“NUM_TLB_MISSES”。当连续TLB未命中次数的计数器大于阈值例如,16、20或另一个值时,存储器管理单元114将租约值设置为以下各项的最大值:1当前时间“CURRENTTIME”减去对TLB中缺失条目其可以是TLB中的任何条目,不一定是针对地址A的条目的最后一次页表寻访的时间戳“LAST_PTW_TIME_STAMP_ON_MISS”,加上常数C′;或2租约值乘以常数C″。常数C′和C″的值是基于TLB击落率、页表寻访和或计算装置100中的其他操作条件来设置的。然后将连续TLB未命中次数的计数器设置为0即,清除以开始后续计数。否则,如果连续TLB未命中次数的计数器小于阈值,则将对缺失条目的最后一次页表寻访的时间戳设置为当前时间。然后将对缺失条目的最后一次页表寻访的时间设置为当前时间。基于租约值和最新租约值的附加操作如上所述,所描述的实施方案可以使用租约值和最新租约值来避免TLB击落。此外,所描述的实施方案可以使用租约值进行其他操作。例如,在一些实施方案中,使用租约值来扩充用于选择TLB条目进行驱逐即,为新TLB条目腾出空间的替换策略。在这些实施方案中,扩充包括在替换策略下,使用过期的或未过期的租约作为用于TLB条目的替换决策的一部分。例如,可以优先选择具有过期租约的TLB条目进行驱逐和或可以使用租约到期作为一个因素连同其他替换策略因素例如,最近最少使用、最少使用等一起来选择TLB条目进行驱逐。一般来说,所描述的实施方案可以在执行任何类型的对TLB条目和或其到期感兴趣的操作时使用租约值和或最新租约值。在一些实施方案中,计算装置例如,图1中的计算装置100和或其某一部分使用存储在非暂时性计算机可读存储介质上的代码和或数据来执行本文所述的一些或全部操作。更具体地,计算装置从计算机可读存储介质读取代码和或数据,并且在执行所描述的操作时执行代码和或使用数据。计算机可读存储介质可以是存储供计算装置使用的代码和或数据的任何装置或介质或它们的组合。例如,计算机可读存储介质可以包括但不限于易失性存储器或非易失性存储器,包括闪存存储器、随机存取存储器eDRAM、RAM、SRAM、DRAM、DDR、DDR2DDR3DDR4SDRAM等、只读存储器ROM和或磁性或光学存储介质例如,磁盘驱动器、磁带、CD、DVD。在一些实施方案中,一个或多个硬件模块被配置成执行本文所述的操作。例如,硬件模块可以包括但不限于一个或多个处理器核心中央处理单元CPU、专用集成电路ASIC芯片、现场可编程门阵列FPGA、高速缓存高速缓存控制器、存储器管理单元、计算单元、嵌入式处理器、图形处理器GPU图形核心、流水线、加速处理单元APU和或其他可编程逻辑装置。当此类硬件模块被激活时,硬件模块执行所述操作中的一些或全部。在一些实施方案中,硬件模块包括通过执行指令程序代码、固件等被配置成执行操作的一个或多个通用电路。在一些实施方案中,代表本文所描述的一些或所有结构和机构例如,计算装置100和或其某个部分的数据结构存储在非暂时性计算机可读存储介质上,所述存储介质包括可以由计算装置读取以及直接或间接地用来制造包括所述结构和机构的硬件的数据库或其他数据结构。例如,数据结构可以是诸如Verilog或VHDL的高级设计语言HDL中的硬件功能的行为级描述或寄存器传输级RTL描述。描述可以由合成工具读取,所述合成工具可以将描述合成以产生网表,所述网表包括来自合成库的门电路元件的列表,所述门电路元件表示包括上述结构和机构的硬件的功能。然后可以放置和路由网表以产生描述要应用于掩模的几何形状的数据集。然后,掩模可以用于各种半导体制造步骤,以产生对应于上述结构和机构的一个或多个半导体电路。替代地,计算机可访问存储介质上的数据库可以是网表具有或不具有合成库或数据集根据需要或图形数据系统GDSII数据。在本说明书中,在描述一些实施方案时可以参考功能块。一般来说,功能块包括执行所描述的操作的一个或多个相关电路。在一些实施方案中,功能块中的电路包括执行程序代码例如,微代码、固件、应用程序等以执行所描述的操作的电路。仅出于说明和描述的目的呈现了对实施方案的前述描述。它们不旨在是穷举性的或将实施方案限于所公开的形式。因此,许多修改和变化对于本领域技术人员来说将是显而易见的。另外,以上公开内容并不旨在限制实施方案。实施方案的范围由所附权利要求限定。

权利要求:1.一种用于处理计算装置中的转换后备缓冲器TLB中的条目的方法,所述方法包括:基于来自页表条目的在页表寻访期间所获取的虚拟地址到物理地址转换和元数据来更新所述TLB中的条目;基于租约长度表达式来计算所述TLB中的所述条目的租约长度;针对所述TLB中的所述条目,将租约值设置为所述租约长度,其中所述租约值表示直到所述TLB中的所述条目的租约到期时为止的时间,其中当相关联的租约已经到期时,所述TLB中的所述条目无效;以及使用所述租约值来控制允许使用来自所述TLB中的所述条目的信息执行的操作。2.如权利要求1所述的方法,所述方法还包括:保存用于所述TLB条目的延期计数器,所述延期计数器存储表示所述TLB中的所述条目的租约延期次数的值,其中当所述租约到期并且为所述TLB条目建立另一个租约时,租约被延期;其中所述租约长度表达式是至少所述延期计数器的函数。3.如权利要求2所述的方法,其中所述租约长度表达式包括所述延期计数器和基准租约值的乘法。4.如权利要求2所述的方法,其中所述租约长度表达式包括所述延期计数器的指数函数或线性函数。5.如权利要求2所述的方法,所述方法还包括:从所述计算装置中的实体接收将所述延期计数器设置为指定值的请求;以及将所述延期计数器设置为所述指定值,从而使得所述计算装置中的所述实体能够指定基于所述租约长度表达式计算出的所述租约长度。6.如权利要求2所述的方法,其中保存所述延期计数器包括将所述延期计数器保存在页表中。7.如权利要求1所述的方法,所述方法还包括:基于一个或多个运行时条件来确定要计算所述租约长度,所述运行时条件包括租约长度长于或短于期望租约长度的一个或多个指示。8.如权利要求7所述的方法,其中租约长度长于或短于期望租约长度的所述指示包括以下各项中的一个或多个:由基于过期的TLB条目的TLB未命中导致的页表寻访的次数;以及TLB击落的次数。9.如权利要求1所述的方法,所述方法还包括:确定要在所述页表中修改所述页表条目;确定与所述页表条目相关联的TLB条目的所有租约都已经到期,并且因此与所述页表条目相关联的任何TLB条目都不再有效;以及在不执行TLB击落的情况下修改所述页表中的所述页表条目,所述TLB击落包括导致所述计算装置中的一个或多个TLB使与所述页表条目相关联的对应TLB条目无效。10.如权利要求1所述的方法,所述方法还包括:确定要在所述页表中修改所述页表条目;确定与所述页表条目相关联的TLB条目的至少一个租约尚未到期,并且因此至少一个TLB目前具有带有基于所述页表条目的信息的有效条目;执行TLB击落,所述TLB击落包括导致所述计算装置中的一个或多个TLB使与所述页表条目相关联的对应TLB条目无效;以及修改所述页表中的所述页表条目。11.如权利要求1所述的方法,其中使用所述租约值来控制允许使用来自所述TLB中的所述条目的信息执行的所述操作包括:获取要转换成物理地址的虚拟地址;确定所述TLB中的所述条目包括对应的虚拟地址到物理地址转换;检查所述TLB中的所述条目的所述租约值以确定所述条目的所述租约是否已经到期;当所述租约已经到期时,执行页表寻访以获取所述虚拟地址到物理地址转换或所述元数据;以及当所述租约尚未到期时,从所述TLB中的所述条目获取所述虚拟地址到物理地址转换或所述元数据。12.一种计算装置,所述计算装置包括:处理器,所述处理器包括核心;存储器,所述存储器包括页表;以及位于所述核心中的转换后备缓冲器TLB;其中所述处理器被配置成:基于来自页表条目的在页表寻访期间所获取的虚拟地址到物理地址转换和元数据来更新所述TLB中的条目;基于租约长度表达式来计算所述TLB中的所述条目的租约长度;针对所述TLB中的所述条目,将租约值设置为所述租约长度,其中所述租约值表示直到所述TLB中的所述条目的租约到期时为止的时间,其中当相关联的租约已经到期时,所述TLB中的所述条目无效;并且使用所述租约值来控制允许使用来自所述TLB中的所述条目的信息执行的操作。13.如权利要求12所述的计算装置,其中所述处理器还被配置成:保存用于所述TLB条目的延期计数器,所述延期计数器存储表示所述TLB中的所述条目的租约延期次数的值,其中当所述租约到期并且为所述TLB条目建立另一个租约时,租约被延期;其中所述租约长度表达式是至少所述延期计数器的函数。14.如权利要求13所述的计算装置,其中所述租约长度表达式包括所述延期计数器和基准租约值的乘法。15.如权利要求13所述的计算装置,其中所述租约长度表达式包括所述延期计数器的指数函数或线性函数。16.如权利要求13所述的计算装置,其中所述处理器还被配置成:从所述计算装置中的实体接收将所述延期计数器设置为指定值的请求;并且将所述延期计数器设置为所述指定值,从而使得所述计算装置中的所述实体能够指定基于所述租约长度表达式计算出的所述租约长度。17.如权利要求13所述的计算装置,其中所述处理器还被配置成:将所述延期计数器保存在页表中。18.如权利要求12所述的计算装置,其中所述处理器还被配置成:基于一个或多个运行时条件来确定要计算所述租约长度,所述运行时条件包括租约长度长于或短于期望租约长度的一个或多个指示。19.如权利要求18所述的计算装置,其中租约长度长于或短于期望租约长度的所述指示包括以下各项中的一个或多个:由基于过期的TLB条目的TLB未命中导致的页表寻访的次数;以及TLB击落的次数。20.如权利要求12所述的计算装置,其中所述处理器还被配置成:确定要在所述页表中修改所述页表条目;确定与所述页表条目相关联的TLB条目的所有租约都已经到期,并且因此与所述页表条目相关联的任何TLB条目都不再有效;并且在不执行TLB击落的情况下修改所述页表中的所述页表条目,所述TLB击落包括导致所述计算装置中的一个或多个TLB使与所述页表条目相关联的对应TLB条目无效。21.如权利要求12所述的计算装置,其中所述处理器还被配置成:确定要在所述页表中修改所述页表条目;确定与所述页表条目相关联的TLB条目的至少一个租约尚未到期,并且因此至少一个TLB目前具有带有基于所述页表条目的信息的有效条目;执行TLB击落,所述TLB击落包括导致所述计算装置中的一个或多个TLB使与所述页表条目相关联的对应TLB条目无效;并且修改所述页表中的所述页表条目。22.如权利要求12所述的计算装置,其中当使用所述租约值来控制允许使用来自所述TLB中的所述条目的信息执行的操作时,所述处理器被配置成:获取要转换成物理地址的虚拟地址;确定所述TLB中的所述条目包括对应的虚拟地址到物理地址转换;检查所述TLB中的所述条目的所述租约值以确定所述条目的所述租约是否已经到期;当所述租约已经到期时,执行页表寻访以获取所述虚拟地址到物理地址转换或所述元数据;并且当所述租约尚未到期时,从所述TLB中的所述条目获取所述虚拟地址到物理地址转换或所述元数据。

百度查询: 超威半导体公司 转换后备缓冲器中的条目的租约的自适应延期

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。