共亨高速缓冲存储数据的方法和系统的制作方法

文档序号:6414020阅读:147来源:国知局

专利名称::共亨高速缓冲存储数据的方法和系统的制作方法一般地说,本发明涉及用于共享高速缓冲存储数据的方法和系统。具体地说,它涉及用于共享在数据处理系统中处理单元和输入/输出装置之间的高速缓冲存储数据的方法和系统。更具体地说,本发明涉及用于抽象纯沅化(sourcing)在数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据的方法和系统。一个数据处理系统至少包括一个处理单元、一个系统存储器以及各种各样的输入/输出装置。一个处理单元可包括有一些用于执行程序指令的多重寄存器和执行单元的处理器核心。另外,处理单元还可能有一个或多个主高速缓冲存储器(即,第一级或者说L1高速缓冲存储器),例如指令高速缓冲存储器和/或数据高速缓冲存储器。它们用高速存储器来实现。此外,处理单元还可能包括另外的高速缓冲存储器,一般被称为次高速缓冲存储器(即,第二级或者说L2高速缓冲存储器),用于支持如上所述的高速缓冲存储器。一般,不经过系统存储器在系统总线上从一个处理单元向另一个处理单元或向一个输入/输出装置传送数据被称为干预。干预协议通过减少事例数目来改进系统的性能。在事例中,系统存储器必须被访问以满足系统内的任何一个处理单元或输入/输出装置的读或有修改意图的读(RWITM)的请求。概括地说,当有一个由输入/输出装置提出的待处理的读/RWITM请求时,附在数据总线上且在其高速缓冲存储器中处理被请求的数据的其他处理单元中的任何一个都能将数据纯沅化到请求的I/O装置中。在传统协议下,高速缓冲存储器中有驻留数据的处理单元在从其高速缓冲存储器发出纯沅化数据的数据总线请求之前将等待来自系统中所有处理单元的“组合的”响应。同时,传统干预协议还考虑到“再试”机理,而任何能被干预满足的读/RWITM请求也能被从任何一个在系统总线上的处理单元的“再试”所中断。如果在适当建立规则的条件下一个处理单元用干预来响应,而另一个处理单元用“再试”来响应,则再试响应该自动地使干预响应无效。结果,如果存在一个在该系统总线上的任何一个处理单元的待处理的再试请求,则含有数据的处理单元将不发出数据总线请求。因此,期望提供一种改进的纯沅化方案,其中,干预数据将以很少为来自数据处理单元中的任何处理单元的“再试”所影响的方式被纯沅化到请求的输入/输出装置。鉴于上述,本发明的目的是提供一种改进的用于共享高速缓冲存储数据的方法和系统。本发明的另一个目的是提供一种改进的用于共享在数据处理系统中的处理单元和输入/输出装置之间的共享缓冲存储数据的方法和系统。本发明的另一个目的是提供一种改进了的对在数据处理系统中从一个处理单元到一个智能输入/输出装置之间的高速缓冲存储数据进行抽象纯沅化的方法和系统。根据本发明的方法和系统,一个数据处理系统包含至少一个处理单元,每个处理单元至少有一个高速缓冲存储器和至少一个智能输入/输出装置。为响应在数据处理系统中的一个智能输入/输出装置的数据请求,从一个有请求数据的数据处理系统中的处理单元发出的一个干预响应。在数据处理系统中的所有处理单元的组合响应返回到该处理单元之前,所请求的数据从这个处理单元中的高速缓冲存储器中被读出。在下面详细书写的说明中,本发明的所有目的、特征和优点将成为明显的。当结合附图阅读时参照下面说明性的实施例的详细叙述可以很好地理解本发明的本身以及最佳的使用方式、进一步的目的和优点。附图有图1是一个数据数理系统方框图,其中本发明可加以应用。图2是为说明现有技术纯沅化方案的一个示例性数据处理系统方框图。图3是一个高级逻辑流程图,用以说明在根据本发明的最佳实施例中,对在数据处理系统中从处理单元到输入/输出装置的高速缓冲存储数据进行抽象纯沅化的方法。本发明可以运用于任何至少有一个高速缓冲存储器的数据处理系统。还可理解到,本发明的特征可应用于各种各样的其各自的处理器都有一个主高速缓冲存储器和一个次高速缓冲存储器的多处理器的数据处理系统。现在参照附图,具体地说是图1,那里描绘了一个本发明可加以应用的数据处理系统10的方框图。数据处理系统10包括多中央处理器(CPU)11a-11n,而CPU11a-11n中的每一个都含有一个主高速缓冲存储器。如所示出的,CPU11a含有主高速缓冲存储器12a,而CPU11n含有主高速缓冲存储器12n。主高速缓冲存储器12a-12n中的每一个都可以是一分区段高速缓冲存储器。CPU11a-11n中的每一个都分别地联到次高速缓冲存储器13a-13n中的每一个上。次高速缓冲器13a-13n中的每一个也可是一分区段高速缓冲器。CPU11a-11n,主高速缓冲存储器12a-12n和次高速缓冲存储器13a-13n经互连15互相连接并接到系统存储器14上。互连15可以是总线或开关。附到互连15上的还有智能输入/输出装置16a-16n。这些智能输入/输出装置16a-16n有能力起动数据传送,对系统存储器14进行数据输入和输出。智能输入/输出装置16a-16n可包括各种各样的转接器,用于经过网络(如内联式网络或互联式网络)同另外的数据处理系统进行通信。按本发明的最佳实施例,CPU、主高速缓冲存储器和次高速缓冲存储器如图1所描绘的CPU11a、主高速缓冲存储器12a和次高速缓冲存储器13a可以共同地被称为处理单元。虽然数据处理系统的优选实施例在图1中加以说明,但应明白本发明可以在各种系统配置中被实施。例如,CPU11a-11n中的每一个可以有多于2级的高速缓冲存储器。现在参看表I,在那里举例说明在现有技术的干预协议下建立的来自一个处理单元的许多相关响应。在多处理器数据处理系统中的一个输入/输出装置作出系统总线上的读或修改意图读(RWITM)请求后,系统中的任何处理单元在探测后可以发出一个按照表I的响应。</tables>表I如表I所描绘的,相关响应采取3位探测响应信号的形式,并有每个相关响应的定义说明。这些信号被编码以表示在地址占有后的探测结果。另外,优选级值同每个响应相关联系,以便当将被返回到在系统总线上的所有处理单元和输入/输出装置的单独探测响应信号进行公式化时允许系统逻辑决定哪个相关响应应当取得优选权。例如,如果一个处理单元具有共享的干预响应(优选级3),而另一个处理单元响应再试响应(优选级1),则有再试响应的那个处理单元将取得优选权,于是系统逻辑将返回再试相关响应到请求处理单元以及附在系统总线上的所有其他处理单元。这个系统逻辑可以驻留在系统中的各种各样的部件里,例如系统控制单元或存储器控制器。若干熟知的机构可被用于查明哪个高速缓冲存储器(一个处理单元的)是在被请求的数据的“拥有者”,因而有资格纯沅化这些数据。在现有技术的MESI协议下,如果一高速缓冲存储器保持在“修改的”或独有的状态下的所有请求的数据,这就意味着该高速缓冲存储器是系统中唯一的含有有效数据拷贝的,并明显地是其拥有者。然而,如果一个高速缓冲存储器保持在“共享的”状态下的所请求数据,这就意味着这些数据也必定保持在该系统中的至少另一个高速缓冲存储器内。于是,有可能2个或更多的高速缓冲存储器中的任何一个都能纯沅化这些数据。在这种情况下,可得到若干选择方案去确定哪个高速缓冲存储器应执行纯沅化。现在参看图2,它描绘了一示例性数据处理系统的方框图,用来说明在现有技术下的纯沅化方案。如图所示,例如,智能输入/输出装置24在系统总线23上希望作出读或RWITM请求,而处理单元21的L2高速缓冲存储器含有被输入/输出装置24所请求的数据。此外,处理单元20中的L2高速缓冲存储器处在“无效”状态,而处理单元21中的L2高速缓冲存储器处在“修改”状态,并且处理单元22中的L2高速缓冲存储器不含有该被请求的数据。接着每个处理单元的各自的L2高速缓冲存储器控制器将采取一系列动作,以便执行现有技术所提供的沅干预。在输入/输出装置24作出读/RWITM请求后,该读/RWITM请求从系统总线23上被处理单元21、处理单元22和处理单元23“窥探”。在处理单元21-23中的每一个中进行L2高速缓冲存储器目录检查,以确定所请求的数据是否驻留在其L2高速缓冲存储器中。因为处理单元21有所请求的数据,一个干预响应会被处理单元21发出,并且处理单元21中的有限状态机器会被发送以控制下面的动作。如果在处理单元21的L2高速缓冲存储器中的数据处在“修改的”状态,一修改干预相关响应会由处理单元21发出。另外,如果在处理单元21的L2高速缓冲存储器中的数据处在“共享的”或“独有的”状态,一共享干预相关响应会被处理单元21发出。因为处理单元20中的L2高速缓冲存储器处在“无效的”状态,处理单元22中的L2高速缓冲存储器不含有被请求的数据,所以处理单元20和22会发出零相关响应。在干预响应发出后,处理单元21对于组合响应是悬而未决的。在该例子中,组合响应基本上包括来自处理单元21本身和来自处理单元20、22以及输入/输出装置24的相关响应。如果返回的组合响应是被修改的干预相关响应,处理单元21可开始纯沅化从其L2高速缓冲存储器请求的数据。在已建立的干预协议下,如果处理单元20和/或处理单元22不管什么理由请求再试,纯沅化必须让与“再试”请求(即,纯沅化时序将不再继续)。例如,处理单元22可处在探测排队忙状态。如果自探测作用开始以来,处理单元21的L2高速缓冲存储器中的数据还未被修改或未在L1高速缓冲存储器中驻留(即不包含L1),处理单元21可开始向系统总线仲裁器作出系统总线请求(典型地,所请求的数据在系统总线请求能开始前必须由L2高速缓冲存储器控制器读到一缓冲器里)。否则,在任何系统总线请求作出之前处理单元21的L1高速缓冲存储器将被冲洗而变得失效(即,迫使L1高速缓冲存储器将任何修改数据“压回”到L2高速缓冲存储器并使L1高速缓冲存储器中的拷贝无效)。但是,如果处理单元21的L1高速缓冲存储器处在“共享的”状态,只是在作出任何数据总线请求之前仅要求L1高速缓冲存储器无效。然后处理单元21等待系统总线授权返回。实际对输入/输出装置24的数据纯沅化将在数据总线授权被收到后开始。一旦纯沅化已完成,处理单元21的L2高速缓冲存储器将从“修改的”状态变到对于读请求的“共享的”状态和对于RWITM请求的“无效的”状态。在处理单元20和22的L2高速缓冲存储器中没有任何状态变化。现在参看图3,在那里描绘按照本发明的最佳实施例的抽象纯沅化数据处理系统中从处理单元到输入/输出装置的高速缓冲存储器数据的高级逻辑流程图。在方框30开始。如方框31所示,一个读/RWITM请求由系统总线被系统内的所有处理单元探测。如方框32所示,L2高速缓冲存储器目录检查,由每个处理单元进行以判断所请求的数据是否驻留在它的L2高速缓冲存储器中。如方框33所示,由所有不具有所请求的数据的那些处理单元(如图2的处理单元20和22)发出一个零相关响应,并且该过程在方框99退出。另一方面,由具有所请求的数据的一个处理单元(如图2的处理单元21)发出一个干预相关响应,如主框34所示。在干预相关响应发出后,干预处理单元必须执行某些高速缓冲存储器内务处理任务,如方框35所示。这些任务包括如果在L1高速缓冲存储器中的数据拷贝已被修改,冲洗在干预处理单元的L1高速缓冲存储器中的数据拷贝并使之无效,或者如果在L1高速缓冲存储器中的数据拷贝还未被修改,只简单地使干预处理单元的L1高速缓冲存储器中的数据拷贝无效。接着,从干预处理单元的L2高冲缓冲存储器的读出的被请的数据最好被送到一个缓冲器,并向系统总线仲裁器请求系统数据总线,如方框36所示。就系统数据总线是否已被授权进行判断,如方框37所示。如果系统数据总线还未被授权,就进行另一个判断,就组合相关响应是否已返回,如方框38所示。如果组合相关响应还未返回,过程返回到方框37。但是,如果系统总线已被授权,按干预处理被请求数据的纯沅化通过驱动所请求的数据到系统总线开始,如方框39所示。就组合相关响应是否已在这点返回做另一个裁决,如方框40所示。如果组合相关响应还未返回,过程将保持在继续纯沅化被请求的数据到系统总线的同时等待组合相关响应返回。在组合相关响应已返回后,就组合相关响应是否是“再试”做出判决,如方框41所示。如果组合相关响应是再试,则若系统总线还未被授权,系统总线请求(从方框36)将被取消,或者说所请求的数据的纯沅化将立即终止,如方框42所示。即使在这点纯沅化已完成,结果也会由于再试相关响应而被放弃。相反,如果组合相关响应不是再试,所请求数据的纯沅化将继续,如果纯沅化尚未完成要继续到其完成为止。最后,在干预处理单元中的L2高速缓冲存储器的状态被相应地不断修改,如方框43所示,过程在方框99退出。如已说明的,本发明提供对数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据进行抽象纯沅化的方法。特别地,本发明的公开介绍了一种新颖的干预实施,其中所请求的数据在组合相关响应返回前从干预单元的L2高速缓冲存储器被读出。本发明有明显的超过先前技术的性能优势,这因为总线上的读/RWITM请求和组合响应的抽样之间的延迟可能是若干个系统总线时钟周期。因此,由于允许所请求的数据在组合相关响应被收到之前从干预处理单元的L2高速缓冲存储器读出,干预等待时间被极大地减少,于是系统的总性能相当大地被改进。虽然本发明已参照最佳实施例作了最佳地展示和说明,但本专业人员应当理解,在不脱离本发明的精神和范围的前提下,可作出各种各样的形式上和细节上的变化。权利要求1.一种用于抽象纯沅化在数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据的方法,所说的处理单元至少包括一个高速缓冲存储器,所说的方法由这些步骤组成为了响应由所说的数据处理系统中所说的智能输入/输出装置的数据请求,由有所说的被请求的数据的处理单元发出干预响应;在从所说的数据处理系统中的所有处理单元来的组合响应返回到所说的处理单元之前,从所说的处理单元中的高速缓冲存储器读所说的所请求的数据。2.根据权利要求1的抽象纯沅化在数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据的方法,其特征是读步骤进一步包括从所说处理单元中的高速缓冲存储器由缓冲区控制器读所说的所请求的数据的步骤。3.根据权利要求1的抽象纯沅化在数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据的方法,其特征是读步骤进一步包括从所说的处理单元中的高速缓冲存储器读所说的所请求的数据到缓冲器的步骤。4.根据权利要求1的抽象纯沅化在数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据的方法,其特征是所说的数据请求包括读请求或有修改意图的读请求。5.根据权利要求1的抽象纯沅化在数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据的方法,其特征是所说的干预响应是修改的干预响应或共享的干预响应。6.根据权利要求1的抽象纯沅化在数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据的方法,其特征是所说的方法进一步包括,如果所说的返回的组合响应是再试则停止所说的读步骤的步骤。7.根据权利要求1的抽象纯沅化在数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据的方法,其特征是所说的方法进一步包括这样的一个步骤,即在所说的组合响应返回前为纯沅化所说的所请求的数据由所说的处理单元请求系统总线。8.根据权利要求7的抽象纯沅化在数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据的方法,其特征是所说的方法进一步包括在所说的组合响应返回前由所说的处理单元纯沅化所说的所请求的数据的步骤。9.一种处理单元,具有能抽象纯沅化到数据处理系统中的智能输入/输出装置的数据的高速缓冲存储器。所说的处理单元包括这样的设备,其用于从有所请求的数据的所说数据处理系统中的处理单元发出干预响应,以便响应由所说数据处理系统中的所说智能输入/输出装置响应所说的被请求的数据的请求;以及这样的设备,其用于在来自所有处理单元的组合响应返回到所说的处理单元之前从所说的处理单元中的高速缓冲存储器读所说的所请求的数据。10.根据权利要求9的具有能对到智能输入/输出装置的数据进行抽象纯沅化的高速缓冲存储器的处理单元,其特征是所说的用于读的设备是高速缓冲控制器。11.根据权利要求9的具有能对到智能输入/输出装置的数据进行抽象纯沅化高速缓冲存储器的处理单元,其特征是所说的用于读的设备进一步包括用于从所说的处理单元中的高速缓冲存储器将所说的被请求的数据读到一个缓冲器。12.根据权利要求9的具有能对到智能输入/输出装置的数据进行抽象纯沅化高速缓冲存储器的处理单元,其特征是所说的数据请求包括读请求或有修改意图的读请求。13.根据权利要求9的具有能对到智能输入/输出装置的数据进行抽象纯沅化的高速缓冲存储器的处理单元,其特征是来自所说的处理单元的所说的干预响应是修改的干预响应或共享的干预响应。14.根据权利要求9的具有能对到智能输入/输出装置的数据进行抽象纯沅化的高速缓冲存储器的处理单元,其特征是所说的处理单元进一步包括一个装置,用于如果所说的返回的组合响应是“再试”,则由所说的读设备停止所说的读。15.根据权利要求9的具有能对到智能输入/输出装置的数据进行抽象纯沅化的高速缓冲存储器的处理单元,其特征是所说的处理单元进一步包括用于在所说的组合响应返回前由所说的处理单元纯沅化所说的被请求的数据的请求系统总线的装置。16.根据权利要求15的具有能对到智能输入/输出装置的数据进行抽象纯沅化的高速缓冲存储器的处理单元,其特征是所说的处理单元进一步包括在所说的组合响应返回之前由所说的处理单元纯沅化所说的所请求的数据的装置。全文摘要披露了用于对数据处理系统中从处理单元到智能输入/输出装置的高速缓冲存储数据进行抽象纯沅化的方法和系统。根据本发明的方法和系统,一个数据处理系统包括至少一个处理单元(每个至少有一个高速缓冲存储器)和至少一个智能输入/输出装置。为响应由数据处理系统中的智能输入/输出装置的数据请求,一个干预响应从有被请求的数据的数据处理系统中的一个处理单元发出。然后,在从数据处理系统中的所有处理单元的组合响应返回这个处理单元之前被请求的数据从这个处理单元中的高速缓冲存储器中读出。文档编号G06F13/00GK1197956SQ9810576公开日1998年11月4日申请日期1998年3月23日优先权日1997年4月14日发明者R·K·阿金米利,J·S·多特森,J·D·路易斯申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1