在一个实施例中,本发明专利技术包括处理器,所述处理器包括:页跟踪器缓冲器(PTB),该PTB包括多个项目以存储到缓存页的地址并且存储签名以跟踪对缓存页的每个缓存行的存取;以及PTB处理机,该PTB处理机将项目载入到PTB并且更新签名。还描述了并要求保护其他实施例。
【技术实现步骤摘要】
技术介绍
为了改进计算系统(例如PC、服务器等等)的性能和效率,预取(prefetch)处理器稍后可能需要的数据和指令被认为是有利的。然而,常规预取不能够精确地预测哪些缓存行(cacheline)应当预取或不应当预取。附图说明图1是根据本专利技术的一个实施例的示例处理器和存储器的框图;图2是根据本专利技术的实施例的示例页跟踪器缓冲器的框图;图3是根据本专利技术的实施例的用于利用存取签名的示例方法的流程图;图4是根据本专利技术的实施例的用于利用重用签名的示例方法的流程图;图5是根据本专利技术的实施例的示例系统的框图。具体实施方式在各种实施例中,提出了预测性预取的方法和装置。在下面的描述中,为了解释的目的,陈述了大量具体的细节以便于提供本专利技术的透彻的理解。然而,对于本领域技术人员来说将显而易见的是,本专利技术的实施例能够在没有这些具体的细节的情况下实施。在其他实例中,以框图的形式示出了结构和设备以避免使本专利技术不清楚。贯穿本说明书对“一个实施例”或“实施例”的提及意味着在本专利技术的至少一个实施例中包括了连同实施例描述的特定的特征、结构或特性。因此,短语“在一个实施例中”或“在实施例中”在贯穿本说明书的各个地方的出现不一定全部都指相同的实施例。此外,可以在一个或多个实施例中以任何合适的方式结合特定特征、结构或特性。现在参考图1,示出了根据本专利技术的一个实施例的示例处理器和存储器的框图。如在图1中所示出的,系统100可以包括处理器102和存储器104。处理器102可以包括核心(一个或多个)106、一级缓存108、转换后备(translationlookaside)缓冲器(TLB)110、页跟踪器缓冲器(PTB)112、二级缓存114以及PTB处理机116。尽管将处理器102示出为包括一级缓存108和二级缓存114,但处理器102可以包括任何数量的缓存级别。同样的,尽管将处理器102示出为包括能够存储从虚拟地址到物理地址的地址转换的TLB110,但本专利技术可以在没有TLB的处理器中实施。如参考图2更详细地示出的,PTB112可以包含指示特定存储器区域的哪些部分(例如,特定缓存页或其他存储器区域的哪些缓存行)先前已经被核心(一个或多个)106存取的项目(entry)。在一个实施例中,PTB112还包含指示特定缓存页的哪些缓存行已经多次被核心(一个或多个)106存取的项目,这潜在地指示可能最希望保持常驻在缓存中的那些缓存行。如在下文中更详细地描述的,PTB处理机116可以尝试精确地预测核心(一个或多个)106将需要的指令和数据。在一个实施例中,PTB处理机116预取PTB112指示在先前实例化期间被存取的、(例如在TLB失败之后)添加到TLB110的缓存页的那些缓存行。PTB处理机116可以从页跟踪器存储器表118读取PTB112项目,以及将PTB112项目写回到页跟踪器存储器表118。例如当核心(一个或多个)106存取附加的缓存行时,PTB处理机116还可以更新PTB112中的项目。可以以其他硬件(例如预取模块)或软件或硬件和软件的组合来实现PTB处理机116。可以将PTB处理机116独立地应用于数据和指令预取并且可以与其他预取器共存。存储器104可以表示任何类型的存储器,例如静态或动态随机存取存储器(RAM)。在一个实施例中,存储器104表示双数据率同步动态RAM(DDR-SDRAM),然而本专利技术并不限于任何类型的存储器。存储器104可以在逻辑上划分为页(例如页120)用于缓存和寻址。每个页120可以包含固定数量的行122。在一个实施例中,页120包含64个行122。在另一个实施例中,页120表示可以通过固件或软件配置其大小的存储器区域。现在参考图2,示出根据本专利技术的实施例的示例页跟踪器缓冲器的框图。如在图2中所示出的,页跟踪器缓冲器112可以包括可通过索引208存取的任何数量的项目,所述项目的每个可以包括地址202、存取签名(accesssignature)204以及重用签名(reusesignature)206。在一个实施例中,PTB112可以包括与TLB110相同数量的项目。在其他实施例中,PTB112可以包括比TLB110更多或者更少的项目。在一个实施例中,PTB112可以包括64个项目。在另一个实施例中,PTB112可以包括1024个项目。尽管将地址202示出为包括28比特,但地址202可以包含更多或者更少的比特用于标识页120(或另一个存储器区域)。尽管将存取签名204和重用签名206示出为包括64比特,但存取签名204和重用签名206可以包含或者更多或者更少的比特用于标识页120的行122。在一个实施例中,存取签名204的置位(setbit)指示在TLB110中的页120的先前寻址中被核心(一个或多个)106存取的页120的行122。在一个实施例中,重用签名206的置位指示在TLB110中的页120的先前寻址中被核心(一个或多个)106多次存取的页120的行122。现在参考图3,示出根据本专利技术的实施例的用于利用存取签名的示例方法的流程图。如在图3中所示出的,该方法开始于PTB处理机116在将任何被逐出(evicted)的项目写回到页跟踪器存储器表118之后将与缓存页120关联的存取签名204载入(302)到PTB112中。在一个实施例中,在TLB110失败(miss)之后PTB处理机116载入存取签名204并且写回正被替换的任何存取签名。接着,PTB处理机116可以将例如,由存取签名204指示为先前已经被核心(一个或多个)106存取的行122预取(304)到二级缓存114。最后,PTB处理机116可以更新(306)存取签名204。在一个实施例中,当请求并取出任何附加的行时,PTB处理机116对取回的存取签名204增加比特。在另一个实施例中,PTB处理机116可以将取回的存取签名204用于预取并且可以重新生成存取签名用于写回到存储器以供在随后的页存取中使用。现在参考图4,示出根据本专利技术的实施例的用于利用重用签名的示例方法的流程图。如在图4中所示出的,该方法开始于PTB处理机116在将任何被逐出的项目写回到页跟踪器存储器表118之后将与缓存页120关联的重用签名206载入(402)到PTB112中。在一个实施例中,PTB处理机116在TLB110失败之后载入重用签名206。接着,PTB处理机116可以优先化(404)由重用签名206指示为先前已经多次被核心(一个或多个)106存取的二级缓存114中的那些缓存行的替换策略。在一个实施例中,PTB处理机116可以用重用签名206中的位组将那些缓存行设置为最近最多使用。在另一个实施例中,PTB处理机116可以将那些缓存行设置为最近最少使用,而无需重用签名206中的位组。最后,当多次请求任何附加的行时,PTB处理机116可以更新(406)重用签名206。实施例可以以许多不同的系统类型来实现。现在参考图5,示出根据本专利技术的实施例的系统的框图。如在图5中所示出的,多处理器系统500是点到点互连系统,并且包括经由点到点互连550耦合的第一处理器570和第二处理器580。如在图5中所示出的,处理器570和580的每一个可以是包括第一和第二处理器核心(即,处理器核心574a和574b以及本文档来自技高网...
【技术保护点】
一种处理器,包括:第一核心;一级缓存;转换后备缓冲器(TLB);二级缓存;页跟踪器缓冲器(PTB),所述PTB包括多个项目以存储到缓存页的地址并且存储签名以跟踪对所述缓存页的每个缓存行的存取;以及PTB处理机,所述PTB处理机用于将项目载入到所述PTB并且更新所述签名。
【技术特征摘要】
2010.06.23 US 12/8219351.一种处理器,包括:第一核心;一级缓存;转换后备缓冲器(TLB);二级缓存;页跟踪器缓冲器(PTB),所述PTB包括多个项目以存储到缓存页的地址并且存储签名以跟踪对所述缓存页的每个缓存行的存取;以及PTB处理机,所述PTB处理机用于将项目载入到所述PTB并且更新所述签名。2.如权利要求1所述的处理器,其中所述签名包括64比特。3.如权利要求1所述的处理器,还包括所述PTB项目存储重用签名来跟踪对所述缓存页的每个缓存行的重复存取,以及所述PTB处理机更新所述重用签名。4.如权利要求1所述的处理器,其中所述PTB包含大约64个项目。5.如权利要求1所述的处理器,其中所述PTB包含大约1024个项目。6.如权利要求1所述的处理器,其中所述PTB处理机将项目载入到所述PTB包括所述PTB处理机将项目从存储器中的页跟踪器存储器表载入...
【专利技术属性】
技术研发人员:L索亚列斯,N切鲁库里,A库马,M阿兹米,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。