使用FIFO的最近最少使用的高速缓存替代实现制造技术

技术编号:10945542 阅读:130 留言:0更新日期:2015-01-22 22:51
本发明专利技术涉及使用FIFO的最近最少使用的高速缓存替代实现。一种用于计算总是最近最少使用的路的牺牲路的方法和装置,更具体地说,在m组,n路成组关联高速缓存(114)中,在高速缓存组中的每路都包括指示该路包含有效数据的有效位。有效位当路被写时被置位并且一旦被无效则被清除,例如,经由窥探地址。高速缓存系统(116)包括高速缓存LRU电路(217),其包括与每个高速缓存组相关联的LRU逻辑单元。LRU逻辑单元包括n深度(在某些实施例中,n深度对应于高速缓存中的路的数目)和m宽度的FIFO(610)。FIFO(610)执行了推压、弹出和崩落功能。FIFO中的每个条目都包含被最后访问的编码的路的数目。

【技术实现步骤摘要】

本专利技术通常涉及高速缓存(cache)存储器领域,更具体地说,涉及用于高速缓存存储器的高速缓存的替换策略。
技术介绍
通常,数据处理系统包括执行了从主存储器提取的指令的处理器(通常被称为中央处理单元(CPU))。一种改进处理器性能的方法就是使用高速缓存存储器。高速缓存存储器是高速存储器,其与处理器和主存储器一起工作以快速地给处理器提供信息(例如,指令和/或数据)。通过使用高速缓存架构,可能会有比当处理器直接从主存储器提取所有的信息更快的响应时间。改进性能是可能的,因为高速缓存通常包含处理器很可能从存储器请求的信息。高速缓存通常比主存储器更快;因此,高速缓存通常提供处理请求的信息比主存储器快得多。用于将信息加载到高速缓存的方法的一部分是预测并存储被处理器频繁使用以及很可能被处理器使用的信息。当高速缓存包含由处理器请求的信息的时候,这被称为高速缓存命中。如果高速缓存不包含由处理器请求的信息,那么这被称为高速缓存未中。未中的时候,信息从主存储器加载到高速缓存,并还被提供给处理器。信息预先被加载到高速缓存,处理器将在即将到来的总线周期请求数据。这个过程在整个数据处理系统的操作中一直持续。高速缓存通常包括高速缓存标签阵列和高速缓存数据阵列。每个阵列被组织成多个高速缓存行。每个高速缓存行包括标签部分(包含在高速缓存标签阵列中)和数据部分(包含在高速缓存数据阵列中)。在一行中的标签值与从处理器的存储器请求的地址进行比较以确定请求的数据是否存在于那个高速缓存行的数据部分中。有效性信息与每个高速缓存行相关联以指示该行是否包含当前有效信息以及该信息是否与主存储器中存储的信息一致(被称为高速缓存一致性)。高速缓存通常被排列成组(set)以提供成组关联高速缓存。成组关联高速缓存是完全关联缓存(需要高速缓存中的所有槽的平行搜索)和直接映射缓存(可能导致被映射到相同槽的地址的冲突)的混合体。因为高速缓存比主存储器小得多,当高速缓存变满的时候,高速缓存系统往往使用一种算法来从高速缓存中逐出信息以让位给从主存储器提取的新信息。所使用的一种已知的高速缓存替代算法是最近最少使用的(least recently used,LRU)高速缓存替代算法,在该算法中,最近最少使用的高速缓存行(也被称为牺牲路(victim way))被从高速缓存中逐出以让位给新信息。有了成组关联高速缓存结构,当特定高速缓存组是满的时候(例如,在一些实施例中,该组的所有路(way)都是有效的),LRU算法导致针对特定高速缓存组最近最少使用的路被逐出。通常,不是提供真正的LRU算法,大多数已知的高速缓存设计实现了某种类型的伪-LRU算法。与伪-LRU算法有关的问题是,所选的牺牲路不一定总是最近最少使用的路。附图说明通过参考附图,本专利技术可以被更好的理解,并且其多个目的、特征、以及优点对本领域技术人员来说将会明白。多个附图中的相同参考符号的使用指定相同或相似的元件。图1根据本专利技术的一个实施例,显示了数据处理系统的方框图。图2显示了高速缓存系统的方框图。图3显示了4路关联高速缓存。图4显示了包含了LRU和有效位的m组(set),n路(way)高速缓存视图的高速缓存结构的方框图。图5显示了与高速缓存组相互作用的控制器的各部分(portion)的方框图。图6显示了基于每组的LRU电路的方框图。图7显示了4条目(entry)可崩落(collapsible)FIFO的方框图。图8显示了LRU逻辑的仲裁逻辑的方框图。图9A、9B和9C显示了LRU操作的例子。图10A、10B和10C显示了LRU操作的另一个例子。图11A、11B和11C显示了LRU操作的另一个例子。图12A、12B和12C显示了LRU操作的另一个例子。图13A、13B和13C显示了LRU操作的另一个例子。具体实施方式通常,本专利技术的一些实施例提出了一种计算总是最近最少使用的路的牺牲路的简单而准确的方法及装置。更具体地说,在某些实施例中,对于m组,n路成组高速缓存(例如,成组关联高速缓存),高速缓存组中的每个路包括指示该路包含有效数据的有效位。有效位当路被写时被置位(set)并且一旦被无效则被清除(clear),例如,经由窥探(snoop)地址。高速缓存系统包括高速缓存替换模块,它在某些实施例中包括与每个高速缓存组相关联的LRU逻辑单元。LRU逻辑单元包括n深度(在某些实施例中,深度对应于高速缓存中的路的数目)和m宽度的FIFO。在FIFO顶部的条目表示最近最少使用的条目,而在FIFO底部的条目表示最近最常使用的(most recently used)条目。通过给LRU逻辑提供FIFO,LRU控制电路有效地计算出牺牲区段(section),其在某些实施例中总是被最近最少访问的区段,计算是在单个存储器周期中执行的。FIFO执行了推压(push)、弹出(pop)、崩落(collapse)以及崩落+推压功能。推压功能将条目放置在FIFO底部。弹出功能从FIFO顶部取走条目。崩落功能从FIFO中的任何地方取走条目(在FIFO顶部的崩落功能相当于弹出功能)。崩落+推压功能从FIFO中的某个地方取走条目并且将该条目放置在FIFO底部,从而有效地使该条目成为最近最常使用的条目。在某些实施例中,以崩落+推压功能,崩落和推压功能被同时一起执行。FIFO中的每个条目包含最后访问的编码的路的数目(way number)。高速缓存访问可以是读、写或窥探。当无效高速缓存路被写的时候,到FIFO的推压被执行。当有效高速缓存路被读或写的时候,FIFO的推压和崩落被同时一起执行。当路是无效的时候,有效缓存路被弹出或崩落。在某些实施例中,LRU逻辑还包括仲裁逻辑,当一个或多个高速缓存路是无效的时候,仲裁逻辑为任何高速缓存写选择在高速缓存组中最低可用牺牲路的数目。LRU逻辑还包括对解码读、写和窥探请求的逻辑。当FIFO满了的时候,牺牲路的数目位于FIFO顶部。当FIFO未满的时候,牺牲路的数目是从仲裁逻辑单元提供的。在各个实施例中,高速缓存替换模块可以被用于任何成组关联高速缓存层次结构中。此外,高速缓存替换模块可以被用于任何其它具有替换要求的排队的设计类型。参照图1,图1显示了数据处理系统100的方框图。该数据处理系统包括处理器102以及存储器104和总线接口单元106。在一个实...

【技术保护点】
一种存储器系统,包括:存储器阵列,所述存储器阵列包括多个部分;以及存储器控制器,所述存储器控制器包括最近最少使用的(LRU)控制电路,所述LRU控制电路包括先进先出(FIFO)电路,所述FIFO电路以基于所述多个部分中的一部分是否被最近最常访问的顺序来存储所述多个部分中的至少一些部分的指示。

【技术特征摘要】
2013.07.17 US 13/943,9581.一种存储器系统,包括:
存储器阵列,所述存储器阵列包括多个部分;以及
存储器控制器,所述存储器控制器包括最近最少使用的(LRU)
控制电路,所述LRU控制电路包括先进先出(FIFO)电路,所述FIFO
电路以基于所述多个部分中的一部分是否被最近最常访问的顺序来
存储所述多个部分中的至少一些部分的指示。
2.根据权利要求1所述的存储器系统,其中:
所述FIFO电路被配置为执行崩落功能,所述崩落功能允许所述
FIFO电路向所述LRU控制电路提供真LRU函数。
3.根据权利要求2所述的存储器系统,其中:
当无效部分被写时,推压功能被所述FIFO电路执行;以及
当有效部分被读或写时,推压功能和崩落功能同时并且一起地被
所述FIFO电路执行。
4.根据权利要求2所述的存储器系统,其中:
当一部分被无效时,弹出功能和崩落功能中的至少一个被所述
FIFO电路执行。
5.根据权利要求3所述的存储器系统,其中:
所述FIFO中的每个条目包括部分数目指示,所述部分数目指示
是关于存储在所述条目内的所述部分何时被最后访问。
6.根据权利要求1所述的存储器系统,其中:
所述存储器阵列还包括多个区段,
所述部分对应于所述存储器阵列内的路,并且所述区段对应于所

\t述存储器阵列内的组。
7.根据权利要求1所述的存储器系统,其中:
高速缓存的每个部分包括有效位,所述有效位指示所述高速缓存
的一部分包括有效数据,所述有效位当所述部分被写时被置位且在被
无效时被清除。
8.根据权利要求1所述的存储器系统,其中:
所述存储器阵列包括m组,n路成组关联高速缓存;
所述存储器控制器包括对应于所述存储器阵列的每一组的m个
LRU控制电路。
9.根据权利要求8所述的存储器系统,其中:
所述m个LRU控制电路中的每一个包括相应的先进先出
(FIFO)电路,每个FIFO电路为n深度,每个FIFO电路以基于所
述多个路中的路是否被最近最常访问的顺序来存储所述多个路中的
至少一些路。
10.根据权利要求9所述的存储器系统,其中:
所述FIFO电路的每个中的每个条目包括路数目指示,所述路数
目指示是关于存储在所述条目内的所述路何时经由读或写操作中的
至少一个被最后访问。
11.根据权利要求1所述的存储器系统,还包括:
仲裁电路,当一个或多个高速缓存部分是无效的时,...

【专利技术属性】
技术研发人员:T·Q·尼古耶恩J·D·科丁顿S·R·德什潘德
申请(专利权)人:飞思卡尔半导体公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1