具体实施方式
为了简单和说明性的目的,通过主要参考示例来描述本公开。在以下的描述中,阐述了众多具体细节以便提供对本公开的透彻理解。然而,将容易地显而易见的是,可以在不限制于这些具体细节的情况下实践本公开。在其它实例中,没有详细描述一些方法和结构以免不必要地模糊本公开。
遍及本公开,术语“一”和“一个”意图表明至少一个特定元件。如本文中所使用的,术语“包括”意指包括但不限于,术语“包括了”意指包括了但不限于。术语“基于”意指至少部分地基于。
三维(3D)堆叠的动态随机存取存储器(DRAM)中的存储器行可以通过使用行缓冲器高速缓存来进行高速缓存,以改进DRAM的总体性能。例如,参考图1A和1B,3D堆叠的DRAM 100可以包括多层的密集存储器管芯101与基础逻辑层102和封装基底层103。3D堆叠的DRAM 100还可以包括64位宽的硅通孔(TSV)通道104,以用于经由数据路径105从来自存储器管芯101的DRAM行向基础逻辑层102传递数据。行缓冲器高速缓存可以被添加到基础逻辑层102以通过减少缓慢的和功率密集的行缓冲器激活和关闭的数目而提供更快的存储器访问和经改进的功率效率。对DRAM行进行高速缓存的一个方法包括以高命中率(即,对相同行的频繁的未来存储器访问)来对DRAM行进行高速缓存。然而,对于具有不规则的存储器访问模式的应用而言,对整个DRAM行进行高速缓存可能是低效的。例如,对于其中存储器访问能够重复地访问部分的存储器行的、具有不规则存储器访问模式的应用而言,对整个DRAM行进行高速缓存可能是低效的。对于低效的一个原因是基于可以是8Kbit至16Kbit长的相对长的DRAM行。通过64位宽的TSV通道104而将整个DRAM行从存储器管芯101移动到基础逻辑层102使用64个周期。此外,对DRAM行进行高速缓存贡献于行缓冲器高速缓存和TSV的动态功率,并且增加总的系统功率。
根据示例,本文中公开了自适应粒度行缓冲器高速缓存(下文中“AG-RB高速缓存”)装置和用于进行自适应粒度行缓冲器高速缓存(下文中“进行AG-RB高速缓存”)的方法。本文中公开的装置和方法一般包括AG-RB高速缓存过程,其针对不同的DRAM访问而动态地调整被传递到RB高速缓存的数据的量。AG-RB高速缓存过程改进进行RB高速缓存的性能,而不显著增加TSV带宽使用,从而导致低的能量消耗。因而,本文公开的装置和方法使3D堆叠的DRAM的逻辑层上的RB高速缓存的性能和能量利益最大化。本文公开的装置和方法可以包括专用预测器模块,以在最小开销的情况下向例如众核处理器以及具有大量存储体(bank)的存储器系统提供可伸缩性(scalability)。预测器模块可以决定是否对相对应的DRAM行进行高速缓存以用于未解决的请求,以及如果是这样,应当对多少DRAM行进行高速缓存。预测器模块不仅在更准确的预测的情况下增加行缓冲器命中率,而且还基于3D堆叠的存储器中的存储体的增加的数量而随着存储器请求队列大小可伸缩。本文中公开的装置和方法还包括RB高速缓存,所述RB高速缓存能够存储不同大小的线(line)以支持AG高速缓存过程。本文中公开的装置和方法还包括DRAM状态感知的替换策略,以当替换RB高速缓存条目时选择最佳的高速缓存替换候选以最小化等待时间。
根据示例,AG-RB高速缓存装置可以包括3D堆叠的DRAM,所述3D堆叠的DRAM包括:包括一个或多个DRAM存储体的多个DRAM管芯,以及包括RB高速缓存的逻辑管芯。AG-RB高速缓存装置还可以包括处理器管芯,所述处理器管芯包括存储器控制器,所述存储器控制器包括预测器模块以确定是否将数据高速缓存到RB高速缓存,并且针对不同的DRAM访问而调整要高速缓存到RB高速缓存的数据的量。根据另一示例,用于进行AG-RB高速缓存的方法可以包括确定是否将数据高速缓存到RB高速缓存,并且通过处理器或存储器侧逻辑而针对不同的存储器访问来调整要高速缓存到RB高速缓存的数据的量。本文公开的AG-RB高速缓存装置和方法可以与其它类型的存储器(诸如非易失性存储器,包括相变存储器(PCM)、自旋传输矩RAM(STT-RAM)、以及电阻式随机存取存储器(ReRAM)等等)一起使用。
本文公开的AG-RB高速缓存装置和方法向3D堆叠的DRAM提供AG-RB高速缓存,并且因而为大规模数据中心提供改进的性能和能量高效的存储器子系统。本文公开的装置和方法为具有不同存储器行为的宽范围的应用提供性能和能量效率的益处。本文公开的装置和方法使存储器控制器队列和预测器队列去耦,并且提供关于存储器访问模式的准确预测,其导致RB高速缓存的改进的使用以及改进的性能和能量效率。本文公开的装置和方法的使用的示例可以包括具有附加的板载(on-board)缓冲器芯片的双列直插式存储器模块(DIMM)。
图2图示了根据示例的AG-RB高速缓存装置110的架构。参考图2,装置110被描绘为包括:图示了DRAM层的DRAM管芯111、图示了逻辑层的逻辑管芯112、以及图示了处理器层的处理器管芯113。处理器管芯113的处理器的各种其它组件,诸如高速缓存等,为了清楚而被省略。DRAM管芯111可以包括多个DRAM存储体114,所述DRAM存储体114经由TSV通道117而通信地连接到列控制器115和RB高速缓存116(也图示为RB$,并且被指明为AG RB高速缓存116)。RB高速缓存116可以包括数据阵列118。DRAM存储体114和RB高速缓存116可以经由数据总线120和命令总线121而通信地连接到存储器控制器119。存储器控制器119可以存储可变数目的即将到来的和先前服务的存储器请求的地址。每个存储器列(rank)可以拥有分离的RB高速缓存116,所述分离的RB高速缓存116被来自不同DRAM管芯111的多个DRAM存储体114共享。存储器控制器119可以包括存储器请求队列122、可伸缩的预测器模块123、以及RB高速缓存分配表124。预测器模块123可以包括预测器队列125,所述预测器队列125从存储器请求队列122和取出模块126去耦。取出模块126可以使用策略来确定是否要将DRAM行高速缓存到RB高速缓存116。尽管RB高速缓存分配表124以及数据阵列118在图2的示例中被示出为是分离的,但是RB高速缓存分配表124和数据阵列118可以二者都被提供在存储器侧,如果存储器具有逻辑管芯的话。可替换地,RB高速缓存分配表124和数据阵列118可以二者都被提供在处理器侧上。
装置110的执行装置110中的各种其它功能的模块和其它组件可以包括被存储在非暂时性计算机可读介质上的机器可读指令。另外,或可替换地,装置110的模块和其它组件可以包括硬件或者机器可读指令与硬件的组合。
关于经去耦的预测器队列125,对于是否要将数据高速缓存到AG RB高速缓存116以及要对行的什么部分进行高速缓存的预测可以基于被包含在存储器访问模式中的信息。例如,存储器控制器119的现有存储器请求队列122内部的待决的存储器请求队列可以被利用以用于分析存储器访问模式。虽然该方法可以用于每通道具有有限数目的存储体(例如16个存储体)的存储器,但是该方法一般不可伸缩以满足每通道可以包含成百个存储体的3D DRAM的需求。例如,大的存储体计数(例如,针对DRAM存储体114)可以导致高的存储体水平并行性,并且因此减少每存储体的排成队的待决存储器请求的数目。作为结果,由于待决存储器请求队列中的不足够的访问模式信息,可能降低对RB高速缓存数据进行高速缓存的准确性。此外,现有的待决存储器请求队列122可以典型地包括有限的容量。原因是:增加存储器请求大小可能是昂贵的,因为待决存储器请求队列是复杂的并且功率密集的内容可寻址存储器(CAM)结构,其持有存储器访问信息,诸如地址、数据和控制。
去耦的预测器队列125解决可伸缩性需求以及与减少的存储器访问模式信息和长待决存储器请求队列的大开销有关的问题。根据示例,去耦的预测器队列125可以被形成为存储器控制器119中的分离的硬件队列,以存储可变数目的即将到来的存储器请求以及先前服务的请求的地址。去耦的预测器队列125的队列大小可以是可伸缩的。去耦的预测器队列125的硬件开销还可以小于具有相同数目的条目的待决存储器请求队列122的硬件开销,因为去耦的预测器队列125存储队列的地址,而存储器请求队列122持有存储器访问信息,诸如地址、数据和控制。因此,去耦的预测器队列125包括改进的可伸缩性以满足关于存储大量存储器请求的需求以改进具有大量DRAM存储体114的存储器系统(例如3D堆叠的存储器)中的预测准确性。
由于去耦的预测器队列125可以比待决存储器请求队列122大得多,所以处理器可以向预测器队列125发送存储器请求信息,即使存储器请求队列122是满的。在该情况下,尽管存储器请求队列122可能不接受可以被发布到外部存储器的新存储器请求,但是预测器队列125可以仍能够接受关于未来存储器请求的信息以用于更前向的查找,以改进RB高速缓存管理上的预测准确性。预测器队列125还可以追踪历史存储器请求以关于选择性地利用RB高速缓存116条目而做出进一步改进的决定。例如,去耦的预测器队列125可以首先存储用于未来存储器请求的信息并且用先前服务的存储器请求来填充任何剩余的容量。
预测器队列125可以被实现在存储器控制器119中以用于改进的性能,或者被实现在3D DRAM堆叠侧(例如,逻辑管芯112)处以用于改进的成本效率。对于每存储器通道具有有限的存储器容量和存储器存储体计数的、不需要存储器访问模式的额外信息的系统,去耦的预测器队列125还可以与存储器请求队列122合并。
取出模块126可以基于被存储在预测器队列125和/或待决存储器请求队列122中的信息来做出具有自适应粒度的选择性进行高速缓存的决定。例如,取出模块126可以评估预测器队列125中或待决存储器请求队列122中的多个存储器请求,如果预测器队列125和待决存储器请求队列122被统一了的话。可替换地,如果预测器队列125和待决存储器请求队列122未被统一,则用以评估预测器队列125和待决存储器请求队列122二者的决定可以基于这些队列是排他(exclusive)的还是可兼(inclusive)的。如果队列是可兼的(即,预测器队列125大于存储器请求队列122并且具有存储器请求队列122的所有地址信息),则搜索预测器队列125。否则,如果队列是排他的,则可以搜索预测器队列125和待决存储器请求队列122二者以改进准确性。
是否要将DRAM行高速缓存到逻辑管芯112上的RB高速缓存116的第一决定可以通过使用策略来做出。例如,取出模块126可以根据存储器访问模式而做出关于是否要将DRAM行高速缓存到RB高速缓存116的决定。例如,如果许多即将到来的存储器请求示出高的局部性并且命中于相同的行地址上,则存储器行可以被高速缓存以便可以直接从RB高速缓存来服务随后的存储器访问。由于访问RB高速缓存可以比直接访问存储器行更加高效,所以可以减少随后的存储器访问的等待时间和能量消耗,其进而改进总体系统性能和能量效率。可替换地,当存储器取出模块126观察到没有或很少有对相同行的附加待决请求时,取出模块126可以跳过RB高速缓存的条目的分配并且直接向内部存储器行缓冲器发布读/写请求。当存在很少的对行的请求时,执行一些单独的64字节存储器访问(包括读和写二者)可以比将整个内部存储器行缓冲器(即8~16Kb)高速缓存到行缓冲器高速缓存更快。由存储器控制器119所追踪的存储器状态(例如,存储体争用等等)也可以被用于帮助确定应当对哪一行进行高速缓存。例如,具有频繁访问并且在繁忙存储体中的行与具有相同访问频率的空闲存储体中的行相比可能对于被高速缓存而言是更加优选的。
如果取出模块126将取出DRAM行并且将它高速缓存在RB高速缓存116中,则取出模块126于是做出关于应当对多少数据或者DRAM行的什么分数进行高速缓存的第二决定。可以通过将预测器队列125中的所有存储器请求与未解决的请求的目标行地址进行比较来执行第二决定。例如,假定末级高速缓存线的大小是64字节的,要被取出并且高速缓存的DRAM行的分数(即,多少64字节数据块)可以通过相同行中被请求的高速缓存线(包括待决的和过去的请求二者)之间的最长距离而被确定。
例如,由于64字节线一般被高速缓存在处理器中并且128字节数据也可以被高速缓存在处理器中,通过下一条线预取出,在RB高速缓存116中对小于256字节的数据块进行高速缓存可以提供最小的性能增益。因而,预测器模块123可以以从大小为256B的子页面到大小为整个DRAM行的全页面以子页面的增量的自适应粒度而选择性地对数据进行高速缓存。子页面可以被定义为当取出部分的DRAM行并且对其进行高速缓存时在DRAM管芯111和RB高速缓存116之间的数据事务的最小单元。子页面大小可以从CPU高速缓存线大小(例如64B)到整行的大小而变化。对于由处理器服务的每个存储器请求,个数(population)计数电路可以用于对预测器队列125或存储器请求队列122中的请求之中的行地址匹配的数目进行计数(即,如果去耦的预测器队列125与存储器请求队列122合并了的话),并且另外,具有与未解决的存储器请求相同的行地址的所有子页面可以被高速缓存。由取出模块126做出的最终决定可以经由命令总线121而被发送到3D DRAM堆叠中的列控制器115。
为了使AG RB高速缓存116支持不同的访问粒度,例如,从子页面到全页面,DRAM行的邻近的子页面可以邻近地被放置在RB高速缓存116中以提供在RB高速缓存116和存储器堆叠之间的突发块传递。否则,从RB高速缓存116逐出(evict)全页面或若干子页面可能导致相对缓慢和功率密集的多行缓冲器激活和预充电。部分的行也可以在RB高速缓存116中被放置得尽可能接近,例如,以消除存储残片(fragmentation)。RB高速缓存116也可以是全相联的以避免冲突。例如,对于128KB大小的RB高速缓存116,256B子页面的访问粒度的情况下的相联性是512,并且在2KB全页面的情况下是64。尽管可以由未经优化的内容可寻址存储器(CAM)来满足这些方面,但是性能和能量开销可能过分地高。为了降低来自支持最高自适应相联性的硬件成本,装置110可以使用如图4中所示的并且在下文被进一步详细描述的高效且可伸缩的方法。
RB高速缓存分配表124可以被实现在处理器侧的存储器控制器119中以加速RB高速缓存116命中/未命中检测,以促进对哪些(部分)行可以当前被存储在RB高速缓存116中的追踪。存储器控制器119还可以咨询RB高速缓存分配表124以用于命令调度。
RB高速缓存116的数据阵列118可以被放置在3D堆叠的DRAM(即DRAM管芯111)的附近的逻辑层(即,逻辑管芯112)上,这是由于用于在3D堆叠的DRAM和逻辑管芯112之间传递数据的TSV通道117的位置。该分离的高速缓存配置是有益的,因为DRAM访问与处理器芯片上的小的高速缓存相比是不太等待时间敏感的,并且未命中率典型更高。
参考图2和3,图3图示了根据本公开的示例的用于图2的AG-RB高速缓存装置110的全局自由列表130和行映射单元131的放大视图,以及进行部分行高速缓存和随后的命中的示例流。RB高速缓存分配表124可以包括全局自由列表130和行映射单元131。全局自由列表130可以持有数据阵列118中的高速缓存线的信息,并且还可以在高速缓存线安装或替换期间将行映射在行映射单元131中。行映射单元131可以起到自包含的全相联高速缓存的作用。标签部分132可以被实现在图4的CAM 150中。标签部分132可以存储有存储器块的行地址以供查找。数据部分133除了诸如脏位和有效位(未示出)之类的高速缓存信息之外可以持有高速缓存线信息,包括头地址、粒度以及对数据阵列118进行索引的地址指针。
根据示例,RB高速缓存116的数据阵列118可以被分布或集中在逻辑管芯112上。相比于集中式的RB高速缓存放置,分布式的RB高速缓存放置可以避免在DRAM列之间的冲突,并且避免在长的列间数据线上传递数据的能量开销。RB高速缓存116中的每一个可以包括由列内的堆叠的DRAM存储体共享的分离的数据阵列118。多个邻近的子页面可以被绑定以形成具有高达全页面的较大粒度的高速缓存线。在该过程中,子页面可以以访问粒度的对应地址边界而被对准。来自相同DRAM行的多个子页面可以被连续地存储,例如,以避免对相同行的多个逐出。
参考图4,行映射单元131的标签部分132可以包含CAM以支持快速地址查找。为了降低以小的粒度(例如子页面)而维持RB高速缓存116的高相联性的成本,装置110可以包括用于行映射单元131的标签部分132的CAM 150。对于CAM 150,为了分层次的搜索线,存储装置可以被划分成仓(bin)(例如,参见CAM仓(i),CAM仓(i+1)等等),其中先前的仓的151处的失配信号可以触发在下一个仓中的访问(即比较)。利用CAM 150的该部分访问配置,相比于对CAM的重复的全访问,可以显著减少等待时间和功率。
CAM 150提供要在标签中的行地址查找之后计算的偏移信息和行地址的存储。例如,由于不同的应用可以具有存储器访问粒度的某些优选,因此某些子页面的行地址标签可以比其它子页面的行地址标签具有高得多的命中率。例如,如果应用优选访问其子页面大小为256B的64条目RB高速缓存116中的2KB的全页面,则可以在数据阵列118中的总计512个当中的对应64个子页面(即,那些是全页面的头端(head))处执行所有的标签比较。如果所有这些条目被放置在行映射单元131中的标签CAM 150的第一仓中,则512路的相联的行映射单元131可以具有与64条目CAM可比的功率和定时,而同时仍覆盖最坏情况。存储器控制器119可以监控平均访问粒度,并且通过周期性地将具有优选访问粒度的条目移动到上部CAM仓而对标签部分132存储进行排序。硬件排序的表的时间复杂性可以如O(n)那样低。
关于用于RB高速缓存116的管理的替换策略,缓存线可以被逐出,如果在存储器请求队列122和/或预测器队列125中没有对它的另外的存储器请求,并且它没有被映射到繁忙的存储体。如果RB高速缓存116中没有任何线满足该准则,则替换策略可以被降级到最近最少使用(LRU)的替换策略。
为了支持自适应的粒度,高速缓存线可以被逐出,如果它足够大的话(即,等于或大于待决请求的大小),以使得单个逐出将为新请求腾出足够地方。另外,高速缓存线可以被逐出,以使得相对于脏的高速缓存线优选非脏的高速缓存线。
参考图2和3来描述RB高速缓存116中的操作流的示例。在135处(即步骤(1)),当预测器模块123检测到需要被高速缓存的新(部分)行时,预测器模块123向RB高速缓存116发出请求。在该示例中,假定全页面是具有4个子页面的1KB,并且RB高速缓存116将对具有为0b 1010的行地址以及开始于0b 101010的子行地址的半行(即两个子页面)进行高速缓存。在136处(即步骤(2)),全局自由列表130可以在数据阵列118中的512B边界处拾取可用的高速缓存线(例如高速缓存线137),并且将该高速缓存线插入到行映射单元131的空条目中。行地址和元信息可以分别被存储在行映射单元131的标签132和数据部分133中。元信息可以包括0b 10的头地址(即,DRAM行内的子页面地址的偏移)、0b 10的粒度(即两个子页面)、以及对数据阵列高速缓存线进行索引的指针。在138处(即步骤(3)),存储器控制器119可以发布DRAM访问命令和RB高速缓存116访问命令二者以从DRAM检索数据并且将半行(即,分别具有为0b101010和0b101011的地址的2个子页面)存储在数据阵列118中,其完成存储器访问和相关联的AG-RB高速缓存操作。
接下来,随后的存储器请求可以到达。例如,在139处(即步骤(4)),在新的存储器请求访问子页面0b 101011处的数据的情况下,存储器控制器119可以咨询RB高速缓存分配表124。在140处(即步骤(5)),行映射单元131中的命中指示(部分)行被高速缓存。因为在该时间处高速缓存行的粒度是未知的(即,因而在该阶段它是否是真实的命中是未知的),由待决存储器请求所请求的该子页面的地址偏移(0b 11)以及头地址(0b 10)的汉明(Hamming)距离可以与粒度进行比较以进一步证实这是否是实际的命中。在该示例中,由于汉明距离小于粒度,所以这是真实的命中,并且因此该半行的起始地址和汉明距离可以一起使用以对数据阵列118进行寻址以供数据检索。
图5图示了与其构造在上文被详细描述的AG-RB高速缓存装置110的示例相对应的用于进行AG-RB高速缓存的方法200的流程图。方法200可以作为示例而非限制的实现在参照图2的AG-RB高速缓存装置110上。方法200可以实践在其它装置中。
参考图5,对于方法200,在块201处,做出是否要将数据高速缓存到RB高速缓存的确定。一般而言,存储器访问模式可以用于确定是否要将数据高速缓存到RB高速缓存。例如,参考图2,取出模块126可以基于被存储在预测器队列125和待决存储器请求队列122中的信息而做出具有自适应粒度的选择性进行高速缓存的决定。是否要将DRAM行高速缓存到逻辑管芯112上的RB高速缓存116的第一决定可以通过使用策略来做出。预测器队列125可以用于存储信息,包括先前服务的存储器请求和即将到来的存储器请求的地址。预测器队列125可以与存储器请求队列122可组合。被存储在预测器队列125中的地址或被存储在存储器请求队列122中的信息可以用于确定是否要将DRAM行高速缓存到RB高速缓存116。预测器队列125可以被实现在处理器(例如处理器管芯113)的存储器控制器119中,或被实现在存储器侧。
在块202处,做出针对不同存储器访问(诸如DRAM访问)要被高速缓存到RB高速缓存的数据的量的确定。一般而言,存储器访问模式可以用于确定数据的什么部分要被高速缓存到RB高速缓存。例如,参考图2,如果取出模块126将取出DRAM行并且将其高速缓存在RB高速缓存116中,则取出模块126于是做出关于应当对多少数据或DRAM行的什么分数进行高速缓存的第二决定。预测器队列125中的存储器请求可以与未解决的存储器请求的目标行地址相比较以确定要被高速缓存到RB高速缓存116的DRAM行的分数。
在块203处,数据可以选择性地以子页面的增量从DRAM行的子页面大小到全页面大小而被高速缓存到RB高速缓存,其中子页面大小小于全页面大小。例如,参考图2,数据可以选择性地以子页面的增量从DRAM行的子页面大小到全页面大小而被高速缓存到RB高速缓存116。RB高速缓存分配表124可以用于追踪被存储在RB高速缓存116中的DRAM行,并且数据阵列118可以用于存储用于RB高速缓存116的DRAM行或DRAM行的分数。RB高速缓存分配表124可以被实现在用于3D堆叠的DRAM的处理器(例如处理器管芯113)的存储器控制器119中,并且数据阵列118可以被实现在3D堆叠的DRAM的逻辑层(例如逻辑管芯112)上。RB高速缓存分配表124的全局自由列表130可以用于持有与数据阵列118中的高速缓存线有关的信息,并且全局自由列表130可以用于在高速缓存线安装或替换期间将DRAM行映射在行映射单元131中。行映射单元131可以包括标签部分132以对存储器块的DRAM行地址进行存储以供查找,以及数据部分133以持有高速缓存线信息。标签部分132可以使用CAM 150,所述CAM 150包括被划分成仓的存储装置,其中先前的仓的失配信号触发下一个仓中的访问。
图6示出可以与本文中描述的示例一起使用的计算机系统300。计算机系统表示一般的平台,所述平台包括可以处于服务器或另一计算机系统中的组件。计算机系统300可以用作用于装置110的平台。计算机系统300可以通过处理器或其它硬件处理电路而执行本文描述的方法、功能和其它过程。这些方法、功能和其它过程可以体现为被存储在计算机可读介质上的机器可读指令,所述计算机可读介质可以是非暂时性的,诸如硬件存储设备(例如RAM(随机存取存储器)、ROM(只读存储器)、EPROM(可擦除、可编程ROM)、EEPROM(电可擦除、可编程ROM)、硬驱动装置和闪速存储器)。
计算机系统300包括可以实现或执行机器可读指令的处理器302,所述机器可读指令执行本文描述的方法、功能和其它过程中的一些或全部。来自处理器302的命令和数据通过通信总线304而被传送。计算机系统还包括主存储器306,诸如随机存取存储器(RAM),其中用于处理器302的机器可读指令和数据可以在运行时期间驻留,以及辅助数据存储装置308,其可以是非易失性的并且存储机器可读指令和数据。存储器和数据存储装置是计算机可读介质的示例。存储器306可以包括AG-RB高速缓存模块320,所述AG-RB高速缓存模块320包括在运行时期间驻留在存储器306中并且由处理器302执行的机器可读指令。AG-RB高速缓存模块320可以包括图2中所示的装置的模块。
计算机系统300可以包括I/O设备310,诸如键盘、鼠标、显示器等等。计算机系统可以包括用于连接到网络的网络接口312。其它已知的电子组件可以被添加或置换在计算机系统中。
本文中已经描述和说明的内容是示例连同其变型中的一些。本文中使用的术语、描述和图仅仅作为说明而被阐述并且不意味着作为限制。在主题的精神和范围内,许多变型是可能的,主题的精神和范围意图由以下权利要求(及其等同物)来限定,其中所有术语意指以它们最宽的合理意义,除非另行指示。