用于精确预测存储器存取的基于区域的技术的制作方法

文档序号:12363573阅读:194来源:国知局
用于精确预测存储器存取的基于区域的技术的制作方法与工艺

为了改进计算系统(例如PC、服务器等等)的性能和效率,预取(prefetch)处理器稍后可能需要的数据和指令被认为是有利的。然而,常规预取不能够精确地预测哪些缓存行(cache line)应当预取或不应当预取。

附图说明

图1是根据本发明的一个实施例的示例处理器和存储器的框图;

图2是根据本发明的实施例的示例页跟踪器缓冲器的框图;

图3是根据本发明的实施例的用于利用存取签名的示例方法的流程图;

图4是根据本发明的实施例的用于利用重用签名的示例方法的流程图;

图5是根据本发明的实施例的示例系统的框图。

具体实施方式

在各种实施例中,提出了预测性预取的方法和装置。在下面的描述中,为了解释的目的,陈述了大量具体的细节以便于提供本发明的透彻的理解。然而,对于本领域技术人员来说将显而易见的是,本发明的实施例能够在没有这些具体的细节的情况下实施。在其他实例中,以框图的形式示出了结构和设备以避免使本发明不清楚。

贯穿本说明书对“一个实施例”或“实施例”的提及意味着在本发明的至少一个实施例中包括了连同实施例描述的特定的特征、结构或特性。因此,短语“在一个实施例中”或“在实施例中”在贯穿本说明书的各个地方的出现不一定全部都指相同的实施例。此外,可以在一个或多个实施例中以任何合适的方式结合特定特征、结构或特性。

现在参考图1,示出了根据本发明的一个实施例的示例处理器和存储器的框图。如在图1中所示出的,系统100可以包括处理器102和存储器104。处理器102可以包括核心(一个或多个)106、一级缓存108、转换后备(translation lookaside)缓冲器(TLB)110、页跟踪器缓冲器(PTB)112、二级缓存114以及PTB处理机116。尽管将处理器102示出为包括一级缓存108和二级缓存114,但处理器102可以包括任何数量的缓存级别。同样的,尽管将处理器102示出为包括能够存储从虚拟地址到物理地址的地址转换的TLB 110,但本发明可以在没有TLB的处理器中实施。

如参考图2更详细地示出的,PTB 112可以包含指示特定存储器区域的哪些部分(例如,特定缓存页或其他存储器区域的哪些缓存行)先前已经被核心(一个或多个)106存取的项目(entry)。在一个实施例中,PTB 112还包含指示特定缓存页的哪些缓存行已经多次被核心(一个或多个)106存取的项目,这潜在地指示可能最希望保持常驻在缓存中的那些缓存行。

如在下文中更详细地描述的,PTB处理机116可以尝试精确地预测核心(一个或多个)106将需要的指令和数据。在一个实施例中,PTB处理机116预取PTB 112指示在先前实例化期间被存取的、(例如在TLB失败之后)添加到TLB 110的缓存页的那些缓存行。PTB处理机116可以从页跟踪器存储器表118读取PTB 112项目,以及将PTB 112项目写回到页跟踪器存储器表118。例如当核心(一个或多个)106存取附加的缓存行时,PTB处理机116还可以更新PTB 112中的项目。可以以其他硬件(例如预取模块)或软件或硬件和软件的组合来实现PTB处理机116。可以将PTB处理机116独立地应用于数据和指令预取并且可以与其他预取器共存。

存储器104可以表示任何类型的存储器,例如静态或动态随机存取存储器(RAM)。在一个实施例中,存储器104表示双数据率同步动态RAM(DDR-SDRAM),然而本发明并不限于任何类型的存储器。存储器104可以在逻辑上划分为页(例如页120)用于缓存和寻址。每个页120可以包含固定数量的行122。在一个实施例中,页120包含64个行122。在另一个实施例中,页120表示可以通过固件或软件配置其大小的存储器区域。

现在参考图2,示出根据本发明的实施例的示例页跟踪器缓冲器的框图。如在图2中所示出的,页跟踪器缓冲器112可以包括可通过索引208存取的任何数量的项目,所述项目的每个可以包括地址202、存取签名(access signature)204以及重用签名(reuse signature)206。在一个实施例中,PTB 112可以包括与TLB 110相同数量的项目。在其他实施例中,PTB 112可以包括比TLB 110更多或者更少的项目。在一个实施例中,PTB 112可以包括64个项目。在另一个实施例中,PTB 112可以包括1024个项目。

尽管将地址202示出为包括28比特,但地址202可以包含更多或者更少的比特用于标识页120(或另一个存储器区域)。尽管将存取签名204和重用签名206示出为包括64比特,但存取签名204和重用签名206可以包含或者更多或者更少的比特用于标识页120的行122。在一个实施例中,存取签名204的置位(set bit)指示在TLB 110中的页120的先前寻址中被核心(一个或多个)106存取的页120的行122。在一个实施例中,重用签名206的置位指示在TLB 110中的页120的先前寻址中被核心(一个或多个)106多次存取的页120的行122。

现在参考图3,示出根据本发明的实施例的用于利用存取签名的示例方法的流程图。如在图3中所示出的,该方法开始于PTB处理机116在将任何被逐出(evicted)的项目写回到页跟踪器存储器表118之后将与缓存页120关联的存取签名204载入(302)到PTB 112中。在一个实施例中,在TLB 110失败(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)到PTB 112中。在一个实施例中,PTB处理机116在TLB 110失败之后载入重用签名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以及处理器核心584a和584b)的多核处理器。每个处理器可以包括根据本发明的实施例的PTB硬件、软件以及固件。

仍然参考图5,第一处理器570还包括存储控制器集线器(MCH,memory controller hub)572以及点到点(P-P)接口576和578。类似地,第二处理器580包括MCH 582和P-P接口586和588。如在图5中所示出的,MCH 572和582将处理器耦合到相应的存储器(即存储器532和存储器534),其可以是本地附连到相应处理器的主存储器(例如,动态随机存取存储器(DRAM))的一部分,根据本发明的一个实施例,所述相应处理器的每一个可以包括页跟踪器存储器表。第一处理器570和第二处理器580可以经由P-P互连552和554分别耦合到芯片组590。如在图5中所示出的,芯片组590包括P-P接口594和598。

此外,芯片组590包括用于将芯片组590与高性能图形引擎538耦合的接口592。而芯片组590可以经由接口596耦合到第一总线516。如在图5中所示出的,各种I/O设备514可以与将第一总线516耦合到第二总线520的总线桥518一起耦合到第一总线516。在一个实施例中各种设备可以耦合到第二总线520,包括例如,键盘/鼠标522、通信设备526以及可以包括代码530的数据存储单元528(例如磁盘驱动器或其他大容量存储设备)。此外,音频I/O 524可以耦合到第二总线520。

实施例可以以代码来实现并且可以存储在具有存储于其上的指令的存储介质上,存储介质能够用来对系统编程以执行这些指令。存储介质可以包括但不限于:任何类型的盘(包括软盘、光盘、光盘只读存储器(CD-ROM)、可重写光盘(CD-RW)以及磁光盘)、半导体设备(例如只读存储器(ROM)、随机存取存储器(RAM)(例如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦写可编程只读存储器(EPROM)、闪速存储器、电可擦写可编程只读存储器(EEPROM)、磁卡或光卡)或适合存储电子指令的任何其他类型的媒体。

尽管已经关于有限数量的实施例描述了本发明,但本领域技术人员将从中意识到大量的修改和改变。所附的权利要求书旨在覆盖落入本发明的实质精神和范围内的所有此类修改和改变。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1