本公開涉及數(shù)據(jù)處理系統(tǒng),更具體地涉及用于數(shù)據(jù)處理系統(tǒng)中的緩存一致性的探聽過濾器。
背景技術(shù):
:諸如片上系統(tǒng)(soc)之類的數(shù)據(jù)處理系統(tǒng)可包含多個處理器核心、多個數(shù)據(jù)緩存、以及共享數(shù)據(jù)資源。例如在共享存儲器系統(tǒng)中,每個處理器核心可對單個共享地址空間進(jìn)行讀和寫。緩存一致性是包括一個或多個緩存以及不止一個裝置共享單個緩存區(qū)中的數(shù)據(jù)的任何系統(tǒng)中存在的議題。包括多個緩存的系統(tǒng)存在兩個潛在問題。第一,存儲器可在緩存的裝置已經(jīng)取走復(fù)本之后(被另一裝置)更新。此時,緩存內(nèi)的數(shù)據(jù)是過期的或者無效的,并且不再包含最新的數(shù)據(jù)。第二,包括回寫式緩存的系統(tǒng)必須對以下情形進(jìn)行處理:其中,裝置對本地緩存的復(fù)本進(jìn)行寫入,此時存儲器不再包含最新的數(shù)據(jù)。讀取存儲器的第二裝置將看到過期的(陳腐的)數(shù)據(jù)。監(jiān)視數(shù)據(jù)事務(wù)的探聽過濾器可被用于確保緩存一致性。技術(shù)實現(xiàn)要素:根據(jù)本發(fā)明的第一方面,提供一種數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)傳輸?shù)姆椒?,該?shù)據(jù)處理系統(tǒng)具有共享數(shù)據(jù)資源和多個節(jié)點的網(wǎng)絡(luò),共享數(shù)據(jù)資源能由網(wǎng)絡(luò)中的多個請求節(jié)點經(jīng)由網(wǎng)絡(luò)的歸屬節(jié)點來進(jìn)行訪問,所述方法包括:響應(yīng)于在歸屬節(jié)點處從多個請求節(jié)點中的第一請求節(jié)點接收的、針對存儲在共享數(shù)據(jù)資源中的系統(tǒng)地址處的數(shù)據(jù)的讀請求,確定所請求的數(shù)據(jù)是被存儲在歸屬節(jié)點的緩存中還是被存儲在多個請求節(jié)點中一個或多個第二請求節(jié)點的本地緩存中;當(dāng)所請求的數(shù)據(jù)未被存儲在歸屬節(jié)點的緩存中而是被存儲在一個或多個第二請求節(jié)點的本地緩存中時,向一個或多個第二請求節(jié)點發(fā)送探聽以請求所述數(shù)據(jù);當(dāng)響應(yīng)于探聽而數(shù)據(jù)被返回時,用返回的數(shù)據(jù)填充歸屬節(jié)點的緩存,在所述緩存中把該數(shù)據(jù)標(biāo)記為“臟”,并且更新歸屬節(jié)點的探聽過濾器以指示第一請求節(jié)點具有數(shù)據(jù)的復(fù)本;以及向第一請求節(jié)點轉(zhuǎn)發(fā)返回的數(shù)據(jù),當(dāng)所請求的數(shù)據(jù)未被存儲在歸屬節(jié)點的緩存中或者一個或多個第二請求節(jié)點的本地緩存中時,從共享數(shù)據(jù)資源取回所請求的數(shù)據(jù);更新歸屬節(jié)點的探聽過濾器以指示第一請求節(jié)點具有數(shù)據(jù)的復(fù)本;以及向第一請求節(jié)點轉(zhuǎn)發(fā)所取回的數(shù)據(jù),當(dāng)所請求的數(shù)據(jù)被存儲在歸屬節(jié)點的緩存中時,更新歸屬節(jié)點的探聽過濾器以指示第一請求節(jié)點具有數(shù)據(jù)的復(fù)本;以及向第一請求節(jié)點轉(zhuǎn)發(fā)所取回的數(shù)據(jù)。根據(jù)本發(fā)明的第二方面,提供一種用于數(shù)據(jù)處理系統(tǒng)的探聽過濾器,所述數(shù)據(jù)處理系統(tǒng)還包括:多個處理器,每個處理器具有本地緩存和緩存控制器;共享數(shù)據(jù)資源;以及系統(tǒng)緩存,其中探聽過濾器監(jiān)視由多個處理器對共享數(shù)據(jù)資源的訪問,并且其中探聽過濾器包括:探聽過濾器控制邏輯,該探聽過濾器控制邏輯能操作以與多個處理器的緩存控制器通信;以及探聽過濾器緩存,該探聽過濾器緩存能操作以針對多個處理器中的處理器的本地緩存中的每個數(shù)據(jù)塊存儲以下各項:標(biāo)識數(shù)據(jù)塊的標(biāo)簽;數(shù)據(jù)塊處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài)的指示;以及表明哪些本地緩存共享數(shù)據(jù)塊的復(fù)本的存在性向量,其中探聽過濾器緩存不對存儲處于“共享臟”狀態(tài)的數(shù)據(jù)塊的任何本地緩存進(jìn)行標(biāo)識,并且其中探聽過濾器控制邏輯被配置為執(zhí)行如根據(jù)第一方面所述的方法。根據(jù)本發(fā)明的第三方面,提供一種包括硬件描述語言的指令的非暫態(tài)計算機可讀介質(zhì),所述指令定義如根據(jù)第二方面所述的數(shù)據(jù)處理系統(tǒng)。根據(jù)本發(fā)明的第四方面,提供一種用于數(shù)據(jù)處理系統(tǒng)的探聽過濾器,所述數(shù)據(jù)處理系統(tǒng)包括:多個處理器,每個處理器具有本地緩存和緩存控制器;共享數(shù)據(jù)資源;以及系統(tǒng)緩存,其中探聽過濾器監(jiān)視由多個處理器對所述共享數(shù)據(jù)資源的訪問,其中來自共享數(shù)據(jù)資源的、存儲在多個處理器中的處理器的本地緩存中的數(shù)據(jù)被標(biāo)記為處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài),其中如果來自共享數(shù)據(jù)資源的、存儲在所述系統(tǒng)緩存中的數(shù)據(jù)不與所述共享數(shù)據(jù)資源中的對應(yīng)數(shù)據(jù)相匹配,則它被標(biāo)記為處于“臟”狀態(tài),否則被標(biāo)記為“干凈”,并且其中探聽過濾器包括:探聽過濾器控制邏輯,該探聽過濾器控制邏輯能操作以與多個處理器的緩存控制器通信;以及探聽過濾器緩存,該探聽過濾器緩存能操作以針對多個處理器中的處理器的本地緩存中的每個數(shù)據(jù)塊存儲以下各項:標(biāo)識數(shù)據(jù)塊的標(biāo)簽;數(shù)據(jù)塊處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài)的指示;以及表明哪些本地緩存共享數(shù)據(jù)塊的復(fù)本的存在性向量,其中探聽過濾器緩存不對存儲處于“共享臟”狀態(tài)的數(shù)據(jù)塊的任何本地緩存進(jìn)行標(biāo)識。根據(jù)本發(fā)明的第五方面,提供一種包括硬件描述語言的指令的非暫態(tài)計算機可讀介質(zhì),所述指令定義如根據(jù)第四方面所述的數(shù)據(jù)處理系統(tǒng)。根據(jù)本發(fā)明的第六方面,提供一種數(shù)據(jù)處理系統(tǒng),包括:多個處理器,每個處理器具有本地緩存和緩存控制器,其中被存儲在多個處理器中的處理器的本地緩存中的數(shù)據(jù)被標(biāo)記為處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài);系統(tǒng)緩存,其中如果被存儲在所述系統(tǒng)緩存中的數(shù)據(jù)不與共享數(shù)據(jù)資源中的對應(yīng)數(shù)據(jù)相匹配,則它被標(biāo)記為處于“臟”狀態(tài),否則被標(biāo)記為“干凈”,其中共享數(shù)據(jù)資源能由多個處理器訪問;以及探聽過濾器,該探聽過濾器監(jiān)視由所述多個處理器對共享數(shù)據(jù)資源的訪問,其中,探聽過濾器包括:探聽過濾器控制邏輯,該探聽過濾器控制邏輯能操作以與多個處理器的緩存控制器通信;以及探聽過濾器緩存,該探聽過濾器緩存能操作以針對多個處理器中的處理器的本地緩存中的每個數(shù)據(jù)塊存儲以下各項:標(biāo)識數(shù)據(jù)塊的標(biāo)簽;數(shù)據(jù)塊處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài)的指示;以及表明哪些本地緩存共享數(shù)據(jù)塊的復(fù)本的存在性向量,其中探聽過濾器緩存不對存儲處于“共享臟”狀態(tài)的數(shù)據(jù)塊的任何本地緩存進(jìn)行標(biāo)識。根據(jù)本發(fā)明的第七方面,提供一種包括如根據(jù)第六方面所述的數(shù)據(jù)處理系統(tǒng)的片上系統(tǒng)。根據(jù)本發(fā)明的第八方面,提供一種包括硬件描述語言的指令的非暫態(tài)計算機可讀介質(zhì),所述指令定義如第六方面所述的數(shù)據(jù)處理系統(tǒng)。附圖說明附圖提供了可視表示,它們將被用于更全面地描述各種代表性實施例,并且可被本領(lǐng)域技術(shù)人員用來更好地理解所公開的代表性實施例及其內(nèi)在的優(yōu)點。在這些視圖中,相同的標(biāo)號表示相應(yīng)的元素。圖1是根據(jù)各種代表性實施例的數(shù)據(jù)處理系統(tǒng)的框圖。圖2示出根據(jù)各種代表性實施例的緩存一致性模型的狀態(tài)。圖3是數(shù)據(jù)緩存一致性數(shù)據(jù)處理系統(tǒng)的探聽過濾器的框圖。圖4是根據(jù)各種代表性實施例的數(shù)據(jù)緩存一致性數(shù)據(jù)處理系統(tǒng)的探聽過濾器的框圖。圖5是根據(jù)各種代表性實施例的操作數(shù)據(jù)緩存一致性數(shù)據(jù)處理系統(tǒng)的探聽過濾器的操作方法的流程圖。具體實施方式雖然本發(fā)明易有許多不同形式的實施例,但在附圖中示出并且將在此詳細(xì)描述具體實施例。應(yīng)理解,本公開應(yīng)被認(rèn)為是本發(fā)明的原理的示例,并不意欲將本發(fā)明限制于所示和所述的具體實施例。在下面的描述中,附圖中的若干視圖中相同的標(biāo)號被用于描述相同、相似或相應(yīng)的部件。在本文中,諸如第一和第二、上和下等關(guān)系術(shù)語可被僅用來把一個實體或動作與另一實體或動作區(qū)分開,而并非必要地要求或暗示這些實體或動作之間存在任何實際的這種關(guān)系或順序。術(shù)語“包括”、“包含”或其任何其他變型意在覆蓋非排他性的包括,諸如包括列出的元素的過程、方法、物品或設(shè)備并不是僅包括那些元素,而是可以包括其他未被明確列出的元素或者這些過程、方法、物品或設(shè)備固有的元素。冠以“包括”的元素在沒有更多限制的情況下并不排除在包括此元素的過程、方法、物品或設(shè)備中還存在另外的等同元素。貫穿本文對“一個實施例”、“某些實施例”、“實施例”或類似術(shù)語的提及意味著結(jié)合該實施例描述的特定特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個實施例中。因此,這種短語的出現(xiàn)或者在本說明書的各處出現(xiàn)這種短語并不一定全部都指相同的實施例。此外,特定特征、結(jié)構(gòu)或特性可以不受限制地以任何適當(dāng)方式組合在一個或多個實施例中。如在此所使用的術(shù)語“或”應(yīng)被解釋為包括性的或者意味著任何一個或任何組合。因此,“a,b或c”指如下中的任一項:a;b;c;a和b;a和c;b和c;a,b和c。對此定義的例外僅當(dāng)元件、功能、步驟或動作的組合以某種固有方式彼此互斥時才發(fā)生。為了說明的簡單和清楚,標(biāo)號可能在各視圖間被重復(fù)以指代相應(yīng)或相似的元素。若干細(xì)節(jié)被提出以提供對在此所描述的實施例的理解。這些實施例可以在沒有這些細(xì)節(jié)的情況下實施。在其他實例中,公知的方法、過程、組件并未詳細(xì)描述,以避免模糊所描述的實施例。本文的說明不應(yīng)被認(rèn)為被限制于在此所描述的實施例的范圍。諸如片上系統(tǒng)(soc)之類的數(shù)據(jù)處理系統(tǒng)可包含多個處理器核心、多個數(shù)據(jù)緩存、以及共享數(shù)據(jù)資源。圖1是根據(jù)各種代表性實施例的數(shù)據(jù)處理系統(tǒng)100的框圖。系統(tǒng)100例如可在片上系統(tǒng)(soc)集成電路中實現(xiàn)。在圖示的簡化示例中,系統(tǒng)100被布置為具有經(jīng)由互連電路連接在一起的若干功能塊的網(wǎng)絡(luò)。如圖所示,功能塊包括多個塊102,各自包括共享l2緩存的(cpu的)處理核心的集群,每個處理核心具有它自己的l1緩存。可使用其它裝置,例如圖形應(yīng)用單元(gpu)、數(shù)字信號處理器(dsp)、現(xiàn)場可編程門陣列(fpga)、或?qū)S眉呻娐?asic)裝置。此外,可包括一個或多個i/o主控裝置104。塊102和104這里被稱作請求節(jié)點(rn),其可生成對于數(shù)據(jù)事務(wù)(例如,“加載”和“存儲”)的請求。請求節(jié)點是這些事務(wù)的端點。塊102和104經(jīng)由互連電路106被耦合至數(shù)據(jù)資源,數(shù)據(jù)資源經(jīng)由歸屬節(jié)點(homenode)108和存儲器控制器110進(jìn)行訪問,歸屬節(jié)點108和存儲器控制器110使得請求節(jié)點能夠訪問共享的主存儲器112或者輸入/輸出裝置。主存儲器112可以在片上或者在芯片外部。塊102生成數(shù)據(jù)訪問請求并在這里被稱作請求節(jié)點(rn)。裝置108用作與多組數(shù)據(jù)地址相關(guān)聯(lián)的數(shù)據(jù)塊的歸屬點并在這里被稱作歸屬節(jié)點(hn)。歸屬節(jié)點對來自請求節(jié)點的數(shù)據(jù)事務(wù)進(jìn)行回應(yīng),并且作為響應(yīng)可執(zhí)行與其它功能塊(例如,存儲器控制器或者i/o裝置)的數(shù)據(jù)事務(wù)。注意,為了簡潔起見,soc中的許多元件(例如,時鐘)在圖1中已經(jīng)被省略。緩存一致性是包括一個或多個緩存以及不止一個裝置共享單個緩存區(qū)中的數(shù)據(jù)的任何系統(tǒng)中存在的議題。包括多個緩存的系統(tǒng)存在兩個潛在問題。第一,存儲器可在緩存的裝置已經(jīng)取走復(fù)本之后(被另一裝置)更新。此時,緩存內(nèi)的數(shù)據(jù)是過期的或者無效的,并且不再包含最新的數(shù)據(jù)。第二,包括回寫式緩存的系統(tǒng)必須對以下情形進(jìn)行處理:其中,裝置對本地緩存的復(fù)本進(jìn)行更新,此時存儲器不再包含最新的數(shù)據(jù)。讀取存儲器的第二裝置將看到過期的(陳腐的)數(shù)據(jù)。緩存一致性可通過探聽過濾器的使用來維持。當(dāng)多個rn共享數(shù)據(jù)或存儲器資源時,一致性協(xié)議可被使用,并且節(jié)點可被稱作完全一致的(例如,rn-f和hn-f)或者i/o一致的(例如,rn-i)。其它裝置可提供到另一集成電路(例如,rn-c和hn-c)的連接。為了維持一致性,每個rn包括緩存控制器114,該緩存控制器接受來自處理器核心的加載和存儲指令。緩存控制器114還發(fā)出一致性請求并且經(jīng)由互連電路106從其它節(jié)點接收響應(yīng)。歸屬節(jié)點108包括系統(tǒng)緩存116。這里,系統(tǒng)緩存116被稱作l3緩存,然而其它級別的緩存可被使用。例如,在具有多個緩存的系統(tǒng)中,緩存116可以是最低一級或最后一級的緩存(llc)。為了避免請求節(jié)點102的緩存控制器114之間的過多消息交換,歸屬節(jié)點108還包括探聽過濾器400來監(jiān)視數(shù)據(jù)事務(wù)并且維持在系統(tǒng)緩存116中存儲的數(shù)據(jù)的狀態(tài)以及操作來維持系統(tǒng)的各個緩存中的數(shù)據(jù)的一致性。歸屬節(jié)點一般提供對于諸如存儲器或i/o裝置之類的數(shù)據(jù)資源的接口。歸屬節(jié)點用作一致性點,因為它發(fā)出一致性響應(yīng)并且經(jīng)由互連電路106從其它節(jié)點接收一致性請求。歸屬節(jié)點是中間節(jié)點:它對來自請求節(jié)點的數(shù)據(jù)事務(wù)請求做出回應(yīng),并且能夠向諸如存儲器控制器之類的其它裝置發(fā)出數(shù)據(jù)事務(wù)請求。因此,歸屬節(jié)點可用作請求節(jié)點和存儲器之間的中間節(jié)點,并且可包括用于數(shù)據(jù)的臨時存儲的緩存。歸屬節(jié)點的探聽過濾器充當(dāng)緩存控制器和一致性點。由于針對共享數(shù)據(jù)資源中給定組的存儲器地址的存儲器訪問通過相同的歸屬節(jié)點,歸屬節(jié)點能夠監(jiān)視或者“探聽”事務(wù)并且確定所請求的數(shù)據(jù)應(yīng)當(dāng)從主存儲器中取回,從歸屬節(jié)點的緩存中取回,還是從一個請求節(jié)點的本地緩存中取回??傊铰犨^濾器400和緩存控制器114監(jiān)視數(shù)據(jù)事務(wù)并且交換消息以確保緩存一致性。為了維持各個本地緩存中的數(shù)據(jù)一致性,每個緩存行或緩存塊的狀態(tài)被跟蹤。例如,如果本地緩存(例如,緩存114)中的數(shù)據(jù)是最新的但是不與存儲器或最低級別緩存中的數(shù)據(jù)相匹配,則它被稱為處于“臟”狀態(tài)。否則,數(shù)據(jù)被稱為是“干凈”的。緩存一致性協(xié)議可采用moesi緩存一致性模型,其中緩存數(shù)據(jù)可處于若干狀態(tài)中的一種狀態(tài)。這些狀態(tài)是:已修改(m)、已擁有(o)、獨占(e)、共享(s)、和無效(i)。已修改數(shù)據(jù)(也叫做“獨有臟”(ud)數(shù)據(jù))不被其它緩存共享。本地緩存中的已修改數(shù)據(jù)已經(jīng)被裝置更新,但還沒有被回寫到存儲器,所以它是“臟”的。已修改數(shù)據(jù)是獨占并且已擁有的。本地緩存僅具有數(shù)據(jù)的有效復(fù)本。已擁有數(shù)據(jù)(也叫做“共享臟”(sd)數(shù)據(jù))被其它緩存共享。它還沒有被回寫到存儲器,所以它是“臟”的。獨占數(shù)據(jù)(也叫做“獨有干凈”(uc)數(shù)據(jù))不是共享的并且匹配存儲器中的對應(yīng)數(shù)據(jù)。共享數(shù)據(jù)(也叫做“共享干凈”(sc)數(shù)據(jù))是共享的并且匹配存儲器中的對應(yīng)數(shù)據(jù)。共享數(shù)據(jù)不是獨占的,不是臟的,并且不是已擁有的。無效數(shù)據(jù)是已經(jīng)在存儲器和/或另一緩存中被更新的數(shù)據(jù),所以是過期的。有效數(shù)據(jù)是最新的數(shù)據(jù)。它可被讀取,但是如果它也是獨占的,則它僅可被寫入。圖2示出了moesi緩存一致性模型下的各種數(shù)據(jù)狀態(tài)。本地緩存中存儲的有效數(shù)據(jù)可以是干凈的或臟的,獨有的或共享的,本文給出了四種可能的有效狀態(tài)。在mesi模型中,“已擁有”狀態(tài)被省略并且共享的數(shù)據(jù)作為干凈數(shù)據(jù)進(jìn)行維護(hù)。圖3是采用moesi緩存一致性模型的探聽過濾器300的框圖。探聽過濾器300包括探聽過濾器緩存302和探聽過濾器控制邏輯304,該探聽過濾器控制邏輯生成輸出的探聽信號306。輸出的探聽信號306可被定向至特定節(jié)點、至多個節(jié)點的子集(多播)、或者至所有節(jié)點(廣播),從而與其它節(jié)點處的緩存控制器通信。探聽信號可以是對于與特定地址相關(guān)聯(lián)的數(shù)據(jù)的請求。這樣的探聽信號被簡稱做“探聽(snoop)”。探聽過濾器緩存302包括與系統(tǒng)中緩存的數(shù)據(jù)相關(guān)聯(lián)的若干記錄308。每個記錄308包括標(biāo)簽字段310(標(biāo)識相關(guān)聯(lián)的數(shù)據(jù))、指示數(shù)據(jù)的moesi狀態(tài)的緩存一致性狀態(tài)字段312、標(biāo)識任何共享臟(sd)數(shù)據(jù)或已擁有數(shù)據(jù)的擁有者的rnf-id字段314、以及存在性向量316。存在性向量316包含指示系統(tǒng)中的哪些節(jié)點在它們的本地緩存中具有該數(shù)據(jù)的比特位。因此,此類探聽過濾器在字段314中除了保持對于共享臟(sd)數(shù)據(jù)的所有共享者的跟蹤之外還可保持對于該數(shù)據(jù)的擁有者的跟蹤。sd數(shù)據(jù)的擁有者是諸如針對cpu集群、gpu、dsp的請求節(jié)點等等的裝置。對擁有者的跟蹤除了使用相關(guān)聯(lián)的邏輯之外還可使用探聽過濾器中的標(biāo)簽存儲)。在moesi緩存一致性模型中,探聽過濾器必須跟蹤哪個節(jié)點是sd(共享臟)數(shù)據(jù)的擁有者。就是說,探聽過濾器中在多個rnf(例如,多個cpu集群)之間共享的數(shù)據(jù)。這例如通過表1中的一系列操作來示出。表1...操作(節(jié)點)rnf0rnf1系統(tǒng)緩存sf狀態(tài)sf存在性sfsdrnfid1獨有讀(0)ud----uc01--2讀(1)sdsc干凈sd11rnf03回寫(0)isc臟sc10--在此示例中,請求節(jié)點rnf0執(zhí)行對于(地址a處的)一致性存儲器的可緩存存儲,并然后執(zhí)行表1的第1行處的獨有讀(readunique)操作以獲得對于行的獨占擁有權(quán),并且在rnf0緩存(例如,它的l1或l2緩存)中把該行安裝以臟(ud)狀態(tài)。該事務(wù)將在hnf探聽過濾器中把rnf0標(biāo)記為地址a的獨占擁有者。探聽過濾器把數(shù)據(jù)記錄為獨有干凈(uc)并且更新存在性向量(sf存在性)以指示rnf0具有數(shù)據(jù)的復(fù)本。接下來,在第2行處,另一請求節(jié)點rnf1執(zhí)行對于相同存儲器位置(地址a)的可緩存讀取。這使得hnf探聽過濾器向rnf0發(fā)送對于地址a的探聽,因為探聽過濾器指示該數(shù)據(jù)在rnf0的緩存中。探聽過濾器中的狀態(tài)被更新為“sd”,并且數(shù)據(jù)的標(biāo)識符(sdrnfid)被更新為rnf0。注意,系統(tǒng)緩存被填充并且系統(tǒng)緩存中的數(shù)據(jù)被標(biāo)記為“干凈”。sf指示存在具有臟數(shù)據(jù)的上游緩存(在此情形中,rnf0)。該sd標(biāo)記要求探聽過濾器中的(如圖3中的字段314所指示的)額外存儲。響應(yīng)于該探聽,rnf0把它的緩存中的數(shù)據(jù)降級為狀態(tài)sd(也在表的第2行中)并且提供數(shù)據(jù)和探聽響應(yīng)。rnf1接收處于sc狀態(tài)的緩存數(shù)據(jù)(通過互連或者直接從rnf0接收)。此時,hnf探聽過濾器將把rnf0和rnf1二者標(biāo)記為緩存數(shù)據(jù)的共享者,如表的第2行中的sf存在性向量所示。任何其它rnf對地址a的任何其它一致性讀操作將向rnf0發(fā)送探聽來取得數(shù)據(jù)。如表1的第3行所示,來自rnf0的后續(xù)回寫清除了sf中的存在性并且將把數(shù)據(jù)安裝在系統(tǒng)緩存中,被標(biāo)記為“臟”。如果探聽過濾器不具有rnf0的sd標(biāo)記,則hnf必須對地址a的所有共享者進(jìn)行探聽直至一個rnf被發(fā)現(xiàn)能夠提供數(shù)據(jù)。如果不能夠提供數(shù)據(jù),該數(shù)據(jù)經(jīng)由存儲器控制器(mc)來獲得。對共享者的探聽可通過以下方式來執(zhí)行:向所有共享者廣播針對一致性讀取的探聽,或者逐一地探聽共享者直至發(fā)現(xiàn)一個提供數(shù)據(jù)的rnf。類似地,例如共享干凈cmo和永久cmo之類的其它操作可生成廣播探聽。上面描述的moesi緩存一致性協(xié)議的一個問題是“共享臟”(sd)跟蹤要求探聽過濾器標(biāo)簽中除了跟蹤rnf存在性向量之外的額外存儲。根據(jù)本公開的各種實施例,提供了在探聽過濾器中不跟蹤已擁有或“共享臟”(sd)狀態(tài)的一種探聽過濾器。然而,探聽過濾器可與使用moesi緩存一致性模型的裝置進(jìn)行操作。存儲于緩存中并且在緩存之間傳送的數(shù)據(jù)被標(biāo)記以moesi狀態(tài),但是sd數(shù)據(jù)的擁有者未記錄在探聽過濾器中。圖4是根據(jù)各種實施例的探聽過濾器200的框圖。過濾器被配置為使用遵循moesi或mesi模型的數(shù)據(jù)狀態(tài)來運行。探聽過濾器200包括探聽過濾器緩存402和探聽過濾器控制邏輯404,該探聽過濾器控制邏輯生成輸出的探聽命令406。輸出的探聽命令406可被定向至特定節(jié)點、至多個節(jié)點的子集、或者至所有節(jié)點,從而使得其它節(jié)點處的探聽過濾器能夠被維持。探聽過濾器緩存402包括與系統(tǒng)中緩存的數(shù)據(jù)行相關(guān)聯(lián)的若干記錄408。每個記錄408包括標(biāo)簽字段410(標(biāo)識數(shù)據(jù)塊)、僅指示數(shù)據(jù)行的mesi狀態(tài)的緩存一致性狀態(tài)字段412、以及存在性向量414。存在性向量414包含指示系統(tǒng)中的哪些節(jié)點在它們的本地緩存中具有該數(shù)據(jù)行的比特位。與圖3中的探聽過濾器相比,不要求rnf-id字段314和相關(guān)聯(lián)的邏輯。系統(tǒng)(例如,圖1中所示的系統(tǒng))通常以模塊化的方式來構(gòu)造并且由可被獨立設(shè)計和測試的功能邏輯塊建成。這些塊到塊之間的耦合是通過定義標(biāo)準(zhǔn)接口和接口協(xié)議來輔助的。當(dāng)協(xié)議被修改或者新的協(xié)議被引入時,該協(xié)議提供與先前協(xié)議的后向兼容從而使得先前設(shè)計的功能邏輯塊能夠被重復(fù)使用是有利的。例如,請求節(jié)點中的緩存控制器(圖1中的114)可使用moesi緩存一致性模型,但是它可能期望它可與不跟蹤處于sd狀態(tài)中的數(shù)據(jù)的擁有者的歸屬節(jié)點和互連一起操作。根據(jù)各種實施例,提供了不要求針對“共享臟”(sd)緩存數(shù)據(jù)使用rnf-id字段但是可與使用moesi緩存一致性模型的裝置兼容的探聽過濾器。根據(jù)各種實施例,數(shù)據(jù)處理系統(tǒng)的歸屬節(jié)點(hnf)具有探聽過濾器和系統(tǒng)緩存。探聽過濾器可與使用moesi緩存一致性模型的裝置相兼容,但是要求探聽過濾器標(biāo)簽和探聽過濾器控制中的邏輯或存儲以實現(xiàn)sd跟蹤。圖5是根據(jù)各種實施例的數(shù)據(jù)處理系統(tǒng)的完全一致的歸屬節(jié)點(hn-f)的探聽過濾器的探聽過濾器控制邏輯的操作方法的流程圖500。如下,在塊502處,從rn-f發(fā)送到hn-f的請求要訪問系統(tǒng)存儲器中的一地址處的數(shù)據(jù),在塊504處在hn-f的系統(tǒng)緩存和探聽過濾器(sf)中查找該地址。如果請求是讀請求(如來自判定塊506的“讀(read)”分支所示),流程繼續(xù)以判定塊508。如果未在緩存中發(fā)現(xiàn)該地址(緩存“未命中”)(如來自判定塊508的否定分支所示),流程繼續(xù)到判定塊510以根據(jù)探聽過濾器確定任何其它緩存是否包括所請求的數(shù)據(jù)。如果未在探聽過濾器中發(fā)現(xiàn)該地址(探聽過濾器“未命中”)(如來自判定塊510的否定分支所示),從存儲器讀取該數(shù)據(jù)的信號在塊512處被發(fā)送至存儲器控制器(mc),并且探聽過濾器被更新。數(shù)據(jù)在塊514處從存儲器控制器被接收到并且在塊516處被轉(zhuǎn)發(fā)至請求rn-f。這就完成了響應(yīng),如塊518所示。如果在探聽過濾器中發(fā)現(xiàn)該地址(探聽過濾器“命中”)(如來自判定塊510的肯定分支所示),數(shù)據(jù)被存儲在rn-f緩存中,并且在塊520處向?qū)?yīng)的rn-f發(fā)送探聽。探聽被發(fā)送至共享數(shù)據(jù)的所有節(jié)點。如果對于該探聽的響應(yīng)未能返回所請求的數(shù)據(jù)(如來自判定塊522的否定分支所示),流程繼續(xù)至塊512以使用存儲器控制器從存儲器取回數(shù)據(jù)。如果rn-f響應(yīng)于該探聽而提供了數(shù)據(jù)(如來自判定塊522的肯定分支所示),則在塊524處將數(shù)據(jù)存儲在系統(tǒng)緩存中,并且緩存數(shù)據(jù)的狀態(tài)在探聽過濾器中被標(biāo)記為“臟”。通過在塊524處更新緩存,請求節(jié)點的本地緩存中的數(shù)據(jù)被保證是干凈的,因此不需要識別共享臟數(shù)據(jù)的擁有者。流程然后繼續(xù)至塊516。任何后續(xù)讀請求將不生成任何探聽并且數(shù)據(jù)將從系統(tǒng)緩存來提供。數(shù)據(jù)的擁有者不被標(biāo)記。如果在緩存中發(fā)現(xiàn)該地址(緩存“命中”)(如來自判定塊508的肯定分支所示),數(shù)據(jù)已經(jīng)被存儲在hn-f節(jié)點的系統(tǒng)緩存中。探聽過濾器(sf)在塊526處被更新以指示請求rn-f將具有數(shù)據(jù)的復(fù)本并且數(shù)據(jù)在塊524處被轉(zhuǎn)發(fā)至rn-f節(jié)點。如果請求是回寫請求(如來自判定塊506的“wb”分支所示),流程繼續(xù)至判定塊530。如果回寫數(shù)據(jù)的狀態(tài)是干凈(如來自判定塊530的“干凈(clean)”分支所示)或者該狀態(tài)是“獨有臟”(如來自判定塊532的“ud”分支所示)或者數(shù)據(jù)尚不在系統(tǒng)緩存中(如來自判定塊534的否定分支所示),流程繼續(xù)至塊536,其中探聽過濾器目錄中的對應(yīng)條目被清除并且數(shù)據(jù)被存儲在系統(tǒng)緩存中且被標(biāo)記為“干凈”。如果回寫數(shù)據(jù)的狀態(tài)是“共享臟”并且已經(jīng)在系統(tǒng)緩存中(如來自判定塊534的肯定分支所示),則探聽過濾器目錄中的對應(yīng)條目被清除并且數(shù)據(jù)不被寫入到系統(tǒng)緩存。此方式確保存儲器僅被寫入一次。不利地,如果“臟”數(shù)據(jù)被存儲在緩存中,hn-f將會需要執(zhí)行到存儲器的額外回寫。這不再被需要,因此避免了不必要的存儲器控制流量。圖5中所示的方法避免了廣播探聽或者在轉(zhuǎn)到存儲器控制器之前逐一地探聽rn-f直至一個rn-f被發(fā)現(xiàn)的復(fù)雜控制邏輯。上述機制使得探聽過濾器標(biāo)簽存儲能夠被減少,并且另外減少了在一些情形中利用cmo操作的廣播探聽的數(shù)量。表2示出了一系列操作和結(jié)果的狀態(tài)的示例。在此示例中,請求節(jié)點rnf0執(zhí)行對于(地址a處的)一致性存儲器的可緩存存儲,并然后執(zhí)行表2的第1行處的獨有讀操作以獲得對于行的獨占擁有權(quán),并且在rnf0緩存(例如,它的l1或l2緩存)中把該行安裝以臟(ud)狀態(tài)。探聽過濾器把數(shù)據(jù)記錄為獨有干凈(uc)并且更新存在性向量(sf存在性)以指示rnf0具有數(shù)據(jù)的復(fù)本。接下來,在第2行處,另一請求節(jié)點rnf1執(zhí)行對于相同存儲器位置(地址a)的可緩存讀取。這使得hnf探聽過濾器向rnf0發(fā)送對于地址a的探聽,因為探聽過濾器存在性向量指示該數(shù)據(jù)在rnf0的緩存中。探聽過濾器中的狀態(tài)被更新為“sc”,但是未記錄擁有者的標(biāo)識符。響應(yīng)于該探聽,rnf0把它的緩存中的數(shù)據(jù)降級為狀態(tài)sd(也在表的第2行中)并且提供數(shù)據(jù)和探聽響應(yīng)。rnf1接收處于sc狀態(tài)的緩存數(shù)據(jù)(通過互連或者直接從rnf0接收)。系統(tǒng)緩存被填充并且系統(tǒng)緩存中的數(shù)據(jù)被標(biāo)記為“臟”,因為歸屬節(jié)點確定數(shù)據(jù)存儲rnf0現(xiàn)在應(yīng)當(dāng)是sd狀態(tài)。此時,hnf探聽過濾器將把rnf0和rnf1二者標(biāo)記為緩存數(shù)據(jù)的共享者,如表的第2行中的sf存在性向量所示。由任何其它rnf對地址a的任何其它一致性讀操作將向rnf0和/或rnf1發(fā)送探聽來取得數(shù)據(jù),因為二者在sf存在性向量中被指示為共享者。當(dāng)從rnf0接收到后續(xù)的回寫請求時發(fā)生什么是根據(jù)對應(yīng)的數(shù)據(jù)是否保留于歸屬節(jié)點的系統(tǒng)緩存中或者它是否已經(jīng)被從緩存中驅(qū)逐來確定。如果被驅(qū)逐,則數(shù)據(jù)將已經(jīng)被回寫到存儲器中,因為它被標(biāo)記為“臟”。表2的第3行顯示當(dāng)在數(shù)據(jù)已經(jīng)被從系統(tǒng)緩存中驅(qū)逐之后從rnf0接收到后續(xù)的回寫請求時發(fā)生了什么?;貙懻埱笤俅沃甘緛碜詒nf0的數(shù)據(jù)處于sd狀態(tài)。探聽過濾器狀態(tài)是sc,這向探聽過濾器控制邏輯指示系統(tǒng)緩存先前持有數(shù)據(jù)的“臟”復(fù)本并且已經(jīng)將它驅(qū)逐至存儲器。因為存儲器已經(jīng)被更新,所以沒有意圖在系統(tǒng)緩存中保存處于“臟”狀態(tài)的數(shù)據(jù)。因而,系統(tǒng)緩存被填充以“干凈”。sf中的存在性向量被更新以指示rnf0不再共享該數(shù)據(jù)并且該數(shù)據(jù)被存儲在系統(tǒng)緩存中并且被標(biāo)記為“臟”。rnf0把它的本地緩存中該數(shù)據(jù)的狀態(tài)更新為“無效”。表2的第4行顯示當(dāng)在數(shù)據(jù)已經(jīng)被從系統(tǒng)緩存中驅(qū)逐之前從rnf0接收到后續(xù)的回寫請求時發(fā)生了什么。探聽控制器確定數(shù)據(jù)已在系統(tǒng)緩存中處于“臟”狀態(tài),所以數(shù)據(jù)被丟棄并且不對緩存做出任何改變。探聽過濾器存在性向量被更新以指示rnf0不再共享該數(shù)據(jù)。rnf0把它的本地緩存中該數(shù)據(jù)的狀態(tài)更新為“無效”。表2在上文描述的方法中,未使用探聽過濾器狀態(tài)“sd”并且擁有者id未被探聽過濾器記錄或跟蹤,從而減少了探聽過濾器緩存的大小并且簡化了探聽過濾器控制邏輯。將會認(rèn)識到,這里描述的一些或全部功能可以通過沒有存儲程序指令的狀態(tài)機(例如,定制邏輯)實現(xiàn),被實現(xiàn)于一個或多個專用集成電路(asic)中、諸如fpga之類的可重配置邏輯中、或者具有存儲的指令的一個或多個編程的處理器中。當(dāng)然,也可使用這些方法的組合。因此,這里已經(jīng)描述了這些功能的方法和裝置。此外,預(yù)期到本領(lǐng)域技術(shù)人員在此所公開的概念和原理的教導(dǎo)下雖然受某些因素(例如,可用時間、當(dāng)前技術(shù)、經(jīng)濟(jì)考量)驅(qū)動而可能需要大量努力和許多設(shè)計選擇但將能夠容易地用最少的實驗生成這樣的集成電路、軟件指令和程序。如這里所用,術(shù)語處理器、控制器等等可涵蓋處理器、控制器、微控制器單元(mcu)、微處理器、圖形處理單元(gpu)、數(shù)字信號處理器(dsp)、現(xiàn)場可編程門陣列(fpga)、專用集成電路(asic)裝置、存儲器控制器、或者i/o主控裝置。本領(lǐng)域技術(shù)人員將會認(rèn)識到本發(fā)明已經(jīng)結(jié)合示例性實施例而被描述,但是它不被如此限制。本發(fā)明可以使用硬件組件來實現(xiàn),諸如與所描述并要求保護(hù)的公開等同的專用硬件和/或?qū)S锰幚砥?。類似地,通用計算機、基于微處理器的計算機、微控制器、光學(xué)計算機、模擬計算機、專用處理器和/或?qū)S糜策B線邏輯可用于構(gòu)建本公開的實施例的等同替換。此外,本領(lǐng)域技術(shù)人員將認(rèn)識到用于實現(xiàn)上述實施例的程序流和關(guān)聯(lián)數(shù)據(jù)可以使用各種形式的存儲裝置來實現(xiàn),例如,只讀存儲器(rom)、隨機存儲存儲器(ram),電可擦除可編程只讀存儲器(eeprom);非易失性存儲器(nvm);如硬盤驅(qū)動,軟盤驅(qū)動,光盤驅(qū)動的海量存儲裝置、光存儲元件、磁存儲元件、磁光存儲元件、閃存、核心存儲器和/或不脫離本發(fā)明的其他等同存儲技術(shù)。這些替代存儲裝置應(yīng)被認(rèn)為是等同的。在此描述的各種實施例利用運行編程指令的編程的處理器來實施,其中編程指令以流程圖的形式被廣義的描述并且可被存儲在任何適當(dāng)電子存儲介質(zhì)上或通過任何適當(dāng)電子通信介質(zhì)被傳輸。然而,本領(lǐng)域技術(shù)人員將會認(rèn)識到上述處理可以在任何數(shù)量的變體中以及以許多適當(dāng)編程語言來實現(xiàn),而不脫離本發(fā)明。例如,在不脫離本發(fā)明的情況下,所執(zhí)行的某些操作的順序通??杀桓淖?,另外的操作可被增加,或者操作可被刪除。錯誤捕獲可被添加和/或增強,并且在用戶界面和信息呈現(xiàn)方面也可做出變型,而不脫離本發(fā)明。這些變型是可預(yù)期的并被認(rèn)為是等同的。相應(yīng)地,所公開的實施例的一些方面和特征在下面編號的項目中被給出。1.一種數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)傳輸?shù)姆椒?,該?shù)據(jù)處理系統(tǒng)具有共享數(shù)據(jù)資源和多個節(jié)點的網(wǎng)絡(luò),共享數(shù)據(jù)資源能由網(wǎng)絡(luò)中的多個請求節(jié)點經(jīng)由網(wǎng)絡(luò)的歸屬節(jié)點來進(jìn)行訪問,方法包括:響應(yīng)于在歸屬節(jié)點處從多個請求節(jié)點中的第一請求節(jié)點接收的、針對存儲在共享數(shù)據(jù)資源中的系統(tǒng)地址處的數(shù)據(jù)的讀請求,確定所請求的數(shù)據(jù)是被存儲在歸屬節(jié)點的緩存中還是被存儲在多個請求節(jié)點中一個或多個第二請求節(jié)點的本地緩存中;當(dāng)所請求的數(shù)據(jù)未被存儲在歸屬節(jié)點的緩存中而是被存儲在一個或多個第二請求節(jié)點的本地緩存中時,向一個或多個第二請求節(jié)點發(fā)送探聽以請求數(shù)據(jù);當(dāng)響應(yīng)于探聽而數(shù)據(jù)返回時,用返回的數(shù)據(jù)填充歸屬節(jié)點的緩存,在緩存中把該數(shù)據(jù)標(biāo)記為“臟”,并且更新歸屬節(jié)點的探聽過濾器以指示第一請求節(jié)點具有數(shù)據(jù)的復(fù)本;以及向第一請求節(jié)點轉(zhuǎn)發(fā)返回的數(shù)據(jù),當(dāng)所請求的數(shù)據(jù)未被存儲在歸屬節(jié)點的緩存中或者一個或多個第二請求節(jié)點的本地緩存中時,從共享數(shù)據(jù)資源取回所請求的數(shù)據(jù);更新歸屬節(jié)點的探聽過濾器以指示第一請求節(jié)點具有數(shù)據(jù)的復(fù)本;以及向第一請求節(jié)點轉(zhuǎn)發(fā)所取回的數(shù)據(jù),當(dāng)所請求的數(shù)據(jù)被存儲在歸屬節(jié)點的緩存中時,更新歸屬節(jié)點的探聽過濾器以指示第一請求節(jié)點具有數(shù)據(jù)的復(fù)本;以及向第一請求節(jié)點轉(zhuǎn)發(fā)所取回的數(shù)據(jù)。2.如項目1的方法,其中被轉(zhuǎn)發(fā)至第一請求節(jié)點的數(shù)據(jù)被標(biāo)記為處于“獨有臟”狀態(tài)。3.如項目1的方法,其中存儲在多個請求節(jié)點的本地緩存中的數(shù)據(jù)被標(biāo)記為處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài)。4.如項目3的方法,其中第一請求節(jié)點的本地緩存中的數(shù)據(jù)被標(biāo)記為處于“共享臟”狀態(tài),并且其中探聽過濾器不標(biāo)識第一請求節(jié)點。5.如項目1的方法,其中更新歸屬節(jié)點的探聽過濾器以指示第一請求節(jié)點具有數(shù)據(jù)的復(fù)本包括:更新探聽過濾器中的存在性向量。6.如項目1的方法,其中向一個或多個第二請求節(jié)點發(fā)送探聽以請求數(shù)據(jù)使得第二請求節(jié)點把它的本地緩存中的數(shù)據(jù)從“ud”狀態(tài)更新為“sd”狀態(tài)。7.如項目1的方法,還包括:響應(yīng)于在歸屬節(jié)點處從多個請求節(jié)點中的第一請求節(jié)點接收的、請求回寫數(shù)據(jù)存儲至共享數(shù)據(jù)資源中的系統(tǒng)地址的回寫請求,確定回寫數(shù)據(jù)的狀態(tài);當(dāng)數(shù)據(jù)的狀態(tài)處于“干凈”或“獨有”狀態(tài)時或者當(dāng)歸屬節(jié)點的緩存中未存儲與系統(tǒng)地址相關(guān)聯(lián)的任何數(shù)據(jù)時,把回寫數(shù)據(jù)作為“干凈”數(shù)據(jù)存儲在歸屬節(jié)點的緩存中;當(dāng)與系統(tǒng)地址相關(guān)聯(lián)的數(shù)據(jù)已被存儲在歸屬節(jié)點的緩存中時,丟棄回寫數(shù)據(jù)而無需把它存儲在歸屬節(jié)點的緩存中;以及更新探聽過濾器中的存在性向量。8.如項目7的方法,還包括:當(dāng)歸屬節(jié)點的緩存中被標(biāo)記為“臟”的數(shù)據(jù)被從歸屬節(jié)點的緩存中驅(qū)逐時,把數(shù)據(jù)回寫至共享數(shù)據(jù)資源。9.如項目7的方法,還包括:多個請求節(jié)點中的第一請求節(jié)點在它的本地緩存中把要回寫的數(shù)據(jù)的復(fù)本標(biāo)記為“無效”。10.一種用于數(shù)據(jù)處理系統(tǒng)的探聽過濾器,數(shù)據(jù)處理系統(tǒng)還包括:多個處理器,每個處理器具有本地緩存和緩存控制器;共享數(shù)據(jù)資源;以及系統(tǒng)緩存,其中探聽過濾器監(jiān)視由多個處理器對共享數(shù)據(jù)資源的訪問,并且其中探聽過濾器包括:探聽過濾器控制邏輯,該探聽過濾器控制邏輯能操作以與多個處理器的緩存控制器通信;以及探聽過濾器緩存,該探聽過濾器緩存能操作以針對多個處理器中的處理器的本地緩存中的每個數(shù)據(jù)塊存儲以下各項:標(biāo)識數(shù)據(jù)塊的標(biāo)簽;數(shù)據(jù)塊處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài)的指示;以及表明哪些本地緩存共享數(shù)據(jù)塊的復(fù)本的存在性向量,其中探聽過濾器緩存不對存儲處于“共享臟”狀態(tài)的數(shù)據(jù)塊的任何本地緩存進(jìn)行標(biāo)識,并且其中探聽過濾器控制邏輯被配置為執(zhí)行如項目7的方法。11.一種包括硬件描述語言的指令的非暫態(tài)計算機可讀介質(zhì),指令定義如項目10的數(shù)據(jù)處理系統(tǒng)。12.如項目1的方法,其中從共享數(shù)據(jù)資源取回所請求的數(shù)據(jù)包括:探聽過濾器的控制器經(jīng)由互連電路向存儲器控制器發(fā)送讀請求;存儲器控制器訪問存儲器中系統(tǒng)地址處存儲的數(shù)據(jù);以及存儲器控制器經(jīng)由互連電路向歸屬節(jié)點返回所訪問的數(shù)據(jù)。13.一種用于數(shù)據(jù)處理系統(tǒng)的探聽過濾器,數(shù)據(jù)處理系統(tǒng)包括:多個處理器,每個處理器具有本地緩存和緩存控制器;共享數(shù)據(jù)資源;以及系統(tǒng)緩存,其中探聽過濾器監(jiān)視由多個處理器對共享數(shù)據(jù)資源的訪問,其中來自共享數(shù)據(jù)資源的、存儲在多個處理器中的處理器的本地緩存中的數(shù)據(jù)被標(biāo)記為處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài),其中如果來自共享數(shù)據(jù)資源的、存儲在系統(tǒng)緩存中的數(shù)據(jù)不與共享數(shù)據(jù)資源中的對應(yīng)數(shù)據(jù)相匹配,則它被標(biāo)記為處于“臟”狀態(tài),否則被標(biāo)記為“干凈”,并且其中探聽過濾器包括:探聽過濾器控制邏輯,該探聽過濾器控制邏輯能操作以與多個處理器的緩存控制器通信;以及探聽過濾器緩存,該探聽過濾器緩存能操作以針對多個處理器中的處理器的本地緩存中的每個數(shù)據(jù)塊存儲以下各項:標(biāo)識數(shù)據(jù)塊的標(biāo)簽;數(shù)據(jù)塊處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài)的指示;以及表明哪些本地緩存共享數(shù)據(jù)塊的復(fù)本的存在性向量,其中探聽過濾器緩存不對存儲處于“共享臟”狀態(tài)的數(shù)據(jù)塊的任何本地緩存進(jìn)行標(biāo)識。14.一種包括硬件描述語言的指令的非暫態(tài)計算機可讀介質(zhì),指令定義如項目13的數(shù)據(jù)處理系統(tǒng)。15.一種數(shù)據(jù)處理系統(tǒng),包括:多個處理器,每個處理器具有本地緩存和緩存控制器,其中被存儲在多個處理器中處理器的本地緩存中的數(shù)據(jù)被標(biāo)記為處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài);系統(tǒng)緩存,其中如果被存儲在系統(tǒng)緩存中的數(shù)據(jù)不與共享數(shù)據(jù)資源中的對應(yīng)數(shù)據(jù)相匹配,則它被標(biāo)記為處于“臟”狀態(tài),否則被標(biāo)記為“干凈”,其中共享數(shù)據(jù)資源能由多個處理器訪問;以及探聽過濾器,該探聽過濾器監(jiān)視由多個處理器對共享數(shù)據(jù)資源的訪問,其中,探聽過濾器包括:探聽過濾器控制邏輯,該探聽過濾器控制邏輯能操作以與多個處理器的緩存控制器通信;以及探聽過濾器緩存,該探聽過濾器緩存能操作以針對多個處理器中處理器的本地緩存中的每個數(shù)據(jù)塊存儲以下各項:標(biāo)識數(shù)據(jù)塊的標(biāo)簽;數(shù)據(jù)塊處于“獨有臟”、“共享臟”、“獨有干凈”或者“無效”狀態(tài)的指示;以及表明哪些本地緩存共享數(shù)據(jù)塊的復(fù)本的存在性向量,其中探聽過濾器緩存不對存儲處于“共享臟”狀態(tài)的數(shù)據(jù)塊的任何本地緩存進(jìn)行標(biāo)識。16.如項目15的數(shù)據(jù)處理系統(tǒng),其中數(shù)據(jù)處理系統(tǒng)由集成電路組成。17.如項目15的數(shù)據(jù)處理系統(tǒng),還包括存儲器控制器,其中共享數(shù)據(jù)資源包括能經(jīng)由存儲器控制器訪問的存儲器。18.如項目15的數(shù)據(jù)處理系統(tǒng),還包括互連電路,其中數(shù)據(jù)處理系統(tǒng)被配置為由互連電路耦合的節(jié)點的網(wǎng)絡(luò),其中:網(wǎng)絡(luò)的請求節(jié)點包括多個處理器中的處理器,并且具有其本地緩存和緩存控制器;并且網(wǎng)絡(luò)的歸屬節(jié)點包括探聽過濾器和系統(tǒng)緩存。19.一種包括如項目15的數(shù)據(jù)處理系統(tǒng)的片上系統(tǒng)。20.一種包括硬件描述語言的指令的非暫態(tài)計算機可讀介質(zhì),指令定義如項目15的數(shù)據(jù)處理系統(tǒng)。在此已經(jīng)詳細(xì)描述的各種代表性實施例已經(jīng)通過示例而非限制的方式被呈現(xiàn)。本領(lǐng)域技術(shù)人員將會理解在所描述的實施例的形式和細(xì)節(jié)上可以做出各種帶來在所附權(quán)利要求的范圍內(nèi)的等同實施例的改變。當(dāng)前第1頁12