專利名稱::支持共享全局一致性狀態(tài)的處理器、數(shù)據(jù)處理系統(tǒng)和方法
技術(shù)領(lǐng)域:
:本發(fā)明一般地涉及數(shù)據(jù)處理系統(tǒng)并且更特別地涉及一種改進(jìn)的多處理器數(shù)據(jù)處理系統(tǒng)。更特別地,本發(fā)明涉及多處理器數(shù)據(jù)處理系統(tǒng)內(nèi)層級結(jié)構(gòu)高速緩存系統(tǒng)的改進(jìn)的一致性管理。
背景技術(shù):
:常規(guī)對稱多處理器(SMP)計算機系統(tǒng)如服務(wù)器計算機系統(tǒng)包括全部耦合到系統(tǒng)互連的多個處理單元,該系統(tǒng)互連通常包括一個或者多個地址總線、數(shù)據(jù)總線和控制總線。耦合到系統(tǒng)互連的還有系統(tǒng)存儲器,該系統(tǒng)存儲器代表多處理器計算機系統(tǒng)中最低級別的易失性存儲器并且一般可用于由所有處理單元進(jìn)行讀取和寫入訪問。為了減少對駐留于系統(tǒng)存儲器中的指令和數(shù)據(jù)的訪問延遲,各處理單元通常還受相應(yīng)多級高速緩存層級結(jié)構(gòu)支持,該多級高速緩存層級結(jié)構(gòu)中的一個或者多個低級別可以由一個或者多個處理器內(nèi)核共享。由于多個處理器內(nèi)核可以請求對同一高速緩存數(shù)據(jù)行的寫入訪問以及由于經(jīng)修改的高速緩存行沒有立即與系統(tǒng)存儲器同步,所以多處理器計算機系統(tǒng)的高速緩存層級結(jié)構(gòu)通常實施高速緩存一致性協(xié)議以保證在各處理器內(nèi)核對系統(tǒng)存儲器內(nèi)容的"查看"之間的至少最低的一致性水平。特別地,高速緩存一致性至少要求在處理單元訪問存儲器塊的副本并且隨后訪問存儲器塊的更新副本之后,處理單元不能再次訪問存儲器塊的舊副本。高速緩存一致性協(xié)議通常限定了與在高速緩存層級結(jié)構(gòu)的各個級別存儲的高速緩存行相關(guān)聯(lián)地存儲的高速緩存狀態(tài)集以及用來在高速緩存層級結(jié)構(gòu)之間傳送高速緩存狀態(tài)信息的一致'性消息集。在典型實施中,高速緩存狀態(tài)信息采取公知的MESI(修改、獨占、共享、無效)協(xié)議或者其變型的形式,而一致性消息表明在存儲器訪問請求的請求者和/或接收者的高速緩存層級結(jié)構(gòu)中由協(xié)議限定的一致性狀態(tài)轉(zhuǎn)變。MESI協(xié)議使得可以利用四個狀態(tài)之一來標(biāo)記高速緩存數(shù)據(jù)行"M"(修改)、"E"(獨占)、"S"(共享)或者'T,(無效)。"修改"狀態(tài)表明一致性粒度(granule)僅在存儲經(jīng)修改的一致性顆粒的高速緩存中才有效并且經(jīng)修改的一致性粒度的值尚未寫到系統(tǒng)存儲器。當(dāng)一致性粒度表示為"獨占"時,于是在存儲器層級結(jié)構(gòu)中的所有高速緩存之中,僅該高速緩存才保持一致性粒度。然而,在"獨占"狀態(tài)下的數(shù)據(jù)與系統(tǒng)存儲器相一致。如果一致性粒度在高速緩存目錄中被標(biāo)為"共享",則一致性粒度駐留于關(guān)聯(lián)高速緩存中以及可能駐留于存儲器層級結(jié)構(gòu)中的一個或者多個其它高速緩存中,并且一致性粒度的所有副本與系統(tǒng)存儲器相一致。最后,"無效"狀態(tài)表明與一致性粒度相關(guān)聯(lián)的數(shù)據(jù)和地址標(biāo)記都是無效的。各一致性粒度(例如高速緩存行)被設(shè)置成的狀態(tài)依賴于高速緩存行內(nèi)數(shù)據(jù)的先前狀態(tài)以及從進(jìn)行請求的設(shè)備(例如處理器)接收的存儲器訪問請求的類型。因而,在系統(tǒng)中維持存儲器一致性要求處理器跨系統(tǒng)總線傳送消息,這些消息表明它們讀取存儲器位置或者向存儲器位置寫入的意圖。例如,當(dāng)處理器希望寫入數(shù)據(jù)到存儲器位置時,處理器必須先向所有其它處理單元通知它要寫入數(shù)據(jù)到存儲器位置的意圖并且從所有其它處理單元接收執(zhí)行寫入操作的許可。進(jìn)行請求的處理器所收5'J的許可消息表明存儲器位置的內(nèi)容的所有其它高速緩存副本已經(jīng)或者將要無效,由此確保其它處理器不會錯誤地訪問它們的陳舊的本地lt據(jù)。在一些系統(tǒng)中,高速緩存層級結(jié)構(gòu)包括至少兩級,第一級(L1)或者高級別高速緩存,以及一級或者多級低級別高速緩存,比如第二級(L2)高速緩存和第三級(L3)高速緩存(L2高速緩存相對于L3高速緩存是高級別高速緩存)。Ll高速緩存通常是與MP系統(tǒng)中特定處理器內(nèi)核相關(guān)聯(lián)的專用高速緩存。處理器內(nèi)核首先嘗試訪問在它的L1高速緩存中的數(shù)據(jù)。如果在L1高速緩存中沒有找到所請求的數(shù)據(jù),則處理器內(nèi)核然后訪問一個或者多個低級別高速緩存(例如第二級(L2)或者第三級(L2)高速緩存)以獲得所請求的數(shù)據(jù)。通常在數(shù)個處理器內(nèi)核之間共享低級別高速緩存(例如L3)。通常,當(dāng)高級別高速緩存的同余類變得充滿時,數(shù)據(jù)行被"驅(qū)逐"或者寫到低級別高速緩存或者被"驅(qū)逐"出或者寫出到系統(tǒng)存儲器以供存儲。然而,在任何存儲器層級結(jié)構(gòu)中,可能有同一數(shù)據(jù)的數(shù)個副本同時駐留于存儲器層級結(jié)構(gòu)中。為了在高級別高速緩存中提供更多空間而驅(qū)逐高速緩存行的策略引起對低級別高速緩存的更新,包括對低級別高速緩存目錄中一致性狀態(tài)信息的更新。迄今為止,高速緩存一致性協(xié)議已經(jīng)一般地假設(shè)為了維持高速緩存一致性,在從高級別高速緩存驅(qū)逐高速緩存行時,將來自高級別高速緩存的一致性狀態(tài)復(fù)制到低級別高速緩存中。本發(fā)明認(rèn)識到,通過在執(zhí)行逐出(castout)時以及針對其它數(shù)據(jù)處理場合智能地限定高速緩存層級結(jié)構(gòu)中的一致性狀態(tài)和一致性狀態(tài)轉(zhuǎn)變,能夠?qū)崿F(xiàn)對數(shù)據(jù)處理系統(tǒng)性能的增強。
發(fā)明內(nèi)容本發(fā)明提供一種在多處理器數(shù)據(jù)處理系統(tǒng)中一致性管理的改進(jìn)處理單元、數(shù)據(jù)處理系統(tǒng)和方法。根據(jù)本發(fā)明的一個實施例,一種數(shù)據(jù)處理系統(tǒng)至少包括第——致性域和第二一致性域,其中第——致性域包括系統(tǒng)存儲器和高速緩存存儲器。根據(jù)一種數(shù)據(jù)處理方法,在高速緩存存儲器的數(shù)據(jù)陣列中緩存高速緩存行,并且將高速緩存存儲器的高速緩存目錄中的狀態(tài)字段設(shè)置為一致性狀態(tài)以表明高速緩存行在數(shù)據(jù)陣列中有效、高速緩存行非獨占地保持于高速緩存存儲器中、以及所述第二一致性域中的另一高速緩存可以保持高速緩存行的副本。本發(fā)明的所有目的、特征和優(yōu)點將在如下具體書面描述中變得明顯。將通過參照結(jié)合附圖來閱讀的對示例性實施例的如下具體描述來最好地理解本發(fā)明以及優(yōu)選實施方式,在附圖中相似的標(biāo)號代表相同或者類似的單元,其中圖1圖示了根據(jù)本發(fā)明的高速緩存一致性對稱多處理器(SMP)數(shù)據(jù)處理系統(tǒng)的示例性實施例的高級框圖;圖2是根據(jù)本發(fā)明優(yōu)選實施例的示例性處理單元的框圖;圖3A是根據(jù)本發(fā)明優(yōu)選實施例的處理器內(nèi)核和L2高速緩存的示例性實施例的更具體框圖;圖3B是根據(jù)本發(fā)明優(yōu)選實施例的L3高速緩存的示例性實施例的更具體框圖;圖4是根據(jù)本發(fā)明優(yōu)選實施例的數(shù)據(jù)處理系統(tǒng)的本地或者系統(tǒng)互連上的示例性操作的時間-空間圖;圖5圖示了根據(jù)本發(fā)明優(yōu)選實施例包括域指示符的系統(tǒng)存儲器;圖6是根據(jù)本發(fā)明優(yōu)選實施例對L3高速緩存存儲器執(zhí)行驅(qū)入(cast-in)的示例性方法的高級邏輯流程圖;圖7是根據(jù)本發(fā)明優(yōu)選實施例響應(yīng)于驅(qū)入而在L3高速緩存存儲器中實施一致性狀態(tài)轉(zhuǎn)變策略的示例性方法的高級邏輯流程圖;圖8是描繪了現(xiàn)有技術(shù)的操作流程的時序圖,其中出于Ig—致性狀態(tài)逐出命中創(chuàng)建了一致性解析窗口,在該窗口中必須查詢高速緩存目錄以確定對所監(jiān)聽的讀取型操作的正確一致性響應(yīng);以及圖9是根據(jù)本發(fā)明由L2高速緩存存儲器實施的一致性狀態(tài)轉(zhuǎn)變策略的示例性方法的高級邏輯流程圖。具體實施方式I.示例性架構(gòu)概述現(xiàn)在參照其中相似標(biāo)號通篇地指代相似和對應(yīng)部分的附圖并且特別地參照圖1,圖示了描繪本發(fā)明可以實施于其中的示例性數(shù)據(jù)處理系統(tǒng)的高級框圖。數(shù)據(jù)處理系統(tǒng)被描繪成高速緩存一致性對稱多處理器(SMP)數(shù)據(jù)處理系統(tǒng)100。如圖所示,數(shù)據(jù)處理系統(tǒng)100包括用于處理數(shù)據(jù)和指令的多個處理節(jié)點102a、102b。處理節(jié)點102耦合到用于傳送地址、數(shù)據(jù)和控制信息的系統(tǒng)互連110。系統(tǒng)互連110可以例如實施為總線式互連、開關(guān)式互連或者混合型互連。在所示實施例中,各處理節(jié)點102^皮實現(xiàn)為包含四個處理單元104a-104d的多芯片模塊(MCM),各處理單元優(yōu)選地實現(xiàn)為相應(yīng)集成電路。在各處理節(jié)點102內(nèi)的處理單元104被耦合用于通過本地互連114來彼此通信和與系統(tǒng)互連110通信,該本地互連114與系統(tǒng)互連110—樣可以例如利用一個或者多個總線和/或開關(guān)來實施。如圖2中所示,處理單元104各包括耦合到相應(yīng)系統(tǒng)存儲器108的集成存儲器控制器(IMC)206。駐留于系統(tǒng)存儲器108中的數(shù)據(jù)和指令一般能夠由數(shù)據(jù)處理系統(tǒng)100內(nèi)任何處理節(jié)點102的任何處理單元104中的處理器內(nèi)核來訪問和修改。在本發(fā)明的可選實施例中,一個或者多個存儲器控制器206(和系統(tǒng)存儲器108)能夠耦合到系統(tǒng)互連110或者本地互連114。本領(lǐng)域技術(shù)人員將認(rèn)識到圖1的SMP數(shù)據(jù)處理系統(tǒng)100能夠包括很多未示出的附加部件,比如互連橋接器、非易失性存儲器、用于連接到網(wǎng)絡(luò)或者附接設(shè)備的端口等。由于這樣的附加部件對于理解本發(fā)明而言不是必需的,所以在圖1中沒有圖示它們或者在這里沒有進(jìn)一步討論它們。然而應(yīng)當(dāng)理解,本發(fā)明所提供的增強適用于各種架構(gòu)的高速緩存一致性數(shù)據(jù)處理系統(tǒng)而不以任何方式限制于圖1中所示的一般數(shù)據(jù)處理系統(tǒng)架構(gòu)?,F(xiàn)在參照圖2,描繪了根據(jù)本發(fā)明的示例性處理單元104的更具體框圖。在所示實施例中,能夠有利地實現(xiàn)為單個集成電路的各處理單元104包括用于獨立地處理指令和數(shù)據(jù)的四個處理器內(nèi)核200a-200d。在一個優(yōu)選實施例中,各處理器內(nèi)核200支持執(zhí)行的多個(例如兩個)并行硬件線程。各處理器內(nèi)核200的操作受多級易失性存儲器子系統(tǒng)支持,該子系統(tǒng)在它的最低級別具有共享系統(tǒng)存儲器108而在它的高級別具有兩級或者更多級高速緩存存儲器用于對駐留于可高速緩存地址內(nèi)的數(shù)據(jù)和指令進(jìn)行高速緩存。在所示實施例中,高速緩存存儲器層級結(jié)構(gòu)包括位于各處理器內(nèi)核200內(nèi)并且專用于各處理器內(nèi)核200的相應(yīng)存儲直達(dá)(store-through)第一級(Ll)高速緩存(未示出)、專用于各處理器內(nèi)核200的相應(yīng)存入(store-in)第二級(L2)高速緩存230和用于對L2逐出進(jìn)行緩沖的L3犧牲(victim)高速緩存232。在所示實施例中,處理器內(nèi)核200a和200d共享L3高速緩存232a而處理器內(nèi)核200b和200c共享L3高速緩存232b。當(dāng)然,在其它實施例中,各處理器內(nèi)核200可以具有它自己的相應(yīng)L3高速緩存232。在包括圖2中所示實施例的至少一些實施例中,L3高速緩存232a-232b還耦合在一起以使得可以進(jìn)行數(shù)據(jù)交換,包括使得L3高速緩存232可以將它的高速緩存行之一逐出到L3高速緩存232的另一高速緩存行中以盡可能久地在處理單元104的高速緩存層級結(jié)構(gòu)內(nèi)保留處理器內(nèi)核200可能要訪問的數(shù)據(jù)。各處理單元104還包括響應(yīng)邏輯210的實例,該響應(yīng)邏輯實施在數(shù)據(jù)處理系統(tǒng)100內(nèi)維持高速緩存一致性的分布式一致性信令機制的一部分。此外,各處理單元104包括用于管理處理單元104與本地互連114和系統(tǒng)互連110之間的通信的互連邏輯212的實例。L2高速緩存230和L3高速緩存232各經(jīng)由未示出的連接耦合到互連邏輯212以實現(xiàn)參與在圖1的互連110和114上的數(shù)據(jù)和一致性通信。最后,各處理單元104包括集成I/0(輸入/輸出)控制器214,該控制器支持一個或者多個I/O設(shè)備如I/O設(shè)備216的附接。I/O控制器214可以響應(yīng)于I/O設(shè)備216的請求在本地互連114和/或系統(tǒng)互連110上發(fā)出操作。現(xiàn)在參照圖3A,圖示了圖2的處理單元104內(nèi)的處理器內(nèi)核200和L2高速緩存230的更具體框圖。如圖所示,處理器內(nèi)核200包括用于對指令進(jìn)行獲取和排序以供執(zhí)行的指令定序單元(ISU)300、用于執(zhí)行指令的一個或者多個執(zhí)行單元302以及Ll高速緩存306。執(zhí)行單元302包括加載-存儲單元(LSU)304,該LSU執(zhí)行存儲器訪問(例如加載和存儲)指令以使得從存儲器加載數(shù)據(jù)和存儲數(shù)據(jù)到存儲器。通過由存儲器子系統(tǒng)實施一致性協(xié)議,在執(zhí)行這樣的存儲器訪問操作的同時,維持對存儲器內(nèi)容的一致性查看。根據(jù)本發(fā)明,可以包括分叉式L1數(shù)據(jù)和指令高速緩存的Ll高速緩存306被實施為存儲直達(dá)高速緩存,這意味著相對于其它處理器內(nèi)核200而言的高速緩存一致性點位于Ll高速緩存306以下,并且在所示實施例中位于L2高速緩存230。因而,Ll高速緩存306沒有針對它的高速緩存行維持真正的高速緩存一致性狀態(tài)而僅維持有效/無效位。L2高速緩存230包含存儲高速緩存指令行和數(shù)據(jù)行的數(shù)據(jù)陣列310以及數(shù)據(jù)陣列300的內(nèi)容的高速緩存目錄312。與在常規(guī)的集合關(guān)聯(lián)高速緩存中一樣,利用系統(tǒng)存儲器(真實)地址內(nèi)的預(yù)定索引位將系統(tǒng)存儲器108中的存儲器塊映射到數(shù)據(jù)陣列310內(nèi)的特定同余類。在一個實施例中,在128字節(jié)的高速緩存行中設(shè)置用于一致性系統(tǒng)的標(biāo)準(zhǔn)存儲器塊。存儲于數(shù)據(jù)陣列310內(nèi)的特定存儲器塊或者高速緩存行被記錄于高速緩存目錄312中,該目錄針對數(shù)據(jù)陣列310中的每個高速緩存行包含一個目錄條目。正如本領(lǐng)域技術(shù)人員所理解的,高速緩存目錄302中的各目錄條目至少包括標(biāo)記字段314,該字段利用對應(yīng)的真實地址的一部分來指定數(shù)據(jù)陣列310中存儲的特定高速緩存行;狀態(tài)字段316,該字段表明高速緩存行的一致性狀態(tài);以及LRU(最近最少使用)字段318,該字段表明高速緩存行相對于同一同余類中的其它高速緩存行而言的替換次序。如圖3A中進(jìn)一步所示,L2高速緩存230也包括對L2高速緩存230的數(shù)據(jù)和一致性操作進(jìn)行控制的高速緩存控制器330。高速緩存控制器330包括多個讀取-主張(RC)機器332,用于獨立和并行地服務(wù)于從附屬處理器內(nèi)核200接收的加載(LD)和存儲(ST)請求;以及多個監(jiān)聽機器(SN)334,用于獨立和并行地服務(wù)于由附屬處理器內(nèi)核200以外的處理器內(nèi)核發(fā)出的并且從本地互連114"監(jiān)聽"的遠(yuǎn)程存儲器訪問請求。正如將理解到的,RC機器232服務(wù)于存儲器訪問請求可能要求使數(shù)據(jù)陣列310內(nèi)的存儲器塊被替換或者無效。因而,高速緩存控制器330也包括對從數(shù)據(jù)陣列310去除和回寫存儲器塊進(jìn)行管理的多個CO(逐出)機器336?,F(xiàn)在參照圖3B,描繪了根據(jù)本發(fā)明的L3高速緩存的示例性實施例的更具體框圖。正如從圖3A和3B的比較中可見,作為用于對L2逐出進(jìn)行緩沖的犧牲高速緩存來使用的L3高速緩存232與圖3的L2高速緩存230相似地來配置。因而,L3高速緩存232包括集合關(guān)聯(lián)數(shù)據(jù)陣列360、數(shù)據(jù)陣列360的內(nèi)容的高速緩存目錄362和高速緩存控制器380。高速緩存目錄362中的各目錄條目至少包括標(biāo)記字段364,該字段利用對應(yīng)的真實地址的一部分來指定數(shù)據(jù)陣列360中存儲的特定高速緩存行;狀態(tài)字段366,該字段表明高速緩存行的一致性狀態(tài);以及LRU(最近最少使用)字段368,該字段表明高速緩存行相對于同一同余類中的其它高速緩存行而言的替換次序。高速緩存控制器380包括如上文參照圖3A所討論的多個監(jiān)聽機器384和多個逐出機器386。作為對RC機器的替代,高速緩存控制器380包括服務(wù)于垂直連接的L2高速緩存230的數(shù)據(jù)請求的多個讀取(RD)機器382。II,示例性操作現(xiàn)在參照圖4,描繪了圖1的數(shù)據(jù)處理系統(tǒng)100的本地或者系統(tǒng)互連110、114上的示例性#:作的時間-空間圖。雖然互連110、114并非必然地是總線式互連,但是在一個或者多個本地互連114和/或系統(tǒng)互連114上發(fā)送的操作在這里稱為"總線操作"以使它們區(qū)別于在處理器內(nèi)核200與駐留于它們自己的高速緩存層級結(jié)構(gòu)內(nèi)的高速緩存存儲器之間發(fā)送的CPU請求。所示總線操作始于主控(M)400如L2高速緩存230的RC機器332或者I/O控制器214在本地互連114和/或系統(tǒng)互連110上發(fā)出請求402。請求402優(yōu)選地包括表明希望訪問的類型的事務(wù)類型和表明該請求所要訪問的資源的資源標(biāo)識符(例如真實地址)。普通類型的請求優(yōu)選地包括下面在表I中闡述的請求。表I<table>tableseeoriginaldocumentpage15</column></row><table>DCBZ(數(shù)據(jù)高速緩存塊零)請求用以創(chuàng)建存儲器塊的新唯一高速緩存副本而不考慮它的當(dāng)前狀態(tài)并且隨后修改它的內(nèi)容的權(quán)限;如果有其它副本則要求破壞其它副本逐出在準(zhǔn)備破壞高級別副本時將存儲器塊的映像從高級別存儲器復(fù)制到低級別存儲器;驅(qū)入是從高級別高速緩存存儲器接收的逐出。寫入請求用以創(chuàng)建存儲器塊的新唯一副本而不考慮它的當(dāng)前狀態(tài)并且立刻在準(zhǔn)備破壞高級別副本時將存儲器塊的映像從高級別存儲器復(fù)制到低級別存儲器的權(quán)限部分寫入請求用以創(chuàng)建部分存儲器塊(partialmemoryblock)的新唯一副本而不考慮它的當(dāng)前狀態(tài)并且立即在準(zhǔn)備破壞高級別副本時將該部分存儲器塊的映像從高_(dá)級別存儲器復(fù)制到低級別存儲器的權(quán)限_請求402由監(jiān)聽器412接收,該監(jiān)聽器比如是L2高速緩存230的監(jiān)聽機器334、L3高速緩存232的監(jiān)聽機器384和存儲器控制器206(圖2)。一般而言,除例外的情況之外,與發(fā)出了請求402的RC機器232和所連接的L3高速緩存232的監(jiān)聽才幾器384在同一L2高速緩存230中的監(jiān)聽機器334并不監(jiān)聽請求402(即一般沒有自監(jiān)聽),因為只有在處理單元104不能內(nèi)部地服務(wù)于請求402時才在本地互連114和/或系統(tǒng)互連110上發(fā)送請求402。收到請求402的各監(jiān)聽器412可以提供相應(yīng)的部分響應(yīng)406,該部分響應(yīng)代表了至少該監(jiān)聽器對請求402的響應(yīng)。存儲器控制器206例如基于存儲器控制器206是否負(fù)責(zé)請求地址以及它是否具有可用來服務(wù)于該請求的資源來確定所要提供的部分響應(yīng)406。L2或者L3高速緩存可以例如基于它的L2高速緩存目錄的可用性、用以處理該請求的監(jiān)聽機器的可用性以及與高速緩存目錄中的請求地址相關(guān)聯(lián)的一致性狀態(tài)來確定它的部分響應(yīng)406。監(jiān)聽器412的部分響應(yīng)由響應(yīng)邏輯210的一個或者多個實例分階段或者一次性全部在邏輯上加以組合以確定對請求402的系統(tǒng)范圍的組合響應(yīng)(CR)410。受制于下文討論的范圍限制,響應(yīng)邏輯210經(jīng)由它的本地互連114和/或系統(tǒng)互連110將組合響應(yīng)410l是供給總線操作的主控和監(jiān)聽器以表明針對請求402的系統(tǒng)范圍的響應(yīng)(例如成功、失敗、重試等)。如果CR410表明請求402成功,則CR410可以例如表明用于所請求的存儲器塊的數(shù)據(jù)源、將用以對所請求的存儲器塊進(jìn)行高速緩存的高速緩存狀態(tài)以及是否要求用以在一個或者多個L2高速緩存230或者L3高速緩存232中使所請求的存儲器塊無效的"清除"操作。響應(yīng)于收到組合響應(yīng)410,一個或者多個主控400和監(jiān)聽器412通常執(zhí)行一個或者多個操作以便服務(wù)于請求402。這些操作可以包括將數(shù)據(jù)供應(yīng)給主控400、無效或者用別的方式更新在一個或者多個L2或者L3高速緩存中高速緩存的數(shù)據(jù)的一致性狀態(tài)、執(zhí)行逐出操作、將數(shù)據(jù)寫回到系統(tǒng)存儲器108等。如果請求402提出要求,則在響應(yīng)邏輯210生成組合響應(yīng)410之前或者之后,所請求的存儲器塊或者目標(biāo)存儲器塊可以被發(fā)送到主控400或者被從主控400發(fā)送。在如下描述中,將針對由請求所指定的請求地址關(guān)于監(jiān)聽器是否為一致性最高點(HPC)、一致性最低點(LPC)或者二者都不是來描述監(jiān)聽器412對請求的部分響應(yīng)以及該監(jiān)聽器響應(yīng)于該請求和/或它的組合響應(yīng)而執(zhí)行的操作。在此將LPC限定為作為用于存儲器塊的存儲庫(repository)來使用的存儲器設(shè)備。在沒有用于存儲器塊的HPC時,LCP保持存儲器塊的真正映像并且具有用以準(zhǔn)許或者拒絕對生成存儲器塊附加高速緩存副本的請求的權(quán)限。對于在圖1和圖2的數(shù)據(jù)處理系統(tǒng)實施例中的典型請求,LPC將是如下存儲器控制器206,該存儲器控制器用于對所引用的存儲器塊進(jìn)行保持的系統(tǒng)存儲器108。HPC在這里限定為唯一標(biāo)識的設(shè)備,該設(shè)備對存儲器塊的真正映像進(jìn)行高速緩存(可以與或者可以不與在LPC的對應(yīng)存儲器塊相一致)并且具有用以準(zhǔn)許或者拒絕對修改存儲器塊的請求的權(quán)限。作為描述,HPC也可以響應(yīng)于不對存儲器塊進(jìn)行修改的操作向請求者提供存儲器塊的副本。由此,對于在圖1和圖2的數(shù)據(jù)處理系統(tǒng)實施例中的典型請求,如果有HPC則該HPC將是L2高速緩存230。雖然其它指示符可以用來標(biāo)識用于存儲器塊的HPC,但是如果有HPC則本發(fā)明的優(yōu)選實施例利用在L2高速緩存230的L2高速緩存目錄310或者L3高速緩存232的L3高速緩存目錄362內(nèi)的一個或者多個所選高速緩存一致性狀態(tài)來標(biāo)識用于存儲器塊的該HPC,這一點將在下文中參照表II進(jìn)一步描述。仍然參照圖4,如果有用于在請求402中引用的存儲器塊的HPC則該HPC優(yōu)選地負(fù)責(zé)在保護(hù)窗口404a期間保護(hù)響應(yīng)于請求402而對存儲器塊所有權(quán)的轉(zhuǎn)移,或者在沒有HPC時存儲器塊的LPC優(yōu)選地負(fù)責(zé)在保護(hù)窗口404a期間保護(hù)響應(yīng)于請求402而對存儲器塊所有權(quán)的轉(zhuǎn)移。在圖4所示示例性方案中,監(jiān)聽器412(它是用于由請求402的請求地址指定的存儲器塊的HPC)在保護(hù)窗口404a期間保護(hù)所請求的存儲器塊的所有權(quán)向主控232的轉(zhuǎn)移,該保護(hù)窗口從監(jiān)聽器236確定它的部分響應(yīng)406的時刻延伸到監(jiān)聽器412收到組合響應(yīng)410為止。在保護(hù)窗口404a期間,監(jiān)聽器412通過向指定了同一請求地址的其它請求提供部分響應(yīng)406來保護(hù)對所有權(quán)的轉(zhuǎn)移,這些部分響應(yīng)防止其它主控在所有一又已經(jīng)成功轉(zhuǎn)移到主控400之前獲得所有權(quán)。主控400類似地啟動保護(hù)窗口404b,以在收到組合響應(yīng)410之后保護(hù)它對在請求402中所請求的存儲器塊的所有權(quán)。III.數(shù)據(jù)遞送域常規(guī)的基于廣播的數(shù)據(jù)處理系統(tǒng)通過廣播通信來處理高速緩存一致性和數(shù)據(jù)遞送,在常規(guī)系統(tǒng)中,該廣播通信在系統(tǒng)互連上被至少發(fā)送到系統(tǒng)中的所有存儲器控制器和高速緩存層級結(jié)構(gòu)。與具有可選架構(gòu)和類似規(guī)模的系統(tǒng)相比,基于廣播的系統(tǒng)往往能提供減少的訪問延遲以及對共享存儲器塊的更佳數(shù)據(jù)處理和一致性管理。隨著基于廣播的系統(tǒng)在規(guī)模上擴張,在系統(tǒng)互連上的業(yè)務(wù)量倍增,這意味著系統(tǒng)成本隨著系統(tǒng)規(guī)模急劇上升,這是因為需要更多帶寬用于系統(tǒng)互連上的通信。也就是說,具有m個處理器內(nèi)核(各處理器內(nèi)核具有n個事務(wù)的平均業(yè)務(wù)量)的系統(tǒng)具有業(yè)務(wù)量wx,這意味著在基于廣播系統(tǒng)中的業(yè)務(wù)量乘法式地而不是加法式地擴張。除了對于基本上更大互連帶寬的要求以外,系統(tǒng)規(guī)模的增加的次級效應(yīng)是增加一些訪問延遲。例如,讀取數(shù)據(jù)的訪問延遲在最壞情況下受限于最遠(yuǎn)的低級別高速緩存的組合響應(yīng)延遲,該低級別高速緩存在共享一致性狀態(tài)下保持所請求的存儲器塊,可以從該存儲器塊中提供所請求的數(shù)據(jù)。為了在仍然保持基于廣播的系統(tǒng)的優(yōu)點的同時減少系統(tǒng)互連要求和訪問延遲,允許分布在整個數(shù)據(jù)處理系統(tǒng)100上的多個L2高速緩存230在"特殊"共享一致性狀態(tài)下保持同一存儲器塊的副本,該"特殊"共享一致性狀態(tài)使得這些高速緩存可以使用高速緩存到高速緩存的干預(yù)將存儲器塊供應(yīng)給進(jìn)行請求的L2高速緩存230。為了在SMP數(shù)據(jù)處理系統(tǒng)如數(shù)據(jù)處理系統(tǒng)100中針對共享存儲器塊實施多個并行的分布式源,必須解決兩個問題。首先,必須實施某一規(guī)則,該規(guī)則對在上文間接提到的"特殊"共享一致性狀態(tài)下創(chuàng)建存儲器塊的副本進(jìn)行支配。其次,必須有如下規(guī)則,該規(guī)則支配了哪個監(jiān)聽L2高速緩存230(如果有)例如響應(yīng)于總線讀取操作或者總線RWITM操作而將共享存儲器塊提供給進(jìn)行請求的L2高速緩存230。這兩個問題在這里通過實施數(shù)據(jù)源域來解決。特別地,SMP數(shù)據(jù)處理系統(tǒng)內(nèi)的各域(其中域被限定為包括參與對數(shù)據(jù)請求進(jìn)行響應(yīng)的一個或者多個低級別(例如L2或者L3)高速緩存)一次只允許包括一個高速緩存,該高速緩存在"特殊"共享一致性狀態(tài)下保持特定存儲器塊。如果當(dāng)同一域中進(jìn)行請求的高速緩存發(fā)起總線讀取型(例如讀取或者RWITM)操作時該高速緩存存在,則該高速緩存負(fù)責(zé)將所請求的存儲器塊提供給進(jìn)行請求的高速緩存。雖然可以限定很多不同的域大小,但是在圖1的數(shù)據(jù)處理系統(tǒng)100中,為了方便而將各處理節(jié)點102(即MCM)視為數(shù)據(jù)源域。下文參照表II來描述這樣的"特殊"共享狀態(tài)(例如Sl和Slg)的例子。IV,—致性域盡管如上所述的數(shù)據(jù)遞送域的實施改進(jìn)了數(shù)據(jù)訪問延遲,但是這一增強沒有解決業(yè)務(wù)量隨著系統(tǒng)規(guī)模增加而發(fā)生的mx"倍增。為了在仍然維持基于廣播的一致性機制的同時減少業(yè)務(wù)量,本發(fā)明的優(yōu)選實施例還實施一致性域,類似于前文描述的數(shù)據(jù)遞送域,該一致性域能夠方便地但并不要求利用形成分立一致性域的各處理節(jié)點102來實施。數(shù)據(jù)遞送域和一致性域可以是但并不要求是共同擴展的,并且出于說明數(shù)據(jù)處理系統(tǒng)100的示例性操作的目的而在下文中被假設(shè)為具有由處理節(jié)點102來限定的邊界。在并非所有一致性域都參與對請求的服務(wù)的情況下,一致性域的實施通過限制通過系統(tǒng)互連110上的域間廣播通信來減少系統(tǒng)業(yè)務(wù)。例如,如果處理節(jié)點102a的處理單元104a有總線讀取操作要發(fā)出,則處理單元104a可以選擇首先將總線讀取操作廣播到在它自己的一致性域(例如處理節(jié)點102a)內(nèi)的所有參與者但不廣播到在其它一致性域(例如處理節(jié)點102b)中的參與者。僅向在與廣播操作的主控在同——致性域內(nèi)的那些參與者所發(fā)送的該操作在這里被定義為"本地操作"。如果能夠在處理單元104a的一致性域內(nèi)服務(wù)于本地總線讀取操作,則不執(zhí)行對總線讀取操作的進(jìn)一步廣播。然而,如果對本地總線讀取操作的部分響應(yīng)和組合響應(yīng)表明不能僅在處理節(jié)點102a的一致性域內(nèi)服務(wù)于總線讀取操作,則廣播的范圍可以擴展到除了包括本地一致性域之外還包括一個或者多個附加一致性域。在基本實施中,利用兩個廣播范圍"本地"范圍,僅包括本地一致性域;以及"全局范圍",包括在SMP數(shù)據(jù)處理系統(tǒng)中的所有其它一致性域。由此,向SMP數(shù)據(jù)處理系統(tǒng)中的所有一致性域發(fā)送的操作在這里被定義為"全局操作"。重要的是,無論是利用本地操作還是范圍更廣的操作(例如全局操作)來服務(wù)于操作,在SMP數(shù)據(jù)處理系統(tǒng)中的所有一致性域上都維持高速緩存一致性。本地操作和全局操作的例子在美國專利申請第11/055,697號中進(jìn)行了具體描述,在此通過引用的方式包含其全部內(nèi)容。在優(yōu)選實施例中,操作的范圍在總線操作中由本地/全局范圍指示符(信號)來表明,在一個實施例中,該指示符可以包括1位的標(biāo)志。在處理單元104內(nèi)的轉(zhuǎn)發(fā)邏輯212優(yōu)選地基于在經(jīng)由本地互連114接收的操作中的本地/全局范圍指示符(信號)的設(shè)置來確定是否將該操作轉(zhuǎn)發(fā)到系統(tǒng)互連110上。V.域指示符為了限制對所不需要的本地操作進(jìn)行發(fā)出并且由此減少操作延遲和保留本地互連上的附加帶寬,本發(fā)明優(yōu)選地針對每一存儲器塊實施如下域指示符,該指示符表明關(guān)聯(lián)存儲器塊的副本是否被高速緩存在本地一致性域以外。例如,圖5描繪了根據(jù)本發(fā)明的域指示符的第一示例性實施例。如圖5中所示,可以在動態(tài)隨機存取存儲器(DRAM)中實施的系統(tǒng)存儲器108存儲多個存儲器塊500。系統(tǒng)存儲器108與各存儲器塊500相關(guān)聯(lián)地存儲用來糾正存儲器塊500中的錯誤(如果有)的關(guān)聯(lián)糾錯碼(ECC)502以及域指示符504。雖然在本發(fā)明的一些實施例中,域指示符504可以標(biāo)識特定的一致性域(即指定一致性域或者節(jié)點ID),但是下文假設(shè)域指示符504是如下1位指示符如果完全僅在與作為用于存儲器塊500的LPC來使用的存儲器控制器206相同的一致性域內(nèi)對關(guān)聯(lián)存儲器塊500進(jìn)行高速緩存,則設(shè)置該1位指示符(例如設(shè)置為'1,以表明"本地")。否則,就重置域指示符504(例如重置為'O,以表明"全局")。可以不精確地實施將域指示符504設(shè)置為表明"本地",這是因為錯誤設(shè)置"全局"不會引起任何一致性錯誤,但是這可能造成對操作的不必要的全局廣播。響應(yīng)于操作來提供存儲器塊的存儲器控制器206優(yōu)選地與所請求的存儲器塊相結(jié)合地發(fā)送關(guān)聯(lián)域指示符504。VI.示例性一致性協(xié)議在優(yōu)選實施例中,L2高速緩存230和L3高速緩存232利用公知MESI(修改、獨占、共享、無效)協(xié)議的變型。除了提供(l)高速緩存是否為用于存儲器塊的HPC這一指示之外,一致性狀態(tài)集也表明(2)高速緩存副本在那一存儲器層級結(jié)構(gòu)級別的高速緩存之中是否唯一(即為僅有的高速緩存副本)、(3)高速緩存是否以及何時能夠?qū)⒋鎯ζ鲏K的副本提供給請求的主控以及(4)存儲器塊的高速緩存映像是否與LPC中的對應(yīng)存儲器塊相一致。可以在下面在表II中所總結(jié)的一致性協(xié)議狀態(tài)中表達(dá)這四個屬性。<table>tableseeoriginaldocumentpage21</column></row><table><table>tableseeoriginaldocumentpage22</column></row><table><table>tableseeoriginaldocumentpage23</column></row><table><table>tableseeoriginaldocumentpage24</column></row><table>要求使標(biāo)記無效、用數(shù)據(jù)更新存儲器以及向MC表明該域位應(yīng)當(dāng)設(shè)置成'全局'。Te標(biāo)記獨占狀態(tài)數(shù)據(jù)和標(biāo)記有效。數(shù)據(jù)未被修改并且由這一高速緩存提供給在這一域以外的另一主控(即在過去某一時間處于Me狀態(tài),并且共享副本被提供給遠(yuǎn)程一致性域中的另一高速緩存)。從這一狀態(tài),將不會經(jīng)由干預(yù)將數(shù)據(jù)提供給另一L2,直至收到表明沒有其它L2/L3在提供數(shù)據(jù)(即如果沒有L2/L3是Sl或者Slg)的組合響應(yīng)。Te行的逐出僅要求使標(biāo)記無效以及向MC表明該域位應(yīng)當(dāng)設(shè)置成'全局,(即數(shù)據(jù)無需逐出到存儲器)。來自這一域以外主控的監(jiān)聽讀取命中(Me)。M修改狀態(tài)數(shù)據(jù)和標(biāo)記有效。數(shù)據(jù)已#:修改并且被獨占地?fù)碛?。高速緩存行無法在任何其它高速緩存行中有效。從這一狀態(tài),能夠經(jīng)由干預(yù)將數(shù)據(jù)提供給另一L2(在本地MCM或者遠(yuǎn)程MCM中)。處理器內(nèi)核數(shù)據(jù)存儲或者DCBZ。Me修改獨占狀態(tài)數(shù)據(jù)和標(biāo)記有效。數(shù)據(jù)就系統(tǒng)存儲器而言未纟皮修改并且纟皮這一L2/L3獨占。高速緩存行無法在任何其它高速緩存行中有LPC供應(yīng)lt據(jù)并且其它高速緩存未被共享。<table>tableseeoriginaldocumentpage26</column></row><table>在參照圖1而描述的數(shù)據(jù)處理系統(tǒng)IOO的實施例中,域指示符由L2/L3高速緩存230和232與關(guān)聯(lián)存儲器塊相結(jié)合地接收并且可以可選地與存儲器塊一起存儲于數(shù)據(jù)陣列310、360中。盡管這一布局使得可以簡化用于域指示符的數(shù)據(jù)流,但是當(dāng)?shù)谝籐2高速緩存230通過供應(yīng)所請求的存儲器塊而對駐留于不同的一致性域中的第二L2高速緩存230的總線RWITM操作做出響應(yīng)時,沒有"全局"指示符保持被高速緩存于本地一致性域中。由此,必須訪問LPC以確定是否知道要完全地還是僅局部地對存儲器塊進(jìn)行高速緩存。因而,如果用于存儲器塊的HPC從遠(yuǎn)程一致性域中的請求者收到總線RWITM操作(或者其它存儲修改操作),則系統(tǒng)利用重試-推送來做出響應(yīng),該重試-推送包括對所請求的存儲器塊的高速緩存逐出以及對總線RWITM操作的重試。正如將理解到的,消除與重試-推送操作相關(guān)聯(lián)的延遲和帶寬利用將是優(yōu)選的。為了減少對域指示的訪問延遲,提供了Ig(無效全局)、Sg(共享全局)和Slg(共享本地全局)一致性狀態(tài)。Ig狀態(tài)在這里定義為表明如下各項的高速緩存一致性狀態(tài)(1)高速緩存陣列中的關(guān)聯(lián)存儲器塊無效;(2)高速緩存目錄中的地址標(biāo)記有效;以及(3)地址標(biāo)記所標(biāo)識的存儲器塊的經(jīng)修改副本被提供給遠(yuǎn)程一致性域中的高速緩存。Sg狀態(tài)在這里定義為表明如下各項的高速緩存一致性狀態(tài)(1)高速緩存陣列中的關(guān)聯(lián)存儲器塊有效;(2)高速緩存目錄中的地址標(biāo)記有效;(3)地址標(biāo)記所標(biāo)識的存儲器塊的經(jīng)修改副本被提供給遠(yuǎn)程一致性域中的高速緩存;以及(4)存儲器塊的副本被保持并且可能仍然保持于另一高速緩存中。類似地,Slg狀態(tài)在這里定義為表明如下各項的高速緩存一致性狀態(tài)(1)高速緩存陣列中的關(guān)聯(lián)存儲器塊有效;(2)高速緩存目錄中的地址標(biāo)記有效;(3)地址標(biāo)記所標(biāo)識的存儲器塊的進(jìn)修改副本被提供給遠(yuǎn)程一致性域中的高速緩存;(4)存儲器塊的副本被保持并且可能仍然保持于另一高速緩存中;以及(5)高速緩存具有用以通過高速緩存到高速緩存的數(shù)據(jù)干預(yù)將存儲器塊的副本提供給在它的一致性域中的主控的權(quán)限。可以優(yōu)選地針對僅在如下一致性域中的給定存儲器塊形成lg、Sg和Slg狀態(tài),該一致性域包含用于該存儲器塊的LPC。在這樣的實施例中,必須實施一些4幾制(例如LPC的部分響應(yīng)以及后續(xù)的組合響應(yīng))以向提供所請求的存儲器塊的高速緩存表明LPC在它的本地一致性域內(nèi)。在不支持傳送"LPC在本地"這一指示的其它實施例中,可以在提供存儲器塊到遠(yuǎn)程一致性域時形成Ig、Sg或者Slg狀態(tài),因此可能不精確地形成Ig、Sg和Slg。數(shù)個規(guī)則支配了對Ig、Sg和Slg(統(tǒng)稱為Xg)高速緩存條目的選擇和替換。第一,如果高速緩存選擇Xg條目作為用于替換的犧牲者,則執(zhí)行對Xg條目的逐出(不同于當(dāng)選擇I或者S條目時的情況)。第二,對Xg狀態(tài)的逐出優(yōu)選地作為本地操作來執(zhí)行,或者如果作為全局操作來執(zhí)行則被逐出地址的遠(yuǎn)程LPC所忽略。如果允許Xg條目形成于不在與用于存儲器塊的LPC相同的一致性域內(nèi)的高速緩存中,則無需對LPC中的域指示符進(jìn)行更新。第四,對Xg狀態(tài)的逐出優(yōu)選地作為無數(shù)據(jù)僅地址的操作來執(zhí)行,其中域指示符被寫回到LPC(如果在執(zhí)行該逐出的高速緩存的本地)。由于包括Xg狀態(tài)的高速緩存目錄條目攜帶了潛在有用的信息,所以在至少一些實施中希望例如通過修改最近最少使用(LRU)算法來保持Xg狀態(tài)下的條目優(yōu)先于具有同一基本狀態(tài)(例如S或者I)的其它條目,該LRU算法用來評價LRU字段318、368以選沖奪犧牲高速緩存條目以供替換。隨著Xg目錄條目保持于高速緩存中,這樣的條目有可能隨著時間變得"陳舊",這是因為其獨占訪問請求引發(fā)了Xg狀態(tài)的形成的高速緩存可以解除對它的存儲器塊副本的分配或者回寫它的存儲器塊副本而不通知給在Xg狀態(tài)下保持存儲器塊的地址標(biāo)記的高速緩存。在這樣的情況下,錯誤地表明應(yīng)當(dāng)發(fā)出全局操作而不是本地操作的"陳舊"Xg狀態(tài)不會造成任何一致性錯誤,而是將僅僅造成本來利用本地操作就能得到服務(wù)的一些操作被作為全局操作來發(fā)出。發(fā)生此類低效情況的持續(xù)時間將受限于"陳舊"子g高速緩存條目的最終替換。即使當(dāng)沒有有效的存儲器塊副本保持被高速緩存于一致性域中時(在Ig的情況下),Xg—致性狀態(tài)的實施仍然通過針對一致性域中的存儲器塊維護(hù)高速緩存域指示符來提高通信效率。因而,用于存儲器塊的HPC能夠服務(wù)于來自遠(yuǎn)程一致性域的獨占訪問請求(例如總線RWITM或者總線DClaim操作)而無需重試請求和執(zhí)行將所請求的存儲器塊推送到LPC。VII.示例性L2/L3—致性狀態(tài)轉(zhuǎn)變現(xiàn)在參照圖6,描繪了根據(jù)本發(fā)明優(yōu)選實施例對L3高速緩存執(zhí)行驅(qū)入的示例性方法的高級邏輯流程圖。圖6中所示處理涉及到L3高速緩存控制器380的操作。該處理始于方框600、然后繼續(xù)到方框602,該方框602描繪了由于高速緩存行被從源L2高速緩存230中逐出,所以L3高速緩存232(例如L3高速緩存232a)的L3高速緩存控制器380從它所連接到的L2高速緩存230之一(例如L2高速緩存230a)接收逐出請求。逐出請求包含目標(biāo)地址、驅(qū)入高速緩存行和驅(qū)入高速緩存行的高速緩存目錄狀態(tài)。以替換策略對L3高速緩存控制器380進(jìn)行編程以確定驅(qū)入高速緩存行是否將保存于它的數(shù)據(jù)陣列360中,并且如果是這樣,則在狀態(tài)字段366中針對高速緩存行確定適當(dāng)?shù)囊恢滦誀顟B(tài)。接著在方框604,高速緩存控制器380讀取L3高速緩存目錄362的標(biāo)記字段364以確定用于目標(biāo)地址的目錄條目是否已經(jīng)存在。如果目標(biāo)地址不在目標(biāo)字段364中,則該處理前進(jìn)到方框605,該方框描繪了高速緩存控制器380根據(jù)犧牲者的一致性狀態(tài)(例如Xg、M、T或者Tn)來選擇用于替換的犧牲高速緩存行,該高速緩存行可以被逐出到系統(tǒng)存儲器。該處理然后繼續(xù)到步驟606,其中高速緩存控制器380在L3數(shù)據(jù)陣列360中存儲從源L2高速緩存230接收的驅(qū)入高速緩存行并且在高速緩存目錄362內(nèi)創(chuàng)建對應(yīng)的高速緩存目錄條目。高速緩存控制器380根據(jù)在逐出請求中指定的狀態(tài)來設(shè)置目錄條目的一致性狀態(tài)字段366。隨后該處理在方框608結(jié)束。回到方框604,如果高速緩存控制器380確定用于驅(qū)入高速緩存行的目標(biāo)地址的目錄條目已經(jīng)在L3高速緩存目錄362內(nèi),則該處理繼續(xù)到方框610。方框610描繪了L3高速緩存控制器380根據(jù)驅(qū)入策略通過參照逐出請求來更新數(shù)據(jù)陣列360和高速緩存目錄362,這一點在下文中參照表in和圖7進(jìn)一步加以描述。如在本發(fā)明的優(yōu)選實施例中實施的,驅(qū)入指定了(1)驅(qū)入高速緩存行是被存儲于L3數(shù)據(jù)陣列360內(nèi)還是被丟棄;以及(2)高速緩存條目366中對應(yīng)條目的一致性狀態(tài)。在優(yōu)選實施例中,在下表III中總結(jié)了當(dāng)針對已經(jīng)在高速緩存目錄362中具有條目的高速緩存行執(zhí)行驅(qū)入時L3高速緩存232所實施的驅(qū)入策略。表III根據(jù)高速緩存行在L3高速緩存目錄362中的先前狀態(tài)以及在逐出請求中指定的一致性狀態(tài)來標(biāo)識在狀態(tài)字段366中的所得到的一致性狀態(tài)。表III<table>tableseeoriginaldocumentpage29</column></row><table><table>tableseeoriginaldocumentpage30</column></row><table>這一逐出策略還支配了對存儲于L3數(shù)據(jù)陣列360內(nèi)的存儲器塊是要予以保留還是要通過從源L2高速緩存230接收的驅(qū)入高速緩存行來改寫。對是否改寫高速緩存行數(shù)據(jù)的確定在表III中由具有下劃線的所得到的一致性狀態(tài)(例如M2i)來代表。如果所得到的一致性狀態(tài)轉(zhuǎn)變具有下劃行,則驅(qū)入高速緩存行取代先前的高速緩存數(shù)據(jù)行而存儲于L3高速緩存陣列360中。如果所得到的一致性狀態(tài)沒有下劃線,則保持高速緩存陣列360內(nèi)的高速緩存行,并且將狀態(tài)字段366中的一致性狀態(tài)更新為在表III中標(biāo)識的所得到的一致性狀態(tài)。具體參照表III的Sg行和Slg行,如果L3高速緩存目錄362中高速緩存行的當(dāng)前狀態(tài)是In、Ig或者I一致性狀態(tài)中的任意狀態(tài)并且驅(qū)入一致性狀態(tài)是Sg或者Slg,則用驅(qū)入一致性狀態(tài)來更新狀態(tài)字段366。同樣,如表III中的下劃線條目所示,高速緩存行在高速緩存陣列360中被驅(qū)入數(shù)據(jù)所取代。如果L3高速緩存目錄362中高速緩存行的當(dāng)前狀態(tài)是Sg而驅(qū)入一致性狀態(tài)是Slg,則用驅(qū)入一致性狀態(tài)來更新狀態(tài)字段366,使得保持通過高速緩存到高速緩存的干預(yù)來提供數(shù)據(jù)這一能力(如Slg中的'T,所示);然而,如果L3高速緩存目錄362中高速緩存行的當(dāng)前狀態(tài)是Sg狀態(tài)而驅(qū)入一致性狀態(tài)是Sg,則不對L3高速緩存232進(jìn)行一致性或者數(shù)據(jù)更新。類似地,如果L3高速緩存目錄362中的當(dāng)前狀態(tài)是Slg而驅(qū)入狀態(tài)是Sg或者Slg,則不對L3高速緩存232進(jìn)行一致性或者數(shù)據(jù)更新。如果L3高速緩存目錄362中高速緩存行的當(dāng)前狀態(tài)是S或者Sl而驅(qū)入一致性狀態(tài)是Sg,則高速緩存控制器380將狀態(tài)字段366從S更新成Sg或者從SI更新成Slg以保持應(yīng)當(dāng)更新域指示符504這一高速緩存指示。高速緩存控制器380響應(yīng)于收到驅(qū)入Slg—致性狀態(tài)來執(zhí)行類似的S狀態(tài)到Slg的一致性狀態(tài)更新。如表III中進(jìn)一步所示,L2和L3高速緩存兩者無法都包含Six狀態(tài)下的高速緩存行,這意味著Sl-Slg情況表明已經(jīng)出現(xiàn)錯誤。如果L3當(dāng)前狀態(tài)是如Tx列和Mx列中所示的Tx或者M(jìn)x,則在來自L2的驅(qū)入時總是將這一信息保持于L3高速緩存內(nèi)?,F(xiàn)在轉(zhuǎn)向表III的Sg列和Slg列,在驅(qū)入Tx—致性狀態(tài)的情況下,高速緩存控制器380執(zhí)行對數(shù)據(jù)陣列360的更新以及一致性狀態(tài)從Sg或者Slg到Tx的更新。在記錄于高速緩存目錄362內(nèi)的先前一致性狀態(tài)是Slg的各其它情況下,并不響應(yīng)于收到驅(qū)入而執(zhí)行數(shù)據(jù)或者一致性狀態(tài)更新。對于高速緩存目錄362中標(biāo)記為Sg的高速緩存行,高速緩存控制器380響應(yīng)于Sl或者Slg—致性狀態(tài)下的驅(qū)入高速緩存行來執(zhí)行一致性狀態(tài)從Sg到Slg的更新,但是對于In、Ig、Sg或者S—致性狀態(tài)下的驅(qū)入則不執(zhí)行數(shù)據(jù)或者一致性狀態(tài)更新?,F(xiàn)在參照圖7,圖示了根據(jù)本發(fā)明優(yōu)選實施例響應(yīng)于收到逐出請求而在L3高速緩存中實施驅(qū)入策略的示例性方法的高級邏輯流程圖。該處理例如響應(yīng)于在圖6的方框604處的肯定確定而始于方框700、然后前進(jìn)到方框704,該方框704圖示了L3高速緩存控制器380檢查逐出請求以確定犧牲高速緩存行的指定一致性狀態(tài)。此外,在方框706處,L3高速緩存控制器380讀取高速緩存目錄362中相關(guān)條目的狀態(tài)字段366以便針對驅(qū)入高速緩存行確定現(xiàn)有一致性狀態(tài)。該處理然后繼續(xù)到方框708,該方框圖示了L3高速緩存控制器380根據(jù)在表I11中總結(jié)的驅(qū)入策略來確定L3高速緩存目錄362中適當(dāng)?shù)乃玫降囊恢滦誀顟B(tài)。這一確定能夠例如通過參照L3高速緩存232內(nèi)非易失性存儲器中的狀態(tài)表來進(jìn)行。在可選實施例中,L3高速緩存控制器380可以通過執(zhí)行軟件或者通過由集成電路所執(zhí)行的計算來進(jìn)行在方框708所示的確定。該處理然后繼續(xù)到方框710,該方框描繪了L3高速緩存控制器380基于在方框708確定的所得到的一致性狀態(tài)來確定是否將對用于犧牲高速緩存行的現(xiàn)有一致性狀態(tài)進(jìn)行更新。如果將要更新當(dāng)前狀態(tài),則該處理繼續(xù)到方框712,該方框表示了高速緩存控制器380利用在方框708確定的所得到的一致性狀態(tài)來改寫高速緩存目錄362中的一致性狀態(tài)。該處理從方框712繼續(xù)到判決方框714或者如果將不進(jìn)行對一致性狀態(tài)的更新則從方框710繼續(xù)到判決方框714,該方框714圖示了高速緩存控制器380確定驅(qū)入策略是否表明要在L3數(shù)據(jù)陣列360中存儲從L2高速緩存230接收的驅(qū)入高速緩存行。如果是這樣,則該處理繼續(xù)到方框716,該方框描述了高速緩存控制器380在L3數(shù)據(jù)陣列360中存儲驅(qū)入高速緩存行,由此針對驅(qū)入目標(biāo)地址而改寫先前存儲的高速緩存數(shù)據(jù)行。在方框716之后或者如果將不執(zhí)行數(shù)據(jù)更新則在方框714之后,該處理在方框718結(jié)束。除了影響如上文參照表III以及圖6和圖7所討論的執(zhí)行L3驅(qū)入操作的方式之外,根據(jù)本發(fā)明的Sg和Slg—致性狀態(tài)的實施也簡化了高級別高速緩存如L2高速緩存230響應(yīng)于收到在由Ig—致性狀態(tài)下的L2高速緩存保持的高速緩存行上命中的CPU讀取請求或者CPU更新請求來執(zhí)行的操作。為了便于理解響應(yīng)于這樣的操作方案(在圖9中示出)而在L2高速緩存230中進(jìn)行處理的示例性方法,將首先參照圖8描述在L2高速緩存中進(jìn)行處理的常規(guī)方法?,F(xiàn)在參照圖8,描繪了示出由現(xiàn)有技術(shù)的L2高速緩存響應(yīng)于收到在由Ig—致性狀態(tài)下的L2高速緩存保持的高速緩存行上命中的CPU讀取請求而執(zhí)行的操作的時序圖。如圖所示,該處理始于現(xiàn)有技術(shù)的L2高速緩存從其關(guān)聯(lián)處理器內(nèi)核收到CPU讀取請求800時。響應(yīng)于收到CPU讀取請求,L2高速緩存如在參考標(biāo)號802處所示地分配RC機器以服務(wù)于該請求并且如在參考標(biāo)號804處所示地發(fā)起對它的高速緩存目錄的目錄讀取。響應(yīng)于確定高速緩存目錄中的一致性狀態(tài)是Ig,現(xiàn)有技術(shù)的L2高速緩存也如在參考標(biāo)號806處所示地分配CO機器以便將系統(tǒng)存儲器中的域指示符更新成"全局"狀態(tài)從而維護(hù)一致性。RC和CO機器的操作的完成是異步的,這意味著這些操作能夠以任何次序完成。如果RC機器在時刻t0完成它的4乘作而C04幾器在時刻tl完成它的#:作,則形成一致性解析窗口810。到時刻t0,RC才幾器已經(jīng)更新了目錄(例如更新成"共享,,)以反映新獲取的高速緩存行的狀態(tài),但是CO機器在時刻tl之前仍然在活動地進(jìn)行逐出。通常,當(dāng)確定對在互連上所監(jiān)聽的操作的部分響應(yīng)時,僅考慮L2高速緩存中的活動機器所反映的一致性狀態(tài)。然而,對于以正在由CO機器處理的同一高速緩存行為目標(biāo)、在一致性解析窗口810期間所監(jiān)聽的操作而言,這一策略并不充分,并且在確定要針對所監(jiān)聽的操作而提供的部分響應(yīng)時必須考慮由活動的逐出機器反映的目錄狀態(tài)和一致性狀態(tài)。無法做到這一點可能造成在進(jìn)行請求的L2高速緩存處形成錯誤的一致性狀態(tài),從而導(dǎo)致一致性損失。因而,必須在L2高速緩存內(nèi)實施特殊的一致性解析邏輯以處理針對在一致性解析窗口800期間的正在由CO機器處理的同一高速緩存行的監(jiān)聽。L2高速緩存的設(shè)計并且特別是它在圖8中所示操作方案中的一致性處理的設(shè)計通過根據(jù)本發(fā)明的Sl和Slg—致性狀態(tài)的實施來簡化。現(xiàn)在參照圖9,圖示了根據(jù)本發(fā)明在高級別高速緩存如L2高速緩存230中進(jìn)行一致性處理的示例性方法的高級邏輯流程圖。如圖所示,該處理始于方框900、然后繼續(xù)到方框902,該方框圖示了更新請求。響應(yīng)于收到一般包括標(biāo)識了請求類型的事務(wù)類型(TTYPE)以及目標(biāo)地址的CPU請求,L2高速緩存230的L2高速緩存控制器330利用目標(biāo)地址來訪問它的高速緩存目錄312以針對目標(biāo)地址確定它的一致性狀態(tài)并且指派RC機器332以服務(wù)于CPU請求(方框904)。如在方框906處所示,如果高速緩存控制器330確定一致性狀態(tài)是Ig,則高速緩存控制器330如在方框920和后續(xù)方框處所示地服務(wù)于CPU請求。如果一致性狀態(tài)不是Ig,則高速緩存控制器330利用在方框910處所示的其它處理來服務(wù)于CPU請求?,F(xiàn)在參照方框920,響應(yīng)于確定用于CPU請求的目標(biāo)存儲器塊的一致性狀態(tài)在L2高速緩存目錄312中是Ig,則所指派的RC機器332確定TTYPE是否表明CPU更新請求,并且如果是這樣,則在所有本地和全局互連110、114上發(fā)出全局范圍的總線RWITM才喿作以獲得目標(biāo)存儲器塊的獨占副本(方框922)。RC機器332基于由Ig一致性狀態(tài)所提供的不精確指示來選擇全局操作范圍,該指示表明存儲器塊的已更新副本駐留于遠(yuǎn)程一致性域中。當(dāng)收到目標(biāo)存儲器塊的副本時,RC機器332將目標(biāo)存儲器塊放入數(shù)據(jù)陣列310中并且將L2高速緩存目錄312中對應(yīng)條目的一致性狀態(tài)從Ig更新成M,如在方框924處所示。隨后,解除對RC才幾器332的分配,并且該處理在方框940結(jié)束。再次參照方框920,如果RC機器332根據(jù)CPU請求的TTYPE確定它是CPU讀取請求,則該處理前進(jìn)到方框930。方框930圖示了RC機器332發(fā)出全局范圍的總線讀取操作以獲得目標(biāo)存儲器塊的副本。RC機器232再次基于由Ig—致性狀態(tài)所提供的不精確指示來選擇全局操作范圍,該指示表明存儲器塊的已更新副本駐留于遠(yuǎn)程一致性域中。響應(yīng)于收到所請求的存儲器塊,RC機器332將存儲器塊放入數(shù)據(jù)陣列310中并且將高速緩存目錄312中對應(yīng)條目的狀態(tài)字段316從Ig—致性狀態(tài)更新成Slg狀態(tài)或者M(jìn)e狀態(tài)之一,如在方框932處所示。特別地,如果存儲器控制器206已提供過存儲器塊并且沒有其它高速緩存保持該存儲器塊的副本,則RC機器332將一致性狀態(tài)更新成Me,否則就將一致性狀態(tài)更新成Slg。隨后,解除對RC機器332的分配,并且該處理在方框940結(jié)束。正如將理解到的j艮據(jù)本發(fā)明的Sg和Slg—致性狀態(tài)的實施在至少兩個方面簡化了一致性處理。第一,由于對Ig狀態(tài)所代表的域指示符的全局狀態(tài)的高速緩存指示能夠按照Sg或者Slg—致性狀態(tài)保持于高速緩存目錄中,所以在針對CPU讀取請求的Ig命中情況下不分配CO機器336來逐出Ig—致性狀態(tài)。因而,減少了在L2高速緩存控制器330內(nèi)對有限資源的利用。第二,由于在這樣的情況下不分配CO機器336來執(zhí)行逐出,所以沒有形成一致性解析窗口800,并且響應(yīng)邏輯210可以確定適當(dāng)?shù)囊恢滦誀顟B(tài),對直接來自高速緩存目錄312的所監(jiān)聽的請求的部分響應(yīng)將基于該一致性狀態(tài)。結(jié)果,簡化了在響應(yīng)邏輯120內(nèi)實施的邏輯。如前所述,本發(fā)明提供了一種用于數(shù)據(jù)處理的改進(jìn)方法、裝置和系統(tǒng),其中利用一致性狀態(tài)如Sg或者Slg來提供如下指示特定存儲器塊可以保持于多個高速緩存中,并且存儲器塊的副本駐留于高速緩存的本地一致性域之外。一個或者多個這樣的一致性狀態(tài)的實施有利地使得在存儲器塊的Ig副本上的逐出命中的情況下,被共享的低級別(例如L3)高速緩存可以保持存儲器塊的副本。此外,一個或者多個這樣的一致性狀態(tài)的實施簡化了高級別(例如L2)高速緩存設(shè)計和流水線一致性處理。盡管已經(jīng)參照優(yōu)選實施例特別地示出和描述了本發(fā)明,但是本領(lǐng)域普通技術(shù)人員將理解到,在不脫離本發(fā)明的精神和范圍的情況下,可以在優(yōu)選實施例中做出形式和細(xì)節(jié)上的各種改變。權(quán)利要求1.一種在至少包括第一一致性域和第二一致性域的多處理器數(shù)據(jù)處理系統(tǒng)中進(jìn)行數(shù)據(jù)處理的方法,其中所述第一一致性域包括至少一個處理單元、系統(tǒng)存儲器和高速緩存存儲器,所述方法包括在所述高速緩存存儲器的數(shù)據(jù)陣列中對高速緩存行進(jìn)行緩沖;將所述高速緩存存儲器的高速緩存目錄中的狀態(tài)字段設(shè)置為一致性狀態(tài)以表明所述高速緩存行在所述數(shù)據(jù)陣列中有效、所述高速緩存行非獨占地保持于所述高速緩存存儲器中、以及所述第二一致性域中的另一高速緩存可以保持所述高速緩存行的副本。2.根據(jù)權(quán)利要求1所述的方法,其中所述高速緩存存儲器是低級別高速緩存存儲器;所述數(shù)據(jù)處理系統(tǒng)包括耦合到所述低級別高速緩存存儲器的多個高級別高速緩存存儲器;所述一致性狀態(tài)是第——致性狀態(tài);以及所述設(shè)置包括響應(yīng)于將所述高速緩存行從所述多個高級別高速緩存存儲器之一驅(qū)入到所述數(shù)據(jù)陣列中而將所述狀態(tài)字段從表明所述高速緩存行無效的第二一致性狀態(tài)更新成所述第——致性狀態(tài)。3.根據(jù)權(quán)利要求1所述的方法,其中所述高速緩存存儲器耦合到所述數(shù)據(jù)處理系統(tǒng)的互連;所述一致性狀態(tài)是第——致性狀態(tài);所述方法還包括所述高速緩存存儲器在所述互連上發(fā)出對所述高速緩存行的請求;所述設(shè)置包括響應(yīng)于作為對所述請求的響應(yīng)而收到所述高速緩存行,將所述狀態(tài)字段從第二一致性狀態(tài)更新成所述第——致性狀態(tài),該第二一致性狀態(tài)表明所述高速緩存行無效以及所述第二一致性域中的另一高速緩存行保持所述高速緩存行的副本。4.根據(jù)權(quán)利要求1所述的方法,還包括選擇用于從所述數(shù)據(jù)陣列中驅(qū)逐的所述高速緩存行;以及響應(yīng)于選擇用于驅(qū)逐的所述高速緩存行,所述高速緩存存儲器執(zhí)行對如下指示的無數(shù)據(jù)逐出,該指示表明所述第二一致性域中的另一高速緩存保持所述高速緩存行的副本。5.根據(jù)權(quán)利要求4所述的方法,還包括響應(yīng)于收到表明所述第二一致性域中的另一高速緩存保持所述高速緩存行的副本的指示,所述系統(tǒng)存儲器的存儲器控制器針對所述高速緩存行更新域指示符。6.根據(jù)權(quán)利要求1所述的方法,其中所述一致性狀態(tài)還表明所述高速緩存存儲器在所述第一一致性域內(nèi)具有通過高速緩存到高速緩存的數(shù)據(jù)干預(yù)來提供所述高速緩存行的副本的權(quán)限。7.—種用于多處理器數(shù)據(jù)處理系統(tǒng)的處理單元,所述多處理器數(shù)據(jù)處理系統(tǒng)至少包括第——致性域和第二一致性域,其中所述第——致性域包括系統(tǒng)存儲器和所述處理單元,所述處理單元包括處理器內(nèi)核;以及耦合到所述處理器內(nèi)核的高速緩存存儲器,所述高速緩存存儲器包括保持高速緩存行的數(shù)據(jù)陣列;高速緩存目錄,包括與所述高速緩存行相關(guān)聯(lián)的條目,所述條目包括狀態(tài)字段;高速緩存控制器,將所述狀態(tài)字段設(shè)置為一致性狀態(tài)以表明所述高速緩存行在所述數(shù)據(jù)陣列中有效、所述高速緩存行非獨占地保持于所述高速緩存存儲器中、以及所述第二一致性域中的另一高速緩存可以保持所述高速緩存行的副本。8.根據(jù)權(quán)利要求7所述的處理單元,其中所述高速緩存存儲器是低級別高速緩存存儲器;所述數(shù)據(jù)處理單元包括耦合到所述低級別高速緩存存儲器的多個高級別高速緩存存儲器;所述一致性狀態(tài)是第——致性狀態(tài);以及所述高速緩存控制器響應(yīng)于將所述高速緩存行從所述多個高級別高速緩存存儲器之一驅(qū)入到所述數(shù)據(jù)陣列中而將所述狀態(tài)字段從表明所述高速緩存行無效的第二一致性狀態(tài)更新成所述第——致性狀態(tài)。9.根據(jù)權(quán)利要求7所述的處理單元,其中所述高速緩存存儲器耦合到所述數(shù)據(jù)處理系統(tǒng)的互連;所述一致性狀態(tài)是第一~^^致性狀態(tài);所述高速緩存控制器響應(yīng)于作為對數(shù)據(jù)請求的響應(yīng)而收SU所述高速緩存行,將所述狀態(tài)字段從第二一致性狀態(tài)更新成所述第一一致性狀態(tài),該第二一致性狀態(tài)表明所述高速緩存行無效以及所述第二一致性域中的另一高速緩存行保持所述高速緩存行的副本。10.根據(jù)權(quán)利要求7所述的處理單元,其中所述高速緩存控制器響應(yīng)于對用于從所述數(shù)據(jù)陣列中驅(qū)逐的所述高速緩存行的選擇而執(zhí)行對如下指示的無數(shù)據(jù)逐出,該指示表明所述第二一致性域中的另一高速緩存保持所述高速緩存行的副本。11.根據(jù)權(quán)利要求7所述的處理單元,其中所述一致性狀態(tài)還表明所述高速緩存存儲器在所述第——致性域內(nèi)具有通過高速緩存到高速緩存的數(shù)據(jù)干預(yù)來提供所述高速緩存行的副本的權(quán)限。12.—種數(shù)據(jù)處理系統(tǒng),包括耦合在一起的至少第一高速緩存一致性域和第二高速緩存一致性域,其中所述第——致性域包括第一系統(tǒng)存儲器和第一處理單元,而所述第二一致性域包括第二系統(tǒng)存儲器和第二處理單元,所述第一處理單元包括處理器內(nèi)核;以及耦合到所述處理器內(nèi)核的高速緩存存儲器,所述高速緩存存儲器包括保持高速緩存行的數(shù)據(jù)陣列;高速緩存目錄,包括與所述高速緩存行相關(guān)聯(lián)的條目,所述條目包括狀態(tài)字段;高速緩存控制器,將所述狀態(tài)字段設(shè)置為一致性狀態(tài)以表明所述高速緩存行在所述數(shù)據(jù)陣列中有效、所述高速緩存行非獨占地保持于所述高速緩存存儲器中、以及所述第二一致性域中的另一高速緩存可以保持所述高速緩存行的副本。13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理系統(tǒng),其中所述高速緩存存儲器是低級別高速緩存存儲器;所述第一處理單元包括耦合到所述低級別高速緩存存儲器的多個高級別高速緩存存儲器;所述一致性狀態(tài)是第一一致性狀態(tài);以及所述高速緩存控制器響應(yīng)于將所述高速緩存行從所述多個高級別高速緩存存儲器之一驅(qū)入到所述數(shù)據(jù)陣列中而將所述狀態(tài)字段從表明所述高速緩存行無效的第二一致性狀態(tài)更新成所述第——致性狀態(tài)。14.根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理系統(tǒng),其中所述高速緩存存儲器耦合到所述數(shù)據(jù)處理系統(tǒng)的互連;所述一致性狀態(tài)是第——致性狀態(tài);所述高速緩存控制器響應(yīng)于作為對數(shù)據(jù)請求的響應(yīng)而收到所述高速緩存行,將所述狀態(tài)字段從第二一致性狀態(tài)更新成所述第一一致性狀態(tài),該第二一致性狀態(tài)表明所述高速緩存行無效以及所述第二一致性域中的另一高速緩存行保持所述高速緩存行的副本。15.根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理系統(tǒng),其中所述高速緩存控制器響應(yīng)于對用于從所述數(shù)據(jù)陣列中驅(qū)逐的所述高速緩存行的選擇而執(zhí)行對如下指示的無數(shù)據(jù)逐出,該指示表明所述第二一致性域中的另一高速緩存保持所述高速緩存行的副本。16.根據(jù)權(quán)利要求15所述的數(shù)據(jù)處理系統(tǒng),還包括所述第一系統(tǒng)存儲器的存儲器控制器,其中所述存儲器控制器響應(yīng)于收到表明所述第二一致性域中的另一高速緩存保持所述高速緩存行的副本的指示而針對所述高速緩存行更新域指示符。17.根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理系統(tǒng),其中所述一致性狀態(tài)還表明所述高速緩存存儲器在所述第一一致性域內(nèi)具有通過高速緩存到高速緩存的數(shù)據(jù)干預(yù)來提供所述高速緩存行的副本的權(quán)限。全文摘要一種多處理器數(shù)據(jù)處理系統(tǒng),至少包括第一一致性域和第二一致性域,其中第一一致性域包括系統(tǒng)存儲器和高速緩存存儲器。根據(jù)一種數(shù)據(jù)處理方法,在高速緩存存儲器的數(shù)據(jù)陣列中對高速緩存行進(jìn)行緩沖,并且將高速緩存存儲器的高速緩存目錄中的狀態(tài)字段設(shè)置為一致性狀態(tài)以表明高速緩存行在數(shù)據(jù)陣列中有效、高速緩存行非獨占地保持于高速緩存存儲器中、以及所述第二一致性域中的另一高速緩存可以保持高速緩存行的副本。文檔編號G06F12/08GK101162442SQ20071015441公開日2008年4月16日申請日期2007年9月12日優(yōu)先權(quán)日2006年10月9日發(fā)明者D·E·威廉斯,G·L·格思里,P·G·威廉斯,W·J·斯塔克申請人:國際商業(yè)機器公司