CN1278625A - 保持高速缓冲存储器一致性的方法和系统 - Google Patents
保持高速缓冲存储器一致性的方法和系统 Download PDFInfo
- Publication number
- CN1278625A CN1278625A CN00118854A CN00118854A CN1278625A CN 1278625 A CN1278625 A CN 1278625A CN 00118854 A CN00118854 A CN 00118854A CN 00118854 A CN00118854 A CN 00118854A CN 1278625 A CN1278625 A CN 1278625A
- Authority
- CN
- China
- Prior art keywords
- system bus
- cache memory
- cache
- storage operation
- directly writing
- 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
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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
在数据处理系统中直写存储操作时保持高速缓冲存储器一致性的方法和系统。通过高速缓冲存储器,将直写存储操作由特定的处理器传递到系统总线。在插入的高速缓冲存储器中进行直写存储操作。没有插在特定的处理器系统总线之间的所述多级高速缓冲存储器的所有高速缓冲存储器用所述直写操作的数据地址从系统总线的外部侦听路径侦听,直到直写操作成功,由此在完成到相同数据地址的任何其它指令之前成功地完成直写操作。
Description
本发明一般涉及数据处理的改进方法和系统,特别涉及在多处理器数据处理系统中保持高速缓冲存储器一致性(coherency)的改进方法和系统。此外,本发明还特别涉及在多处理器系统中直写存储操作时保持高速缓冲存储器一致性的方法和系统。
大多数的现代高性能数据处理系统结构包括存储体系中的多级高速缓冲存储器。高速缓冲存储器用在数据处理系统中,与访问系统存储器的时间相比能更快地访问频繁使用的数据,从而提高了整体性能。高速缓冲存储器的各级通常用在渐进增长的较长访问等待时间中。较小较快的高速缓冲存储器用在靠近一个或多个处理器的存储体系内中的各级,而较大较慢的高速缓冲存储器用在靠近系统存储器的各级。
在常规的对称多处理器(SMP)数据处理系统中,所有的处理器通常完全相同,使用相同的公共指令集和相同通信协议的所有处理器都有相似的硬件结构,并通常提供有类似的存储体系。例如,常规的SMP数据处理系统包括系统存储器;多个处理单元,每个处理单元包括一个处理器和一级或多级高速缓冲存储器;以及将处理单元相互耦合和耦合到系统存储器的系统总线。许多这种系统包括在两个或多个处理器之间共享的至少一级高速缓冲存储器。要在SMP数据处理系统中获得有效的执行结果,重要的是获得一致的存储层次,即,为所有的处理器提供同一存储内容。
虽然设计为通过侦听(snooping)保持高速缓冲存储器的一致性,但是“重试”响应会导致处理器操作错误。特别是,对于直写存储,一旦进行了写更新,随后允许负载读取新数据,重试相同的直写存储会有问题。
因此,需要提供一种在多处理器系统中保持高速缓冲存储器一致性的方法,特别是在存在重试时保持直写存储操作时高速缓冲存储器一致性。
因此本发明的一个目的是提供一种数据处理的改进方法和系统。
因此本发明的另一目的是提供一种在多处理器数据处理系统中保持高速缓冲存储器一致性的改进方法和系统。
本发明的再一目的是提供一种在多处理器系统中保持直写操作时高速缓冲存储器一致性的改进方法和系统。
通过这里介绍的方法和系统可以获得以上的目的。本发明的方法和系统用于在数据处理系统中直写存储操作时保持高速缓冲存储器的一致性,其中所述数据处理系统包括通过存储体系耦合到系统总线的多个处理器,其中存储体系包括多级高速缓冲存储器。通过插入在特定处理器和系统总线之间的所述多级高速缓冲存储器的任何高速缓冲存储器,直写存储操作由特定的处理器传递到系统总线。直写存储操作可在被直写存储操作命中的任何插入的高速缓冲存储器中进行。没有插在特定的处理器系统总线之间的所述多级高速缓冲存储器的所有高速缓冲存储器由系统总线的外部侦听路径侦听所述直写操作的数据地址,直到直写操作成功,其中存储体系的高速缓冲存储器的一致点设置在用于直写存储操作的系统总线上,由此在完成到相同数据地址的任何其它指令之前成功地完成直写操作。
从下面详细的说明中本发明的以上及其它目的、特点和优点将变得很显然。
本发明的新颖特性在附带的权利要求书中陈述。然而通过结合附图阅读参考以下示例性实施例的详细说明,本发明自身及使用的优选模式以及本发明的其它目的和优点将很好理解,其中:
图1示出了当通过目前的侦听技术重试直写存储指令时发生错误的时序图;
图2示出了根据本发明的多处理器数据处理系统的高层方框图;
图3示出了用自侦听技术直写存储指令的性能的时序图;以及
图4示出了进行直写存储操作过程的高层逻辑流程图。
现在参考附图,特别是参考图2,示出了根据本发明的多处理器数据处理系统的高层方框图。如图所示,数据处理系统8包括与其它多个处理器内核11a-11n成对的多个处理器内核10a-10n,每个优选包括一个可从国际商用机器公司得到的处理器的PowerPC线,除了常规的寄存器、用于执行程序指令的指令流逻辑和执行单元之外,每个处理器内核10a-10n和11a-11n还包括一个板上的一级(L1)高速缓冲存储器12a-12n和13a-13n,能临时地存储可能会被相关的处理器访问的指令和数据。虽然在图2中L1高速缓冲存储器12a-12n和13a-13n显示为存储指令和数据(下文简称为数据)的一体高速缓冲存储器,但本领域的技术人员应理解每个L1高速缓冲存储器12a-12n和13a-13n也可以用指令和数据高速缓冲存储器两部分来实现。
为了减少等待时间,数据处理系统8还包括一个或多个附加级的高速缓冲存储器,例如二级(L2)高速缓冲存储器14a-14n,用于将数据分离到L1高速缓冲存储器12a-12n和13a-13n。换句话说,L2高速缓冲存储器14a-14n起系统存储器18和L1高速缓冲存储器12a-12n和13a-13n之间的中间存储器的作用,通常可以存储比L1高速缓冲存储器12a-12n和13a-13n容量大得多的数据,但需要较长的存储等待时间。例如,L2高速缓冲存储器14a-14n有256或512千字节的存储容量,L1高速缓冲存储器12a-12n和13a-13n有64或128千字节的存储容量。如上所述,虽然图2仅示出了两级高速缓冲存储器,但数据处理系统8的存储体系可以扩大,包括串联连接或后备的高速缓冲存储器的附加级(L3、L4等)。
如图所示,数据处理系统8还包括输入/输出(I/O)装置20、系统存储器18以及非易失性存储器22,每一个都耦合到互连16。I/O装置20包括常规的外围设备,例如显示装置、键盘以及通过常规的适配器连接到互连16的图形指示器。非易失性存储器22存储操作系统和其它的软件,当数据处理系统8上电时上述操作系统和软件装入易失性系统存储器18内。当然,本领域的技术人员应理解数据处理系统可以包括在图2中没有示出的许多其它部件,例如用于连接到网络或附属设备的串口和并口、管理访问到系统存储器18的存储器控制器等。
包括一个系统总线的一个或多个总线的互连16作为管线用于L2高速缓冲存储器14a-14n、系统存储器18、I/O装置20以及非易失性存储器22之间的通信的管线。互连16上的典型通信交易包括指示交易源的源标签、确定交易的指定接受者的目的标签、地址和/或数据。耦合到互连16的每个装置优选侦听互连16上的所有通信交易,以确定装置的一致性是否因为交易而更新。优选提供由每个高速缓冲存储器到互连16的系统总线的外部侦听路径。
通过使用选择的存储器一致性协议,例如MESI协议保持一致的存储器体系。在MESI协议中,一致状态指示的存储与至少所有上级(高速缓冲存储器)存储器的每个一致性区组(例如,高速缓冲存储器线或扇区)相关。每个一致性区组可具有修改(M)、排它(E)、共享(S)或无效(I)这四个状态中的一种,可以由高速缓冲存储器目录中的两位编码。修改的状态表示一致性区组仅在存储修改的一致性区组的高速缓冲存储器中有效,并且修改的一致性区组的值还没有写到系统存储器。当一致性区组表示为排它时,一致性区组在存储体系的级别仅驻留在所有的高速缓冲存储器的具有排它状态的一致性区组的高速缓冲存储器中。然而,在排它状态中的数据与系统存储器中的一致。如果一致性区组在高速缓冲存储器目录中标记为共享,那么一致性区组驻留在相关的高速缓冲存储器和在存储层次的相同级的其它可能的高速缓冲存储器中,一致性区组的所有副本都与系统存储器一致。最后,无效的状态表示与一致性区组相关的数据或地址标签都没有驻留在高速缓冲存储器中。
在SMP系统中数据的每个高速缓冲存储器线(块)优选包括地址标记字段、状态位字段、内含位字段、以及用于存储实际指令或数据的值字段。状态位字段和内含位字段用于在多处理器计算机系统中保持高速缓冲存储器一致性(表示在高速缓冲存储器中存储的值有效)。地址标记为对应存储块的全地址的子集。如果输入为有效状态,地址标记字段内的一个标记与输入的地址相比较后匹配,表示高速缓冲存储器“命中(hit)”。
在保持高速缓冲存储器一致性中,在高速缓冲存储器中进行一次存储之前,直写高速缓冲存储器存储不分配高速缓冲存储器线或增益所有权(MESI协议的E或M状态)。特别是,直写或全存储高速缓冲存储器工作,在处理器写操作期间对高速缓冲存储器和主存储器提供写操作,由此确保高速缓冲存储器的数据和主存储器之间的一致性。为保持高速缓冲存储器的一致性,一致的直写存储必须使处理器上任何有效的高速缓冲存储器线无效,处理来自特定高速缓冲存储器一致点的始发高速缓冲存储器线之外,以确保来自所有处理器的后续负载得到新更新的数据。
通常,总线“侦听”技术用于使来自高速缓冲存储器一致点的高速缓冲存储器线无效。每个高速缓冲存储器优选包括侦听逻辑以进行侦听。只要进行读或写,数据的地址由始发的处理器内核传播到共享一个公用总线的所有其它高速缓冲存储器。每个侦听逻辑单元侦听来自总线的地址,并将地址与用于高速缓冲存储器的地址标记阵列比较。当命中时,侦听响应返回,允许进行进一步的操作,以保持高速缓冲存储器的一致性,例如使命中的高速缓冲存储器线无效。此外,由于高速缓冲存储器有一个第一个必须推出高速缓冲存储器的修改复制或存储防止适当侦听的问题,所以“重试”的侦听响应由高速缓冲存储器的总线侦听逻辑发出。当重试时,始发数据地址的处理器内核将重试读或写操作。
根据为优选实施例备选方案的侦听技术,图1示出了当重试直写存储指令时发生错误的时序图。在该例中,假设SMP结构带有一个处理器内核0和处理器内核1、与每个内核相关的L1高速缓冲存储器以及由两种处理器内核共享的L2高速缓冲存储器。在该例中保持处理器的高速缓冲存储器一致性的点设置在L2高速缓冲存储器。然后对于在图1中没有利用的该例的目的,可以使用附加的处理器内核和高速缓冲存储器的各级。
对于该例,伪码序列为:
处理器内核0 处理器内核1
存储2到A 循环:装载如果A!=2循环
存储3到A
如果进行处理器内核0的存储,但再次进行处理器内核0的存储之前,重试允许继续进行处理器内核1的输入和存储,地址A的所得一致存储状态为2,不正确。
在第一时钟周期60中,显示在时序图中,总线由内核0(内核0 WTST)裁定由此直写存储操作的寻址和数据(RA)传送到L2高速缓冲存储器。此后,在参考数字62,直写存储的数据地址在系统总线上传播到所有的非始发内核(内核1),由此非始发内核侦听数据地址。此外,在相同的周期期间,在参考数字64,数据地址与L2标记阵列比较,以便确定数据的先前版本是否驻留在L2高速缓冲存储器中。在第三周期中,在参考数字66,侦听到的地址和与内核1相关的L1高速缓冲存储器中的L1标记阵列比较。此外,在L2高速缓冲存储器中L2命中返回,如参考数字68所示。此后,通过将写指令写入管线中用于将L2高速缓冲存储器更新为“A=2”,进行L2数据写入,如参考数字70所示。接下来,在第四时钟周期期间,内核1的L1高速缓冲存储器的侦听响应作为重试返回,如参考数字72所示。
注意,特别是通过所述非优选的侦听技术,在表示重试的侦听响应返回之前,直写存储更新L2高速缓冲存储器。由于包括侦听命中处于M状态的扇区和侦听命中排队等待的有效操作的原因,重试返回。当重试被内核1的L1高速缓冲存储器返回时,设置内核0重试直写存储操作。在L2高速缓冲存储器保持了高速缓冲存储器的一致性,所以在将直写操作发送到总线之前,重试在L2高速缓冲存储器中进行直写存储并更新任何较高层的高速缓冲存储器。
当“A!=2”时,处理器内核1在循环中等待。当来自内核0的存储操作写到L2高速缓冲存储器时,即使重试设置在内核0中,内核1裁定装载的总线并传播参考数字74所示的数据地址。接下来,地址与L2高速缓冲存储器的L2标记阵列比较,如参考数字76所示。此后,收到L2高速缓冲存储器命中,如参考数字78所示。最后,进行L2高速缓冲存储器中数据的读取,其中“A=2”,如参考数字80所示。经过延迟周期81之后读取数据,内核1中止循环,进行“将3存储到A”的存储操作。
内核1裁定总线传送直写存储操作,其中传播直写存储的数据地址,如参考数字82所示。接下来,进行L2标记比较,如参考数字84所示。此后,收到L2高速缓冲存储器命中,如参考数字86所示。最后,数据提交到L2高速缓冲存储器的管线作为“A=3”的写入,如参考数字88所示。
由于来自内核1的装载和存储操作裁定局部的总线,延迟内核0“存储2到A”操作的重试直到总线接下来可以使用。内核0重新发出由L2高速缓冲存储器接收的直写存储操作,如参考数字90所示。局部地发送数据地址,由此侦听内核1,如参考数字92所示。此后,在内核1的L1高速缓冲存储器中比较L1标记,如参考数字94所示。接下来,在L2高速缓冲存储器中比较L2标记,如参考数字96所示。高速缓冲存储器命中由L2返回,如参考数字98所示。最后,数据重新写入L2高速缓冲存储器,由此“A=2”显示在参考数字100。
如上所述,如果局部地侦听直写存储并重试存储,裁定总线的另一处理器内核可进行一次装载,参见L2高速缓冲存储器中的更新数据,在原存储接收再次进行的裁定之前进行一次直写存储。第一直写存储将覆盖取决于第一存储的第二存储的数据。
图1中所示问题的一个可能解决方案是延迟L2数据和地址管线,由此数据重试阶段紧跟着提交阶段。要进行所述解决方案,L2读取将与L2写入分开,或L2读取将延迟。在第一种情况中,L2裁定的复杂性将显著增加。在第二种情况中,将2个附加周期添加到所有的L2高速缓冲存储器命中条件,导致不希望的性能损失。
另一解决方案是通过将直写操作的先前状态以寄存器重命名方案使用的类似方式刷新提交的L2更新,这在本领域中是公知的。对于高速缓冲存储器,所述解决方案会增加额外的不希望的复杂性,会降低高速缓冲存储器的速度。
现在参考图3,根据本发明的一个优选实施例,示出了用自侦听技术的直写存储指令的性能的时序图。图3示出了也在图1中示出的处理器操作,然而,在图3中,自侦听用于消除重试造成的错误。内核0发出在L2高速缓冲存储器接收的直写存储操作,由此进行L2高速缓冲存储器裁定,如参考数字110所示。接下来,进行L2标记与L2标记阵列的比较,如参考数字112所示。接下来,接收在L2标记阵列中带标记的高速缓冲存储器命中,如参考数字114所示。由此,写入到L2高速缓冲存储器的数据设置在用于执行的管线中,如参考数字116所示。延迟117之后,在直写存储操作裁定为写入主存储器的系统总线期间,裁定沿系统总线的自侦听,如参考数字118所示。在图1中,高速缓冲存储器一致点是在用于直写存储操作的L2高速缓冲存储器,然而在本实施例中,高速缓冲存储器一致点是在用于直写存储操作的系统总线上。对于高速缓冲存储器一致点在用于直写存储操作的系统总线上,如果在自侦听期间提出重试,那么直写操作根据需要在系统总线上侦听多次,直到没有返回信号返回,不管其它的指令等待。特别是,系统总线包括总线裁定逻辑,确保侦听装置继续访问总线直到直写存储的存储一致在所有的高速缓冲存储器中完成,因此数据可以写入主存储器。
除了自侦听,直写存储操作的局部数据地址沿外部侦听路径传播到非始发内核,如参考数字120所示。此后,进行L1标记与L1标记阵列比较,如参考数字122所示。在下一周期中,L1标记比较的响应返回,如参考数字124所示。如果响应为重试,那么直写存储的地址将继续裁定自侦听的系统总线,直到L1高速缓冲存储器返回非重试响应。
一旦非重试响应返回,内核1裁定局部总线进行一次装载,如参考数字126所示。然后,在另一实施例中,内核1装载不需要等待,直到存储已提交到系统总线不用重试。例如,如果装载在L2高速缓冲存储器中命中并提交,如参考数字116所示的L2数据写入之后开始内核1的装载,不会破坏数据的一致性。此后,进行L2标记与L2标记阵列比较,如参考数字128所示。接下来,在L2标记阵列中带标记的L2命中返回,如参考数字130所示。此后,从L2读取数据,如参考数字132所示。延迟133之后,内核1裁定用于直写存储的局部总线,如参考数字134所示。此后,进行L2标记与L2标记阵列比较,如参考数字136所示。接下来,在L2标记阵列中带标记的L2命中返回,如参考数字138所示。此后,提交L2数据写入,如参考数字140所示。如内核1的直写存储所示,参考数字140所示的L2数据写入之后,直写存储操作将继续到主存储器中要更新的系统总线,由此通过由系统总线进行自侦听保持高速缓冲存储器的一致性。
图4示出了进行直写存储操作过程的高层逻辑流程图。过程开始于方框150,此后进行到方框152。方框152示出了裁定处理器内核和局部总线将直写存储操作的地址发送到高速缓冲存储器的下层。此后,方框154示出了在下层高速缓冲存储器中比较地址与标记阵列。下一方框156示出了确定在下层高速缓冲存储器中是否有带标记的命中。如果在下层高速缓冲存储器中有带标记的命中,那么过程传递到方框158。方框158示出了在低层高速缓冲存储器中数据提交到写入。此后过程传递到方框160。返回到方框156,如果在下层高速缓冲存储器中没有带标记的命中,那么过程传递到方框160。虽然未示出,但在方框154、156和158中示出的过程可以在多级的下层高速缓冲存储器上进行。
方框160示出了将直写存储操作传递到系统总线。接下来,方框162示出了裁定系统总线将直写存储操作发送到存储器并进行系统总线的自侦听。此后,方框164示出了通过外部侦听路径在未经过的高速缓冲存储器中侦听地址。例如,任何未经过的高速缓冲存储器为不提供由始发直写存储操作的处理器内核到系统总线的路径的路径。接下来,方框166示出了在未经过的高速缓冲存储器中比较侦听地址与标记阵列。此后,方框168示出了确定侦听是否返回重试。如果侦听返回重试,那么过程传递到方框162。如果如果侦听不返回重试,那么过程传递到方框170。方框170示出了将直写存储提交到主存储器。此后,方框172示出了将系统总线释放到此后过程返回的下一操作。
虽然参考优选实施例显示和介绍了本发明,但本领域的技术人员应该理解可以对形式和细节进行各种改变而不脱离本发明的精神核范围。例如,替换实施例允许到系统总线请求的管线,由此在等待的请求提交(得到非重试响应)或完成(读取或写入相关的数据)之前,只要以与系统总线上出现的请求相同的顺序提交请求并且也保持数据顺序,那么可以裁定到相同地址作为随后请求等待的请求。
Claims (8)
1.一种在数据处理系统中直写存储操作时保持高速缓冲存储器一致性的方法,其中所述数据处理系统包括耦合到系统总线的多个处理器和存储器体系,其中所述存储器体系包括若干各级高速缓冲存储器,所述方法包括以下步骤:
通过插在所述处理器和所述系统总线之间的高速缓冲存储器,将直写存储操作由一个处理器传送到所述系统总线;
在得到用于所述直写存储操作的高速缓冲存储器命中(cache hit)的所述插入的高速缓冲存储器的任意一个中进行所述直写存储操作;以及
用所述直写操作的数据地址,由所述系统总线的外部侦听路径,侦听没有插在所述处理器和所述系统总线之间的高速缓冲存储器,直到所述直写操作成功由此保持了高速缓冲存储器的一致性。
2.根据权利要求1的在直写存储操作时保持高速缓冲存储器一致性的方法,所述通过插在所述处理器和所述系统总线之间的高速缓冲存储器将直写存储操作由一个处理器传送到所述系统总线的步骤还包括以下步骤:
裁定用于所述处理器的局部总线,将所述直写存储操作的所述数据地址传送到所述插入的高速缓冲存储器。
3.根据权利要求1的在直写存储操作时保持高速缓冲存储器一致性的方法,所述在得到用于所述直写存储操作的高速缓冲存储器命中的所述插入的高速缓冲存储器的任意一个中进行所述直写存储操作的步骤还包括以下步骤:
在所述插入的高速缓冲存储器中将所述直写操作的所述数据地址与各地址标记阵列比较;以及
如果所述数据地址匹配所述地址标记阵列中的任何标记,那么返回高速缓冲存储器命中。
4.根据权利要求1的在直写存储操作时保持高速缓冲存储器一致性的方法,所述用所述直写操作的数据地址由所述系统总线的外部侦听路径侦听没有插在所述处理器和所述系统总线之间的高速缓冲存储器直到所述直写操作成功由此保持了高速缓冲存储器的一致性的步骤还包括以下步骤:
裁定用于所述直写存储操作的所述系统总线;
将所述直写操作的所述数据地址传送到所述系统总线的所述外部侦听路径;
将所述数据地址与没有插在所述处理器和所述系统总线之间的高速缓冲存储器中的各地址标记阵列进行比较;
响应于返回到所述系统总线的任何重试响应,沿所述外部侦听路径保持所述数据地址;以及
响应于返回到所述系统总线的所述侦听,完成所述存储体系的系统存储器内的所述直写存储操作,不需要重试条件。
5.一种在数据处理系统中直写存储操作时保持高速缓冲存储器一致性的系统,其中所述数据处理系统包括耦合到系统总线的多个处理器和存储器体系,其中存储器体系包括若干各级高速缓冲存储器,所述系统包括以下步骤:
通过插在所述处理器和所述系统总线之间的高速缓冲存储器将直写存储操作由一个处理器传送到所述系统总线的装置;
在得到所述直写存储操作的高速缓冲存储器命中的所述插入的高速缓冲存储器的任意一个中进行所述直写存储操作的装置;以及
用所述直写操作的数据地址,由所述系统总线的外部侦听路径,侦听没有插在所述处理器和所述系统总线之间的高速缓冲存储器,直到所述直写操作成功由此保持了高速缓冲存储器的一致性的装置。
6.根据权利要求5的在直写存储操作时保持高速缓冲存储器一致性的系统,通过插在所述处理器和所述系统总线之间的高速缓冲存储器将直写存储操作由一个处理器传送到所述系统总线的所述装置还包括:
裁定用于所述处理器的局部总线的装置,将所述直写存储操作的所述数据地址传送到所述插入的高速缓冲存储器。
7.根据权利要求5的在直写存储操作时保持高速缓冲存储器一致性的系统,在得到所述直写存储操作的高速缓冲存储器命中的所述插入的高速缓冲存储器的任意一个中进行所述直写存储操作的所述装置还包括:
在所述插入的高速缓冲存储器中将所述直写操作的所述数据地址与各地址标记阵列进行比较的装置;以及
如果所述数据地址匹配所述地址标记阵列中的任何标记,那么返回高速缓冲存储器命中的装置。
8.根据权利要求5的在直写存储操作时保持高速缓冲存储器一致性的系统,其中侦听没有插在所述处理器和所述系统总线之间的高速缓冲存储器由所述系统总线的外部侦听路径与所述直写操作的数据地址直到所述直写操作成功由此保持了高速缓冲存储器的一致性的所述装置还包括:
裁定用于所述直写存储操作的所述系统总线的装置;
将所述直写操作的所述数据地址传送到所述系统总线的所述外部侦听路径的装置;
将所述数据地址与没有插在所述处理器和所述系统总线之间的高速缓冲存储器中的各地址标记阵列的装置;
响应于返回到所述系统总线的任何重试响应,沿所述外部侦听路径保持所述数据地址的装置;以及
响应于返回到所述系统总线的所述侦听,完成所述存储器体系的系统存储器内的所述直写存储操作的装置,不需要重试条件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33651699A | 1999-06-18 | 1999-06-18 | |
US09/336,516 | 1999-06-18 | ||
US09/336516 | 1999-06-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1278625A true CN1278625A (zh) | 2001-01-03 |
CN1149494C CN1149494C (zh) | 2004-05-12 |
Family
ID=23316452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB001188542A Expired - Fee Related CN1149494C (zh) | 1999-06-18 | 2000-06-15 | 保持高速缓冲存储器一致性的方法和系统 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2001043133A (zh) |
KR (1) | KR100380674B1 (zh) |
CN (1) | CN1149494C (zh) |
TW (1) | TW548547B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1320464C (zh) * | 2003-10-23 | 2007-06-06 | 英特尔公司 | 用于维持共享高速缓存一致性的方法和设备 |
CN100432969C (zh) * | 2005-09-15 | 2008-11-12 | 国际商业机器公司 | 允许i/o写操作管道化及多操作范围的数据处理系统与方法 |
CN101178691B (zh) * | 2006-11-06 | 2010-10-13 | 国际商业机器公司 | 实施高速缓存一致性的系统和方法 |
CN103460198A (zh) * | 2011-04-04 | 2013-12-18 | 超威半导体公司 | 用于更新无源可变电阻式存储器中的数据的方法和装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788451B2 (en) | 2004-02-05 | 2010-08-31 | Micron Technology, Inc. | Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system |
US7257683B2 (en) | 2004-03-24 | 2007-08-14 | Micron Technology, Inc. | Memory arbitration system and method having an arbitration packet protocol |
GB0623276D0 (en) * | 2006-11-22 | 2007-01-03 | Transitive Ltd | Memory consistency protection in a multiprocessor computing system |
US10970225B1 (en) * | 2019-10-03 | 2021-04-06 | Arm Limited | Apparatus and method for handling cache maintenance operations |
-
2000
- 2000-05-16 TW TW089109357A patent/TW548547B/zh not_active IP Right Cessation
- 2000-06-09 KR KR10-2000-0031588A patent/KR100380674B1/ko not_active IP Right Cessation
- 2000-06-15 CN CNB001188542A patent/CN1149494C/zh not_active Expired - Fee Related
- 2000-06-15 JP JP2000180625A patent/JP2001043133A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1320464C (zh) * | 2003-10-23 | 2007-06-06 | 英特尔公司 | 用于维持共享高速缓存一致性的方法和设备 |
CN100432969C (zh) * | 2005-09-15 | 2008-11-12 | 国际商业机器公司 | 允许i/o写操作管道化及多操作范围的数据处理系统与方法 |
CN101178691B (zh) * | 2006-11-06 | 2010-10-13 | 国际商业机器公司 | 实施高速缓存一致性的系统和方法 |
CN103460198A (zh) * | 2011-04-04 | 2013-12-18 | 超威半导体公司 | 用于更新无源可变电阻式存储器中的数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1149494C (zh) | 2004-05-12 |
JP2001043133A (ja) | 2001-02-16 |
TW548547B (en) | 2003-08-21 |
KR20010015008A (ko) | 2001-02-26 |
KR100380674B1 (ko) | 2003-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5551005A (en) | Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches | |
US5155832A (en) | Method to increase performance in a multi-level cache system by the use of forced cache misses | |
US5751995A (en) | Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively | |
CN101097544B (zh) | 虚拟化事务存储器的全局溢出方法 | |
US8706973B2 (en) | Unbounded transactional memory system and method | |
US5095424A (en) | Computer system architecture implementing split instruction and operand cache line-pair-state management | |
US6199144B1 (en) | Method and apparatus for transferring data in a computer system | |
EP0514024B1 (en) | Method and apparatus for an improved memory architecture | |
US7707393B2 (en) | Microprocessor with high speed memory integrated in load/store unit to efficiently perform scatter and gather operations | |
JP3431824B2 (ja) | アクセス方法及び処理装置 | |
JP3285644B2 (ja) | キャッシュメモリを有するデータプロセッサ | |
CN1279456C (zh) | 局部化高速缓存块刷新指令的方法、编译器和系统 | |
CN101470629A (zh) | 用于在事务性存储器系统中实现强原子性的机制 | |
JPH10283261A (ja) | キャッシュ・エントリの予約処理方法及び装置 | |
JPH0619786A (ja) | キャッシュコヒーレンスを維持する方法及び装置 | |
US7051163B2 (en) | Directory structure permitting efficient write-backs in a shared memory computer system | |
US20040068624A1 (en) | Computer system supporting both dirty-shared and non dirty-shared data processing entities | |
US5155828A (en) | Computing system with a cache memory and an additional look-aside cache memory | |
US5293602A (en) | Multiprocessor computer system with dedicated synchronizing cache | |
US20060149940A1 (en) | Implementation to save and restore processor registers on a context switch | |
CN1149494C (zh) | 保持高速缓冲存储器一致性的方法和系统 | |
KR20060102565A (ko) | 라이트 백 캐시 내에서 동시 발생하는 스누프 푸시 또는스누프 킬 연산중에 라이트 백 연산을 취소하는 시스템 및방법 | |
US6704833B2 (en) | Atomic transfer of a block of data | |
EP0271187B1 (en) | Split instruction and operand cache management | |
US20040064643A1 (en) | Method and apparatus for optimizing line writes in cache coherent systems |
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 |