本發(fā)明涉及數(shù)據(jù)處理系統(tǒng)的領(lǐng)域。更具體來說,本發(fā)明涉及高速緩沖存儲器層次結(jié)構(gòu)和用于支持所述高速緩沖存儲器層次結(jié)構(gòu)內(nèi)的一致性的探聽過濾電路。
背景技術(shù):已知提供了具有高速緩沖存儲器層次結(jié)構(gòu)的數(shù)據(jù)處理系統(tǒng)。在非包含(non-inclusive)操作模式中,高速緩沖存儲器層次結(jié)構(gòu)進行操作以使得保持了緩存行數(shù)據(jù)的單個拷貝。此單行的緩存數(shù)據(jù)例如可以保持在一級(L1)、二級(L2)或三級(L3),但是不會保持在多于一個等級或者一個等級內(nèi)的多于一個緩存中。此類非包含操作有效利用了緩存層次結(jié)構(gòu)內(nèi)的存儲容量,但是卻有當緩存行數(shù)據(jù)未存儲在靠近請求訪問所述緩存行數(shù)據(jù)的事務(wù)處理源的位置時訪問所述緩存行數(shù)據(jù)較慢的缺點。另一種操作模式為包含(inclusive)模式。在包含操作模式中,可以將緩存行數(shù)據(jù)存儲在緩存層次結(jié)構(gòu)的多個等級中和緩存層次結(jié)構(gòu)的一個等級內(nèi)的多個緩存中。此類型的操作可以給請求事務(wù)處理源提供對給定行的緩存數(shù)據(jù)的更快訪問,但是卻有對緩存層次結(jié)構(gòu)的存儲資源的利用效率較低的缺點。已知提供了探聽過濾器(snoopfilter)電路,所述探聽過濾器電路用以將探聽標簽(tag)值存儲在包含操作模式內(nèi),所述探聽標簽值標識哪些高速緩沖存儲器正在存儲給定緩存行數(shù)據(jù)的拷貝,使得探聽請求和訪問可以被指向正在存儲目標緩存行數(shù)據(jù)的那些本地高速緩沖存儲器。探聽過濾器電路的缺點在于門數(shù)、功率、面積等方面消耗的資源。
技術(shù)實現(xiàn)要素:從一個方面來看,本發(fā)明提供了用于處理數(shù)據(jù)的設(shè)備,該設(shè)備包括以下部件:多個事務(wù)處理源,所述多個事務(wù)處理源中的每一個具有本地高速緩沖存儲器;共享高速緩沖存儲器,其耦接到所述多個事務(wù)處理源并配置為在非包含模式下操作,所述共享高速緩沖存儲器存儲追蹤哪些緩存行數(shù)據(jù)被存儲在所述共享高速緩沖存儲器中的共享緩存標簽值;和探聽過濾器電路,其配置為存儲用于追蹤哪些緩存行數(shù)據(jù)被存儲在所述本地高速緩沖存儲器中的探聽過濾器標簽值;其中響應(yīng)于對具有目標標簽值的目標緩存行數(shù)據(jù)的事務(wù)處理請求:(i)所述共享高速緩沖存儲器配置為將所述目標標簽值與所述共享緩存標簽值進行比較,以檢測所述目標緩存行數(shù)據(jù)是否被存儲在所述共享高速緩沖存儲器中;和(ii)所述探聽過濾器電路配置為將所述目標標簽值與所述探聽過濾器標簽值進行比較,以檢測所述目標緩存行數(shù)據(jù)是否被存儲在所述本地高速緩沖存儲器的任一個中。本技術(shù)提供一種數(shù)據(jù)處理設(shè)備,其具有在非包含模式下操作的共享高速緩沖存儲器(如3級高速緩沖存儲器)。該數(shù)據(jù)處理設(shè)備還具有探聽過濾電路,其存儲追蹤哪些緩存行數(shù)據(jù)被存儲在本地存儲器中的探聽過濾器標簽值。探聽過濾器電路不需要為保持在共享高速緩沖存儲器內(nèi)的緩存行數(shù)據(jù)存儲探聽過濾器標簽值(盡管在下文論述的某些情況下,也會存儲所述標簽值),因為可以替代地使用共享緩存標簽值來標識和定位將受到事務(wù)處理請求的目標緩存行數(shù)據(jù)。這節(jié)省了探聽過濾器電路內(nèi)的空間。本技術(shù)可以被認為提供了一種系統(tǒng),所述系統(tǒng)關(guān)于其數(shù)據(jù)值存儲以非包含形式操作(即,共享高速緩沖存儲器以非包含形式存儲緩存行數(shù)據(jù)),同時包含性地提供標簽存儲(即,存在于共享高速緩沖存儲器和本地高速緩沖存儲器內(nèi)的所有緩存行數(shù)據(jù)的標簽被分別存儲在共享高速緩沖存儲器和探聽過濾器電路內(nèi))。這有助于減少所需要的探聽流量,因為緩存行數(shù)據(jù)的位置和存在可以從探聽過濾器電路和共享高速緩沖存儲器來確定。探聽過濾器電路可以僅存儲指示緩存行數(shù)據(jù)存在于本地高速緩沖存儲器中的一個內(nèi)的探聽過濾器標簽值,并需要對所有那些本地高速緩沖存儲器進行廣播。然而,一些實施例可以將事務(wù)處理源標識數(shù)據(jù)存儲在探聽過濾器電路內(nèi),此事務(wù)處理源標識數(shù)據(jù)標識哪些緩存行數(shù)據(jù)被存儲在哪些高速緩沖存儲器中。以此方式,更加可能避免推測性探聽,因為可以僅從探聽過濾器電路確定哪些行的緩存數(shù)據(jù)被存儲以及存儲在哪些本地高速緩沖存儲器中。事務(wù)處理源標識數(shù)據(jù)可以用以僅標識單個本地高速緩沖存儲器,因為這將會保持存儲容量并且在很多操作環(huán)境下可能已足夠。在其它實施例中,事務(wù)處理源標識數(shù)據(jù)可以標識事務(wù)處理源的適當子集,該子集所具有的數(shù)量被選擇來在所消耗的存儲空間與所實現(xiàn)的效率增益之間進行平衡。單項事務(wù)處理源標識數(shù)據(jù)也可能為不精確的,并且標識一系列的事務(wù)處理源,例如,所有偶數(shù)編號的事務(wù)處理源或者具有在某一范圍內(nèi)的編號的所有事務(wù)處理源。探聽過濾器電路的配置可能使得其必須為存儲在本地高速緩沖存儲器內(nèi)的每個緩存行數(shù)據(jù)存儲探聽過濾器標簽值,就這個意義來說其被約束為嚴格包含的。然而,每個存儲的探聽過濾器標簽值并不必須要具有存儲在本地高速緩沖存儲器內(nèi)的相應(yīng)緩存行數(shù)據(jù),因為在一些罕見情況下,可能能夠從本地高速緩沖存儲器去除緩存行數(shù)據(jù),而這沒有在探聽過濾器電路中進行追蹤。探聽過濾器電路和共享高速緩沖存儲器二者均將目標標簽值與其存儲的標簽值進行比較。如果這些比較中的任一個產(chǎn)生命中(hit),那么事務(wù)處理請求由本地高速緩沖存儲器中具有匹配的探聽過濾出的標簽值的適當高速緩沖存儲器或者由具有匹配的共享緩存標簽值的共享高速緩沖存儲器來服務(wù)。在一些情形下,可以逐個緩存行地選擇性超馳共享高速緩沖存儲器的默認非包含行為,使得可能在探聽過濾器電路和共享高速緩沖存儲器二者中均出現(xiàn)命中,并且探聽過濾器電路和共享高速緩沖存儲器二者隨后向事務(wù)處理請求提供服務(wù)。如果共享高速緩沖存儲器和探聽過濾器電路配置為并行執(zhí)行其比較操作,那么可以增加操作速度并降低控制復(fù)雜度。在一些實施例中,共享高速緩沖存儲器和探聽過濾器電路可以配置為當并行執(zhí)行訪問時作為互鎖管線(interlockedpipeline)來操作。如果在共享高速緩沖存儲器和探聽過濾器電路中均未出現(xiàn)命中,那么可以向主存儲器發(fā)起對目標緩存行數(shù)據(jù)的事務(wù)處理。返回的目標緩存行數(shù)據(jù)通常將存儲在與事務(wù)處理源相對應(yīng)的一個本地高速緩沖存儲器中,而將不會存儲在共享高速緩沖存儲器中(即,與共享高速緩沖存儲器的默認非包含行為一致)。如果隨后從所述本地高速緩沖存儲器中驅(qū)逐出所述目標緩存行數(shù)據(jù),那么可以在稍后將其存儲在共享高速緩沖存儲器內(nèi)。當共享高速緩沖存儲器和探聽過濾器電路配置為在將標簽值在作為探聽過濾器標簽值存儲在探聽過濾器電路中與作為共享緩存標簽值存儲在共享高速緩沖存儲器中之間以原子方式改變以遵循相應(yīng)緩存行數(shù)據(jù)的存儲位置的改變時,有利地降低了控制復(fù)雜度。這種原子行為導(dǎo)致至少就所進行的任何改變的外部可見性而言,當進行了改變時,則此行為將作為單個操作來全部完成。因此,隨后的事務(wù)處理將不能觀察到標簽值的存儲位置的部分地完成的改變,因為這會產(chǎn)生需要相當大的控制復(fù)雜度來進行管理或防止的錯誤或無法預(yù)測的行為。對標簽值的存儲位置以原子方式進行改變的實例是當將緩存行從一個本地高速緩沖存儲器驅(qū)逐到共享高速緩沖存儲器時或者當將緩存行數(shù)據(jù)從共享高速緩沖存儲器召回到一個本地高速緩沖存儲器時。如先前所述,共享高速緩沖存儲器可以配置為受到控制以將一個或多個緩存行數(shù)據(jù)選擇性地存儲在包含模式下。能夠?qū)е逻@樣切換到緩存行數(shù)據(jù)的包含存儲模式的操作實例為對具有一個或多個預(yù)定類型中的一種類型的事務(wù)處理請求的響應(yīng)。作為實例,具有使得事務(wù)處理向本地高速緩沖存儲器讀取緩存行數(shù)據(jù)且隨后不會修改存儲在該本地高速緩沖存儲器中的該緩存行數(shù)據(jù)這一類型的事務(wù)處理可以例如觸發(fā)/允許該緩存行數(shù)據(jù)的包含存儲。在一些實施例中,共享高速緩沖存儲器和探聽電路可以配置為存儲針對與多個事務(wù)處理源中的一個事務(wù)處理源相關(guān)聯(lián)的每個緩存行數(shù)據(jù)的唯一狀態(tài)數(shù)據(jù),其中此唯一狀態(tài)數(shù)據(jù)指示該緩存行數(shù)據(jù)是否存儲在所述多個事務(wù)處理源中任何其它事務(wù)處理源的本地高速緩沖存儲器中。因此,該唯一狀態(tài)數(shù)據(jù)指示緩存行數(shù)據(jù)是為了單個事務(wù)處理源而被唯一存儲還是為了多個事務(wù)處理源而被非唯一存儲。在一些實施例中,共享高速緩沖存儲器和探聽過濾器電路可以配置為通過如下方式來響應(yīng)從給定事務(wù)處理源接收到命中由不同的事務(wù)處理源存儲在共享高速緩沖存儲器中的緩存行數(shù)據(jù)的非修改讀取事務(wù)處理:將該緩存行數(shù)據(jù)返回到該給定事務(wù)處理源以供存儲在該給定事務(wù)處理源的本地高速緩沖存儲器中,留下該緩存行數(shù)據(jù)存儲在該共享高速緩沖存儲器中,并在共享高速緩沖存儲器和探聽過濾器電路二者中為該緩存行數(shù)據(jù)設(shè)置唯一狀態(tài)數(shù)據(jù),以指示該緩存行數(shù)據(jù)是與多個事務(wù)處理源相關(guān)聯(lián)地存儲。以此方式,至少就對于其接收到非修改讀取事務(wù)處理的該緩存行數(shù)據(jù)來說,共享高速緩沖存儲器被切換到在包含模式下操作。在其它實施例中(包括與上述實施例相結(jié)合),共享高速緩沖存儲器和探聽過濾器電路可以配置為通過如下方式來響應(yīng)從給定事務(wù)處理源接收到在共享高速緩沖存儲器中未命中而命中存儲在不同事務(wù)處理源的本地高速緩沖存儲器中的緩存行數(shù)據(jù)的非修改讀取事務(wù)處理:將該緩存行數(shù)據(jù)返回到給定事務(wù)處理源以供存儲在該給定事務(wù)處理源的本地高速緩沖存儲器中,留下該緩存行數(shù)據(jù)存儲在所述不同事務(wù)處理源的本地高速緩沖存儲器中,將該緩存行數(shù)據(jù)存儲在該共享高速緩沖存儲器中,并在共享高速緩沖存儲器和探聽過濾器電路二者中為該緩存行數(shù)據(jù)設(shè)置唯一狀態(tài)數(shù)據(jù),以指示該緩存行數(shù)據(jù)是與多個事務(wù)處理源相關(guān)聯(lián)地存儲。同樣,這將操作切換到針對所涉及緩存行數(shù)據(jù)的包含模式。當響應(yīng)于來自多個事務(wù)處理源中的一個事務(wù)處理源的事務(wù)處理請求而從存儲器提取緩存行數(shù)據(jù)時,該緩存行數(shù)據(jù)將被存儲在所述多個源中的一個源的本地高速緩沖存儲器中,并且相應(yīng)的探聽過濾器標簽值將被存儲在探聽過濾器電路中。如果事務(wù)處理源標識數(shù)據(jù)值也由探聽過濾器電路存儲,那么可以將該數(shù)據(jù)同時寫入。將了解,所述多個事務(wù)處理源可以具有多種不同的形式。在一種形式下,這些事務(wù)處理源可以包括一個或多個處理器核心。本地高速緩沖存儲器可以類似地具有多種不同的形式,例如包括L1高速緩沖存儲器和L2高速緩沖存儲器。所述多個事務(wù)處理源可以通過基于環(huán)的互連而方便地連接在一起。當將多個事務(wù)處理源或多個共享高速緩沖存儲器添加到系統(tǒng)時,對這種基于環(huán)的互連進行有效地縮放。從另一個方面來看,本發(fā)明提供了用于處理數(shù)據(jù)的設(shè)備,該設(shè)備包括以下部件:用于產(chǎn)生事務(wù)處理的多個事務(wù)處理源裝置,所述多個事務(wù)處理源裝置中的每一個具有用于存儲數(shù)據(jù)的本地高速緩沖存儲器裝置;用于存儲數(shù)據(jù)的共享高速緩沖存儲器裝置,所述共享高速緩沖存儲器裝置耦接到所述多個事務(wù)處理源裝置并配置為在非包含模式下操作,所述共享高速緩沖存儲器裝置存儲追蹤哪些緩存行數(shù)據(jù)被存儲在所述共享高速緩沖存儲器裝置中的共享緩存標簽值;和探聽過濾器裝置,其用于存儲用于追蹤哪些緩存行數(shù)據(jù)被存儲在所述本地高速緩沖存儲器裝置中的探聽過濾器標簽值;其中響應(yīng)于對具有目標標簽值的目標緩存行數(shù)據(jù)的事務(wù)處理請求:(i)所述共享高速緩沖存儲器裝置配置為將所述目標標簽值與所述共享緩存標簽值進行比較,以檢測所述目標緩存行數(shù)據(jù)是否被存儲在所述共享高速緩沖存儲器裝置中;和(ii)所述探聽過濾器裝置配置為將所述目標標簽值與所述探聽過濾器標簽值進行比較,以檢測所述目標緩存行數(shù)據(jù)是否被存儲在所述本地高速緩沖存儲器裝置的任一個中。從又一個方面來看,本發(fā)明提供了一種處理數(shù)據(jù)的方法,包括以下步驟:由多個事務(wù)處理源產(chǎn)生事務(wù)處理;將各自的數(shù)據(jù)存儲在所述多個事務(wù)處理源中的每一個的本地高速緩沖存儲器中;將數(shù)據(jù)存儲在耦接到所述多個事務(wù)處理源的共享高速緩沖存儲器中;使所述共享高速緩沖存儲器在非包含模式下操作;將追蹤哪些緩存行數(shù)據(jù)被存儲在所述共享高速緩沖存儲器裝置中的共享緩存標簽值存儲在所述共享高速緩沖存儲器中;將用于追蹤哪些緩存行數(shù)據(jù)被存儲在所述本地高速緩沖存儲器裝置中的探聽過濾器標簽值存儲在探聽過濾器電路中;和響應(yīng)于對具有目標標簽值的目標緩存行數(shù)據(jù)的事務(wù)處理請求:(i)將所述目標標簽值與所述共享緩存標簽值進行比較,以檢測所述目標緩存行數(shù)據(jù)是否被存儲在所述共享高速緩沖存儲器中;和(ii)將所述目標標簽值與所述探聽過濾器標簽值進行比較,以檢測所述目標緩存行數(shù)據(jù)是否被存儲在所述本地高速緩沖存儲器的任一個中。從將結(jié)合附圖來閱讀的說明性實施例的以下詳細描述,將顯而易見本發(fā)明的以上和其它目的、特征和優(yōu)點。附圖說明圖1示意性地圖示了包括多個事務(wù)處理源、共享高速緩沖存儲器和探聽過濾器電路的數(shù)據(jù)處理設(shè)備,每個事務(wù)處理源包括本地高速緩沖存儲器;圖2示意性地圖示了共享高速緩沖存儲器;圖3示意性地圖示了探聽過濾器電路;圖4圖示了由探聽過濾器電路和共享高速緩沖存儲器執(zhí)行的比較操作的并行互鎖管線操作;和圖5示意性地圖示了原子標簽維護,其中標簽值的存儲位置在探聽過濾器電路與共享高速緩沖存儲器之間改變。具體實施方式圖1示意性地圖示了包括耦接到主存儲器6的集成電路4上的系統(tǒng)芯片2。片上系統(tǒng)集成電路4包括多個事務(wù)處理源8、10,每個事務(wù)處理源包括L2高速緩沖存儲器、兩個L1高速緩沖存儲器和兩個處理器核心。每個事務(wù)處理源8、10內(nèi)的所述L2高速緩沖存儲器和所述兩個Ll高速緩沖存儲器可以被共同認為是針對所述單獨的事務(wù)處理源8、10的本地高速緩沖存儲器?;诃h(huán)(ring)的互連12將事務(wù)處理源8、10耦接到探聽過濾器電路14和L3緩存形式的共享高速緩沖存儲器16。存儲器控制器18也耦接到基于環(huán)的互連12,并且如果主存儲器6內(nèi)的數(shù)據(jù)不存在于由共享高速緩沖存儲器16和事務(wù)處理源8、10內(nèi)的本地高速緩沖存儲器形成的緩存層次結(jié)構(gòu)內(nèi),那么允許對所述數(shù)據(jù)進行訪問。當處理器核心發(fā)出試圖訪問緩存行數(shù)據(jù)的事務(wù)處理時,確定此緩存行數(shù)據(jù)是否被存儲在與所述處理器核心相關(guān)聯(lián)的本地高速緩沖存儲器中。如果在本地高速緩沖存儲器中未命中,那么將事務(wù)處理通過基于環(huán)的互連12發(fā)送到探聽過濾器電路14和共享高速緩沖存儲器16。探聽過濾器電路14和共享高速緩沖存儲器16執(zhí)行與在基于環(huán)的互連12上發(fā)送的事務(wù)處理相關(guān)聯(lián)的目標標簽值的并行管線互鎖標簽查找。此查找包括將目標標簽值與存儲在探聽過濾器電路14內(nèi)的探聽過濾器標簽值進行比較并與存儲在共享高速緩沖存儲器16內(nèi)的共享緩存標簽值進行比較。如果在共享高速緩沖存儲器16內(nèi)出現(xiàn)命中,那么由共享高速緩沖存儲器16來向事務(wù)處理提供服務(wù)。如果在探聽過濾器電路14內(nèi)出現(xiàn)命中,那么探聽過濾器電路返回信號,所述信號確認所述目標緩存行數(shù)據(jù)被存儲在片上系統(tǒng)集成電路4內(nèi)的本地高速緩沖存儲器中的一個內(nèi)并(使用與探聽過濾器標簽值相關(guān)聯(lián)地存儲的事務(wù)處理源標識數(shù)據(jù))標識此本地高速緩沖存儲器。如果在探聽過濾器電路14和共享高速緩沖存儲器16二者中均出現(xiàn)未命中,那么存儲器控制器18對主存儲器6發(fā)起關(guān)于目標緩存行數(shù)據(jù)的芯片外存儲器訪問。從主存儲器6返回的目標緩存行數(shù)據(jù)被存儲回到請求所述目標緩存行數(shù)據(jù)的事務(wù)處理源的本地高速緩沖存儲器中,并且相應(yīng)的探聽過濾器標簽項連同標識哪個事務(wù)處理源具有存儲所述目標緩存行數(shù)據(jù)的本地高速緩沖存儲器的事務(wù)處理源標識數(shù)據(jù)值被寫入到探聽過濾器電路14中,以通過此探聽過濾器標簽值來標識存儲回到本地高速緩沖存儲器中的緩存行數(shù)據(jù)的存儲位置。共享高速緩沖存儲器16主要以非包含形式操作,因為默認行為在于緩存行數(shù)據(jù)將被存儲在共享高速緩沖存儲器16中或存儲在一個本地高速緩沖存儲器中,但不會存儲在二者中。在某些情況下,可以超馳(override)此默認非包含行為。具體來說,可以識別尋找目標緩存行數(shù)據(jù)的事務(wù)處理的事務(wù)處理類型,并且如果這與一個或多個預(yù)定類型匹配,那么可以觸發(fā)關(guān)于所述目標緩存行數(shù)據(jù)的包含存儲模式。具體來說,如果事務(wù)處理是隨后不會修改緩存行數(shù)據(jù)的讀取(readclean),那么如果在共享高速緩沖存儲器16中出現(xiàn)命中,那么目標緩存行數(shù)據(jù)可以被返回到請求其的事務(wù)處理源以供存儲在所述事務(wù)處理源的本地高速緩沖存儲器中,同時保持存儲在共享高速緩沖存儲器16中。探聽過濾器標簽值將被寫入到探聽過濾器電路14中,以追蹤事務(wù)處理源內(nèi)目標緩存行數(shù)據(jù)的存在。因此,探聽過濾器標簽值和共享緩存標簽值二者都將追蹤相同的緩存行數(shù)據(jù),并且將指示其在多于一個地方的存在??梢詫⒎前袨榍袚Q到針對給定緩存行數(shù)據(jù)的包含行為的另一種情況為,如果進行隨后不會修改緩存行數(shù)據(jù)的讀取事務(wù)處理,并且在共享高速緩沖存儲器16中未命中,但是由探聽過濾器電路14指示為由一個本地高速緩沖存儲器命中,那么將從存儲有目標緩存行數(shù)據(jù)的本地高速緩沖存儲器檢索到所述目標緩存行數(shù)據(jù),并且將拷貝放置在共享高速緩沖存儲器16和請求所述目標緩存行數(shù)據(jù)的事務(wù)處理源的本地高速緩沖存儲器二者中。在這種情況下,結(jié)果是目標緩存行數(shù)據(jù)將存儲在系統(tǒng)內(nèi)的三個不同位置內(nèi),即,存儲在兩個本地高速緩沖存儲器內(nèi)和共享高速緩沖存儲器16內(nèi)。關(guān)于所述緩存行切換到包含模式行為可以通過使用關(guān)于被追蹤的每個緩存行數(shù)據(jù)存儲的唯一/非唯一標記(和存儲在探聽過濾器電路14和共享緩存電路16內(nèi)的標記值)形式的唯一狀態(tài)數(shù)據(jù)來追蹤。當根據(jù)非包含操作模式來存儲緩存行時,那么唯一狀態(tài)數(shù)據(jù)將指示僅存儲此緩存行數(shù)據(jù)的單個拷貝。當將緩存行數(shù)據(jù)保持在包含操作模式下時,那么唯一狀態(tài)數(shù)據(jù)將指示如此。圖2示意性地圖示了共享高速緩沖存儲器16。這包括緩存陣列20和緩存控制器22。緩存陣列20內(nèi)的每個緩存行24存儲針對所述緩存行24的共享緩存標簽值、緩存行數(shù)據(jù)的有效載荷以及相關(guān)聯(lián)的唯一狀態(tài)數(shù)據(jù)(U/NU)和事務(wù)處理源標識數(shù)據(jù)(RNFID)。存儲在共享高速緩沖存儲器16內(nèi)的RNFID指示事務(wù)處理源8、10中的哪個引起所述緩存行數(shù)據(jù)的填充出現(xiàn)在共享高速緩沖存儲器中且因此“擁有”所述緩存行數(shù)據(jù)。如果唯一狀態(tài)數(shù)據(jù)指示所述緩存行數(shù)據(jù)由多于一個本地高速緩沖存儲器保持,那么RNFID字段變?yōu)闊o效,這是因為其將僅能標識單個事務(wù)處理源。這樣導(dǎo)致的結(jié)果是,隨后退卻到廣播探聽請求,以識別在接收到事務(wù)處理時哪個本地高速緩沖存儲器在存儲哪些緩存行數(shù)據(jù)。在一些實施例中,可能有更多資源能夠?qū)S糜谑聞?wù)處理源標識數(shù)據(jù),并且可以標識出多個事務(wù)處理源,直到存在的事務(wù)處理源總數(shù)目的適當子集。圖3示意性地圖示了探聽過濾器電路14。探聽過濾器電路14包括過濾器陣列26,該過濾器陣列存儲探聽過濾器標簽值以及相關(guān)聯(lián)的唯一狀態(tài)數(shù)據(jù)和事務(wù)處理源標識數(shù)據(jù)。探聽過濾器控制器28控制探聽過濾器14的操作。探聽過濾器標簽值指示標簽值(在主存儲器6內(nèi)從其讀取緩存數(shù)據(jù)值的存儲地址的一部分)以及唯一狀態(tài)數(shù)據(jù),該唯一狀態(tài)數(shù)據(jù)指示是否為了多個本地高速緩沖存儲器而保持緩存行數(shù)據(jù)的拷貝。當單個本地高速緩沖存儲器正在存儲所述緩存行數(shù)據(jù)時,事務(wù)處理源標識數(shù)據(jù)(RNFID)標識存儲與探聽過濾器標簽值相對應(yīng)的緩存行數(shù)據(jù)的事務(wù)處理源。當多個本地高速緩沖存儲器正在存儲緩存行數(shù)據(jù)時,那么事務(wù)處理源標識數(shù)據(jù)可能不具有足夠的容量來分別標識這些并且相應(yīng)地變?yōu)闊o效,從而需要執(zhí)行廣播探聽操作。圖4示意性地圖示了探聽過濾器電路14和共享高速緩沖存儲器16響應(yīng)于從基于環(huán)的互連12接收到的事務(wù)處理讀取請求的行為。探聽過濾器電路14和共享高速緩沖存儲器16作為互鎖并行管線執(zhí)行,以發(fā)起并行標簽查找。探聽過濾器電路14和共享高速緩沖存儲器16二者隨后均返回命中或未命中指示。如果由探聽過濾器電路14返回命中,那么返回事務(wù)處理源標識符以標識與該命中相對應(yīng)的本地高速緩沖存儲器(至少當僅單個本地高速緩沖存儲器正在存儲目標緩存行數(shù)據(jù)時)。如果由探聽過濾器電路14返回命中,那么標識出的事務(wù)處理源進行向該事務(wù)處理提供服務(wù)。如果由共享高速緩沖存儲器16返回命中,那么共享高速緩沖存儲器進行向接收到的事務(wù)處理提供服務(wù)。如果探聽過濾器電路14和共享高速緩沖存儲器16二者均命中,那么二者均向接收到的事務(wù)處理提供服務(wù)。如果從探聽過濾器電路14和共享高速緩沖存儲器16二者均返回未命中,那么將事務(wù)處理轉(zhuǎn)發(fā)到存儲器控制器18,存儲器控制器18發(fā)起主存儲器事務(wù)處理,以從主存儲器6提取目標緩存行數(shù)據(jù)并將其存儲到如先前所述的請求事務(wù)處理源的本地高速緩沖存儲器中。圖5示意性地圖示了根據(jù)由探聽過濾器電路14存儲的探聽過濾器標簽值和由共享高速緩沖存儲器16存儲的共享緩存標簽值來執(zhí)行的原子(atomic)標簽維護操作。作為動作A,首先響應(yīng)于來自主存儲器的載入將標簽值存儲為探聽過濾器標簽值。在這個階段,緩存行數(shù)據(jù)被存儲到請求事務(wù)處理源的本地高速緩沖存儲器中并且未存儲在共享高速緩沖存儲器16內(nèi)。如果本地高速緩沖存儲器用盡了空間,那么其可以驅(qū)逐此緩存行數(shù)據(jù)并將其移動到存儲在共享高速緩沖存儲器16內(nèi)。此時,標簽值被從作為探聽過濾器標簽值存儲在探聽過濾器電路14內(nèi)移動到作為共享緩存標簽值存儲在共享緩存電路16內(nèi),如由動作B所指示。隨后可以將所述緩存行數(shù)據(jù)從共享高速緩沖存儲器16召回到一個本地高速緩沖存儲器,并且此時標簽被從作為共享緩存標簽值存儲在共享標簽高速緩沖存儲器16內(nèi)移動到作為探聽過濾器標簽值存儲在探聽過濾器電路14內(nèi),如由動作C所指示。如上所述,在某些情況下可能將緩存行從存儲在非包含模式下切換到存儲在包含模式下。當出現(xiàn)這些情況時,動作D指示如何在探聽過濾器電路14與共享高速緩沖存儲器16之間復(fù)制標簽值而不將其從其原始位置去除。這導(dǎo)致相同的標簽值被作為探聽過濾器標簽值存儲在探聽過濾器電路14內(nèi)并作為共享緩存標簽值存儲在共享高速緩沖存儲器16內(nèi)。這由動作D所圖示。片上系統(tǒng)集成電路4可以支持各類型的操作,如部分電源中斷,在這些情況下,可能需要將本地高速緩沖存儲器的內(nèi)容刷新(flush)到共享高速緩沖存儲器16。該緩存維護操作的執(zhí)行如圖5中的動作E所示,其需要將關(guān)于被關(guān)閉的本地高速緩沖存儲器的所有探聽過濾器標簽值移動到共享高速緩沖存儲器16以伴隨被刷新到共享高速緩沖存儲器16的緩存行數(shù)據(jù)。如上所述,圖5中圖示的作為標簽維護操作的動作A、B、C、D和E的操作是以原子方式執(zhí)行。這意味著,如果需要多步驟,那么這些步驟被作為單個實體來處理,并且將始終在開始后被完成(即,即使中斷操作,也看不見中間狀態(tài))。盡管在本文中已經(jīng)參照附圖詳細描述了本發(fā)明的說明性實施例,但是應(yīng)理解,本發(fā)明并不限于那些精確的實施例,并且本領(lǐng)域的技術(shù)人員可實現(xiàn)各種改變和修改而不會脫離本發(fā)明的由所附權(quán)利要求書限定的范圍和精神。