專利名稱:保持高速緩沖存儲器一致性的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明一般涉及數(shù)據(jù)處理的改進方法和系統(tǒng),特別涉及在多處理器數(shù)據(jù)處理系統(tǒng)中保持高速緩沖存儲器一致性(coherency)的改進方法和系統(tǒng)。此外,本發(fā)明還特別涉及在多處理器系統(tǒng)中直寫存儲操作時保持高速緩沖存儲器一致性的方法和系統(tǒng)。
大多數(shù)的現(xiàn)代高性能數(shù)據(jù)處理系統(tǒng)結構包括存儲體系中的多級高速緩沖存儲器。高速緩沖存儲器用在數(shù)據(jù)處理系統(tǒng)中,與訪問系統(tǒng)存儲器的時間相比能更快地訪問頻繁使用的數(shù)據(jù),從而提高了整體性能。高速緩沖存儲器的各級通常用在漸進增長的較長訪問等待時間中。較小較快的高速緩沖存儲器用在靠近一個或多個處理器的存儲體系內中的各級,而較大較慢的高速緩沖存儲器用在靠近系統(tǒng)存儲器的各級。
在常規(guī)的對稱多處理器(SMP)數(shù)據(jù)處理系統(tǒng)中,所有的處理器通常完全相同,使用相同的公共指令集和相同通信協(xié)議的所有處理器都有相似的硬件結構,并通常提供有類似的存儲體系。例如,常規(guī)的SMP數(shù)據(jù)處理系統(tǒng)包括系統(tǒng)存儲器;多個處理單元,每個處理單元包括一個處理器和一級或多級高速緩沖存儲器;以及將處理單元相互耦合和耦合到系統(tǒng)存儲器的系統(tǒng)總線。許多這種系統(tǒng)包括在兩個或多個處理器之間共享的至少一級高速緩沖存儲器。要在SMP數(shù)據(jù)處理系統(tǒng)中獲得有效的執(zhí)行結果,重要的是獲得一致的存儲層次,即,為所有的處理器提供同一存儲內容。
雖然設計為通過偵聽(snooping)保持高速緩沖存儲器的一致性,但是“重試”響應會導致處理器操作錯誤。特別是,對于直寫存儲,一旦進行了寫更新,隨后允許負載讀取新數(shù)據(jù),重試相同的直寫存儲會有問題。
因此,需要提供一種在多處理器系統(tǒng)中保持高速緩沖存儲器一致性的方法,特別是在存在重試時保持直寫存儲操作時高速緩沖存儲器一致性。
因此本發(fā)明的一個目的是提供一種數(shù)據(jù)處理的改進方法和系統(tǒng)。
因此本發(fā)明的另一目的是提供一種在多處理器數(shù)據(jù)處理系統(tǒng)中保持高速緩沖存儲器一致性的改進方法和系統(tǒng)。
本發(fā)明的再一目的是提供一種在多處理器系統(tǒng)中保持直寫操作時高速緩沖存儲器一致性的改進方法和系統(tǒng)。
通過這里介紹的方法和系統(tǒng)可以獲得以上的目的。本發(fā)明的方法和系統(tǒng)用于在數(shù)據(jù)處理系統(tǒng)中直寫存儲操作時保持高速緩沖存儲器的一致性,其中所述數(shù)據(jù)處理系統(tǒng)包括通過存儲體系耦合到系統(tǒng)總線的多個處理器,其中存儲體系包括多級高速緩沖存儲器。通過插入在特定處理器和系統(tǒng)總線之間的所述多級高速緩沖存儲器的任何高速緩沖存儲器,直寫存儲操作由特定的處理器傳遞到系統(tǒng)總線。直寫存儲操作可在被直寫存儲操作命中的任何插入的高速緩沖存儲器中進行。沒有插在特定的處理器系統(tǒng)總線之間的所述多級高速緩沖存儲器的所有高速緩沖存儲器由系統(tǒng)總線的外部偵聽路徑偵聽所述直寫操作的數(shù)據(jù)地址,直到直寫操作成功,其中存儲體系的高速緩沖存儲器的一致點設置在用于直寫存儲操作的系統(tǒng)總線上,由此在完成到相同數(shù)據(jù)地址的任何其它指令之前成功地完成直寫操作。
從下面詳細的說明中本發(fā)明的以上及其它目的、特點和優(yōu)點將變得很顯然。
本發(fā)明的新穎特性在附帶的權利要求書中陳述。然而通過結合附圖閱讀參考以下示例性實施例的詳細說明,本發(fā)明自身及使用的優(yōu)選模式以及本發(fā)明的其它目的和優(yōu)點將很好理解,其中
圖1示出了當通過目前的偵聽技術重試直寫存儲指令時發(fā)生錯誤的時序圖;圖2示出了根據(jù)本發(fā)明的多處理器數(shù)據(jù)處理系統(tǒng)的高層方框圖;圖3示出了用自偵聽技術直寫存儲指令的性能的時序圖;以及圖4示出了進行直寫存儲操作過程的高層邏輯流程圖。
現(xiàn)在參考附圖,特別是參考圖2,示出了根據(jù)本發(fā)明的多處理器數(shù)據(jù)處理系統(tǒng)的高層方框圖。如圖所示,數(shù)據(jù)處理系統(tǒng)8包括與其它多個處理器內核11a-11n成對的多個處理器內核10a-10n,每個優(yōu)選包括一個可從國際商用機器公司得到的處理器的PowerPC線,除了常規(guī)的寄存器、用于執(zhí)行程序指令的指令流邏輯和執(zhí)行單元之外,每個處理器內核10a-10n和11a-11n還包括一個板上的一級(L1)高速緩沖存儲器12a-12n和13a-13n,能臨時地存儲可能會被相關的處理器訪問的指令和數(shù)據(jù)。雖然在圖2中L1高速緩沖存儲器12a-12n和13a-13n顯示為存儲指令和數(shù)據(jù)(下文簡稱為數(shù)據(jù))的一體高速緩沖存儲器,但本領域的技術人員應理解每個L1高速緩沖存儲器12a-12n和13a-13n也可以用指令和數(shù)據(jù)高速緩沖存儲器兩部分來實現(xiàn)。
為了減少等待時間,數(shù)據(jù)處理系統(tǒng)8還包括一個或多個附加級的高速緩沖存儲器,例如二級(L2)高速緩沖存儲器14a-14n,用于將數(shù)據(jù)分離到L1高速緩沖存儲器12a-12n和13a-13n。換句話說,L2高速緩沖存儲器14a-14n起系統(tǒng)存儲器18和L1高速緩沖存儲器12a-12n和13a-13n之間的中間存儲器的作用,通??梢源鎯Ρ萀1高速緩沖存儲器12a-12n和13a-13n容量大得多的數(shù)據(jù),但需要較長的存儲等待時間。例如,L2高速緩沖存儲器14a-14n有256或512千字節(jié)的存儲容量,L1高速緩沖存儲器12a-12n和13a-13n有64或128千字節(jié)的存儲容量。如上所述,雖然圖2僅示出了兩級高速緩沖存儲器,但數(shù)據(jù)處理系統(tǒng)8的存儲體系可以擴大,包括串聯(lián)連接或后備的高速緩沖存儲器的附加級(L3、L4等)。
如圖所示,數(shù)據(jù)處理系統(tǒng)8還包括輸入/輸出(I/O)裝置20、系統(tǒng)存儲器18以及非易失性存儲器22,每一個都耦合到互連16。I/O裝置20包括常規(guī)的外圍設備,例如顯示裝置、鍵盤以及通過常規(guī)的適配器連接到互連16的圖形指示器。非易失性存儲器22存儲操作系統(tǒng)和其它的軟件,當數(shù)據(jù)處理系統(tǒng)8上電時上述操作系統(tǒng)和軟件裝入易失性系統(tǒng)存儲器18內。當然,本領域的技術人員應理解數(shù)據(jù)處理系統(tǒng)可以包括在圖2中沒有示出的許多其它部件,例如用于連接到網(wǎng)絡或附屬設備的串口和并口、管理訪問到系統(tǒng)存儲器18的存儲器控制器等。
包括一個系統(tǒng)總線的一個或多個總線的互連16作為管線用于L2高速緩沖存儲器14a-14n、系統(tǒng)存儲器18、I/O裝置20以及非易失性存儲器22之間的通信的管線?;ミB16上的典型通信交易包括指示交易源的源標簽、確定交易的指定接受者的目的標簽、地址和/或數(shù)據(jù)。耦合到互連16的每個裝置優(yōu)選偵聽互連16上的所有通信交易,以確定裝置的一致性是否因為交易而更新。優(yōu)選提供由每個高速緩沖存儲器到互連16的系統(tǒng)總線的外部偵聽路徑。
通過使用選擇的存儲器一致性協(xié)議,例如MESI協(xié)議保持一致的存儲器體系。在MESI協(xié)議中,一致狀態(tài)指示的存儲與至少所有上級(高速緩沖存儲器)存儲器的每個一致性區(qū)組(例如,高速緩沖存儲器線或扇區(qū))相關。每個一致性區(qū)組可具有修改(M)、排它(E)、共享(S)或無效(I)這四個狀態(tài)中的一種,可以由高速緩沖存儲器目錄中的兩位編碼。修改的狀態(tài)表示一致性區(qū)組僅在存儲修改的一致性區(qū)組的高速緩沖存儲器中有效,并且修改的一致性區(qū)組的值還沒有寫到系統(tǒng)存儲器。當一致性區(qū)組表示為排它時,一致性區(qū)組在存儲體系的級別僅駐留在所有的高速緩沖存儲器的具有排它狀態(tài)的一致性區(qū)組的高速緩沖存儲器中。然而,在排它狀態(tài)中的數(shù)據(jù)與系統(tǒng)存儲器中的一致。如果一致性區(qū)組在高速緩沖存儲器目錄中標記為共享,那么一致性區(qū)組駐留在相關的高速緩沖存儲器和在存儲層次的相同級的其它可能的高速緩沖存儲器中,一致性區(qū)組的所有副本都與系統(tǒng)存儲器一致。最后,無效的狀態(tài)表示與一致性區(qū)組相關的數(shù)據(jù)或地址標簽都沒有駐留在高速緩沖存儲器中。
在SMP系統(tǒng)中數(shù)據(jù)的每個高速緩沖存儲器線(塊)優(yōu)選包括地址標記字段、狀態(tài)位字段、內含位字段、以及用于存儲實際指令或數(shù)據(jù)的值字段。狀態(tài)位字段和內含位字段用于在多處理器計算機系統(tǒng)中保持高速緩沖存儲器一致性(表示在高速緩沖存儲器中存儲的值有效)。地址標記為對應存儲塊的全地址的子集。如果輸入為有效狀態(tài),地址標記字段內的一個標記與輸入的地址相比較后匹配,表示高速緩沖存儲器“命中(hit)”。
在保持高速緩沖存儲器一致性中,在高速緩沖存儲器中進行一次存儲之前,直寫高速緩沖存儲器存儲不分配高速緩沖存儲器線或增益所有權(MESI協(xié)議的E或M狀態(tài))。特別是,直寫或全存儲高速緩沖存儲器工作,在處理器寫操作期間對高速緩沖存儲器和主存儲器提供寫操作,由此確保高速緩沖存儲器的數(shù)據(jù)和主存儲器之間的一致性。為保持高速緩沖存儲器的一致性,一致的直寫存儲必須使處理器上任何有效的高速緩沖存儲器線無效,處理來自特定高速緩沖存儲器一致點的始發(fā)高速緩沖存儲器線之外,以確保來自所有處理器的后續(xù)負載得到新更新的數(shù)據(jù)。
通常,總線“偵聽”技術用于使來自高速緩沖存儲器一致點的高速緩沖存儲器線無效。每個高速緩沖存儲器優(yōu)選包括偵聽邏輯以進行偵聽。只要進行讀或寫,數(shù)據(jù)的地址由始發(fā)的處理器內核傳播到共享一個公用總線的所有其它高速緩沖存儲器。每個偵聽邏輯單元偵聽來自總線的地址,并將地址與用于高速緩沖存儲器的地址標記陣列比較。當命中時,偵聽響應返回,允許進行進一步的操作,以保持高速緩沖存儲器的一致性,例如使命中的高速緩沖存儲器線無效。此外,由于高速緩沖存儲器有一個第一個必須推出高速緩沖存儲器的修改復制或存儲防止適當偵聽的問題,所以“重試”的偵聽響應由高速緩沖存儲器的總線偵聽邏輯發(fā)出。當重試時,始發(fā)數(shù)據(jù)地址的處理器內核將重試讀或寫操作。
根據(jù)為優(yōu)選實施例備選方案的偵聽技術,圖1示出了當重試直寫存儲指令時發(fā)生錯誤的時序圖。在該例中,假設SMP結構帶有一個處理器內核0和處理器內核1、與每個內核相關的L1高速緩沖存儲器以及由兩種處理器內核共享的L2高速緩沖存儲器。在該例中保持處理器的高速緩沖存儲器一致性的點設置在L2高速緩沖存儲器。然后對于在圖1中沒有利用的該例的目的,可以使用附加的處理器內核和高速緩沖存儲器的各級。
對于該例,偽碼序列為處理器內核0處理器內核1存儲2到A循環(huán)裝載如果A!=2循環(huán)存儲3到A如果進行處理器內核0的存儲,但再次進行處理器內核0的存儲之前,重試允許繼續(xù)進行處理器內核1的輸入和存儲,地址A的所得一致存儲狀態(tài)為2,不正確。
在第一時鐘周期60中,顯示在時序圖中,總線由內核0(內核0 WTST)裁定由此直寫存儲操作的尋址和數(shù)據(jù)(RA)傳送到L2高速緩沖存儲器。此后,在參考數(shù)字62,直寫存儲的數(shù)據(jù)地址在系統(tǒng)總線上傳播到所有的非始發(fā)內核(內核1),由此非始發(fā)內核偵聽數(shù)據(jù)地址。此外,在相同的周期期間,在參考數(shù)字64,數(shù)據(jù)地址與L2標記陣列比較,以便確定數(shù)據(jù)的先前版本是否駐留在L2高速緩沖存儲器中。在第三周期中,在參考數(shù)字66,偵聽到的地址和與內核1相關的L1高速緩沖存儲器中的L1標記陣列比較。此外,在L2高速緩沖存儲器中L2命中返回,如參考數(shù)字68所示。此后,通過將寫指令寫入管線中用于將L2高速緩沖存儲器更新為“A=2”,進行L2數(shù)據(jù)寫入,如參考數(shù)字70所示。接下來,在第四時鐘周期期間,內核1的L1高速緩沖存儲器的偵聽響應作為重試返回,如參考數(shù)字72所示。
注意,特別是通過所述非優(yōu)選的偵聽技術,在表示重試的偵聽響應返回之前,直寫存儲更新L2高速緩沖存儲器。由于包括偵聽命中處于M狀態(tài)的扇區(qū)和偵聽命中排隊等待的有效操作的原因,重試返回。當重試被內核1的L1高速緩沖存儲器返回時,設置內核0重試直寫存儲操作。在L2高速緩沖存儲器保持了高速緩沖存儲器的一致性,所以在將直寫操作發(fā)送到總線之前,重試在L2高速緩沖存儲器中進行直寫存儲并更新任何較高層的高速緩沖存儲器。
當“A!=2”時,處理器內核1在循環(huán)中等待。當來自內核0的存儲操作寫到L2高速緩沖存儲器時,即使重試設置在內核0中,內核1裁定裝載的總線并傳播參考數(shù)字74所示的數(shù)據(jù)地址。接下來,地址與L2高速緩沖存儲器的L2標記陣列比較,如參考數(shù)字76所示。此后,收到L2高速緩沖存儲器命中,如參考數(shù)字78所示。最后,進行L2高速緩沖存儲器中數(shù)據(jù)的讀取,其中“A=2”,如參考數(shù)字80所示。經(jīng)過延遲周期81之后讀取數(shù)據(jù),內核1中止循環(huán),進行“將3存儲到A”的存儲操作。
內核1裁定總線傳送直寫存儲操作,其中傳播直寫存儲的數(shù)據(jù)地址,如參考數(shù)字82所示。接下來,進行L2標記比較,如參考數(shù)字84所示。此后,收到L2高速緩沖存儲器命中,如參考數(shù)字86所示。最后,數(shù)據(jù)提交到L2高速緩沖存儲器的管線作為“A=3”的寫入,如參考數(shù)字88所示。
由于來自內核1的裝載和存儲操作裁定局部的總線,延遲內核0“存儲2到A”操作的重試直到總線接下來可以使用。內核0重新發(fā)出由L2高速緩沖存儲器接收的直寫存儲操作,如參考數(shù)字90所示。局部地發(fā)送數(shù)據(jù)地址,由此偵聽內核1,如參考數(shù)字92所示。此后,在內核1的L1高速緩沖存儲器中比較L1標記,如參考數(shù)字94所示。接下來,在L2高速緩沖存儲器中比較L2標記,如參考數(shù)字96所示。高速緩沖存儲器命中由L2返回,如參考數(shù)字98所示。最后,數(shù)據(jù)重新寫入L2高速緩沖存儲器,由此“A=2”顯示在參考數(shù)字100。
如上所述,如果局部地偵聽直寫存儲并重試存儲,裁定總線的另一處理器內核可進行一次裝載,參見L2高速緩沖存儲器中的更新數(shù)據(jù),在原存儲接收再次進行的裁定之前進行一次直寫存儲。第一直寫存儲將覆蓋取決于第一存儲的第二存儲的數(shù)據(jù)。
圖1中所示問題的一個可能解決方案是延遲L2數(shù)據(jù)和地址管線,由此數(shù)據(jù)重試階段緊跟著提交階段。要進行所述解決方案,L2讀取將與L2寫入分開,或L2讀取將延遲。在第一種情況中,L2裁定的復雜性將顯著增加。在第二種情況中,將2個附加周期添加到所有的L2高速緩沖存儲器命中條件,導致不希望的性能損失。
另一解決方案是通過將直寫操作的先前狀態(tài)以寄存器重命名方案使用的類似方式刷新提交的L2更新,這在本領域中是公知的。對于高速緩沖存儲器,所述解決方案會增加額外的不希望的復雜性,會降低高速緩沖存儲器的速度。
現(xiàn)在參考圖3,根據(jù)本發(fā)明的一個優(yōu)選實施例,示出了用自偵聽技術的直寫存儲指令的性能的時序圖。圖3示出了也在圖1中示出的處理器操作,然而,在圖3中,自偵聽用于消除重試造成的錯誤。內核0發(fā)出在L2高速緩沖存儲器接收的直寫存儲操作,由此進行L2高速緩沖存儲器裁定,如參考數(shù)字110所示。接下來,進行L2標記與L2標記陣列的比較,如參考數(shù)字112所示。接下來,接收在L2標記陣列中帶標記的高速緩沖存儲器命中,如參考數(shù)字114所示。由此,寫入到L2高速緩沖存儲器的數(shù)據(jù)設置在用于執(zhí)行的管線中,如參考數(shù)字116所示。延遲117之后,在直寫存儲操作裁定為寫入主存儲器的系統(tǒng)總線期間,裁定沿系統(tǒng)總線的自偵聽,如參考數(shù)字118所示。在圖1中,高速緩沖存儲器一致點是在用于直寫存儲操作的L2高速緩沖存儲器,然而在本實施例中,高速緩沖存儲器一致點是在用于直寫存儲操作的系統(tǒng)總線上。對于高速緩沖存儲器一致點在用于直寫存儲操作的系統(tǒng)總線上,如果在自偵聽期間提出重試,那么直寫操作根據(jù)需要在系統(tǒng)總線上偵聽多次,直到?jīng)]有返回信號返回,不管其它的指令等待。特別是,系統(tǒng)總線包括總線裁定邏輯,確保偵聽裝置繼續(xù)訪問總線直到直寫存儲的存儲一致在所有的高速緩沖存儲器中完成,因此數(shù)據(jù)可以寫入主存儲器。
除了自偵聽,直寫存儲操作的局部數(shù)據(jù)地址沿外部偵聽路徑傳播到非始發(fā)內核,如參考數(shù)字120所示。此后,進行L1標記與L1標記陣列比較,如參考數(shù)字122所示。在下一周期中,L1標記比較的響應返回,如參考數(shù)字124所示。如果響應為重試,那么直寫存儲的地址將繼續(xù)裁定自偵聽的系統(tǒng)總線,直到L1高速緩沖存儲器返回非重試響應。
一旦非重試響應返回,內核1裁定局部總線進行一次裝載,如參考數(shù)字126所示。然后,在另一實施例中,內核1裝載不需要等待,直到存儲已提交到系統(tǒng)總線不用重試。例如,如果裝載在L2高速緩沖存儲器中命中并提交,如參考數(shù)字116所示的L2數(shù)據(jù)寫入之后開始內核1的裝載,不會破壞數(shù)據(jù)的一致性。此后,進行L2標記與L2標記陣列比較,如參考數(shù)字128所示。接下來,在L2標記陣列中帶標記的L2命中返回,如參考數(shù)字130所示。此后,從L2讀取數(shù)據(jù),如參考數(shù)字132所示。延遲133之后,內核1裁定用于直寫存儲的局部總線,如參考數(shù)字134所示。此后,進行L2標記與L2標記陣列比較,如參考數(shù)字136所示。接下來,在L2標記陣列中帶標記的L2命中返回,如參考數(shù)字138所示。此后,提交L2數(shù)據(jù)寫入,如參考數(shù)字140所示。如內核1的直寫存儲所示,參考數(shù)字140所示的L2數(shù)據(jù)寫入之后,直寫存儲操作將繼續(xù)到主存儲器中要更新的系統(tǒng)總線,由此通過由系統(tǒng)總線進行自偵聽保持高速緩沖存儲器的一致性。
圖4示出了進行直寫存儲操作過程的高層邏輯流程圖。過程開始于方框150,此后進行到方框152。方框152示出了裁定處理器內核和局部總線將直寫存儲操作的地址發(fā)送到高速緩沖存儲器的下層。此后,方框154示出了在下層高速緩沖存儲器中比較地址與標記陣列。下一方框156示出了確定在下層高速緩沖存儲器中是否有帶標記的命中。如果在下層高速緩沖存儲器中有帶標記的命中,那么過程傳遞到方框158。方框158示出了在低層高速緩沖存儲器中數(shù)據(jù)提交到寫入。此后過程傳遞到方框160。返回到方框156,如果在下層高速緩沖存儲器中沒有帶標記的命中,那么過程傳遞到方框160。雖然未示出,但在方框154、156和158中示出的過程可以在多級的下層高速緩沖存儲器上進行。
方框160示出了將直寫存儲操作傳遞到系統(tǒng)總線。接下來,方框162示出了裁定系統(tǒng)總線將直寫存儲操作發(fā)送到存儲器并進行系統(tǒng)總線的自偵聽。此后,方框164示出了通過外部偵聽路徑在未經(jīng)過的高速緩沖存儲器中偵聽地址。例如,任何未經(jīng)過的高速緩沖存儲器為不提供由始發(fā)直寫存儲操作的處理器內核到系統(tǒng)總線的路徑的路徑。接下來,方框166示出了在未經(jīng)過的高速緩沖存儲器中比較偵聽地址與標記陣列。此后,方框168示出了確定偵聽是否返回重試。如果偵聽返回重試,那么過程傳遞到方框162。如果如果偵聽不返回重試,那么過程傳遞到方框170。方框170示出了將直寫存儲提交到主存儲器。此后,方框172示出了將系統(tǒng)總線釋放到此后過程返回的下一操作。
雖然參考優(yōu)選實施例顯示和介紹了本發(fā)明,但本領域的技術人員應該理解可以對形式和細節(jié)進行各種改變而不脫離本發(fā)明的精神核范圍。例如,替換實施例允許到系統(tǒng)總線請求的管線,由此在等待的請求提交(得到非重試響應)或完成(讀取或寫入相關的數(shù)據(jù))之前,只要以與系統(tǒng)總線上出現(xiàn)的請求相同的順序提交請求并且也保持數(shù)據(jù)順序,那么可以裁定到相同地址作為隨后請求等待的請求。
權利要求
1.一種在數(shù)據(jù)處理系統(tǒng)中直寫存儲操作時保持高速緩沖存儲器一致性的方法,其中所述數(shù)據(jù)處理系統(tǒng)包括耦合到系統(tǒng)總線的多個處理器和存儲器體系,其中所述存儲器體系包括若干各級高速緩沖存儲器,所述方法包括以下步驟通過插在所述處理器和所述系統(tǒng)總線之間的高速緩沖存儲器,將直寫存儲操作由一個處理器傳送到所述系統(tǒng)總線;在得到用于所述直寫存儲操作的高速緩沖存儲器命中(cache hit)的所述插入的高速緩沖存儲器的任意一個中進行所述直寫存儲操作;以及用所述直寫操作的數(shù)據(jù)地址,由所述系統(tǒng)總線的外部偵聽路徑,偵聽沒有插在所述處理器和所述系統(tǒng)總線之間的高速緩沖存儲器,直到所述直寫操作成功由此保持了高速緩沖存儲器的一致性。
2.根據(jù)權利要求1的在直寫存儲操作時保持高速緩沖存儲器一致性的方法,所述通過插在所述處理器和所述系統(tǒng)總線之間的高速緩沖存儲器將直寫存儲操作由一個處理器傳送到所述系統(tǒng)總線的步驟還包括以下步驟裁定用于所述處理器的局部總線,將所述直寫存儲操作的所述數(shù)據(jù)地址傳送到所述插入的高速緩沖存儲器。
3.根據(jù)權利要求1的在直寫存儲操作時保持高速緩沖存儲器一致性的方法,所述在得到用于所述直寫存儲操作的高速緩沖存儲器命中的所述插入的高速緩沖存儲器的任意一個中進行所述直寫存儲操作的步驟還包括以下步驟在所述插入的高速緩沖存儲器中將所述直寫操作的所述數(shù)據(jù)地址與各地址標記陣列比較;以及如果所述數(shù)據(jù)地址匹配所述地址標記陣列中的任何標記,那么返回高速緩沖存儲器命中。
4.根據(jù)權利要求1的在直寫存儲操作時保持高速緩沖存儲器一致性的方法,所述用所述直寫操作的數(shù)據(jù)地址由所述系統(tǒng)總線的外部偵聽路徑偵聽沒有插在所述處理器和所述系統(tǒng)總線之間的高速緩沖存儲器直到所述直寫操作成功由此保持了高速緩沖存儲器的一致性的步驟還包括以下步驟裁定用于所述直寫存儲操作的所述系統(tǒng)總線;將所述直寫操作的所述數(shù)據(jù)地址傳送到所述系統(tǒng)總線的所述外部偵聽路徑;將所述數(shù)據(jù)地址與沒有插在所述處理器和所述系統(tǒng)總線之間的高速緩沖存儲器中的各地址標記陣列進行比較;響應于返回到所述系統(tǒng)總線的任何重試響應,沿所述外部偵聽路徑保持所述數(shù)據(jù)地址;以及響應于返回到所述系統(tǒng)總線的所述偵聽,完成所述存儲體系的系統(tǒng)存儲器內的所述直寫存儲操作,不需要重試條件。
5.一種在數(shù)據(jù)處理系統(tǒng)中直寫存儲操作時保持高速緩沖存儲器一致性的系統(tǒng),其中所述數(shù)據(jù)處理系統(tǒng)包括耦合到系統(tǒng)總線的多個處理器和存儲器體系,其中存儲器體系包括若干各級高速緩沖存儲器,所述系統(tǒng)包括以下步驟通過插在所述處理器和所述系統(tǒng)總線之間的高速緩沖存儲器將直寫存儲操作由一個處理器傳送到所述系統(tǒng)總線的裝置;在得到所述直寫存儲操作的高速緩沖存儲器命中的所述插入的高速緩沖存儲器的任意一個中進行所述直寫存儲操作的裝置;以及用所述直寫操作的數(shù)據(jù)地址,由所述系統(tǒng)總線的外部偵聽路徑,偵聽沒有插在所述處理器和所述系統(tǒng)總線之間的高速緩沖存儲器,直到所述直寫操作成功由此保持了高速緩沖存儲器的一致性的裝置。
6.根據(jù)權利要求5的在直寫存儲操作時保持高速緩沖存儲器一致性的系統(tǒng),通過插在所述處理器和所述系統(tǒng)總線之間的高速緩沖存儲器將直寫存儲操作由一個處理器傳送到所述系統(tǒng)總線的所述裝置還包括裁定用于所述處理器的局部總線的裝置,將所述直寫存儲操作的所述數(shù)據(jù)地址傳送到所述插入的高速緩沖存儲器。
7.根據(jù)權利要求5的在直寫存儲操作時保持高速緩沖存儲器一致性的系統(tǒng),在得到所述直寫存儲操作的高速緩沖存儲器命中的所述插入的高速緩沖存儲器的任意一個中進行所述直寫存儲操作的所述裝置還包括在所述插入的高速緩沖存儲器中將所述直寫操作的所述數(shù)據(jù)地址與各地址標記陣列進行比較的裝置;以及如果所述數(shù)據(jù)地址匹配所述地址標記陣列中的任何標記,那么返回高速緩沖存儲器命中的裝置。
8.根據(jù)權利要求5的在直寫存儲操作時保持高速緩沖存儲器一致性的系統(tǒng),其中偵聽沒有插在所述處理器和所述系統(tǒng)總線之間的高速緩沖存儲器由所述系統(tǒng)總線的外部偵聽路徑與所述直寫操作的數(shù)據(jù)地址直到所述直寫操作成功由此保持了高速緩沖存儲器的一致性的所述裝置還包括裁定用于所述直寫存儲操作的所述系統(tǒng)總線的裝置;將所述直寫操作的所述數(shù)據(jù)地址傳送到所述系統(tǒng)總線的所述外部偵聽路徑的裝置;將所述數(shù)據(jù)地址與沒有插在所述處理器和所述系統(tǒng)總線之間的高速緩沖存儲器中的各地址標記陣列的裝置;響應于返回到所述系統(tǒng)總線的任何重試響應,沿所述外部偵聽路徑保持所述數(shù)據(jù)地址的裝置;以及響應于返回到所述系統(tǒng)總線的所述偵聽,完成所述存儲器體系的系統(tǒng)存儲器內的所述直寫存儲操作的裝置,不需要重試條件。
全文摘要
在數(shù)據(jù)處理系統(tǒng)中直寫存儲操作時保持高速緩沖存儲器一致性的方法和系統(tǒng)。通過高速緩沖存儲器,將直寫存儲操作由特定的處理器傳遞到系統(tǒng)總線。在插入的高速緩沖存儲器中進行直寫存儲操作。沒有插在特定的處理器系統(tǒng)總線之間的所述多級高速緩沖存儲器的所有高速緩沖存儲器用所述直寫操作的數(shù)據(jù)地址從系統(tǒng)總線的外部偵聽路徑偵聽,直到直寫操作成功,由此在完成到相同數(shù)據(jù)地址的任何其它指令之前成功地完成直寫操作。
文檔編號G06F12/00GK1278625SQ0011885
公開日2001年1月3日 申請日期2000年6月15日 優(yōu)先權日1999年6月18日
發(fā)明者J·M·努內斯, T·A·彼得森, M·J·沙利文 申請人:國際商業(yè)機器公司