TW548547B - Method and system for maintaining cache coherency for write-through store operations in a multiprocessor system - Google Patents
Method and system for maintaining cache coherency for write-through store operations in a multiprocessor system Download PDFInfo
- Publication number
- TW548547B TW548547B TW089109357A TW89109357A TW548547B TW 548547 B TW548547 B TW 548547B TW 089109357 A TW089109357 A TW 089109357A TW 89109357 A TW89109357 A TW 89109357A TW 548547 B TW548547 B TW 548547B
- Authority
- TW
- Taiwan
- Prior art keywords
- cache memory
- system bus
- cache
- memory
- direct write
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
經濟部智慧財產局員工消費合作社印製 548547 A7 -------— B7 五、發明說明(i ) 發明背景 1 ·技術領域 本發明大體上和資料處理的一種改良之方法和系統有 關,且特別疋與用來維持_多遨理器資抖處理系统中,快 取兒憶體-致恢的-種:改良之方法和系統有關。且更特別 地,本發明與用來維持一多處理器系統中,直接寫入儲存 操作的快取記憶體一致性之一馥方法釦系統有關。 2·相關技術描述 大郅份現今的高效率資料為理系統架構,在記憶體階層 糸構當中包括多重層次的快咚記憶體。快取記憶體使用在 貝料處理系統中,以提供相較於與系統記憶體有關的存取 诗間對時常地使用的資料更快的存取,藉此增進整體效 率。那些快取A憶體層次通常使用在漸進地更長的存取遲 滯。較小的、較快的快取記憶體使用在儲存階層架構當中 較靠近處理器的層次,而較大的、較慢的快取記憶體使用 在較靠近系統記憶體的層次。 在一傳統的對稱式多處理器(SMP)資料處理系統中,通 常所有處理器都是完全相同的,在那些處理器之中全部利 甩共同的指令集和通信協定、有相似的/硬體架構,且通常 提供相似的記憶體階層架構。舉例來説,一傳統的SMP 資料處理系統可能包含一系統記憶體、多個處理-元件其 每一個包括一處理器和一或更多快取記憶體的層次、和彼 此連接處理元件和連接到系統記憶體的一系統匯流排。許 多如此的系統至少包括在二或更多個處理,器之間共用的快 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) I · I------^---------線. (請先閱讀背面之注意事項再填寫本頁) 548547 五、發明說明(2 ) 取記憶體的-個層次。在—SMp資科處理系統中要獲得 有效的執行結果,維持-致的記憶體階層架構是很重要 的,也就是,提供記憶體的内容之一種單一視界給所有的 處理器。 雖然快取記憶體-致性設計成透過探尋維持,一"重試" 回應可能導致處理器操作中的錯誤。特別地,對直接寫入 儲存來説,-旦-窝入更新已執行,且接著的載入被允許 讀取新的資料,要重試相同的直接窝入儲存是有問題的。 因此’提供用以維持多處理器系統中快取減體一致性 的一種方法令人期待的,左中特别對可能存在重試的直接 寫入儲存操作維持快取—契,憶體一致性。 發明概要 、因此本發明的-個轉在於提供—種資料處理之改良的 方法和系統。 因此本發明的另-β椟在於提供一種改良的方法和系 、’充用以維持一多處理器資料處理系統中的快取記憶體一 致性。 本發明還有另標在於提供一種改良的方法和系統, 用乂、准持多處理器系統中直接寫入儲存操柞的快取記憶 體一致性。 月J面所述目標的達成如以下所描述。·本發明的方法和系 、洗可用來維持-資料處理系統中直接寫人儲存操作的快取 "己^把致性’其中該資料處理系統包括透過一記憶體階 層架構連接到一系統匯流排的多重處理器,其中記憶體階 本紙張尺度翻巾關家鮮(CNS)A4規格⑵0 -5- X 297 ^Έ )
I I I I I 訂 « I I 線 經濟部智慧財產局員工消費合作社印製 548547 A7 _______ B7 五、發明說明(3 ) 層架構包括多重層次的快取記憶體。一直接寫入儲存操作 從一特足處理器,透過插入於特定處理器和系統匯流排之 間該等多重層次的快取記憶體中的任何快取記憶體,傳遞 到系統匯流排。直接寫入儲存操作在所插入的快取記憶 體’於其中獲得直接寫入儲存操作的一快取記憶體命中, 中的任何一個中執行。未插入在特定處理器和系統匯流排 I間的茲等多重層次的快取記憶體之所有快取記憶體,從 系統匯流排的一外部探尋路徑以該直接寫入操作的一資料 位址探尋,直到直接寫入操作成功,其中記憶體階層架構 的快取記憶體一致性點設定芩直接寫入儲存操作的系統匯 流排,以在對相同資料位址的任何其他指令的完成之前, 使直接寫入操作成功地完成。 本發明的上述及額外的目標、特徵、和優點,由以下的 詳細書面描述將變得顯而易見。 圖式概述 認爲是本發明獨特的新奇特徵,在所附加的申請專利範 圍中陳述。然而,本發明本身、和使用的較佳模態、進一 步的目標和其有關優點,當讀取時藉由參考下列例示具體 實施例的詳細描述,結合伴隨的圖式將可得到最好的了 解,其中: 圖1描述S —直接寫入儲存指令由目·前的探尋技術重試 時,發生的錯誤之時序圖表示; 圖2説明依照本發明的多處理器資料處理系統之一高階 方塊圖; (請先閱讀背面之注意事項再填寫本頁) ---- 訂---------線_
548547 A7 B7 五、發明說明( =3描述有自我探尋技術的直接寫人儲存指令之執行 勺時序圖表示;和 圖4舉例説明用以執行直接寫人儲 階邏輯流程圖。 序之π 例示具體實施例詳述 現在參考圖 <,且特別是參考圖2,其中舉例説明依照 本發明的-多處理器資料處理系統的高階方塊圖。依照描 迷’資料處理系統8包括與另一些處理器核心成 對的-些處理器核。1Ga_u每—個最好包含可從國 際商務機器公司(IBM)取得的powerpc系列處理器中的一 種。除了傳統用來執行程式指令的暫存器、指令流邏輯和 執行單元之外,母一處理器核心1〇a l〇n和lla iin也包括 相關的一個板載層次一(L1)快取記憶體12a_12n和13心 13n ’其暫時地儲存很可能被相關的處理器所存取的指令 和資料。雖然在圖2中L1快取記憶體12a_12ll和13a_ 13η,舉例説明爲儲存指令和資料兩者(兩者以下簡稱爲資 料)的單一化快取記憶體,熟知該項技藝人士將發現每— L1快取記憶體I2a-12n和13a-13n能夠替代地實施爲分開 的指令和資料快取記憶體。 爲了要將遲滯減到最小,資料處理系統8也包括一或更 多額外層次的快取1己憶體,例如層次二(L2)快取記憶體 14a-14n,其用來分段資料到L1快取記憶體12a-12n和13a-13η。換句話説,L2快取記憶體14a-14n擔任系統記憶體 18和L1快取記憶體12a-12n與13a-13n之間的中間儲存 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) I------ I I I I I I I ^-------- (請先閱讀背面之注意事項再填寫本頁} 經濟部智慧財產局員工消費合作社印製 548547 A7 五、發明說明(5 ) 器,且通常可儲存比L1快取記憶體12a_12n和na_l3n多 很大量的資料,但有一較長的存取遲滯。舉例來説,u 快取圮憶體14a-14n可能有一 2 5 6或512千位元組的儲存 谷里,L1快取記憶體I2a-12n和I3a-13n可能有一 64或128 千位70組的儲存容量。如上面所述,雖然圖2只描述二個 層次的快取記憶體,但資料處理系統8的記憶體階層架構 能夠擴大爲包括額外層次(L3,1^4等)的_接或旁接的快 取記憶體。 如所説明,資料處理系統^進一步包括輸入/輸出(1/〇) 裝置20、系統記憶體18、和非揮發性儲存器22,其每一 個連接到互相連接16。輸入/輸出裝置2〇包含傳統的週邊 裝置,例如一顯示裝置、鍵盤、和圖形指標,其經由傳統 的轉接器與互相連接16接口。非揮發性儲存器22儲存一 作業系統和其他軟體,其在資料處理系統8電源開啓之後 載入到揮發性系統記憶體18。當然,熟知該項技藝人士 將會發現資料處理系統8可包括許多圖示的額外 元件,例如供連接到網路或附接的裝置之序列和平行琿、 官理對系統記憶體18的存取之一記憶體控制器等。 經濟部智慧財產局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 互相連接16,其可包含一或更多匯流排,包括一系統 匯流排,扮演L2快取記憶體14a_14ll、系統記憶體18、輸 入/輸出裝置20、和非揮發性儲存器22 ·之間通信交易的一 個導管。在互相連接16上一典型的通信交易包括一來源 附籤指示交易的來源,一目的附籤描述交易意圖的接受 者’一位址及/或資料。連接到互相連接16的每個裝置最 -8 - 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 X 297公釐 548547 A7 五、發明說明(6 ) 好探尋互相連接16上的所有 |力、1口人易,以決定裝置的_ 致性是否應該對交易更新。最好 t ... 紅仏從每個快取記憶體到 互相連接16的系統匯流排之—外部探尋路徑。 一個一致的記憶體階層恕媒甚 木構疋透過所選擇的記憶體一致 性協定,例如MESI協定,^你m + 义I使用來維持。在MESI協定 中,一致性狀態的一個指示盥 "主乂所有較上層次(快取記 憶體)纟己憶體的每個一致性傲ρ〈合丨』 生微粒(例如快取記憶體排列或區 域)相關地儲存。每個一致性傲 双f生微t可以有四種狀態修改
(M)、獨佔(E)、共用⑻、哎A )¥玫⑴中之一種,其可由兩 個位元編碼在快取記憶體目#中。修改狀態指示一個一致 性微粒只有快取記憶體中儲存著修改過的一致性微粒、且 修改過的-致性微粒的値還沒被寫到系統記憶體時是有效 的。當一個一致性微粒指示爲獨佔時,一致性微粒只駐存 在記憶體階層架構那個層次的所有快取記憶體中,具有在 獨佔狀態中的一致性微粒之快取記憶體中。獨佔狀態中的 資料與系統記憶體中的一致。然而,如果一個一致性微粒 在一快取記憶體目錄中標記爲共用,一致性微粒駐存在相 關的快取記憶體中和在記憶體階層架構的相同層次其他可 能的快取記憶體中,一致性微粒的所有副本與系統記憶體 一致。取後,典效狀悲指示與一個一致性微粒有關的資料 或位址附籤沒有一者駐存在一快取記憶體中。 在一 S Μ P系統中資料的每個快取記憶體排列(區塊), 最好包括一位址附籤攔位、一狀態位元攔位、一包含位元 欄位、和一値攔位用來儲存實際的指令或資料。狀態位元 -9- 私紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -------------0M. (請先閱讀背面之注意事項再填寫本頁) 訂---------線. 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 548547 Α7 _ Β7 五、發明說明(7 ) 欄位和包含位元欄位用來維持一多處理器電腦系統中快取 記憶體一致性(指示儲存在快取記憶體中的値之有效性)。 位址附籤是對應的記憶體區塊完整位址的一個子集。一内 送位址與位址附蕺欄位當中之一個附籤的比對相符,如果 項目是在一有效狀態指示一快取記憶體”命中,·。 在維持快取記憶體一致性方面,一直接寫入快取記憶體 儲存在執行快取記憶體中的一儲存之.前,不配置一快取記 憶體排列或取得所有權(MESI協定的E或M狀態)。特別 地,在處理器寫入操作期間二直接寫入或直接儲存快取記 憶體操作以提供一寫入操作吟快取記憶體和主記憶兩者, 如此確保快取記憶體和主記憶中的資料間之一貫性。要維 持快取記憶體一致性,一個一致的直接寫入儲存必須從一 特定快取記憶體一致性點,使處理器上除了發出的一個之 外的任何有效快取記憶體排列成爲無效,以確使從所有處 理器的後續載入取得最新更新的資料。 通^,匯/沉排/探潯1"技術用來從一快取記憶體一致性 點使快取記憶體排列無效。每個快取記憶體最好包括探尋 邏輯以執行探尋。每當執行一讀取或寫入時,資料的位址 從發出的處理器核心廣播到共用一共同匯流排的所有其他 快取記憶體。每個探尋邏輯單元探尋來自匯流排的位址, 並知此位址與快取圮憶體的一位址附籤陣列比較。在一命 中的情況,傳回-探尋回應,其允許進一步操作的發生^ 維持快取記憶體-致性,例如使命中快取記憶體排列無 效。或者’ <’重#1的-探尋回應可能從_快取記憶體的匯 ------ -10- 本紙張尺度適用中關家標準(ϋ)Α4規格(2W χ 297 )-------- (請先閱讀背面之注意事項再填寫本頁) --------訂---------線· 548547
處理器核心0 store 2 to A A7 五、發明說明(8 ) 流排探尋邏輯發出,因爲快取記憶體有—首先必須推出快 取記憶體之外或有一問題阻止相關探尋—所定址資料的一 份修改過的副本。在一重試的情況,發出資料位址的處理 器核心將重試讀取或寫入操作。 依照較佳具體實施例一其他選擇的探尋技術,圖1描述 當一直接寫入儲存指令重試時,發生的錯誤之—時序圖= 示。在此範例中,假設一 SMp架構有一處理器核心〇和處 理器核心1,與每一核心相關的L1快取記憶體,和兩個 處理器核心所共用的一 L2:^取記憶體。在此範例中,對 處理器維持快取記憶體一致性的點設定在L2快取記憶 體。可能使用額外的處理器核心和快取記憶體層次,然: 爲了例示的目的未在圖1中使用。 對此範例,一虛擬碼程序是: 處理器核心1
loop: load A
loop if A != 2 store 3 to A 如果處理器核心0的儲存被執行,但重試且在處理器核 心〇的儲存再次執行之前,允許處理器核心丨的載入和儲 存開始,所造成位址A的一致的記憶體狀態是2,其爲不 正確的。 在時序圖中顯示,在第一時脈週期6〇中,匯流排由核 -11 - 木紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐- --------訂---------線· (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 548547 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明( 心Μ核心。WTST)仲裁,使得直接寫入 :資料剛…快取記憶體。其後,在參考::! 2,直接寫入儲存的資料位址在—系统匯流排上廣播到: 有的非發出核心(核心1}’使得那些非發出核心可以探3 資料位址。除此之外,纟相同週期當中,在參考數: 料,資料位址與L2附籤陣列比較,以便決定資料的 前版本是否在L2快取記憶體中。在第三週期中,在參: 數字66,所探尋的位址與核心1相關的U快取記憶體中 疋u附蕺陣列比較。除此y卜’傳回一 L2快取記中 L2命中,如參考數字68所描述。其後,藉由將管路中用 來更新L2快取記憶體的寫入指令放置到"a=2",交付I] 資料寫入,如參考數字7G所説明。接著,在第四時脈週 期期間’核心1的L1快取ip情3 阮取忑隐的探咢回應傳回爲一重 試’如參考數字72所描述。 压思’―直接寫入儲存特別地透過左尋技術, 在指示-重試的探尋回應的傳回之前 7更新。一重試可能因包括對一 M狀態中的區域之一探 尋命中、和佇列的有效操作上的探尋命中之理由傳回。當 重試由核心1的L1快取記憶體傳回時,核心〇設定成重 试直接寫入儲存操作。在L2快取記憶體要維持快取記憶 體一致性,所以一重試將在L2快取記憶體中執行直接寫 入儲存,並在把直接寫入操作送到匯流排之前更新任何較 南層次的快取記憶體。 當1^2,’時處理器核心1在一迴圈中等候。當來自核心 -12_ ‘紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐 ^---------線· ί請先閱讀背面之注意事項再填寫本頁) 548547 A7 B7 五、發明說明(10 ) 〇的儲存操作被窝刭τ 、, — •”、 快取兄憶體時,即使在核心〇中設 足一重試,核心1你必 " 4t 么 仲裁一載入和廣播資料的位址之匯流 排’如參考數字74所 ~ 、 接奢,位址與L2快取記情I# 的L2附籤陣列比較, 取己 參考數子76所描述。其後,收到 L2快取記憶體中的—人 ^ °p中’如參考數字78所説明。最 後,在"A=2,,執杆T 9 a订 取 —、#、仃U快取記憶體中資料的讀取,如參考數 子8〇所描述。在―段資料被讀取期間的延遲81之後,桉 心1可能從迴圈中& pq I ^1 人 丁開’而Μ續執行"store 3 to Απ的儲存 操作。 。 核心1仲裁匯流排以傳遞4接寫人儲存操作,其中廣播 接寫入儲存的資料位址,如參考數_ Μ所說明。接著 執仃L2附鐵比較,如參考數字84所描述。其後,收到L2 快取,憶體中的-快取記憶體命中,如參考財%所説 月最後,貝料叉付到L2快取記憶體的管路爲·,A=3"的一 寫入,如參考數字88所描述。 因爲來自核心1的載入和儲存操作仲裁區域匯流排,核 。〇 store 2 to A”操作的重試被延遲直到匯流排接著是可 用的。核心〇重新發出在L2快取記憶體所收到的直接寫 入儲存操作,如參考數字90所説明。資料位址區域地送 出藉以探尋核心1 ,如參考數字92所描述。其後L1附籤 在^。1的L1快取記憶體中比較,如參考數字94所説 明。然後,L2附籤在快取記憶體中比較,如參考數字 96所描述。一快取記憶體命中從l2快取記憶體傳回,如 參考數+ 98所説明。最後,資料重新寫入到L2快取記憶 (請先閱讀背面之注意事項再填寫本頁) -----— II 訂---------線· 經濟部智慧財產局員工消費合作社印製 -13- 548547 A7
-----------------線> (請先閱讀背面之注意事項再填寫本頁) 體,使得"A=2"如參考數字所描述ι〇〇。 如上面所説明,如果直接寫入儲存區域性地探尋且儲启 被重試,仲裁匯流排的另—處理器核心可能執行一載入, :U快取記憶體中被更新的資料,並在原來的儲存接啦 仲裁以再一次執行之前執行一直接窝入儲存。第一直接寫 入儲存將蓋過來自依附於第—個之第二儲存的資料。 對圖1中所説明問題的-種可能的解決辦法是,延遲L: 資料和位址管路,使得資料交付階段跟著重試階段。要執 行這種解決辦法,如果不异T 7 4 A M t 口 禾4疋上2碩取將與u寫入分開,就 心讀取將被延遲。在第_種情況中,u仲㈣㈣& 將激烈地增加。在第二種愔、、p由 。、 杜弟則“兄中,2個額外的週期將被加 入到所有W L2快取記憶體命中情形,其導致 的效率損失。 另-解決辦法將是藉由以暫存器重新指定方法所利用的 相似万式’儲存直接窝人操作的先前狀態,從管路清出所 交付的L2更新,其在此技術中廣爲所知。對於-快取記 憶體,此解決方…如镇外的、不受歡迎的複雜度,其 將減少快取記憶體的速秀。 又' 現在參考圖3,依照本發明的_較佳具體實施例,並中 描述有-自我探尋技術的直接寫人儲存指令的執行^時 序圖表示。圖3説明也在圖i中描述的那些處理器操作, 然而,在圖”自我探尋用來消除由於重試而來的錯誤。 核〜〇發出-直接寫人儲存操作,其在L2快取記憶於收 到,因此L2快取記憶體仲裁如參考數字11〇所說明:執 Ι________- 14 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱 -Μ 548547 A7 五、發明說明(l2) 行。接著,-L2附鐵與L2附鐵陣 所描述的執行。接著,收 ^數子⑴ 附藏在L2附籍p束祝丨φ μ 一快取記憶體命中,如來者、 勺 (請先閱讀背面之注意事項再填寫本頁) 參考數字114所說明。藉此,一 入到L2快取記憶體的資料 冩 从…, 、 置入一管路中供執行,如春 考數字116所描述。在一延 遲117 <後,於此期間直 入儲存操作被仲裁到系統匯 直接寫 徘以寫入到王記憶體,一 著系統匯流排的自我探尋被 口 忡裁,如參考數字11S所説 明。在圖1中,快取記憶體_ 改疋在一直接寫入儲存 操作的L2快取記憶體,炊 、 ^然I,、在本具體實施例中,快取 吾己憶體一致性點是在一直拉空λ处士 ^ 直接声入儲存操作的系統匯流排 上。對快取記憶體一致性點在一 直接冩入儲存操作的系統 匯流排上,如果-重試在自我探尋期間提出,直接窝入操 作將在系統匯流排上探尋如所需要的一樣多次,直到不再 傳回重試訊號,而不管其他指令等待。特別地,系統匯流 排包括匯流排仲裁邏輯,其確保探尋裝置繼續能夠存取匯 流排’直到直接寫入儲存的記憶體—致性在所有的快取記 憶體中完成,且因此資料可被寫入到主記憶體。 經濟部智慧財產局員工消費合作社印製 除了自我探尋之外,直接寫人儲存操作的區域資料位址 廣播到沿著外部探尋路徑的非發出核心,如參考數字 所描述。其後,L1附籤與U_附籤陣列比較如參考數字 122所説明的執行。在下一週期中,u附籤比較的回應傳 回,如參考數字124所描述。如果回應是一重試,直接寫 入儲存的位址將繼續仲裁一自我探尋的系統匯流排,直到 L1快取記憶體傳回一非重試回應。 15- 私紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) 548547 A7 B7 I___ - 10 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐 五、發明說明(13 一旦傳回—非重試回應,核心1仲裁區域匯流排執行— 載入’如參考數字126所描述。然而,在其他可能的具體 實施例中’核心、i載入不必然地需要等待直到儲存已交付 到沒有重試的系統匯流排。舉例來説,如果載入在快 取記憶體中命中JL被交付,核心i載入可在參考數字川 所描述的L2資料寫入之後開始而不破壞資料一致性。其 後,一 L2附籤與L2附籤陣列比較如參考數字128所描述 的執行。然後,傳回有一附籤在L2附籤陣列中的—U命 中,如參考數字130所描述二·其後,資料從u讀取,如參 考數字m所説明。在一延遲133之後,核心ι'仲裁_直 接寫入儲存的區域匯流排,#參考數字134所描述。其 後,執行一 L2附籤與L2附籤陣列的比較,如參考數字 136所説明然後,傳回有—附籤在u附籤陣列中的—u 命中,如參考數字138所描述。其後,交付u資料寫入, 如參考數字U0所説明。如對核心1直接寫入儲存所描 述,接著參考數字U0所説明的L2資科寫入,那些直接窝 入儲存操作將繼續到系統匯流排以在主記憶體中更新,因 此快取記憶體一致性藉由從系統匯流排執行一自我探尋維 圖4説明用以執行直接寫入儲存操作的程序之—高階邏 輯流程圖。此程序由方塊15〇開始,且其後進行到方塊 ⑸。方塊152描述仲裁處理器核心的區域匯流排,以將 直接寫入儲存操作的位址送到快取記憶體的_較低層次。 其後,方& 154説明在較低層次快取記憶體中位址與附藏 -16- --------1T---------^#· (請先閱讀背面之注意事項再填寫本頁) 548547 A7 B7 五、發明說明(M ) 陣列的比較。接著方塊156描 ^徇述判斷在較低層次快取記憶 :=否有-具有附籤的命中。如果在較低層次快取記憶 體中有-具有附鐵的命中’程序前進到方塊158。方塊 ⑼説明交付資料到較低層次快取記憶體中的—窝入。其 後,程序前進到方塊160。回到方塊156,如果在較低層 次快取記憶體中沒有-具有附鐵的命中,,程序前進到方 塊⑽。雖然未描述’在方塊154、156和158所説明的程 序可實施在較低層次快取記憶體的多重層次上。 方塊160描述傳遞直接寫土儲存操作到系統匯流排。接 著,方塊162説明仲裁系統匯流排,以將直接窝入儲存操 作的位址送到記憶體,並執行系統匯流排的_自我探尋。 其後,方塊164描述經由外部探尋路徑,探尋在未傳遞經 過的快取記憶體中之位址。舉例來説,任何未傳遞經過的 快取記憶體,是那些未提供從發出直接寫入储存操作的處 理备核心到系統匯流排的一路徑者。接著,方塊⑹説明 比較所探尋的位址與未傳遞經過的快取記憶體中之附籤陣 列。其後,方塊168描述決定—探尋是否傳回—重試。如 果探尋傳回一重試’程序前進到方塊162。如果探尋未傳 回-重試,程序前進到方塊17〇。讀17〇説明交付直接 寫入儲存到主記憶體。其後,方塊172描述釋出系統匯流 排給下一操作,然後程序返回。 雖然本發明已特別地參考一較佳具體實施例顯示和描 述:熟知該項技藝人士將會發現在形式和細節的各種變化 可於其中完成,而不脱離本發明的精神和範疇。舉例來 J________- 17- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱)
- ------^--------- (請先閱讀背面之注意事項再填寫本頁) 548547 A7 _B7 五、發明說明(15 ) 説,替代的具體實施例可能允許對系統匯流排之請求的管 路排列,使得對相同位址的後來請求爲一未決定的請求, 可在未決定的請求交付(取得一非重試回應)或完成(讀取 或寫入相關的資料)之前仲裁,只要那些請求以和請求出 現在系統匯流排上相同的順序交付且資料順序也被維持。 --------------------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Claims (1)
- 548547 Λ8 R8 C8 Γ)8申請專利範圍 1. 一種在-資料處理系統中維持直接寫人儲存操作的快 取記憶體-致性的方法,其中該資料處理系統包括連 接到一系統匯流排和一記憶體階層架構的多個處埋 器,其中該記憶體階層架構包括多個層次的快取記憶 體,該方法包含下列步驟: 經由插入在該處理器和該系統匯流排之間的快取記 憶體,從一處理器傳遞一直接寫入儲存操作到該系統 匯流排; 在任何該等插入的快取一^憶體中執行該直接窝入儲 存操作,在該快取記憶體中可得到該直接寫入儲存操 作的一快取記憶體命中;以及 從具有該直接寫入操作的一資料位址之該系統匯流 排的一外部探尋路徑,探尋未插入在該處理器和該系 統匯流排之間的快取記憶體,直到該直接寫入操作成 功,以維持快取記憶體一致性。 2·如申請專利範圍第1項之維持直接寫入儲存的快取記 憶體一致性的方法,經由插入在該處理器和該系統匯 流排之間的快取記憶體,從一處理器傳遞一直接寫入 儲存操作到該系統匯流排的該步驟,進一步包含步 驟: 仲裁$亥處理咨的一區域匯流排,以傳遞該直接寫入 儲存操作的該資料位址到該等插入的快取記憶體。 3.如申請專利範圍第1項之維持直接寫入儲存的快取記 憶體一致性的方法,在該等插入的快取記憶體一其中 Γ靖先閱讀背面之注音?事項再填寫本頁) 訂-------- .線 經濟部智慧財產局員工消費合作社印製 -19- 548547 經 濟 部 智 慧 財 產 局 消 費 合 作 社 印 制 、申凊專利範圍 得到該直接寫入 ^作的一快取記憶體命中-中執 行居直接寫入儲在丨 ,、 ' 老存操作的孩步驟,更包含步驟: 比較1¾直接寫 取記憶體中々夂與該等插入的故 " <各別位址附籤陣列;和 相::果:資:位址與該位址附籤陣列當中的任何附幾 付專回—快取記憶體命中。 4·=請專利範固第1項之維持直接寫入儲存的快取纪 :姐y致性的方法,從具有該直接窝人操作的一資料 止44系統匯流排的一』部探尋路徑,探尋未插 在該處理器和該系統匯流排之間的快取記憶體的該 骤,更包含下列步驟: 仲裁Θ直接窝入儲存操作的該系統匯流排; 傳遞β直接寫入儲存操作的該資料位址到該系統 流排的該外部探尋路徑; 比較Θ貝料位址與未插入在該處理器和該系統匯 排之間的快取記憶體中之各別位址附籤陣列; 在任何重試回應傳回到該系統匯流排之後,沿著 外部探尋路徑維持該資料位址;以及 在该探尋傳回到該系統匯流排而沒有一重試情況 後,在孩記憶體階層架構的系統記憶體當中完成該 接窝入儲存操作。 5. —種用以在一資料處理系統中維持直接寫入儲存操作 的快取記憶體一致性的系統,其中該資料處理系統 括連接到一系統匯流排和一記憶體階層架構的多個 請 先 閱 讀 背 面 之 注 入 步 項 再 填 寫 頁 訂 匯 流 該 線 0 之 直 包 處 I _ - 20 - 本紙張尺度適用中國國家標準(CNS)1T^格(210^^7" 548547 、 申請專利範圍 理器’其中該記憶體階層架構包括多個層次的快取 憶體,該系統包含: 裝置’用以經由插入在該處理器和該系統匯流排之 間的快取記憶體,從-處理器傳遞—直接寫入儲存操 作到該系統匯流排; 裝置’用以在任何該等插人的快取記憶體中執行該 直接寫入儲存操作,在該快取記憶體中可得到該直接 寫入儲存操作的一快取記憶體命中;以及 裝置,用以從具有該直』矣寫入操作的一資料位址之 該系統匯流排的一外部探4路徑,探尋未插入在該處 理器和琢系統匯流排之間的快取記憶體,直到該直接 寫入操作成功,以維持快取記憶體一致性。 6·如申請專利範圍$ 5 ,頁之用以維#直接寫入儲存的快 取記憶體一致性的系統,經由插入在該特定處理器和 該系統匯流排之間的快取記憶體,從一處理器傳遞一 直接寫入儲存操作到該系統匯流排的該裝置,更包 含: 經濟部智慧財產局員工消費合作社印製 裝置,用以仲裁該處理器的一區域匯流排,以傳遞 該直接寫入儲存操作的該資料位址到該等插入的快取 記憶體。 7·如申請專利範圍第5項之用以維持直接寫入儲存的快 取記憶體一致性的系統,有關在該等插入的快取記憶 體任何一個中執行該直接寫入儲存操作的該裝置,在 該快取記憶體中可得到該直接寫入儲存操作的一快取 -21 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 5485471己憶體命中,更包含: ★、置,用以比較該直接寫入操作的該資料位址與咳 等插入的快取記憶體中之各別位址附籤陣列;以及 裝置,如果該資料位址與該位址附籤陣列當中的任 何附蕺相符,用以傳回一快取記憶體命中。 J•如申請專利範圍第5項之用以維持直接寫人儲存的快 2記憶體-致性的系統,從具有該直接寫人操作的一 資料位址之該系統匯流排的一外部探尋路徑,探尋未 插入在該處理器和該系統一y流排之間的快取記憶體的 該裝置,更包含: . 裝置,用以仲裁該直接寫入儲存操作的該系統匯流 排; 裝置,用以傳遞該直接寫入儲存操作的該資料位址 到該系統匯流排的該外部探尋路徑; 裝置,用以比較孩資料位址與未插入在該處理器和 該系統匯流排之間的快取記憶體中之各別位址附籤陣 列; 裝置,用以在任何重試回應傳回到該系統匯流排之 後,沿著孩外部探尋路徑維持該資料位址;以及 裝置,用以在?茨探尋傳回到該系統匯流排而沒有一 重試情況之後,在孩記憶體階層架構的一系統記憶體 當中冗成該直接寫入錯存操作。 ________ 本紙張尺度適用中國國家標準(CNS)A4規格 (請先閱讀背面之注意事項再填寫本頁) --線· 經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33651699A | 1999-06-18 | 1999-06-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW548547B true TW548547B (en) | 2003-08-21 |
Family
ID=23316452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW089109357A TW548547B (en) | 1999-06-18 | 2000-05-16 | Method and system for maintaining cache coherency for write-through store operations in a multiprocessor system |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2001043133A (zh) |
KR (1) | KR100380674B1 (zh) |
CN (1) | CN1149494C (zh) |
TW (1) | TW548547B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291173B2 (en) | 2004-02-05 | 2012-10-16 | Micron Technology, Inc. | Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system |
TWI403898B (zh) * | 2006-11-22 | 2013-08-01 | Ibm | 在多處理器計算系統中之記憶體一致性保護方法 |
US8555006B2 (en) | 2004-03-24 | 2013-10-08 | Micron Technology, Inc. | Memory arbitration system and method having an arbitration packet protocol |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1320464C (zh) * | 2003-10-23 | 2007-06-06 | 英特尔公司 | 用于维持共享高速缓存一致性的方法和设备 |
US7725619B2 (en) * | 2005-09-15 | 2010-05-25 | International Business Machines Corporation | Data processing system and method that permit pipelining of I/O write operations and multiple operation scopes |
US7568073B2 (en) * | 2006-11-06 | 2009-07-28 | International Business Machines Corporation | Mechanisms and methods of cache coherence in network-based multiprocessor systems with ring-based snoop response collection |
US20120254541A1 (en) * | 2011-04-04 | 2012-10-04 | Advanced Micro Devices, Inc. | Methods and apparatus for updating data in passive variable resistive memory |
US10970225B1 (en) * | 2019-10-03 | 2021-04-06 | Arm Limited | Apparatus and method for handling cache maintenance operations |
-
2000
- 2000-05-16 TW TW089109357A patent/TW548547B/zh not_active IP Right Cessation
- 2000-06-09 KR KR10-2000-0031588A patent/KR100380674B1/ko not_active IP Right Cessation
- 2000-06-15 CN CNB001188542A patent/CN1149494C/zh not_active Expired - Fee Related
- 2000-06-15 JP JP2000180625A patent/JP2001043133A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291173B2 (en) | 2004-02-05 | 2012-10-16 | Micron Technology, Inc. | Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system |
US8694735B2 (en) | 2004-02-05 | 2014-04-08 | Micron Technology, Inc. | Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system |
US9164937B2 (en) | 2004-02-05 | 2015-10-20 | Micron Technology, Inc. | Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system |
US8555006B2 (en) | 2004-03-24 | 2013-10-08 | Micron Technology, Inc. | Memory arbitration system and method having an arbitration packet protocol |
US9032166B2 (en) | 2004-03-24 | 2015-05-12 | Micron Technology, Inc. | Memory arbitration system and method having an arbitration packet protocol |
TWI403898B (zh) * | 2006-11-22 | 2013-08-01 | Ibm | 在多處理器計算系統中之記憶體一致性保護方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1149494C (zh) | 2004-05-12 |
CN1278625A (zh) | 2001-01-03 |
JP2001043133A (ja) | 2001-02-16 |
KR20010015008A (ko) | 2001-02-26 |
KR100380674B1 (ko) | 2003-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW385395B (en) | Method of shared intervention for cache lines in the shared state for SMP bus | |
TW452690B (en) | Reservation management in a non-uniform memory access (NUMA) data processing system | |
US6067603A (en) | Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect | |
US5551005A (en) | Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches | |
CN104123242B (zh) | 为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持 | |
TWI526829B (zh) | 電腦系統、用於存取儲存裝置之方法及電腦可讀儲存媒體 | |
TW561340B (en) | State-based allocation and replacement for improved hit ratio in directory caches | |
US8904073B2 (en) | Coherence processing with error checking | |
US5751995A (en) | Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively | |
KR100243853B1 (ko) | 개량된메모리아키텍쳐를위한방법및장치 | |
US7003635B2 (en) | Generalized active inheritance consistency mechanism having linked writes | |
EP1311956B1 (en) | Method and apparatus for pipelining ordered input/output transactions in a cache coherent, multi-processor system | |
JP3575595B2 (ja) | 不均等メモリ・アクセス・システム内で書き戻しの衝突によって生じるライブロックを避けるための方法およびシステム | |
TW422950B (en) | Processor employing high performance write back buffer | |
CN1908890B (zh) | 用于使用记录板机制处理加载锁定指令的方法和装置 | |
TW200534110A (en) | A method for supporting improved burst transfers on a coherent bus | |
WO2000036514A1 (en) | Non-uniform memory access (numa) data processing system that speculatively forwards a read request to a remote processing node | |
US8209490B2 (en) | Protocol for maintaining cache coherency in a CMP | |
US7051163B2 (en) | Directory structure permitting efficient write-backs in a shared memory computer system | |
TW548547B (en) | Method and system for maintaining cache coherency for write-through store operations in a multiprocessor system | |
TWI275992B (en) | A method to reduce memory latencies by performing two levels of speculation | |
US20040068616A1 (en) | System and method enabling efficient cache line reuse in a computer system | |
US6892290B2 (en) | Linked-list early race resolution mechanism | |
US5586274A (en) | Atomic operation control scheme | |
JPH11328106A (ja) | グラフィックス・バスにアクセスするために多重のバス・マスタを可能とするアービトレーション機構を備えたコンピュータ・システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |