CN100514311C - 用于实现组合式数据/相关性高速缓存的方法和装置 - Google Patents

用于实现组合式数据/相关性高速缓存的方法和装置 Download PDF

Info

Publication number
CN100514311C
CN100514311C CNB2006800045951A CN200680004595A CN100514311C CN 100514311 C CN100514311 C CN 100514311C CN B2006800045951 A CNB2006800045951 A CN B2006800045951A CN 200680004595 A CN200680004595 A CN 200680004595A CN 100514311 C CN100514311 C CN 100514311C
Authority
CN
China
Prior art keywords
subclauses
clauses
sub
cache
recently
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2006800045951A
Other languages
English (en)
Other versions
CN101116062A (zh
Inventor
布鲁斯·瓦加尔
帕克-金·马克
剀斯·兰格斯顿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101116062A publication Critical patent/CN101116062A/zh
Application granted granted Critical
Publication of CN100514311C publication Critical patent/CN100514311C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/082Associative directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

公开了一种实现用于共享存储器的多处理器的组合式数据/相关性高速缓存的方法和装置。该组合式数据/相关性高速缓存包括具有多个条目的系统高速缓存。该方法包括:构建具有多个条目的系统高速缓存目录,其中条目的数量与系统高速缓存的条目的数量相等。该构建步骤包括指定用于每一条目的多个子条目,该指定由可用于执行系统高速缓存相关性功能的多个子条目确定。该构建步骤还包括:提供用于每一条目的子条目逻辑指示符;以及经由子条目逻辑指示符,将用于每一条目的子条目中的一个映射到系统高速缓存。

Description

用于实现组合式数据/相关性高速缓存的方法和装置
技术领域
本发明涉及数据高速缓存,并且尤其涉及用于实现组合式数据/相关性高速缓存的方法和装置。
背景技术
在大的共享存储器的多处理器中,通过要求各个处理器级高速缓存的内容作为系统高速缓存的子集,能够利用单个系统高速缓存目录阵列(directory array)提供存储器的最近存取内容的系统级高速缓存、以及用于处理全系统高速缓存相关性的有效装置。不幸的是,当处理器高速缓存的组合大小足够大时,由于高效工作所需的系统高速缓存的大小变得太大,所以该子集规则变得不合实际。尽管对此的一种可能的解决方案是维护两个目录(一个用于系统高速缓存,一个用于所有处理器高速缓存内容),但这大大地使设计复杂化。使用两个单独的目录来实现相同的任务,要求更多逻辑,以便使两个目录的内容同步化(要么是使它们不同,要么是如果允许覆盖则管理它们),以及执行任何系统存储器存取(这要求查找两个目录和在每一个目录中采取适当的动作)。
发明内容
本发明的方面提供了一种实现用于共享存储器的多处理器的组合式数据/相关性高速缓存的方法和装置。组合式数据/相关性高速缓存包括具有多个条目的系统高速缓存。
该方法包括构建具有多个条目的系统高速缓存目录,其中条目的数量等于系统高速缓存的条目的数量。所述构建包括指定用于每一条目的多个子条目,其由可用于执行系统高速缓存相关性功能的多个子条目确定。所述构建还包括:提供用于每一条目的子条目逻辑指示符,以及经由子条目逻辑指示符将用于每一条目的子条目中的一个映射到系统高速缓存。
本发明可实现用来提供足够大以包含所有处理器高速缓存目录条目的单个系统高速缓存目录,但仅用足够的系统高速缓存备份由处理器存取的最近部分数据。
在此还描述和要求保护了对应于上述概述的方法的系统和计算机程序产品。
通过本发明的技术,实现了另外的特征和优点。在此详细地描述本发明的其他实施例和方面,并且它们被视为所要求保护的发明的一部分。为了更好地理解本发明以及其优点和特征,需参考说明书和附图。
附图说明
在下文中,将参考附图通过例子更详细地描述本发明的实施例,其中:
图1是现有技术中利用系统高速缓存结构的共享存储器的多处理器的系统框图;
图2是由示例性实施例中的组合式数据/相关性高速缓存利用的改进的同余类(congruence class);以及
图3A-3B是描述了经由示例性实施例中的组合式数据/相关性高速缓存结构执行查找和安装过程的处理过程的流程图。
具体实施方式部分参考附图通过例子说明了本发明的优选实施例以及优点和特征。
具体实施方式
根据示例性实施例,提供了用于共享存储器的多处理器的单个系统高速缓存目录和系统级高速缓存。系统高速缓存目录的大小足以包含所有底层处理器高速缓存目录的条目。使系统高速缓存的大小适合于给定的限制、诸如所需存取时间和合理芯片面积。系统高速缓存目录条目的最新部分被映射到系统高速缓存。该结构充当高速缓存(用于由处理器需要的最近存取的存储器数据)和全系统高速缓存相关性控制器(通过维护哪些处理器具有存储器的哪些部分的副本以及它们处于何种状态的记录)。通过使用单个目录,能利用一次查找和所引起的动作集,维护高速缓存管理和高速缓存相关性管理这两种工作。
为了对背景技术加以说明,现在,将参考图1,描述用在现有技术中的包括系统高速缓存和目录组件的共享存储器的多处理器系统100。在图1的共享存储器的多处理器环境中,处理器P1和P2中的每一个都具有其自己的处理器高速缓存集(C1和C2用于P1,以及C3和C4用于P2),其包含在处理器上执行的最近工作的数据以及指令的副本。应当理解,任意数目的处理器和处理器高速缓存可以被包括在图1的系统100中。为了在这种环境中有效地工作,可以将系统控制结构用于控制资源存取,确保高速缓存相关性等。该系统控制结构可以是多级的;然而,为了示例说明的目的,在此描述了单级。应当理解,可以以与单级实现方式类似的方式实现到多级的扩展。
系统控制结构包括两个元件:系统高速缓存和系统高速缓存相关性。与处理器高速缓存类似,系统高速缓存是在该系统的控制下所有处理器的所有最新指令和数据的高速缓存。它执行两个关键作用:当数据过时或者从处理器高速缓存移除时,将数据重新提供给处理器高速缓存;以及当其他处理器需要存取数据时,将数据提供给其他处理器(可能经由其他系统高速缓存)。
系统高速缓存相关性涉及记录跟踪(recordkeeping)。通常,每次需要存储器或其改变时,不能存取存储器,这是因为相对于处理器速度来说,存取时间太大了。因此,经由处理器(例如P1、P2)各自的处理器高速缓存(例如C1~C4)维护存储器到处理器的单个相关视图的任务经由系统高速缓存目录102落在系统控制结构上。通过维护哪些处理器(P1,P2)已经高速缓存了它们正有效使用的存储器的哪些部分的记录,当另一处理器需要存取存储器的相同部分时,系统控制能采用适当的动作。
显而易见的是,如果足够大地构建系统高速缓存来实现两个任务(通过要求所有处理器高速缓存作为系统高速缓存内容的一部分来实现,否则称为子集规则),则不存在问题。但是,如果由于实际原因,这种高速缓存太大,则可能要求重新设计系统,或者可能不会利用系统高速缓存。作为替换,可以利用子集规则,其有效地限制了可用于处理器的处理器高速缓存的有效部分,或者是具有两个单独的系统高速缓存目录(即,一个用于管理高速缓存,一个用于管理高速缓存相关性),以及所引起的使其工作所需的复杂性。
举例来说,假定系统高速缓存由N=C*A个条目组成,其中,C表示同余类的数量(其中,每一同余类表示对应于C个可能值中的一个的存储器的地址集),A表示每一同余类的结合性(associativity)(能共享用来选择同余类的相同地址映射的高速缓存条目的数量)。
典型的计算机高速缓存设计具有这种结构,以及具有类似的C*A结构的相应高速缓存目录(例如102),由此,每一目录条目表示相应的高速缓存目录,并且包含诸如高速缓存条目的存储器地址、存取数据的最后一个处理器、以及相对于存储器内容是否改变了数据之类的信息。最后,存在用于每一同余类的一些形式的LRU(最近最少使用的)逻辑(例如,逻辑列106)来管理该同余类内的从最近最少使用的到最近最多使用的(MRU)条目。LRU逻辑的两个最普遍用途是更新和安装。
通过在目录中查找和找到一个地址,通常使其成为MRU条目,以及替代位于它和MRU位置间的所有那些条目,来执行更新。当在目录中未找到地址时,执行安装,由此为其清空一个位置。此时选择LRU条目并用新条目替代,然后使新条目成为MRU。
根据示例性实施例,提供了组合式数据/相关性高速缓存结构,其利用实际大小的单个系统高速缓存,其中,仅目录中的最近条目在高速缓存中具有相应的条目。现在转到图2,将描述用于实现组合式数据/相关性高速缓存的改进的同余类200。继图1中所述的示例性高速缓存系统100之后,假定多个条目“N”不足以提供有效的系统高速缓存相关性,但是2*N个条目是足够的。系统高速缓存可以保持为N个条目,但是,可以加宽每一系统高速缓存目录条目,以便包含两个单独的地址(例如,子1或子2),以及相应的用于确定哪一地址表示用于该系统高速缓存目录条目的相应高速缓存条目的逻辑(在此称为子条目逻辑指示符(designator)202)。在某种意义上,每个目录条目(例如条目1)存在两个子条目(例如子条目1和2),如图2的改进的同余类200所示。只有用于每一条目的这些子条目中的一个将具有相应的高速缓存条目。应当理解,利用一个更大的逻辑,可以将该原理扩展到任意多个M*N个条目,实质上将简单的M向(M-way)LRU逻辑(子LRU逻辑)添加到高速缓存目录中的每一条目(M个子条目)上。
现在,如在图3A-3B的流程图中所述,组合式数据/相关性高速缓存系统的单个高速缓存目录执行更新和安装这两个任务。在步骤302,当查找一个特定地址时,检查适当同余类(例如200)中的所有子条目,以便找到可能的匹配。如果找到了(步骤304),以及如果这个特定子条目是具有相应的高速缓存条目的子条目(步骤306),则这表示其数据在高速缓存中是可用的。在步骤308,采取适当的动作(例如,将数据提供给处理器高速缓存),并且相应的同余类因此更新其LRU逻辑(例如逻辑列204)。如果找到了(步骤304),但子条目不是具有相应高速缓存条目的子条目(步骤306),则在步骤310,可以使用目录信息来执行所需的任何处理。如果数据必须被放在相应的高速缓存条目(以及更新的子LRU逻辑指示符)中,则在步骤312,当前的MRU子条目替换其数据(以及进行任何其他必要的处理,诸如,如果它不同于存储器副本,则将数据写回到存储器),并且在步骤314,整个同余类更新其LRU逻辑(例如列204中的逻辑)(例如,如同典型的高速缓存安装一样)。转回到步骤304,如果该地址不与任何子条目匹配,则这表示:在步骤316提供了足够的信息,或者需要安装数据,并且处理过程进入图3B。
在步骤318,识别同余类200中的LRU条目(例如,条目1~3中的一个)。在该条目内,在步骤320,识别MRU子条目和LRU子条目(例如,子条目1~2中的一个)。在步骤322,MRU子条目将其相应的数据从高速缓存目录中移除。对该高速缓存数据,采用适当的动作(例如,如果它不同于存储器副本,将其写回到存储器)。
在步骤324,从目录中移除LRU子条目(例如,与上述识别的子条目逻辑指示符有关的子条目1~2中的一个),并且在底层处理器高速缓存中采用任何适当的动作(例如,使它们的副本无效)。在步骤326,用新的地址替换LRU子条目,并使该新地址成为MRU子条目。
在步骤328,用新地址的内容代替相应的高速缓存内容。在步骤330,使同余类中的LRU条目(与列204中的LRU有关的条目中的一个)变为MRU条目以便完成安装过程。
如上所述,在系统高速缓存的大小不足以包含所有底层高速缓存的内容的情况下,提供了一种用于构造执行系统高速缓存(数据)和系统控制(相关性)任务的装置。尽管对这一问题存在其他解决方案,诸如多重结构(特别复杂)、或宽松子集规则(用于管理相关性的底层高速缓存上的额外开销)、或无数据高速缓存(由此,不对最近存取的数据进行快速中央存取),它们都不能产生组合式数据/相关性高速缓存的优点和简化。
能够用软件、固件、硬件或其一些组合实现本发明的性能。
例如,本发明的一个或多个方面能够被包括在具有例如计算机可用介质的制造产品(例如一个或多个计算机程序产品)中。该介质中可以包含例如计算机可读程序代码装置,用于提供和便于实现本发明的性能。制造产品能被包括为计算机系统的一部分或单独出售。
另外,能够提供可由机器读取的、有形地包含可由该机器执行以实现本发明的性能的至少一个指令程序的至少一个程序存储设备。
在此所述的流程图仅仅是例子。在不背离本发明的精神的情况下,可以存在对在此所述的这些图或步骤(或操作)的许多变体。例如,可以用不同的顺序执行这些步骤,或者可以添加、删除或修改步骤。所有这些变体均被视为所要求保护的发明的一部分。

Claims (10)

1.一种实现用于共享存储器的多处理器的组合式数据/相关性高速缓存的方法,该组合式数据/相关性高速缓存包括具有多个条目的系统高速缓存,该方法包括:
构建具有多个条目的系统高速缓存目录,其中条目的数量与系统高速缓存的条目的数量相等,该构建步骤包括:
指定用于每一条目的多个子条目,每个子条目具有单独的地址,其中用于每一条目的子条目中只有一个子条目具有相应的高速缓存条目,表示在该高速缓存内有数据可用,并且由可用于执行系统高速缓存相关性功能的多个子条目确定子条目的数量;
提供用于每一条目的子条目逻辑指示符;以及
经由子条目逻辑指示符,将用于每一条目的子条目中的一个映射到系统高速缓存。
2.如权利要求1所述的方法,其中,通过将与系统高速缓存有关的同余类的数量乘以每一同余类的结合性,确定系统高速缓存中的条目的数量。
3.如权利要求1所述的方法,进一步包括:检查系统高速缓存目录中的子条目以寻找一个地址,该检查步骤结合查找操作来执行,所述方法进一步包括:
响应于在子条目之一中找到所述地址,执行下述中的至少一个:
更新用于该子条目的相应条目的子条目逻辑指示符;以及
处理根据查找操作利用的子条目之一。
4.如权利要求1所述的方法,进一步包括:检查系统高速缓存目录中的子条目以寻找一个地址,该检查步骤结合查找操作来执行,所述方法进一步包括:
响应于未能在子条目之一中找到所述地址,安装对应于查找操作的数据。
5.如权利要求4所述的方法,其中,所述安装步骤包括:
识别对应于与该地址有关的同余类的最近最少使用的逻辑指示符;
识别用于对应于最近最少使用的逻辑指示符的条目的最近最多使用的子条目和最近最少使用的子条目;
从系统高速缓存目录移除最近最少使用的子条目,并用该地址替换最近最少使用的子条目;
用与该地址有关的数据替换与最近最多使用的子条目有关的系统高速缓存条目内容;以及
将最近最多使用的指示符应用到同余类中的最近最少使用的条目;以及
将最近最多使用的指示符应用到具有该地址的新安装的子条目。
6.一种组合式数据/相关性高速缓存结构,用于为共享存储器的多处理器提供高速缓存功能和全系统高速缓存相关性功能,该组合式数据/相关性高速缓存结构包括:
包括多个条目的系统高速缓存;
包括数量与系统高速缓存中的条目的数量相等的多个条目的系统高速缓存目录;
与系统高速缓存目录的每一条目有关的多个子条目,每个子条目具有单独的地址,其中用于每一条目的子条目中只有一个子条目具有相应的高速缓存条目,表示在该高速缓存内有数据可用,并且由与执行系统高速缓存相关性功能相称的多个子条目确定子条目的数量;以及
与每一条目有关的子条目逻辑指示符;
其中,经由子条目逻辑指示符,将用于系统高速缓存目录中的每一条目的子条目中的一个映射到系统高速缓存。
7.如权利要求6所述的组合式数据/相关性高速缓存结构,其中,通过将与系统高速缓存有关的同余类的数量乘以每一同余类的结合性,确定系统高速缓存中的条目的数量。
8.如权利要求6所述的组合式数据/相关性高速缓存结构,其中,执行查找操作,该查找操作通过下述处理实现:
检查系统高速缓存目录中的子条目以寻找一个地址;以及
响应于在子条目之一中找到所述地址,执行下述中的至少一个:
更新用于该子条目的相应条目的子条目逻辑指示符;以及
处理根据查找操作利用的子条目之一。
9.如权利要求6所述的组合式数据/相关性高速缓存结构,其中,执行查找操作,该查找操作通过下述处理实现:
检查系统高速缓存目录中的子条目以寻找一个地址;以及
响应于未能在子条目之一中找到所述地址,安装对应于查找操作的数据。
10.如权利要求9所述的组合式数据/相关性高速缓存结构,其中,所述安装包括:
识别对应于与该地址有关的同余类的最近最少使用的逻辑指示符;
识别用于对应于最近最少使用的逻辑指示符的条目的最近最多使用的子条目和最近最少使用的子条目;
从系统高速缓存目录移除最近最少使用的子条目,并用该地址替换最近最少使用的子条目;
用与该地址有关的数据替换与最近最多使用的子条目有关的系统高速缓存条目内容;以及
将最近最多使用的指示符应用到同余类中的最近最少使用的条目;以及
将最近最多使用的指示符应用到具有该地址的新安装的子条目。
CNB2006800045951A 2005-02-11 2006-02-08 用于实现组合式数据/相关性高速缓存的方法和装置 Active CN100514311C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/056,809 2005-02-11
US11/056,809 US8131936B2 (en) 2005-02-11 2005-02-11 Method and apparatus for implementing a combined data/coherency cache

Publications (2)

Publication Number Publication Date
CN101116062A CN101116062A (zh) 2008-01-30
CN100514311C true CN100514311C (zh) 2009-07-15

Family

ID=36061655

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006800045951A Active CN100514311C (zh) 2005-02-11 2006-02-08 用于实现组合式数据/相关性高速缓存的方法和装置

Country Status (5)

Country Link
US (1) US8131936B2 (zh)
EP (1) EP1854010A1 (zh)
CN (1) CN100514311C (zh)
TW (1) TWI372975B (zh)
WO (1) WO2006084866A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782921B (zh) * 2009-12-28 2013-01-16 北京握奇数据系统有限公司 一种目录创建、查询和删除方法及装置
US10331561B1 (en) 2016-06-29 2019-06-25 Emc Corporation Systems and methods for rebuilding a cache index
US10146438B1 (en) 2016-06-29 2018-12-04 EMC IP Holding Company LLC Additive library for data structures in a flash memory
US10037164B1 (en) 2016-06-29 2018-07-31 EMC IP Holding Company LLC Flash interface for processing datasets
US10055351B1 (en) 2016-06-29 2018-08-21 EMC IP Holding Company LLC Low-overhead index for a flash cache
US10261704B1 (en) 2016-06-29 2019-04-16 EMC IP Holding Company LLC Linked lists in flash memory
US10089025B1 (en) 2016-06-29 2018-10-02 EMC IP Holding Company LLC Bloom filters in a flash memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0507063A1 (en) * 1991-04-03 1992-10-07 International Business Machines Corporation Cross-invalidate directory method and means
US5684976A (en) * 1994-11-16 1997-11-04 International Business Machines Corporation Method and system for reduced address tags storage within a directory having a tree-like data structure

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4513367A (en) * 1981-03-23 1985-04-23 International Business Machines Corporation Cache locking controls in a multiprocessor
US4719568A (en) * 1982-12-30 1988-01-12 International Business Machines Corporation Hierarchical memory system including separate cache memories for storing data and instructions
US4785395A (en) * 1986-06-27 1988-11-15 Honeywell Bull Inc. Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0507063A1 (en) * 1991-04-03 1992-10-07 International Business Machines Corporation Cross-invalidate directory method and means
US5684976A (en) * 1994-11-16 1997-11-04 International Business Machines Corporation Method and system for reduced address tags storage within a directory having a tree-like data structure

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
EXTENDED L2 DIRRECTORY FOR L1 RESIDENCERECORDING. L.Liu.IBM TECHNICAL DISCLOSURE BULLETIN,Vol.34 No.8. 1992
EXTENDED L2 DIRRECTORY FOR L1 RESIDENCERECORDING. L.Liu.IBM TECHNICAL DISCLOSURE BULLETIN,Vol.34 No.8. 1992 *
Issues in Multi-Level Cache Designs. Lishing Liu.INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS. 1994
Issues in Multi-Level Cache Designs. Lishing Liu.INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS. 1994 *

Also Published As

Publication number Publication date
TW200636463A (en) 2006-10-16
CN101116062A (zh) 2008-01-30
US20060184744A1 (en) 2006-08-17
US8131936B2 (en) 2012-03-06
TWI372975B (en) 2012-09-21
WO2006084866A1 (en) 2006-08-17
EP1854010A1 (en) 2007-11-14

Similar Documents

Publication Publication Date Title
CN100476760C (zh) 用于分级高速缓存行替换的方法、系统及装置
KR102193689B1 (ko) 예측에 기초하여 효율적으로 캐시 라인을 관리하는 시스템 및 방법
Zhou et al. Spitfire: A three-tier buffer manager for volatile and non-volatile memory
US4774654A (en) Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory
CN1307559C (zh) 以高速缓存连贯性为基础的高速缓存线的预加载和预控制
US9477600B2 (en) Apparatus and method for shared cache control including cache lines selectively operable in inclusive or non-inclusive mode
US8015365B2 (en) Reducing back invalidation transactions from a snoop filter
US6826651B2 (en) State-based allocation and replacement for improved hit ratio in directory caches
US6965970B2 (en) List based method and apparatus for selective and rapid cache flushes
US7590804B2 (en) Pseudo least recently used replacement/allocation scheme in request agent affinitive set-associative snoop filter
CN100514311C (zh) 用于实现组合式数据/相关性高速缓存的方法和装置
CN102693188B (zh) 用于在可控运行时环境中进行基于硬件的动态逸出检测的方法和装置
US5802571A (en) Apparatus and method for enforcing data coherency in an information handling system having multiple hierarchical levels of cache memory
US7363435B1 (en) System and method for coherence prediction
US7194586B2 (en) Method and apparatus for implementing cache state as history of read/write shared data
US6625694B2 (en) System and method for allocating a directory entry for use in multiprocessor-node data processing systems
KR20180122969A (ko) 멀티 프로세서 시스템 및 이에 포함된 프로세서의 데이터 관리 방법
US20090193199A1 (en) Method for Increasing Cache Directory Associativity Classes Via Efficient Tag Bit Reclaimation
JP4068185B2 (ja) コンピュータ・システムでのメモリ・ストレージ・モードの効果的な選択
US8473686B2 (en) Computer cache system with stratified replacement
US20060123196A1 (en) System, method and computer program product for application-level cache-mapping awareness and reallocation requests
JP2004199677A (ja) キャッシュを動作させるためのシステム及び方法
CN113656212B (zh) 用于缓存目录tcam错误检测和纠正的系统和方法
US20220156195A1 (en) Snoop filter device
KR101976320B1 (ko) 라스트 레벨 캐시 메모리 및 이의 데이터 관리 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant