CN1195817A - 在非包含的高速缓存存储器分级体系内使用的实现高速缓存一致性机制的方法和系统 - Google Patents
在非包含的高速缓存存储器分级体系内使用的实现高速缓存一致性机制的方法和系统 Download PDFInfo
- Publication number
- CN1195817A CN1195817A CN98104031A CN98104031A CN1195817A CN 1195817 A CN1195817 A CN 1195817A CN 98104031 A CN98104031 A CN 98104031A CN 98104031 A CN98104031 A CN 98104031A CN 1195817 A CN1195817 A CN 1195817A
- Authority
- CN
- China
- Prior art keywords
- cache
- main
- memory
- cache memory
- storer
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000007246 mechanism Effects 0.000 title claims abstract description 26
- 230000004048 modification Effects 0.000 claims description 37
- 238000012986 modification Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 abstract description 2
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
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
发明背景
本发明总的来说涉及数据处理系统,具体来说涉及在高性能数据处理系统内使用的高速缓存存储器。再进一步具体地说,本发明涉及在高性能数据处理系统内实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法和系统。
包含多级高速缓存存储器的计算机体系结构已成为一个特别感兴趣的领域,并且是近几年中日益增长的技术。以前主要的研究已解决了两级高速缓存存储器分级体系及用于操作这种高速缓存存储器分级体系的有关协议,以使处理器在满足系统的高速缓存一致性要求的同时,达到最高的性能。
两级高速缓存存储器分级体系是由不同大小和速度的两个高速缓存存储器组成的一个高速缓存存储器系统。一般来说,第一个高速缓存存储器常称为主高速缓存或L1高速缓存,它的存取时间较快,每比特的成本较高,而第二个存储器常称为副高速缓存或L2高速缓存,它的存取时间较慢但每比特的成本也较低。一般来说,较小较快的主高速缓存在芯片上而较大较慢的次高速缓存在芯片外,尽管在有些高性能处理器设计中,芯片内的副高速缓存也相当常见。
一致性存储器系统的主要目的是为存储器分级体系内的所有存储器装置提供信息的相同拷贝,以便能实现资源共享的同步和合作用途。要不然,当无意中使用了信息的旧的过时的拷贝时,就会发生问题。因此,在一个称为“包含”的方案下,主高速缓存通常被设计成包含一个存储在副高速缓存中的数据子集。这个包含方案在主高速缓存和副高速缓存之间提供一定程度的冗余度,因此至主高速缓存的总线流量可能被降低。然而,包含方案也存在缺点。一个缺点是要求从主高速缓存至系统存储器的附加逐出(cast-out),以便当在副高速缓存中被置换的高速缓存存储行与在主高速缓存中的那个存储行不同且在副高速缓存中被置换的高速缓存存储行处于“改变”状态时,适应行重填写操作。另外,在主高速缓存中具有与副高速缓存中被置换的高速缓存存储行相同地址的高速缓存存储行需要被逐出到系统存储器,因为按照包含方案它不能在主调整缓存中单独存在。
虽然,如果包含的限制经由一个非包含的高速缓存存储器分级体系被放宽的话将改善高速缓存的性能,但是为了在主高速缓存和副高速缓存之间保持一致性,必须使用特殊的协议。本发明试图提供支持非包含的主高速缓存和副高速缓存的一个高速缓存一致性机制。
如前所述,本发明的一个目的正是为此提供数据处理的一个改进方法和系统。
本发明的另一个目的是为高性能数据处理系统内所使用的高速缓存存储器提供一个改进的方法和系统。
本发明的还有一个目标是为支持高性能数据处理系统内的非包含的高速缓存存储器分级体系提供一个实现高速缓存一致性机制的改进的方法和系统。
上述目的如下面所述来达到。按照本发明的方法和系统,高性能数据处理系统内的存储器分级体系包括一个主高速缓存存储器、一个副高速缓存存储器和一个主存储器。主高速缓存存储器和副高速缓存存储器是非包含的。另外,在主高速缓存内提供第一个状态比特和第二个状态比特,与主高速缓存的每个高速缓存存储行有关。作为优选实施例,第一个状态比特只有当主高速缓存存储器中相应的高速缓存存储行在改写方式下已被改变时才被置位,而第二个状态比特只有当在副高速缓存存储器中也存在相应的高速缓存存储行时才被置位。这样一来,通过利用主高速缓存存储中的第一个状态比特和第二个状态比特可以保持主高速缓存存储器和副高速缓存存储器之间的高速缓存一致性。
在以下详细的描述中,本发明所述的所有目标、特性和优点会显而易见。
通过参照下面一个解释性的实施例的详述,其时与所附的附图一起阅读,将会更好地理解本发明的内容,以及优选的使用方式,进一步的目标和其优点,附图包括:
图1是与本发明最佳实施例对应的具有多级非包含的高速缓存存储器分级体系的典型数据处理系统的方块图;
图2是与本发明的优选实施例对应的主高速缓存的构造方块图;
图3是与本发明的优选实施例对应的在主高速缓存中状态比特字段的详细说明;
图4是与本发明的优选实施例对应的副高速缓存的构造方块图;
图5a是与本发明的优选实施例对应的利用L比特和C比特的行填写操作的高速逻辑流程图;
图5b是与本发明的优选实施例对应的主高速缓存的行置换操作的高级逻辑流程图;
图5c是与本发明的优选实施例对应的副高速缓存的行置换操作的高级逻辑流程图;
图6是与本发明的优选实施例对应的从主高速缓存的逐出操作的高级逻辑流程图;
图7是与本发明的优选实施例对应的对主高速缓存进行存储操作的高级逻辑流程图。
本发明可以在多级非包含的高速缓存存储器分级体系数据处理系统中实现。不难明白,本发明的特性也可以运用于具有主高速缓存和副高速缓存的各种数据处理系统中或要求多副高速缓存存储器存取的地方。
现在参照附图,具体参照图1,其示出与本发明的优选实施例对应的安装有多级非包含的高速缓存存储器分级体系的典型数据处理系统的方块图。在图1中,仅示出一个单一的处理器104;然而,本发明的特性在多个处理器系统中也是有用的。处理器104具有CPU106,CPU106可以是超标量RISC型,处理器104构成一个单片装置,包括片内指令高速缓存107和片内数据高速缓冲108。两个高速缓存107、108都是主高速缓存,用片内总线结构内的单独路径连接到CPU106。指令高速缓存107经由高速缓存控制器109a被连接到片内总线105,而数据高速缓存108经由高速缓存控制器109b被连接到片内总线105。
副高速缓存110经由高速缓存控制器111也被连接到片内总线105。副高速缓存110通常要比指令高速缓存107和数据高速缓存108大得多,对副高速缓存110的存取要比对指令高速缓存107和数据高速缓存108的存取稍微慢一些。CPU106经由总线接口112也被连接到系统总线113,在总线接口112中实现片内总线105和系统总线113之间的定时和控制转换。此外,主存储器115和磁盘存储装置116被连接到系统总线113。
指令高速缓存107和数据高速缓存108可以通过有效(即未转换过的)地址以及通过实际(即物理的)地址寻址。因此,在处理器104片内的总线105内有许多地址总线,包括有效地址总线、实际地址总线和指令地址总线。可是,副高速缓存110通常是仅用实际地址寻址。
如所示的那样,存储器分级体系是从最快的到最慢的,从最小的到最大的,以及从每比特最贵的到每比特最便宜的,相继从主高速缓存107、108到副高速缓存110、到主存储器115和到磁盘存储装置116。通常,主存储器115包含磁盘存储装置中的内容的一个子集,副高速缓存110包含主存储器中的内容的一个子集。然而,由于主高速缓存107、108与副高速缓存110之间为不包含的关系,因此高速缓存107、108中的每一个均可能包含与副高速缓存110中的内容无关的信息。
CPU106可以在一个处理器周期内存取主高速缓存107、108,然而它可能花好几个处理器周期存取副高速缓存110。如果在高速缓存107、108和副高速缓存110中发生高速缓存“错漏”,那么主存储器115被存取以执行一个高速缓存行组充填操作一用来自主存储器115的包含被寻址数据的一个等效比特区段置换一个高速缓存行。这个高速缓存行充填操作必须被执行,以便满足那个需要进行的发生过高速缓存“错漏”的所试图的高速缓存存取。如果主存储器115没有包含所需进行的高速缓存行组充填操作的存储单元,那么从磁盘存储装置116获得包含这个数据的一个页,因而可以完成该高速缓存分组充填操作。从磁盘存储装置116中取得一个页并把它写入到主存储器115的时间一般要求数千个处理器周期,在此期间,CPU可以被转换去执行其它任务或被停止以便等待满足需要的数据。
现在参见图2,其示出与本发明的优选实施例相应的主高速缓存16的构造的方块图。主高速缓存16可以是指令高速缓存107和(或)数据高速缓存108。主高速缓存16优先地被配置为四路高速缓存—路0、路1、路2和路3一每一路有64个高速缓存存储行。数据高速缓存16的每个路进一步被分成三个段,即标志段、数据段和状态比特段。如图2所示,标志区段分别包括路0、路1、路2和路3的标志组60a、标志组60b、标志组60c和标志组60d。同样地,数据区段分别包括路0、路1、路2和路3的数据组70a、数据组70b、数据组70c和数据组70d。状态比特区段也分别包括路0、路1、路2和路3的状态比特字段80a、状态比特字段80b、状态比特字段80c和状态比特字段80d。每个标志组60a~60d相应于每个数据组70a~70d。因为所有标志组60a~60d、数据组70a~70d和状态比特字段80a~80d都是相同的配置,所以下面只详细介绍标志组60a、数据组70a和状态比特字段80a。
每个标志组60a和数据组70a有64个高速缓存存储行,从存储行0到存储行63,每个高速缓存存储行用地址30的比特20~25编址。数据组70a的每个高速缓存存储行是64字节(或16字)宽,而标志组60a的每个高速缓存存储行仅为20比特宽。在数据组70a中的每个高速缓存存储行包含可以由CPU106请求的实际信息,且高速缓存存储行内的每个字节用地址30的比特26~31标记。反之,在标志组60a中的每个高速缓存存储行包含一个用于与地址30的比特0~19比较的地址标志,以便于确定是否有高速缓存“命中”或“错漏”。偶尔,标志组60a~60d之一中的一个地址标志与地址30的比特0~19之间匹配,意味着一个高速缓存“命中”。
现在参见图3,其示出与本发明的优选实施例相应的一个主高速缓存存储行的状态比特字段80a的详细说明。如所示的那样,状态比特字段80a包含5个不同的状态比特,即有效比特10、共用比特11、修改比特12、L比特13和C比特14。有效比特10、共用比特11和修改比特12一起被用于实现四状态MESI(修改、排斥、共用和无效)协议。高速缓存存储器设计的专业人员熟悉四状态MESI协议的实现。剩下的L比特13和C比特14是用于实现与本发明的优选实施例相应的支持非包含的主高速缓存和副高速缓存的高速缓存一致性机制。
现在参见图4,其示出按照本发明的优选实施例相应的副高速缓存110的构造的方块图。副高速缓存110优选地被配置为具有2048高速缓存存储行的直接映射高速缓存。每个高速缓存存储行被分为标志段62、数据段72和状态比特段82。每个高速缓存存储行的状态比特段包含三个状态比特,即有效比特15、共用比特16和修改比特17。数据段72的每个高速缓存存储行为64字节(或16字)宽,而标志段62的每个高速缓存存储行仅为15比特宽。在数据段72中的每个高速缓存存储行包含可以由CPU106请求的实际信息。
与主高速缓存16相类似,在副高速缓存110中的每个高速缓存存储行用地址30的比特15~25编址,而在高速缓存存储行内的每个字节用地址30的比特26~31编址。此外,在标志段62中的每个高速缓存存储行包含一个用于与地址30的比特0~14比较的地址标志,以便于确定是否高速缓存“命中”或“错漏”。
现在参见图5a,其示出与本发明的优选实施例相应的利用L比特和C比特的行填写操作的高级逻辑流程图。当有一个高速缓存“错漏”时,首先用主高速缓存开始一个重填写操作,如在方框20中所示。然后,选择一个主高速缓存存储行作为置换,如在方框22中所示。在主高速缓存中行置换的细节将在图5b中作进一步描述。然后作出副高速缓存是否也应当执行行填写操作的决定,如在方框24中所示。如果副高速缓存不应当执行行填写操作,那么数据被装载到主高速缓存中相应的高速缓存存储行,并且相应的高速缓存存储行的C比特和L比特被复位到“0”,如在方框28中所示。否则,如果副高速缓存也应当执行行填写操作,那么选择副高速缓存中的一个高速缓存存储行作为置换。数据接着被装载进主高速缓存的相应的高速缓存存储行和副存储行,在主高速缓存中相应的高速缓存存储行的C比特被复位到“0”,在主高速缓存中相应的高速缓存存储行的L比特被置位到“1”,如在方框26中所示。按照惯例,置位一个比特是指将该比特置为逻辑“1”,而复位一个比特是指复位一个比特为逻辑“0”,尽管反向赋值也是可接受的。
现在参见图5b,其示出与本发明的优选实施例相应的主高速缓存的行置换操作的高级逻辑流程图。在方框30开始,然后作出逐出候选高速缓存存储行的修改(M)比特或C比特是否被置位的决定,如在方框31和方框32中所示。如果逐出的候选高速缓存存储行的修改比特和C比特都不被置位,则逐出的候选高速缓存存储行被清除,不发送到副高速缓存,如在方框33中所示。否则,如果逐出的候选高速缓存存储行的修改比特被置位,则逐出的候选高速缓存存储行被发送到副高速缓存,如在方框36中所示。同样地,如果修改比特不被置位但逐出的候选高速缓存存储行的C比特和L比特都被置位,则逐出的候选高速缓存存储行也被发送到副高速缓存,如在方框32、方框35和方框36中所示。
现在参见图5c,其示出与本发明的优选实施例相应的副高速缓存的行置换操作的高级逻辑流程图。在方框40开始,然后在主高速缓存中逐出的候选高速缓存的L比特被复位为“0”。如在方框42中所示。然后,作出逐出的候选高速缓存存储行的修改比特是否被置位的决定,如在方框44中所示。如果逐出的候选高速缓存存储行的修改比特不被置位,则逐出的候选高速缓存存储行被清除,不发送到主存储器,如在方框48中所示。否则,如果逐出的候选高速缓存存储行的修改比特被置位,则逐出的候选高速缓存存储行被发送到主存储器,如在方框46中所示。
现在参见图6,其示出与本发明的优选实施例相应的从主高速缓存逐出操作的高级逻辑流程图。在方框50开始,然后作出逐出的候选高速缓存存储行的修改比特是否被置位的决定,如在方框52中所示。如果逐出的候选高速缓存存储行的修改比特被置位,则高速缓存存储行被写入到副高速缓存,并且在该副高速缓存存储行中的修改比特被置位为“1”。否则,如果逐出的候选高速缓存存储行的修改比特不被置位,则该高速缓存存储行仍被写入到副高速缓存但在该副高速缓存存储行中的修改比特被复位为“0”。
其次,当在副高速缓存中的一个高速缓存存储行结束一个行填写操作时,只有当相应的高速缓存存储行的修改比特被置位时该相应的高速缓存存储行才被发送到主存储器。否则,相应的高速缓存存储行被清除。
现在参见图7,其示出与本发明的优选实施例相应的至主高速缓存的存储操作的高级逻辑流程图。对于至主高速缓存的一个存储操作,首先作出主高速缓存是否在改写方式的决定,如在方框62中所示。如果主高速缓存不是在改写方式(这意味着主高速缓存是在回写方式),则数据字被写入到主高速缓存并且相应的高速缓存存储行的修改比特被置位为“1”,如分别在方框68和方框70中所示。否则,如果主高速缓存是在改写方式,则数据字被写入到主高速缓存和主存储器,不写入到副高速缓存,且C比特被置位为“1”,如分别在方框64和方框66中所示。
总之,在改写方式,存储操作把一个数据字写入到主高速缓存和主存储器并置位主高速缓存中相应的高速缓存存储行的C比特。在回写方式,该存储操作把该数据字仅写入到主高速缓存并置位主高速缓存中相应的高速缓存存储行的修改比特。当到了执行主高速缓存的行填写操作的时候,如果逐出的候选高速缓存存储行的修改比特和C比特都被置位,则该逐出的候选高速缓存存储行被发送到副高速缓存。然而,如果该逐出的候选高速缓存存储行的修改比特和C比特都没有被置位,则该逐出的候选高速缓存存储行被清除,不发送到副高速缓存。无论如何,当一个数据字被首先装载到主高速缓存时,高速缓存存储行的C比特被复位为“0”。
如上所述,本发明提供在一个数据处理系统内实现支持非包含的高速缓存存储器分级体系的一个高速缓存一致性机制的方法。在改写方式,一个数据字被写入到主高速缓存和主存储器,而跳过副高速缓存。因此,在主高速缓存中的该高速缓存存储行保持全部更新,而在副高速缓存中,仅当在主高速缓存中某高速缓存存储行是被废弃时,其相应的高速缓存存储行才被更新。在这种情况下,因为主高速缓存累积所有数据字改变(以及主存储器)直到发生主高速缓存的窥探(Snoup)或逐出,所以到副高速缓存的总线流量被减小。此外,能在主高速缓存中有数据而不必在副高速缓存中有数据,使得能有产地使用主高速缓存以及副高速缓存,主高速缓存一般是高相联的,副高速缓存一般是致密的但低相联的。
虽然参照一个优选实施例来具体介绍和描述了本发明,但是本专业人员可以明白,在不违背本发明的精神和范围情况下可以在形式和细节上作出各种变化。
Claims (18)
1.在数据处理系统内实现高速缓存一致性机制的方法,其中所说的数据处理系统包括一个主高速缓存存储器、一个副高速缓存存储器和一个主存储器,其中所说的主高速缓存存储器和所说的副高速缓存存储中是非包含的,所说的方法包括如下步骤:
提供与所说的主高速缓存内每个高速缓存存储行有关的第一个状态比特和第二个状态比特;
只有当所说的主高速缓存存储器中相应的高速缓存存储行在改写方式下已被一个存储操作修改时,才置位所说的第一个状态比特;
只有当在所说的主高速缓存和所说的副高速缓存中都存在相应的高速缓存存储行时,才置位所说的第二个状态比特;以及
利用所说的第一个状态比特和所说的第二个状态比特保持所说的主高速缓存和所说的副高速缓存之间的高速缓存一致性。
2.按照权利要求1的实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法,其特征在于所说的方法还包括,如果在所说的主高速缓存存储器中的所说的第一个状态比特、所说的第二个状态比特和修改比特没有被置位的话,在所说的主高速缓存存储器的行置换操作期间,在不发送所说的副高速缓存存储器情况下清除一个高速缓存存储行的步骤。
3.按照权利要求2的实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法,其特征在于所说的方法还包括,如果所说的第一个状态比特和所说的第二个状态比特都被置位,或在所说的主高速缓存存储器中的所说的修改比特被置位的话,在所说的主高速缓存存储器的所说的行置换期间,发送一个高速缓存存储行到所说的副高速缓存存储器的步骤。
4.按照权利要求1的实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法,其特征在于所说的方法还包括,如果在所说的副高速缓存存储中的修改比特没有被置位的话,在所说的副高速缓存存储器的行置换期间,在不发送到所说的主存储器的情况下清除一个高速缓存存储行的步骤。
5.按照权利要求4的实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法,其特征在于所说的方法还包括,如果在所说的副高速缓存存储器中所说的修改比特被置位的话,在所说的副高速缓存存储器的行置换期间,发送一个高速缓存存储行到所说的主存储器的步骤。
6.按照权利要求1的实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法,其特征在于所说的方法还包括,如果在所说的主高速缓存存储器中的修改比特被置位的话,在所说的主高速缓存存储器的逐出期间,将所说的副高速缓存存储器中的修改比特置位并把一个高速缓存存储行写入到所说的副高速缓存存储器的步骤。
7.按照权利要求6的实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法,其特征在于所说的方法还包括,如果在所说的主高速缓存存储器中的修改比特没有被置位的话,在所说的主高速缓存存储器的所说的逐出期间,将所说的副高速缓存存储器中的所说的修改比特复位并把一个高速缓存存储行写入到所说的副高速缓存存储器的步骤。
8.按照权利要求1的实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法,其特征在于所说的方法还包括,如果所说的行填写操作是在所说的副高速缓存存储器中被执行的话,在所说的主高速缓存存储器的行填写操作期间,在所说的的主高速缓存存储器中复位所说的第一个状态比特和置位所说的第二个状态比特并装载一个高速缓存存储行的步骤。
9.按照权利要求8的实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法,其特征在于所说的方法还包括,如果所说的行填写操作不在所说的副高速缓存存储器中被执行的话,在所说的主高速缓存存储器的所说的行填写操作期间,所说的主高速缓存存储器中复位所说的第一个状态比特和所说的第二个状态比特并装载一个高速缓存存储行的步骤。
10.具有支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的数据处理系统,所说的数据处理系统包括:
主存储器;
主高速缓存存储器,其具有与所说的主高速缓存内的每个高速缓存存储行有关的第一个状态比特和第二个状态比特;以及
副高速缓存存储器,所说的副高速缓存存储器和所说的主高速缓存存储器是非包含的;
只有当在所说的主高速缓存存储器中相应的高速缓存存储行在改写方式下已被存储操作修改时才置位所说的第一个状态比特的设备,以及只有当在所说的主高速缓存和所说的副高速缓存中都存在一个相应的高速缓存存储行时才置位所说的第二状态比特的设备,其中高速缓存一致性可以利用所说的第一个状态比特和所说的第二个状态比特在所说的主高速缓存和所说的副高速缓存之间被保持。
11.按照权利要求10的具有支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的数据处理系统,其特征在于所说的数据处理系统还包括,如果在所说的主高速缓存存储器中的所说的第一个状态比特、所说的第二个状态比特和修改比特没有被置位的话,在所说的主高速缓存存储器的行置换期间,在不发送所说的副高速缓存存储器情况下清除一个高速缓存缓存存储行的设备。
12.按照权利要求11的具有支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的数据处理系统,其特征在于所说的数据处理系统还包括,如果所说的第一个状态比特和所说的第二个状态比特都被置位或在所说的主高速缓存存储器中的所说的修改比特被置位的话,在所说的主高速缓存存储器的所说的行置换期间,发送一个高速缓存存储行到所说的副高速缓存存储器的设备。
13.按照权利要求10的具有支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的数据处理系统,其特征在于所说的数据处理系统还包括,如果在所说的副高速缓存存储器中的修改比特没有被置位的话,在所说的副高速缓存存储器的行置换期间,在不发送到所说的主存储器情况下清除一个高速缓存存储行的设备。
14.按照权利要求13的具有支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的数据处理系统,其特征在于所说的数据处理系统还包括,如果在所说的副高速缓存存储器中的所说的修改比特被置位的话,在所说的副高速缓存存储器的行置换期间,发送一个高速缓存存储行到所说的主存储器的设备。
15.按照权利要求10的具有支持非包含的高速缓存存储器分组体系的高速缓存一致性机制的数据处理系统,其特征在于所说的数据处理系统还包括,如果在所说的主高速缓存存储器中的修改比特被置位的话,在所说的主高速缓存存储器的逐出期间,将在所说的副高速缓存存储器中的修改比特置位并把一个高速缓存存储行写入到所说的副高速缓存存储器的设备。
16.按照权利要求15的具有支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的数据处理系统,其特征在于所说的数据处理系统还包括,如果在所说的主高速缓存存储器中的所说的修改比特没有被置位的话,在所说的主高速缓存存储器的逐出期间,复位在所说以副高速缓存存储器中的所说的修改比特并把一个高速缓存存储行写入到所说的副高速缓存存储器的设备。
17.按照权利要求10的具有支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的数据处理系统,其特征在于所说的数据处理系统还包括,如果所说的行填写操作是要在所说的副高速缓存存储器中被执行的话,在所说的主高速缓存存储器的行填写操作期间,在所说的主高速缓存存储行中复位所说的第一个状态比特和置位所说的第二个状态比特并将载一个高速缓存存储行的设备。
18.按照权利要求17的具有支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的数据处理系统,其特征在于所说的数据处理系统还包括,如果所说的行填写操作不在所说的副高速缓存存储器中被执行的话,在所说的主高速缓存存储器的所说的行填写操作期间,在所说的主高速缓存存储器中复位所说的第一个状态比特和所说的第二个状态比特并装载一个高速缓存存储行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/810,775 US5787478A (en) | 1997-03-05 | 1997-03-05 | Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy |
US810,775 | 1997-03-05 | ||
US810775 | 1997-03-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1195817A true CN1195817A (zh) | 1998-10-14 |
CN1110752C CN1110752C (zh) | 2003-06-04 |
Family
ID=25204675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98104031A Expired - Fee Related CN1110752C (zh) | 1997-03-05 | 1998-01-27 | 实现高速缓存一致性机制的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5787478A (zh) |
JP (1) | JP3281893B2 (zh) |
KR (1) | KR19980079433A (zh) |
CN (1) | CN1110752C (zh) |
TW (1) | TW364081B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100432969C (zh) * | 2005-09-15 | 2008-11-12 | 国际商业机器公司 | 允许i/o写操作管道化及多操作范围的数据处理系统与方法 |
US7596661B2 (en) | 2005-09-01 | 2009-09-29 | Mediatek Inc. | Processing modules with multilevel cache architecture |
CN1517885B (zh) * | 2003-01-28 | 2013-03-06 | 微软公司 | 关于利用原子性更新的中央高速缓冲存储器的方法和系统 |
CN103314363A (zh) * | 2010-08-17 | 2013-09-18 | 回忆系统公司 | 用于设计分级存储器系统的高速存储器系统和方法 |
US9279079B2 (en) | 2007-05-30 | 2016-03-08 | Sharp Kabushiki Kaisha | Method of manufacturing phosphor, light-emitting device, and image display apparatus |
CN107408079A (zh) * | 2015-03-27 | 2017-11-28 | 英特尔公司 | 带有一致单元的多级别系统存储器的存储器控制器 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374330B1 (en) * | 1997-04-14 | 2002-04-16 | International Business Machines Corporation | Cache-coherency protocol with upstream undefined state |
US6061766A (en) * | 1997-06-24 | 2000-05-09 | Sun Microsystems, Inc. | Non-inclusive cache method using pipelined snoop bus |
US6076147A (en) * | 1997-06-24 | 2000-06-13 | Sun Microsystems, Inc. | Non-inclusive cache system using pipelined snoop bus |
US6065098A (en) * | 1997-09-18 | 2000-05-16 | International Business Machines Corporation | Method for maintaining multi-level cache coherency in a processor with non-inclusive caches and processor implementing the same |
US6067601A (en) * | 1997-11-03 | 2000-05-23 | Brecis Communications | Cache memory based instruction execution |
US6216218B1 (en) | 1997-11-03 | 2001-04-10 | Donald L. Sollars | Processor having a datapath and control logic constituted with basis execution blocks |
US6397298B1 (en) * | 1999-07-30 | 2002-05-28 | International Business Machines Corporation | Cache memory having a programmable cache replacement scheme |
US6715040B2 (en) * | 2001-01-05 | 2004-03-30 | Nec Electronics, Inc. | Performance improvement of a write instruction of a non-inclusive hierarchical cache memory unit |
US6584546B2 (en) * | 2001-01-16 | 2003-06-24 | Gautam Nag Kavipurapu | Highly efficient design of storage array for use in first and second cache spaces and memory subsystems |
US6922753B2 (en) * | 2002-09-26 | 2005-07-26 | International Business Machines Corporation | Cache prefetching |
US6922756B2 (en) * | 2002-12-19 | 2005-07-26 | Intel Corporation | Forward state for use in cache coherency in a multiprocessor system |
US7373466B1 (en) * | 2004-04-07 | 2008-05-13 | Advanced Micro Devices, Inc. | Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer |
US7383388B2 (en) | 2004-06-17 | 2008-06-03 | International Business Machines Corporation | Method for storing data |
US20060155934A1 (en) * | 2005-01-11 | 2006-07-13 | Ramakrishnan Rajamony | System and method for reducing unnecessary cache operations |
US7325101B1 (en) * | 2005-05-31 | 2008-01-29 | Sun Microsystems, Inc. | Techniques for reducing off-chip cache memory accesses |
US20070038814A1 (en) * | 2005-08-10 | 2007-02-15 | International Business Machines Corporation | Systems and methods for selectively inclusive cache |
JP5319049B2 (ja) * | 2005-08-22 | 2013-10-16 | 富士通セミコンダクター株式会社 | キャッシュシステム |
US7404045B2 (en) * | 2005-12-30 | 2008-07-22 | International Business Machines Corporation | Directory-based data transfer protocol for multiprocessor system |
KR101165132B1 (ko) * | 2007-01-31 | 2012-07-12 | 콸콤 인코포레이티드 | 멀티-레벨 캐시 계층에서의 캐스트아웃들을 감소시키기 위한 장치 및 방법들 |
US8661208B2 (en) * | 2007-04-11 | 2014-02-25 | Hewlett-Packard Development Company, L.P. | Non-inclusive cache systems and methods |
JP2009053820A (ja) * | 2007-08-24 | 2009-03-12 | Nec Electronics Corp | 階層型キャッシュメモリシステム |
US20110202727A1 (en) * | 2010-02-18 | 2011-08-18 | Qualcomm Incorporated | Apparatus and Methods to Reduce Duplicate Line Fills in a Victim Cache |
US9378148B2 (en) | 2013-03-15 | 2016-06-28 | Intel Corporation | Adaptive hierarchical cache policy in a microprocessor |
US9418009B2 (en) * | 2013-12-27 | 2016-08-16 | Intel Corporation | Inclusive and non-inclusive tracking of local cache lines to avoid near memory reads on cache line memory writes into a two level system memory |
US11954034B2 (en) * | 2022-03-28 | 2024-04-09 | Woven By Toyota, Inc. | Cache coherency protocol for encoding a cache line with a domain shared state |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2622011B2 (ja) * | 1990-04-16 | 1997-06-18 | 三菱電機株式会社 | 画面切替方法 |
DE69130086T2 (de) * | 1990-06-15 | 1999-01-21 | Compaq Computer Corp | Mehrstufeneinschluss in mehrstufigen Cache-Speicherhierarchien |
US5379396A (en) * | 1991-10-11 | 1995-01-03 | Intel Corporation | Write ordering for microprocessor depending on cache hit and write buffer content |
US5428761A (en) * | 1992-03-12 | 1995-06-27 | Digital Equipment Corporation | System for achieving atomic non-sequential multi-word operations in shared memory |
US5636365A (en) * | 1993-10-05 | 1997-06-03 | Nec Corporation | Hierarchical buffer memories for selectively controlling data coherence including coherence control request means |
US5564035A (en) * | 1994-03-23 | 1996-10-08 | Intel Corporation | Exclusive and/or partially inclusive extension cache system and method to minimize swapping therein |
-
1997
- 1997-03-05 US US08/810,775 patent/US5787478A/en not_active Expired - Fee Related
- 1997-07-17 TW TW086110164A patent/TW364081B/zh active
- 1997-10-22 KR KR1019970054287A patent/KR19980079433A/ko active IP Right Grant
-
1998
- 1998-01-27 CN CN98104031A patent/CN1110752C/zh not_active Expired - Fee Related
- 1998-02-17 JP JP03458498A patent/JP3281893B2/ja not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517885B (zh) * | 2003-01-28 | 2013-03-06 | 微软公司 | 关于利用原子性更新的中央高速缓冲存储器的方法和系统 |
US7596661B2 (en) | 2005-09-01 | 2009-09-29 | Mediatek Inc. | Processing modules with multilevel cache architecture |
CN100432969C (zh) * | 2005-09-15 | 2008-11-12 | 国际商业机器公司 | 允许i/o写操作管道化及多操作范围的数据处理系统与方法 |
US9279079B2 (en) | 2007-05-30 | 2016-03-08 | Sharp Kabushiki Kaisha | Method of manufacturing phosphor, light-emitting device, and image display apparatus |
US9442846B2 (en) | 2009-03-17 | 2016-09-13 | Cisco Technology, Inc. | High speed memory systems and methods for designing hierarchical memory systems |
US10042573B2 (en) | 2009-03-17 | 2018-08-07 | Cisco Technology, Inc. | High speed memory systems and methods for designing hierarchical memory systems |
CN103314363A (zh) * | 2010-08-17 | 2013-09-18 | 回忆系统公司 | 用于设计分级存储器系统的高速存储器系统和方法 |
CN103314363B (zh) * | 2010-08-17 | 2016-09-07 | 思科技术公司 | 用于设计分级存储器系统的高速存储器系统和方法 |
CN107408079A (zh) * | 2015-03-27 | 2017-11-28 | 英特尔公司 | 带有一致单元的多级别系统存储器的存储器控制器 |
Also Published As
Publication number | Publication date |
---|---|
TW364081B (en) | 1999-07-11 |
JPH10254772A (ja) | 1998-09-25 |
CN1110752C (zh) | 2003-06-04 |
JP3281893B2 (ja) | 2002-05-13 |
KR19980079433A (ko) | 1998-11-25 |
US5787478A (en) | 1998-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1110752C (zh) | 实现高速缓存一致性机制的方法和系统 | |
US11914508B2 (en) | Memory controller supporting nonvolatile physical memory | |
US7266647B2 (en) | List based method and apparatus for selective and rapid cache flushes | |
US5717893A (en) | Method for managing a cache hierarchy having a least recently used (LRU) global cache and a plurality of LRU destaging local caches containing counterpart datatype partitions | |
EP0185867B1 (en) | A memory hierarchy and its method of operation | |
US6947051B2 (en) | Video memory management | |
US6578111B1 (en) | Cache memory system and method for managing streaming-data | |
US5949436A (en) | Accelerated graphics port multiple entry gart cache allocation system and method | |
US6401181B1 (en) | Dynamic allocation of physical memory space | |
CN1734431A (zh) | 用于软件可控动态可锁高速缓冲存储器线替换系统的方法 | |
US20030135694A1 (en) | Apparatus for cache compression engine for data compression of on-chip caches to increase effective cache size | |
JP4563486B2 (ja) | 上位レベル・キャッシュのエビクション候補を識別するための巡回スヌープ | |
KR20170026114A (ko) | 트랜잭션 기반 하이브리드 메모리 모듈 | |
CN1659525A (zh) | 简化了缓存替换策略的实现的多线程缓存方法和装置 | |
CN1940892A (zh) | 逐出高速缓存的行的电路布置、数据处理系统和方法 | |
CN1352772A (zh) | 改进虚拟存储器系统中存储器访问的技术 | |
JP3866447B2 (ja) | マルチプロセッサ・ノードデータ処理システムに使用するディレクトリエントリ割当てシステム及び方法 | |
CN1726477A (zh) | 用于预取和存储器管理的页描述符 | |
GB2255211A (en) | Lru pointer in a two-way set associative cache. | |
US20060123196A1 (en) | System, method and computer program product for application-level cache-mapping awareness and reallocation requests | |
US8549227B2 (en) | Multiprocessor system and operating method of multiprocessor system | |
US20040123069A1 (en) | Very high speed page operations in indirect accessed memory systems | |
US6598124B1 (en) | System and method for identifying streaming-data | |
US6665787B2 (en) | Very high speed page operations in indirect accessed memory systems | |
US20210240631A1 (en) | Cache memory device, system including the same, and method of operating the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |