CN1099644C - 在一个多处理器系统中进行相关性报告方法和装置 - Google Patents
在一个多处理器系统中进行相关性报告方法和装置 Download PDFInfo
- Publication number
- CN1099644C CN1099644C CN96121853A CN96121853A CN1099644C CN 1099644 C CN1099644 C CN 1099644C CN 96121853 A CN96121853 A CN 96121853A CN 96121853 A CN96121853 A CN 96121853A CN 1099644 C CN1099644 C CN 1099644C
- Authority
- CN
- China
- Prior art keywords
- bus
- response
- correlativity
- equipment
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- 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/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
Abstract
一个信息处理系统,包括多个总线设备,通过一总线耦合到至少一个存储设备。一个总线上的一个第一设备(“请求设备”)发出一个要得到数据和相关性信息的请求,并在一指定的相关性响应期间内监视相关性响应信息。一个第二设备(“响应设备”)在该指定的相关性响应期间内发送第一个信号指明相关性信息将在第二期间内返回,并在第二期间内发送一个第二信号以向请求设备提供相关性信息。
Description
技术领域
本发明一般地涉及数据处理系统,具体地,涉及在一个多处理器系统中提供相关性信息的系统和方法。
背景技术
在一个具有通过一共享总线耦合到一个存储器系统的多个总线设备的多处理器系统中,某一总线设备发出一个操作,例如一个读操作,以请求存放在存储器系统中某一特定部位的数据。在使用“监听”总线设备的系统中,一个耦合到共享总线的总线设备监听这操作以确定该操作是否与包含在该总线设备的高速缓冲存储器中的数据有关。这常称为“相关性检验”。这种相关性检验可保证无论当时存储器系统或某一总线设备是否持有最新版本的数据,送到发出申请的设备的数据总是最新的和正确的。
当一个总线设备在共享总线上发出一个总线请求时,可能向该设备送回几种类型的报告。送回到发出请求的总线设备的信息中一部分报告所请求的数据的相关性,即哪一个设备拥有所请求的数据的正确版本。如在相关的申请“一个多处理器系统的双等待状态和相关性报告”,序号08/316,980(HQ9-94-033)中所叙述的,一个响应时间窗(“地址响应窗”)可以用于相关性报告。此时间窗也称为相关性响应窗,它位于地址和请求码后面一个可设置的时钟周期数内,以允许由于要在其他各总线设备中查阅高速缓冲存储器目录而造成的校长的等待时间。
如果不能立即得到相关性信息使之在允许的地址响应窗内返回,则需要将返回响应的时间窗延长。例如,在非一致存储器存取型(NUMA)的系统中或在开关存储器目录型的系统中就有这种必要,因为在这类系统中,并不总是能在本地监听总线上得到相关性信息,读请求必须转送到另一个总线或存储器目录系统。(在NUMA结构中,处理系统只有本地总线的存储器,在存储器目录结构中,处理器系统只有不属于任何局部总线的全局存储器。)在相关的申请“用于设备之间互相通信的系统和方法”,序号08/298,873(HQ9-94-017)中叙述了一种用于延长相关性响应窗的协议。
发明内容
本发明的目的之一是改善当读出的数据从一个非本地的总线转送到发请求的处理器时的相关性报告的性能。这种情况在NUMA或基于存储器目录的系统中都会发生。
本发明的另一个目的是改善这种读操作而不在原来已经规定的协议中增加硬件信号。
为了达到这些目的,作为对一个要得到位于非本地源的数据的读请求的响应,如果该读请求被接受了(即还没有对该读操作响应而发出再试(Retry)信号),就返回某种相关性响应,所请求的数据就从非本地源得到,而且当数据转送到请求设备时,某一信号表征该数据的相关状态。
本发明的一个实施例的另一种方案,相关性状态可能表示为“共享的(shared)”或“专用的(exclusive)”。
本发明的一个优点是能够将相关性响应窗扩展,而发请求的设备不必等待一个“重做”操作响应,然后再重新发出一个读操作。这将在NUMA或存储器目录型系统中显著地减小对非本地数据的读操作的等待时间。因为读操作是所有总线操作的主要部分,这可以显著地提高系统的性能。
上文较广泛地概述了本发明的特征和技术优点,使下面关于本发明的详细说明可以得到较好的理解。其后将说明本发明的其他特征和优点,这部分构成本发明的权利要求的内容。
附图说明
为了对本发明及其优点有较完整的认识,请结合各附图参阅本发明的一个或多个实施例的说明。
图1为一系统方块图,表示多个共享局部总线。
图2为该系统中一个局部总线的方块图。
图3一般地说明使用一个流程控制状态响应时间间隔和一个相关性信息响应时间间隔的操作。
图4表示一个重做(ReRun)操作,它提供了一种扩展相关性信息响应时间间隔的方法。
图5表示一个RemStat操作,它也提供了一种扩展相关性信息响应时间间隔的方法。
图6a、图6b和6c为说明使用扩展的相关性信息响应时间间隔的操作的流程图。
具体实施方式
为了清楚地指出本发明的一些新颖的特点,在下面的讨论中将省略或仅简要地说明信息处理系统中那些对本领域的专家来说是显而易见的普通的特点。假定本领域的专家都熟悉多用户、多处理器操作系统,特别是这种操作系统对存储器管理的要求,包括虚拟存储、处理器调度、进程和处理器的同步装置、消息传递、普通设备驱动程序、终端和网络支持、系统初始化、中断管理、系统调用设备、以及管理设备等。
现在参见图1说明一个便于实施本发明的数据处理系统。多处理系统100包括一些局部系统总线108.1、108.2等,每一个局部系统总线,例如总线108.1上有一些处理单元102.1、104.1、106.1等,还有一个处理器节点控制器(或“总线适配器”)130.1与其相连。(当提到几个有相似的编号的单元例如系统总线108.1、108.2等时,这些单元可以整体地或单个地提及而不带后缀,例如“各系统总线108”或“某一系统总线108”)。各处理单元102、104、106等可以包括一个处理器和一个高速缓冲存储设备,但在这里可以简单地称为一个“处理器”。如果有局部存储器的话,节点控制器130包括一个在该局部总线上的系统存储器110用的目录。系统总线108通过一个节点控制器130耦合到一个互连装置140,节点控制器130在NUMA结构中将总线108连到其他各总线108,而在存储器目录结构中借助它们所包含的目录连到存储单元150。
现在参阅图2,一个局部系统总线108可操作地连到一些处理单元102,104,106直到处理单元N。系统存储器110也连到该系统总线108。在这例示的实施例中,系统总线108除其他装置外还包括一个5位的传输类型(“TT”)总线221、一个64位的地址总线222、一个128位的数据总线224,一个8位数据标志(“DTag”)总线226、一个6位地址响应(“AResp”)总线227以及一个1位的高速缓冲存储器数据(“DCache”)总线228。系统单元102-110在节点控制器130的控制下运行,后者通过点到点的连线(图中未示出)与连到系统总线108上的各单元102-110相互通信。节点控制器130在132处耦合到其他各总线及设备(见图1)。这样,参阅图1,一个耦合到局部的系统总线108.1的处理器102.1可以通过节点控制器130.1与局部总线108.1以外的设备通信,例如耦合到其局部总线108.2的处理器102.2,耦合到局部总线108.3的存储器110.3,以及耦合到互连设备140的存储器150.1等。
访问总线108的各种请求和允许都是由节点控制器130控制的。总线设备之一,例如处理器102,可以通过一个点对点的连接(图中未示出)请求节点控制器允许它在总线108上进行一个操作。当得到从控制器130来的总线允许后,处理器102就将一个地址,包括用来标识处理器102为请求设备的操作标志发到总线108上。
为尽量增加总线上所挂的设备数和总线频率,并允许以CMOS逻辑器件直接挂到总线108上,从总线设备发出的各种状态和相关性响应信号都是从每一个总线设备单向地驱动入一个公共的收集点,例如节点控制器130,它把所有的响应组合起来,然后将组合响应返回到每一个请求总线的设备。节点控制器130也收集关于位于请求设备102的总线108以外的远程存储器150或存储器110的相关性信息。因为各总线设备可能给出不同响应信号,节点控制器130的组合逻辑也把各个响应按优先级排队。这些优先级在这里叙述的表中已示出。
参阅图3,处理器102可以把地址A发送到总线108上。经过一个固定的时间后,状态信息,即流程控制和错误状态将在流程控制状态响应窗A(标为“状态A”)期间内返回到处理器102。处理器102还可以等待另一个固定的但可设置的相关性信息时间量。从系统100内的各种其他总线设备发出的相关性信息也可以由节点控制器130在地址响应窗A(标为“监听A”)期间内通过AResp总线227返回到处理器102。这种作为其他总线设备的典型的监听操作的结果而产生的相关性信息向处理器102表明所请求的数据的最新版本位于何处。例如,如果处理器104确定它具有以改写的形式存在的所请求的数据,它就将通知处理器102它具有所请求的数据的最新版本而系统存储器110并不具有最新的版本。把地址响应窗放在发地址和请求码后一个可设置的时钟周期数内允许有不同的而且较长的访问时间以便在系统100的各个不同总线设备中查找高速缓冲存储器目录。
表A举例列出了在一个可行实施例中相关性消息的编码。
表A:
监听(相关性)消息编码 | 优先级 | 定义 |
000 | 保留 | |
001 | 保留 | |
010 | 5 | RemStat |
011 | 3 | 重做 |
100 | 1 | 再试 |
101 | 2 | 改写 |
110 | 4 | 共享 |
111 | 5 | 空或清(非改写或共享) |
注意,表中包含了返回的相关性消息的优先级。系统控制器130首先接受从各个总线设备来的返回消息,再利用这种优先级确定应该将其中哪一个返回消息送到处理器102。例如,如果总线设备l04返回一个“改写(Modified)”消息,优先级为2(见表A),而总线设备106返回一个优先级为3的“重做(ReRun)”消息,这时控制器130就可能将“Modified”相关性响应消息发送出去。
表A中有三种响应可以解决在不扩展的地址响应窗期间内的相关性问题。Modified响应用来向发请求的设备,例如处理器单元102表明在某一本地处理器单元104、106等中的高速缓冲存储器中存有一个改变过的缓冲数据。Shared响应表明数据存在在一个或多个本地高速缓冲存储器中,但没有改变过。Null响应表明数据既不在本地高速缓冲存储器中也不在远程高速缓冲存储器中,而是在一个本地存储器中。
表A的另外三种响应扩展了地址响应窗。Retry响应用于指示相关性碰撞,请求设备应在其后重新发出该操作。当离开本地总线时,要使用ReRun响应和RemStat响应。
图4和图5表示在T1、T2等时间间隔内在系统总线108中的各总线上建立的各种信号。在图4以及图5中,所表示的各时间间隔不必要以持续时间或其间的间隔时间来标度。
图4表示由一个ReRun响应引起的扩展地址响应窗的执行过程。在T1时刻,一个处理器,例如处理器102,发出一个要求相关性信息的读操作,包括它在TT总线221上放置一个读信号以及在地址总线222上给出一个地址和标志。在读请求之后某一预置的地址响应窗期间(时间间隔T2)内,节点控制器130在AResp总线227上设置一个ReRun信号。ReRun响应表明节点控制器130将在以后再发一个ReRun请求,这使发请求的设备102在此之前可以从作进一步动作以得到相关性信息的任务中解脱出来。一旦从非本地的数据源得到相关性信息,控制器130在T3时刻在DTag总线226上设置原来由请求设备102建立的动作标志,并在TT总线221上建立ReRun请求,以此向请求设备102发ReRun请求。作为对控制器130的响应,处理器102在T4时再次发出读操作,同时也将地址总线222上的某一位(“R位”)置位,控制器130在预置的地址响应窗(时间间隔T5)期间在AResp总线227上放置相关性信息。当得到所请求的数据后,在读数期间(时间间隔T6)内,在DTag总线上的动作标志置位,数据被放置到数据总线224上。
图5表示由一个RemStat响应信号引起的扩展地址响应窗的执行过程。在T1时刻,一个处理器,例如处理器102,发出一个要求相关性信息的读操作,包括它在TT总线221上放置一个读信号以及在地址总线222上给出一个地址和标志。在读请求之后某一预置的地址响应窗(时间间隔T2)内,节点控制器130在AResp总线227上设置一个RemStat信号。RemStat响应表明系统控制器130将在以后向发请求的处理器102返回所请求的数据以及数据的相关性信息,使发请求的设备102从作进一步的动作以得到相关性信息的任务中解脱出来,也大地减小了等待时间。
如相关的美国专利申请“在一个具有交错高速缓冲存储器的系统中确定数据源的系统和方法”,序号08/317,256(H29-94-034)所述,在本发明之前,DCache总线用来传送DCache信号以表明数据是从一个交错高速缓冲存储设备而不是从系统存储器传送来的,而且在这种情况下已由高速缓冲存储设备驱动。因为当进行非本地总线的读操作时,对这样的高速缓冲存储器交错,DCache信号并不置位,因而根据本发明能够用来传送相关性信息。
当处理器102有一个挂起的请求,例如请求读某一数据,处理器102在每个时钟周期监视DTag总线。一旦节点控制器130得到了所请求的数据及其相关性信息,节点控制器130将DTag总线226上标识请求设备的各动作标志信号置位,还把各数据信号放置在数据总线224上,将相关性信息信号放在DCache总线228。在优选的实施例中,标志,数据和相关性信息都是在同一时钟周期(时间间隔T3)建立的。在发出动作标记的周期(即时间间隔T3),处理器102检测到DTag的标记,并作出响应,把数据总线224上的数据信号以及DCache总线上的相关性信号读入,不必经受等待从节点控制器130发出的ReRun操作,然后发出一个附加的请求并等待一个地址响应窗以读出所请求的信息这一过程所引起的等待时间。
现在参阅图6A到6B,它表示信息处理系统100所进行的操作的流程图。具体地说,图6A和6B的流程图表示由优选实施例中处理器节点控制器130等总线设备进行的操作。图6A和6B所示的操作不一定要按所示的顺序进行。对图6A,操作从框400开始并进入框402,在这里控制器130分析那些指向局部总线108以外的总线操作。例如对处理器102.1,总线108.1是本地的,这样,处理器102.1要从位于总线108.2上的存储器110.2或从存储器150读取数据的操作将是一个指向局部总线108.1以外的总线操作。
然后,这一总线操作将继续进入判断框404,如果不要求相关性响应,则控制器130逻辑转移到框406,(在这种情况下,对本发明来说分析过程就已经完成,见框408)。如果要求相关性响应,则转移到框410。
根据框410的判定,控制器130逻辑转移到框412做读操作,或转移到框414做其他操作。对读操作,控制器130在正常的地址响应窗内向请求设备返回一个RemStat响应(框412)。对非读操作,控制器130在正常的地址响应窗内向请求设备返回一个ReRun响应(框414)。然后控制器130将请求设备产生的关于本操作的标志保存起来(框416),从而完成操作的本阶段的分析(框418)并把操作转送到一个远程总线存储器。
如图6B所示,当控制器130逻辑接收到一个信号表明远程操作已经结束(框430),它就接下去判断该操作是否为一个读操作(框432)并相应地进行转移。如果是读操作(框434)则控制器130把数据和原有的标志一起返回。如果相关性状态为Shared,则控制器130在发出数据和DTag信号的同时也在Dcache总线上建立一个信号。为表示一个空的(Null)相关性状态,则不在DCache总线上建立信号。就本实施例而言,控制器130为返回一个外部读操作所做的响应就完成了(框436)。为返回一个不是读的外部操作,控制器130发出一个ReRun请求并建立各DTag信号(框438)。然后,当原请求设备再次发出该非读操作并在地址总线上建立R位信号以表明这是重做的返回操作时,控制器130在正常地址响应窗内返回相关性响应信号(框440)。然后如果该操作是一个“读并准备改写(RWITM)”(框442),则控制器130在数据总线224上发出数据信号并把DTag总线226上的标志置位(框444),从而从本实施例的角度看完成了该操作。
现在参阅图6c,它表示消息处理系统100所进行的附加操作的流程图。具体地,图6c中的流程图说明由一个总线主设备,例如本可行实施例中的处理器102所进行的操作。图6c中所示的操作不一定要按照所指出的顺序执行。
如框460所示,主设备102发出一个读操作并接收一个相关性响应。然后主设备102判定所接收到的相关性响应的类型。如果响应表明所请求的数据为一“共享(Shared)”状态(框462),这意味着数据是在本地总线108上的存储器110中,也在该总线108的其他处理器104、106等的高速缓冲存储器中,但是在高速缓冲存储器中的数据还没有改动过。因此,主设备102等待那些为主设备102标志的数据,并在高速缓冲存储器中标记这些数据为共享的(框464)。在这种情况下,就现在进行的说明而言,主设备的处理过程就结束了(框466)。
如果响应表明为“改写(Modified)”状态(框468),这意味着数据在本地总线108上的存储器110中,也在本地总线108上的其他处理器104、106等的高速缓冲存储器中,而且在高速缓冲存储器中的数据已经改写过。因此,主设备102等待带有它的标志的数据(框470)。在这种情况下,对读请求的响应将来自一个高速缓冲存储器以及另一个存储器110,首先接收到的数据将取决于存储器110和高速缓冲存储器之间的竞争。所以,为了保证所用的数据的准确性,主设备102等待高速缓冲存储器的带标记的数据版本,它和置位的Dcache信号一起返回。然后主设备在高速缓冲存储器中标志该数据为“共享(Shared)”的(框470),就本说明而言,操作结束。
如果响应表明为“空(Null)”状态(框472),这意味着数据只存在本地总线108上的存储器110中。因此,主设备102等待带标志的数据,然后在高速缓冲存储器中把数据标记为“专用(exclusive)”的(框474),就本说明而言,操作结束(框466)。
如果响应表明为“Remstat”状态(框476),这意味着数据既不在本地总线的存储器110中也不在本地的高速缓冲存储器中。因为在这种情况下,请求设备102将只有通过处理器节点控制器130才能接收到响应,在本地存储器110和本地高速缓冲存储器之间将没有竞争。所以不必要再返回一个“改写(Modified)”型相关性响应,只剩下“专用(exclusive)”状态或“共享(Shared)”状态为必要的相关性响应,这样,相关性响应可以作为一个数字逻辑信号在一根单线上建立。相应地,主设备102等待带标志的数据,如果标志的数据和置位的DCache信号一起返回,则主设备102在高速缓冲存储器中把数据标记为“共享(Shared)”的,否则标记为“专用(exclusive)”的(框478)并结束操作(框466)。
如果主设备102判定响应并不是“RemStat″状态,它就再判定是否为”ReRun″状态(框480)。如果是“ReRun”状态,主设备把R位和标志置位并重新发读信号(框482),否则主设备重发读操作但R位不置位(框484)。
虽然已经对本发明及其优点作了详细的说明,应该理解到此中还能够作各种改变、替代和交换而不偏离所附的权利要求中规定的本发明的本质和范围。
Claims (22)
1.在一个包括多个总线设备的信息处理系统中,所述多个总线设备通过一组总线耦合到至少一个存储器设备,一种方法包括:
由第一设备在一个总线上发出一个获得数据和相关性信息的请求;
在一个指定的相关性响应期间内监测所请求的相关性信息;
在指定的相关性响应期间内由第二设备送出第一个信号以表明相关性信息将在第二个期间内返回;以及
在第二个期间内送出第二个信号以向第一设备提供相关性信息。
2.权利要求1中的方法,其特征是用比发送第一个信号少的总线数来发送第二个信号。
3.权利要求2中的方法,其特征是至少部分地用建立一个标志和所请求的数据来标识第二个期间。
4.权利要求3中的方法,其特征是只在单根线上传送第二个信号。
5.权利要求4中的方法,其特征还在于第一个信号在第一个总线上发送,第二个信号在第二个总线上发送。
6.权利要求1中的方法,其特征是消除了至少一种由第二设备发出的可能的相关性响应。
7.权利要求6中的方法,其特征是一种改写型相关性响应被消除了。
8.权利要求6中的方法,其特征是一种再试型相关性响应被消除了。
9.权利要求6中的方法,其特征是一种重做型相关性响应被消除了。
10.权利要求1中的方法,其特征还在于把各种可能的相关性响应减少到只剩二种由第二设备发出的相关性响应,发送第二个信号还包括发送二种剩下的相关性响应之一种。
11.在一个包括多个总线设备的信息处理系统中,所述多个总线设备通过一组总线耦合到至少一个存储器设备,一种方法包括:
由耦合到一组总线的一个第一设备发出一个总线操作,该总线操作指向至少一个不直接耦合到所述总线上的设备,在总线操作中还包括由第一设备建立的某个标志;
第二设备检查各总线操作;
作为对指向存在于所述至少一个设备中的数据的读请求的响应,在一指定的相关性响应期间内由第二设备在所述总线中的一个总线上发出第一个相关性响应;
向所述至少一个设备发出读请求;
从所述至少一个设备接收所请求的数据;
在所述总线中的一个总线上建立标志、所请求的数据以及第二个相关性响应;
在一个第二时间内由所述第一设备读出所请求的数据以及相关性信息。
12.权利要求11中的方法,其特征还在于第一个相关性响应是在一些总线上传送的,而第二相关性响应是在比第一相关性响应少的总线条数上传送的。
13.权利要求12中的方法,其特征还在于所述第二时间至少部分地由在从所述至少一个设备接收到所请求的数据和相关性响应后建立标志和所请求的数据的第二设备启动的。
14.一个信息处理系统,它包括:
多个总线设备,每个总线设备包括一个或多个处理器;
至少一个存储设备;
一个耦合所述多个总线设备和所述存储设备的总线;
由第一设备在总线上发出请求以得到数据和相关性信息的装置;
由第一设备在一个指定的相关性响应期间内监视相关性信息的装置;
由第二设备在指定的相关性响应期间发送第一相关性响应以表明相关性信息将在第二期间返回的装置;以及
在第二期间内发送第二相关性响应以向第一设备提供相关性信息的装置。
15.权利要求14所述的系统,其特征是第一个相关性响应是在一定线数上传送的,而第二相关响应是在比第一相关响应少的总线条数上传送的。
16.权利要求15所述的系统,其特征是第二期间至少部分地由所请求的数据及一个与该请求相关的标志来标识的。
17.权利要求16所述的系统,其特征是第二相关性响应只在单根线上传送。
18.权利要求14所述的系统,其特征还包括对第二相关性响应减少至少一种可能的相关性响应的装置。
19.权利要求18所述的系统,其特征是减少响应装置消除了一种“改写”型相关性响应。
20.权利要求18所述的系统,其特征是减少响应装置消除了一种“再试”型相关性响应。
21.权利要求18所述的系统,其特征是减少响应装置消除了一种“重做”型相关性响应。
22.权利要求14所述的系统,其特征还包括把可能的相关性响应减少到只剩二种由第二设备发出的相关性响应的装置,以及发送第二相关性响应的装置,发送所剩下的相关性响应之一。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US573092 | 1995-12-15 | ||
US08/573,092 US5673413A (en) | 1995-12-15 | 1995-12-15 | Method and apparatus for coherency reporting in a multiprocessing system |
US573,092 | 1995-12-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1157440A CN1157440A (zh) | 1997-08-20 |
CN1099644C true CN1099644C (zh) | 2003-01-22 |
Family
ID=24290613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN96121853A Expired - Fee Related CN1099644C (zh) | 1995-12-15 | 1996-12-04 | 在一个多处理器系统中进行相关性报告方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5673413A (zh) |
EP (1) | EP0779583B1 (zh) |
JP (2) | JP3529566B2 (zh) |
KR (1) | KR100241644B1 (zh) |
CN (1) | CN1099644C (zh) |
DE (1) | DE69628127T2 (zh) |
TW (1) | TW401542B (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5860120A (en) * | 1996-12-09 | 1999-01-12 | Intel Corporation | Directory-based coherency system using two bits to maintain coherency on a dual ported memory system |
US5996049A (en) * | 1997-04-14 | 1999-11-30 | International Business Machines Corporation | Cache-coherency protocol with recently read state for data and instructions |
US6055608A (en) * | 1997-04-14 | 2000-04-25 | International Business Machines Corporation | Method and system for speculatively sourcing cache memory data within a multiprocessor data-processing system |
US6026448A (en) * | 1997-08-27 | 2000-02-15 | International Business Machines Corporation | Method and means for exchanging messages, responses and data between different computer systems that require a plurality of communication paths between them |
US6067611A (en) * | 1998-06-30 | 2000-05-23 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that buffers potential third node transactions to decrease communication latency |
WO2000007103A1 (de) * | 1998-07-30 | 2000-02-10 | Siemens Aktiengesellschaft | Bus-steuereinheit zur unterstützung einer programmablauf-überwachung in sternstrukturen, dazugehöriges programmablauf-überwachungssystem sowie verfahren zur programmablauf-überwachung |
US6085293A (en) * | 1998-08-17 | 2000-07-04 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that decreases latency by expediting rerun requests |
US6145032A (en) * | 1998-09-21 | 2000-11-07 | International Business Machines Corporation | System for recirculation of communication transactions in data processing in the event of communication stall |
US6546429B1 (en) * | 1998-09-21 | 2003-04-08 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that holds and reissues requests at a target processing node in response to a retry |
US6081874A (en) * | 1998-09-29 | 2000-06-27 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect |
US6067603A (en) * | 1998-10-01 | 2000-05-23 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect |
US6108764A (en) * | 1998-12-17 | 2000-08-22 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system with multiple caches concurrently holding data in a recent state from which data can be sourced by shared intervention |
US6490661B1 (en) | 1998-12-21 | 2002-12-03 | Advanced Micro Devices, Inc. | Maintaining cache coherency during a memory read operation in a multiprocessing computer system |
US6631401B1 (en) | 1998-12-21 | 2003-10-07 | Advanced Micro Devices, Inc. | Flexible probe/probe response routing for maintaining coherency |
US6370621B1 (en) | 1998-12-21 | 2002-04-09 | Advanced Micro Devices, Inc. | Memory cancel response optionally cancelling memory controller's providing of data in response to a read operation |
US6275905B1 (en) * | 1998-12-21 | 2001-08-14 | Advanced Micro Devices, Inc. | Messaging scheme to maintain cache coherency and conserve system memory bandwidth during a memory read operation in a multiprocessing computer system |
US6115804A (en) * | 1999-02-10 | 2000-09-05 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that permits multiple caches to concurrently hold data in a recent state from which data can be sourced by shared intervention |
US6269428B1 (en) * | 1999-02-26 | 2001-07-31 | International Business Machines Corporation | Method and system for avoiding livelocks due to colliding invalidating transactions within a non-uniform memory access system |
US6467012B1 (en) * | 1999-07-08 | 2002-10-15 | International Business Machines Corporation | Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors |
US6442597B1 (en) * | 1999-07-08 | 2002-08-27 | International Business Machines Corporation | Providing global coherence in SMP systems using response combination block coupled to address switch connecting node controllers to memory |
US6779036B1 (en) * | 1999-07-08 | 2004-08-17 | International Business Machines Corporation | Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system |
US6480973B1 (en) * | 1999-09-30 | 2002-11-12 | Bull Information Systems Inc. | Gate close failure notification for fair gating in a nonuniform memory architecture data processing system |
US6654837B1 (en) * | 1999-12-28 | 2003-11-25 | Intel Corporation | Dynamic priority external transaction system |
US6757793B1 (en) | 2000-03-29 | 2004-06-29 | Advanced Micro Devices, Inc. | Reducing probe traffic in multiprocessor systems using a victim record table |
FR2832859B1 (fr) * | 2001-11-28 | 2004-01-09 | Commissariat Energie Atomique | Generateur electrochimique au lithium comprenant au moins une electrode bipolaire avec substrats conducteurs en aluminium ou alliage d'aluminium |
US8055492B2 (en) * | 2002-01-10 | 2011-11-08 | International Business Machines Corporation | Non-unique results in design verification by test programs |
US7085898B2 (en) * | 2003-05-12 | 2006-08-01 | International Business Machines Corporation | Coherency management for a “switchless” distributed shared memory computer system |
US6988173B2 (en) * | 2003-05-12 | 2006-01-17 | International Business Machines Corporation | Bus protocol for a switchless distributed shared memory computer system |
JP2005057738A (ja) * | 2003-07-18 | 2005-03-03 | Canon Inc | 信号処理装置、信号処理方法及びプログラム |
JP4507563B2 (ja) * | 2003-11-10 | 2010-07-21 | 株式会社日立製作所 | マルチプロセッサシステム |
US20070079074A1 (en) * | 2005-09-30 | 2007-04-05 | Collier Josh D | Tracking cache coherency in an extended multiple processor environment |
JP4335298B2 (ja) | 2006-02-24 | 2009-09-30 | 富士通株式会社 | スヌープ制御方法および情報処理装置 |
JP4609521B2 (ja) | 2008-04-21 | 2011-01-12 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
CN103795770B (zh) * | 2012-10-26 | 2017-07-04 | 伊姆西公司 | 在网络基础设施中提供高速缓存服务的方法和装置 |
CN103631534B (zh) * | 2013-11-12 | 2017-01-11 | 北京兆芯电子科技有限公司 | 数据存储系统以及其管理方法 |
US10747298B2 (en) | 2017-11-29 | 2020-08-18 | Advanced Micro Devices, Inc. | Dynamic interrupt rate control in computing system |
US10503648B2 (en) | 2017-12-12 | 2019-12-10 | Advanced Micro Devices, Inc. | Cache to cache data transfer acceleration techniques |
US11210246B2 (en) | 2018-08-24 | 2021-12-28 | Advanced Micro Devices, Inc. | Probe interrupt delivery |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297269A (en) * | 1990-04-26 | 1994-03-22 | Digital Equipment Company | Cache coherency protocol for multi processor computer system |
US5406504A (en) * | 1993-06-30 | 1995-04-11 | Digital Equipment | Multiprocessor cache examiner and coherency checker |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5530933A (en) * | 1994-02-24 | 1996-06-25 | Hewlett-Packard Company | Multiprocessor system for maintaining cache coherency by checking the coherency in the order of the transactions being issued on the bus |
US5682516A (en) * | 1994-03-01 | 1997-10-28 | Intel Corporation | Computer system that maintains system wide cache coherency during deferred communication transactions |
JP3660679B2 (ja) * | 1994-03-01 | 2005-06-15 | インテル・コーポレーション | 高度パイプライン式バス・アーキテクチャ |
US5557769A (en) * | 1994-06-17 | 1996-09-17 | Advanced Micro Devices | Mechanism and protocol for maintaining cache coherency within an integrated processor |
US5548797A (en) * | 1994-10-03 | 1996-08-20 | International Business Machines Corporation | Digital clock pulse positioning circuit for delaying a signal input by a fist time duration and a second time duration to provide a positioned clock signal |
-
1995
- 1995-12-15 US US08/573,092 patent/US5673413A/en not_active Expired - Fee Related
-
1996
- 1996-06-26 TW TW085107704A patent/TW401542B/zh not_active IP Right Cessation
- 1996-10-14 KR KR1019960045652A patent/KR100241644B1/ko not_active IP Right Cessation
- 1996-11-07 JP JP29541996A patent/JP3529566B2/ja not_active Expired - Fee Related
- 1996-11-22 DE DE69628127T patent/DE69628127T2/de not_active Expired - Fee Related
- 1996-11-22 EP EP96308460A patent/EP0779583B1/en not_active Expired - Lifetime
- 1996-12-04 CN CN96121853A patent/CN1099644C/zh not_active Expired - Fee Related
-
2003
- 2003-05-15 JP JP2003136734A patent/JP3832833B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297269A (en) * | 1990-04-26 | 1994-03-22 | Digital Equipment Company | Cache coherency protocol for multi processor computer system |
US5406504A (en) * | 1993-06-30 | 1995-04-11 | Digital Equipment | Multiprocessor cache examiner and coherency checker |
Also Published As
Publication number | Publication date |
---|---|
JP2004005657A (ja) | 2004-01-08 |
EP0779583A3 (en) | 1999-03-24 |
EP0779583A2 (en) | 1997-06-18 |
DE69628127D1 (de) | 2003-06-18 |
JP3529566B2 (ja) | 2004-05-24 |
JP3832833B2 (ja) | 2006-10-11 |
CN1157440A (zh) | 1997-08-20 |
US5673413A (en) | 1997-09-30 |
KR970049647A (ko) | 1997-07-29 |
JPH09204405A (ja) | 1997-08-05 |
EP0779583B1 (en) | 2003-05-14 |
TW401542B (en) | 2000-08-11 |
KR100241644B1 (ko) | 2000-02-01 |
DE69628127T2 (de) | 2004-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1099644C (zh) | 在一个多处理器系统中进行相关性报告方法和装置 | |
JP3729891B2 (ja) | マルチプロセッサコンピュータシステム | |
CN1276362C (zh) | 用于多处理器系统中的片上数据传输的方法和系统 | |
US8176259B2 (en) | System and method for resolving transactions in a cache coherency protocol | |
KR950033893A (ko) | 데이타 처리 시스템 | |
US7028150B2 (en) | Arrangement of data within cache lines so that tags are first data received | |
CN105095254B (zh) | 一种实现数据一致性的方法及装置 | |
US6662216B1 (en) | Fixed bus tags for SMP buses | |
US6282673B1 (en) | Method of recording information system events | |
EP1288785A2 (en) | Method and interface for improved efficiency in performing bus-to-bus read data transfers | |
CN112437160B (zh) | 一种基于redis实现大文件实时传输处理方法及系统 | |
JPH07152647A (ja) | 共有メモリマルチプロセッサ | |
CN116107771B (zh) | 缓存状态记录方法、数据访问方法及相关装置、设备 | |
WO2001016737A2 (en) | Cache-coherent shared-memory cluster | |
US7216205B2 (en) | Cache line ownership transfer in multi-processor computer systems | |
US8051251B2 (en) | Method and apparatus for setting status of cache memory | |
CN100437499C (zh) | 计算机平台快取资料备援处理方法及系统 | |
CN1452354A (zh) | 将收发机存储介质中的数据自动备份的微机系统及收发机 | |
US20220276960A1 (en) | Method for Processing Non-Cache Data Write Request, Cache, and Node | |
US20240354248A1 (en) | Data transfer using coherent doorbell updates | |
KR100258026B1 (ko) | 다중 프로세서 시스템의 트랜잭션 제어방법 및 장치 | |
KR100268812B1 (ko) | 분산 공유 메모리 구조를 갖는 다중 프로세서 시스템의 캐시 일관성 유지방법 및 장치 | |
US6877029B1 (en) | Method and apparatus for managing node controllers using partitions in a computer system | |
CN117201518A (zh) | 数据的传输方法、系统、装置、存储介质和电子设备 | |
JP2971119B2 (ja) | 複数プロセッサシステムにおける高速データ転送方式 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030122 Termination date: 20100104 |