TW200815992A - An exclusive ownership snoop filter - Google Patents
An exclusive ownership snoop filter Download PDFInfo
- Publication number
- TW200815992A TW200815992A TW096123243A TW96123243A TW200815992A TW 200815992 A TW200815992 A TW 200815992A TW 096123243 A TW096123243 A TW 096123243A TW 96123243 A TW96123243 A TW 96123243A TW 200815992 A TW200815992 A TW 200815992A
- Authority
- TW
- Taiwan
- Prior art keywords
- snoop filter
- engine
- item
- homology
- processor
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
200815992 九、發明說明: 【發明所屬之技術領域j 發明領域 [0001]本發明係關於多處理器系統中之快取同調性。 5 【先前技術】 相關技術之說明
[0002]於具有多數個快取之多處理器系統中,各個快 取可具有被儲存於記憶體中之一部分資料的複本。當於該 等快取記憶體中之多數個資料複本不是同調時則問題出 10現。各種技術已經逐漸產生以保證資料之同調性。例如, 當於一個快取記憶體中之資料被修改時,該資料之其他複 本被標明為無效的,因而它們將不被使用。 [0003]於快取記憶體中之資料複本通常被稱為快取 盯、圮憶體行、或行。相關於一處理程序之窺探操作,其 15中匯机排之媒介監視該匯流排對於記憶體之處理,例 如’至同時也可存在於一快取記憶體中之主記憶體位置的 續取/寫人操作°該媒介可記錄關於記憶體處理中(例如, 取行狀態於—目錄。快取行狀態可指示該 20 1主義體之外是否僅具有-個有效的複本、或是具有 >Μ&取所共用之多數個有效的複本、或已經是無效 的在違現捺過濾器中之資料項目通常被主記憶體中之其 位址所指示。 ]叙而要具有大的窥探過濾器,其提供處理器快 取t尺度之數倍的 — ^ °的>函盍範圍(例如,8倍之涵蓋範圍,其指 5 200815992 ^亥規k顧器可保存描述之資訊,該資訊可為支配於續 規捸過濾n之絲記㈣之錄行大約為八料資、: 5 10 15 20 :窺探咖可增加處理器快取之命中率並且改進系 、洗r此。但疋,隨著處理器快取尺度之增加,由於日 度之限制,電路設計者將難以提供即使是!倍之涵^圍。 =,;探過渡器有時可能對於新記憶體處理用完空間以 仃的狀態’並^可能需要自窺探過據器清除一個 項^容__處理。—旦—個項目自該窺探鮮哭 月除’則-條回無效化訊息將被傳送至每 ^ =,其可能保存關於該被清除項目之快取行的:二 趣本。實驗以,„數_如,2G%)之絲錯失是由 於即將被使狀快取行的返回無效化。 L 明内】 發明概要 依據本發明之-較佳實施例,係特地提出一種方法, 其包含之步财:在—絲_ ” :態之項一果-要求改變與該屬 =^關聯之—行的專屬所有權,則更新該窥探過渡器中 之該項目。 圖式簡單說明 [0005]實施範例經由附圖所展示但不受其之限制,於 其中相同之參考碼指示相似之元件。應注意到,這揭示中 關於”一"或"―個”實施例不必収相同之實施例,並且此 類參考意謂著至少有一個。 6 200815992 [0006] 第1圖是包含多數個快取記憶體之多處理器系 統實施例的方塊圖。 [0007] 第2圖是第〗圖的多處理器系統之同調性控制器 μ ^例的方塊圖’於其中該同調性控制器包含—窺探過滤 5裔以及一同調性引擎。 [0008] 第3圖是展示藉由第2圖同調性引擎所實作的定 序法則之處理程序流程圖範例。 【ΪΙ 】 較佳實施例之詳細說明 1〇 _9]參看第lsl,多處理器系統1G實施例可包含互連 於一晶片組13之多數個處理節點17。各處理節點17可包含 一個或多個處理器11(每個處理節點被展示含有兩個處理 态)以及一個快取記憶體12。各快取記憶體12可以利用,,本 地節點”(快取被安置之處理節點)處理器n而本地式可存 15取,以及利用"遠處節點"(除了本地節點外的處理節點)處理 器11而遠距式可存取。快取記憶體12相對於本地節點的處 理器11被稱為”本地式快取”。處理節點17可經由一個或多 個前端匯流排(F S B) 14 (僅展示二個f § b )或其他形式之資料 通道(例如,點對點連接)被耦合至晶片組13。一個或多個 20處理節點17可被製作於一個單晶片上。系統10因為其擁有 鬲度聚集處理能力’可被使用作為伺服器系統。但是,系 統10同時也可被使用作為桌上型電腦或任何其他的計算系 統。 [0010]晶片組13可包含同調性控制器132用以處理自 7 200815992 FSB14所接收之要求並且保持在快取記憶體12之間的資料 同調性。同調性控制器132之功能將參考第2圖而詳細地討 論。晶片組13可包含記憶體控制器134以提供用於處理節點 17以及系統10之其他構件的界面以存取記憶體15之儲存位 5置。記憶體15可包含一個或多個形式之記憶體裝置,例如, 動態隨機存取記憶體(DRAM)裝置、同步動態隨機存取記 憶體(SDRAM)裝置、雙倍資料率(DDR)SDRAM裝置、或適 用於祠服器或一般應用之其他依電性或非依電性記憶體裝 置。於一些伺服器應用中,被儲存於記憶體15上之資料位 10元可以利用錯誤校正碼(ECC)而具有錯誤保護。 [0011] 晶片組13同時也可包含I/O控制器136以提供用 於處理節點11以及系統10之其他構件的界面以存取一個或 多個I/O裝置16。I/O裝置16可包含工業標準結構(ISA)裝 置、週邊構件互連(PCI)裝置、PCI快送裝置、通用系列匯 15流排(USB)裝置、小型電腦系統界面(SCSI)裝置、或適用於 伺服斋或一般應用之其他標準或專用之1/0裝置。於一些實 施例中,晶片組13可被製作為單晶片。於一些實施例中, 晶片組13可被製作為二個或多個晶片。晶片組邮時可被 稱為記憶體控制中樞(MCH)或被稱為北橋(NB)。於多晶片 2〇製作中,晶片組13之第二晶片可被稱為輸入/輸出中樞 (IOH)、輸入/輸出控制器中樞(ICH)、及/或被稱為南橋(sb)。 [0012] 處理裔丨丨可儲存記憶體行於它們分別的本地式 快取記憶體12中以便利迅速存取。快取記憶體12可儲存資 ; 々或其兩者之組合。對於各個快取行,快取記憶 8 200815992 « 體12可儲存一標籤(例如,記憶體位址之一部份)以連結戋 映射該快取行至記憶體15中之一對應的快取行。快取記憶 體12同時也可儲存並且更新供用於各個快取行之同調性狀 態。例如,快取記憶體12可支援MESI同調性狀態,於其中 .5 一快取打可具有被修改(M)狀態、專屬(E)狀態、共用(8)狀 — 態、或無效⑴狀態。 [0013]依據使用MESI狀態之快取同調性協定範例,無 效狀您(I)指示相關的快取行不是快取行之目前複本。該快 # 取行之目前複本可存在於遠處節點之記憶體15中及/或另 1° 一個快取記憶體12中。共用狀態(S)指示相關的快取行是快 取行之目前複本,並且零個或更多其他快取記憶體12同時 也可具有共用狀態中之快取行的目前複本。專屬狀態⑺) 指示其中存在著相關快取行之快取記憶體12得到快取行的 所有權並且具有該快取行之目前複本。進一步地,該£狀 15態指示沒有其他的快取記憶體12具有該等Μ、E、或S狀態 中之快取行的複本。該修改狀態(以)指示其中存在著相關快 取行之快取記憶體12具有已被修改之快取行的目前複本。 如同Ε狀態,該Μ狀態指示沒有其他的快取記憶體12具有該 等Μ、Ε、或S狀態中之快取行的複本。進一步地,該訄狀 20 態指示該相關的快取行可以比記憶體15中所對應的資料行 具有較多個目前之複本。如同具有Μ狀態或Ε狀態之一快取 行是專屬地相關(例如,被擁有或被修改)於快取記憶體 之一者一般地,Μ狀態和Ε狀態可被組合於一個E/Μ狀態, 有時也可被稱為專屬狀態。 9 200815992 _4]快取行狀態可藉由—中央目錄(例如,—窺探過 渡器或在线H)中央位置中之任何其他記憶體構件)而被 iin看第2圖’m例中,同調性控制器132可包 含-窺探過濾、器24以提供快取行之同調性資訊。如第頂之 5展示,同調性控制器⑴之實施例可包含許多咖料 (FSB-接埠Μ以及舰-接埠-1叫、同調㈣切以及 窺探過濾器24。
10 15
20 [0015]窺探過渡H24可包含_個❹個儲存陣列,例 如,完全關聯式陣列、集合關聯式陣列、或直接映射式陣 列’其包含線路或快取行以儲存同調性資訊。在—實施例 中,窺探過遽器24包含96個線路之集合關聯式陣列,'其中 4K集合之各個包含96個溝槽(或線路)225(僅展示—個)以 儲存96個快取行之同調性資訊。—快取行可以藉由,例如, 使用記憶餘狀最後十二個位元而㈣线化集人之 一個。各娜路225可儲存對於—快取行之資訊。該資訊可 包含-位址標籤以及-存在之向量。該位址標籤可包含所 有,或-部份的快取行記憶體位址。在上面之範例中,其 中最後的十—個讀體彳紐位元被制以安置—個集合, 該位址標籤可以是先於㈣十二餘址位元之其餘之記憶 體位址位元。該存在的向量可指示14連接至可能 具有快取行之快取記憶體12。 b & [0016]在-實施例中,窥探過濾器_可儲存具有· 狀恶之相縣取行的那些項目。此等窺探過;t|§項目有 被稱為E/Μ項目。亦即,如果任何快取記憶體^包含或可 10 200815992 包含在主記憶體15外之快取行的一專屬複本的話,則窥探 過濾器24可儲存對於一快取行之一 E/M項目。僅儲存e/μ 項目可減低被儲存於窺探過遽器24中之項目的總數並且可 有效地擴展窥探過濾器之尺度。作為一折衷辦法,僅餘存 5 E/Μ項目可導致藉由窥探過濾、儀所產生之窺探數目增 加。然而,特別是對於讀取加強的應用,全面系統性能^ 致地改進。 [0017]在一實施例中,當對於記憶體處理之要求抵達 同調性控制器132時,同調性引擎23可決定傳送該要求至那 10處。記憶體處理指示需要存取記憶體15或任何快取記憶體 12之處理。同調性引擎23可搜尋窺探過濾器24以決定該窺 探過濾器是否具有所要求之快取行的資訊。如果窺探過渡 器24具有該資訊,則同調性引擎23依據該快取行之存在向 量而傳送該要求至連接於具有該快取行之目前複本的快取 15圮憶體12之FSB埠(21或22)。如果該處理可能改變所要求之 快取行狀態,則同調性引擎23更新在窥探過濾器24中之資 訊以反映出該改變。如果窥探過濾器24不具有對於該快取 行之育訊,則同調性引擎可添加一項目至窺探過濾器以記 錄所要求之快取行的同調性資訊。 20 [0018]為了支援僅儲存於窥探過濾器24中之E/Μ,同調 性引擎23執行一個定序法則以保持資料同調性。該定序法 則分解記憶體要求形式成為讀取要求以及寫入要求。讀取 要求自寫入要求解耦合。處理器丨丨和〗^裝置16(第1圖)兩者 皆可發出讀取要求以及寫入要求。對於處理器要求,寫入 11 200815992 长可W寫人(又㈣於所麵之讀取)以及寫入 化。對於各個要求型式,* … 器錯失之m_過濾器命中以及窥探過壚 a @ *同的同調性動作可被採用。同調性y 擎23可藉由硬體«人场㈣實作較序法則。
[0019] 一定序法則範例將參考列表1被說明。對於各個 要求型式(例如’讀取或寫人)以及對於各個窥探過濾器結 10果(例如,命中或錯失),同調性引擎23採用一窺探過遽器 動作以及一同調性動作以保持資料同調性。窺探過濾器動 作指示更新該窺探過濾器項目之動作。同調性動作指示傳 送一窥探訊息至一個或多個處理器以更新快取行之同調性 狀態的動作。在一實施例中,同調性引擎23可包含電路, 15其包含用以實作該窥探過濾器動作以及該同調性動作之窺 探過濾器更新單元25、無效化單元26、以及Goto—S單元27。 [0020] 例如,假設一處理器要求自主記憶體讀取一快 12 200815992 取行並且該要求在窺探過濾器24中產生一命中。在窺探過 濾⑽24中之中思,著該項目是在一專屬狀態(膽)並且 該相關的快取行是目前被一處理器快取記憶體所擁有。因 此,來自另-處理器之新的讀取要求將導致該快取行退出 5 E/Μ狀悲亚且進入S狀態。當窺探過濾、器24僅儲存職項目 %摘近的要求項目,目前在3狀態,應該自該窺探過渡 器被移除。因此,窥探過濾、器更新單元25指示窺探過_ 24自窺探過濾器中移除該項目。進一步地,s單元r 傳达-’’Goto一S”窺探訊息以通知該快取行之目前擁有者, 1〇該快取行已成為共用。因此,該目前擁有者可改變該快取 行狀態自E/Μ狀態為S狀態。 [_]如果該讀取要求在窺探過濾'器24中導致一錯 2 ’則所要求之項目可以是為零個或更多快取記憶體之目曰 前所擁有。在主記憶體中之目前複本是最新的,並且該新 I5的讀取要求不改變該目前狀態。因此,窺探過滤器Μ不被 更新並且不採取同調性動作。 [0022]如果處理器要求寫人—快取行 謂要求在窺_24中導致一命中,則窥探二: 新早7025更新該窥探過滤器項目,以指示該要求之處理器 是快取行之新的擁有者。窥探過濾器Μ保留該項目,因: 該項目仍然是在E/Μ狀態,雖然該專屬所有權已經改變。 無效化單元26傳送-無效化訊息至該快取行之目前擁有 者,以指示該目前本地式複本不再是最新的。因此,專屬 存取權被授與至該要求之處理器並且被目前擁有者所擁有 13 200815992 的複本是無效的。 π %仃至主記憬體並 且該要求在窺探過濾器24中導致一錯失。則一錯失指示1 快取行不是專屬地為任何處理輯擁有。因為寫入 導致該快取行將專屬地為所要求之處理器所擁有,窺探遇 行。可能在主記憶體外被快取之快取行的複本是無效的 因此,無效化單元26發出一無效化訊息至所有的處理养 濾器更新單元25分配一窺探過濾器項目至所要求之快审
以指示該目前本地式複本不再是最新的。結果,專屬存取 10 權被授予至所要求之處理器。 [0024]於另一情節中,處理器可要求使一快取行寫入_ 無效化。除了在處理器之本地式快取中的所有複本無效化 之外,一寫入無效化操作是至該主記憶體之寫入操作。在 該寫入無效化操作之後,主記憶體保持該僅有的目前複本 15 於系統中。因此,相關的窺探過濾器項目,如果有的話, 被刪除以表示該項目不再是專屬地為該目前擁有者所擁 有。因此,如果該寫入無效化要求在窥探過濾器24中導致 一命中,則無效化單元26傳送一無效化訊息至該目前擁有 者。如果該寫入無效化要求導致一錯失,則無效化單元26 20 傳送一無效化訊息至所有的處理器,以指示在主記憶體外 之複本不再是最新的。該寫入無效化要求之結果是沒有快 取記憶體12具有該快取行之複本。 [0025] — I/O裝置有時可啟動直接記憶體存取(DMA)讀 取要求。一I/O DMA讀取要求以如同處理器讀取要求之相 14 200815992 - 同方式被處置。因此,如果在窺探過濾器24中有一命中, 則相關的窺探過濾器項目被移除並且被目前擁有者所擁有 之複本被改變為S狀態。如果有一錯失,則沒有窺探過濾器 動作或同調性動作被採取。 ^ 5 [0026]如果I/O裝置啟動一DMA寫入要求並且該要求 導致一命中,則窺探過濾器更新單元25移除該項目,以指 示相關的快取行不再是在E/Μ狀態。一無效化訊息被傳送 至目前擁有該快取行之處理器。如果該要求導致一錯失, Φ 則一無效化訊息被傳送至所有的處理器,因為它們每一個 10皆可擁有該快取行之複本。I/O轉移將在同調性動作被完成 之後發生。 [0027]利用同調性引擎23被進行之一範例處理程序被 展示於第3圖中。同時也參看第1圖,在區塊31〇,同調性引 擎23自處理器或I/O裝置之一者接收對於記憶體處理之一 15要求。在區塊320,同調性引擎23查詢窺探過濾器24以決定 在規棟過渡裔中所要求的快取行是否具有一項目。在區塊 33Ό ’如果在窥探過濾、器24中有一項目可供用於所要求的快 , 取行’則同調性引擎23決定該要求是否可改變該項目之專 屬所有權。在區塊340,如果有改變該專屬所有權的話,則 20 同調性引擎23更新該窺探過濾器項目。如果沒有改變該專 屬所有權的話,則同調性引擎23不更新窥探過濾器24。返 回至區塊320,如果在窺探過濾器24中,所要求之快取行不 具有一項目,則在區塊350,同調性引擎23決定該要求是否 可導致該快取行將專屬地成為一處理器所擁有。如果該快 15 200815992 取行將專屬地成為-處理器所擁有,則在區塊編,同調性 引擎23將刀西己項目至所要求之快取行。如果該快取行將 不專屬地成為一處理器所擁有的話,則同調性引擎23將不 更新窥探過濾器24。 5 [_]在區塊37G,除了其中該所要求的處理是導致- 個錯失之個㈤取的情況之外,同調性引擎23將發出一窺 探訊息至-個或多個處理器。該窺探訊息可以是一個 ”G〇to_S"訊息’其通知_快取行之目前擁有者,該快取行 已經被改變成為S狀態。該窺探訊息可以是—無效化訊息, !〇其通知-快取行之目前擁有者,該快取行不再是有效的。 該窺探訊息可被傳送至-快取行之目前擁有者,或在一些 情節中,如果它們之一些可擁有該快取行之複本的話,則 該窺探訊息將被傳送至所有的處理器。該窺探訊息之型式 j及該窥探訊息之目的地可以取決於所要求的型式以及該 15規探過渡器結果(例如,命中或錯失)。在區塊,於該窺 探訊息被傳送之後,所要求之媒介可以前進以進行所要求 的處理。 [0029]在前面的說明中,特定實施例已經被說明。作 是,熟習本技術者應明白,本發明可有各種修改和變化而 不脫離本發明附加的申請專利範圍之廣泛的精神和範脅。 因此,說明和圖形應是為展示所用而非限制。 【围式《簡岑^ 明】 第1圖是包含多數個快取記憶體之多處理器系統實施 例的方塊圖。 16 200815992 第2圖是第1圖的多處理器系統之同調性控制器實施例 的方塊圖,於其中該同調性控制器包含一窺探過濾器以及 一同調性引擎。 第3圖是展示藉由第2圖同調性引擎所實作的定序法則 5 之處理程序流程圖範例。 【主要元件符號說明】
l···接收器 134···記憶體控制器 10…多處理器系統 136…I/O控制器 ll···處理器 21…FSB接埠0 12…快取記憶體 22."FSB 接埠 1 13…晶片組 23…同調性引擎 14…前端匯流排(FSB) 24…窺探過濾器 15…記憶體 25…窺探過濾器更新單元 16…I/O裝置 26…無效化單元 17…處理節點 27…Goto_S單元 132···同調性控制器 225···線路 17
Claims (1)
- 200815992 十、申請專利範圍: 1. 一種方法,其包含之步驟有: 在一窺探過濾器中,僅儲存具有一專屬狀態之項 目;以及 5 如果一要求改變與該窺探過濾器中之一項目相關 聯之一行的專屬所有權,則更新該窺探過濾器中之該項 目。 2. 如申請專利範圍第1項之方法,其進一步地包含: 在更新該窺探過濾器中,將一讀取要求與一寫入要 10 求解搞合。 3·如申請專利範圍第1項之方法,其中更新一項目之步驟 包含: 如果一讀取要求被接收的話,則移除該窺探過濾器 中之該項目。 15 4·如申請專利範圍第1項之方法,其中更新一項目之步驟進一步地包含: 如果一處理器寫入要求導致一命中的話,則改變該 行之一擁有者。 5·如申請專利範圍第1項之方法,其中更新一項目之步驟 20 進一步地包含: 如果一處理器發出導致一錯失之一寫入要求的 話,則在該窺探過濾器中分配一新項目予該處理器。 6.如申請專利範圍第1項之方法,其中更新一項目之步驟 進一步地包含: 18 200815992 如果一直接記憶體存取(DMA)要求在該窺探過濾 器中導致一命中的話,則移除該窺探過濾器中之該項 7. 如申請專利範圍第1項之方法,其進一步地包含: 5 如果一寫入要求導致一錯失的話,則傳送一無效化 訊息至快取行受該窺探過濾器所追蹤的所有處理器。 8. 如申請專利範圍第1項之方法,其進一步地包含: 如果一寫入要求導致一命中的話,則傳送一無效化 訊息至該行之一目前擁有者。 10 9. 一種裝置,其包含: 多個處理器; 耦合於該處理器之一窺探過濾器,該窺探過濾器僅 儲存具有一專屬狀態之項目;以及 一同調性引擎,用以更新該窺探過濾器中之該等項 15 目。10.如申請專利範圍第9項之裝置,其中該同調性引擎包含: 用以實作將一讀取要求與一寫入要求解耦合之一 定序法則的多個電路。 11.如申請專利範圍第9項之裝置,其中該同調性引擎進一 20 步地包含: 一窺探過濾器更新單元,用以於一讀取要求被該同 調性引擎所接收時,自該窺探過濾器移除一項目。 12·如申請專利範圍第11項之裝置,其中該同調性引擎進一 步地包含: 19 200815992 一 Goto_S單元,用以改變一行之一專屬狀態為一共 用狀態。 13. 如申請專利範圍第9項之裝置,其中該同調性引擎進一 步地包含: 5 一無效化單元,用以於一寫入要求被該同調性引擎 所接收時,傳送一無效化訊息到至少一個處理器。 14. 如申請專利範圍第9項之裝置,其中該等多個處理器包 含: 多個快取記憶體,其使用MESI(修改的、專屬的、 10 共用的、或無效的)狀態以支援一快取同調性協定。 15. 如申請專利範圍第9項之裝置,其進一步地包含: 多個輸入/輸出(I/O)裝置,其耦合於該窺探過濾器 以發出直接記憶體存取(DMA)要求。 16. —種系統,其包含: 15 多個處理器;一伺服器記憶體,其中該伺服器記憶體之一部份被 該等多個處理器所快取; 至少一個伺服器輸入/輸出(I/O)裝置,其接收且對 外界要求作出反應;以及 20 一晶片組’其包括: 一窺探過濾器,用以僅儲存具有一專屬狀態之 項目;以及 一同調性引擎,用以更新該窺探過濾器中之該 等項目。 20 200815992 • 17·如申請專利範圍第16項之系統,其中該同調性引擎包 含: 用以實作將一讀取要求與一寫入要求解耦合之一 定序法則的多個電路。 • 5 18.如申請專利範圍第16項之系統,其中該同調性引擎進一 • 步地包含: 一窺探過濾器更新單元,用以於一讀取要求被該同 調性引擎所接收時,自該窺探過濾器移除一項目。 ® 19.如申請專利範圍第18項之系統,其中該同調性引擎進一 10 步地包含: 一 Goto__S單元,用以改變一行之一專屬狀態為一共 用狀態。 20.如申請專利範圍第16項之系統,其中該同調性引擎進一 步地包含: 15 一無效化單元,用以於一寫入要求被該同調性引擎 所接收時,傳送一無效化訊息到至少一個處理器。21
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/479,327 US7581068B2 (en) | 2006-06-29 | 2006-06-29 | Exclusive ownership snoop filter |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200815992A true TW200815992A (en) | 2008-04-01 |
TWI336846B TWI336846B (en) | 2011-02-01 |
Family
ID=38420925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096123243A TWI336846B (en) | 2006-06-29 | 2007-06-27 | An exclusive ownership snoop filter |
Country Status (6)
Country | Link |
---|---|
US (1) | US7581068B2 (zh) |
JP (1) | JP4737691B2 (zh) |
CN (1) | CN101097545B (zh) |
DE (1) | DE102007030116B4 (zh) |
GB (1) | GB2439650B (zh) |
TW (1) | TWI336846B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI410796B (zh) * | 2008-05-30 | 2013-10-01 | Intel Corp | 來自窺探過濾器之過期無效異動的減少 |
US9436972B2 (en) | 2014-03-27 | 2016-09-06 | Intel Corporation | System coherency in a distributed graphics processor hierarchy |
TWI603260B (zh) * | 2012-06-15 | 2017-10-21 | 英特爾股份有限公司 | 過濾儲存避免所有儲存針對快取的所有字元進行窺探檢查之方法、微處理器及電腦系統 |
US9904552B2 (en) | 2012-06-15 | 2018-02-27 | Intel Corporation | Virtual load store queue having a dynamic dispatch window with a distributed structure |
US9928121B2 (en) | 2012-06-15 | 2018-03-27 | Intel Corporation | Method and system for implementing recovery from speculative forwarding miss-predictions/errors resulting from load store reordering and optimization |
US9965277B2 (en) | 2012-06-15 | 2018-05-08 | Intel Corporation | Virtual load store queue having a dynamic dispatch window with a unified structure |
US9990198B2 (en) | 2012-06-15 | 2018-06-05 | Intel Corporation | Instruction definition to implement load store reordering and optimization |
US10019263B2 (en) | 2012-06-15 | 2018-07-10 | Intel Corporation | Reordered speculative instruction sequences with a disambiguation-free out of order load store queue |
US10048964B2 (en) | 2012-06-15 | 2018-08-14 | Intel Corporation | Disambiguation-free out of order load store queue |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080109624A1 (en) * | 2006-11-03 | 2008-05-08 | Gilbert Jeffrey D | Multiprocessor system with private memory sections |
US7657710B2 (en) * | 2006-11-17 | 2010-02-02 | Sun Microsystems, Inc. | Cache coherence protocol with write-only permission |
US7996626B2 (en) * | 2007-12-13 | 2011-08-09 | Dell Products L.P. | Snoop filter optimization |
US9058272B1 (en) | 2008-04-25 | 2015-06-16 | Marvell International Ltd. | Method and apparatus having a snoop filter decoupled from an associated cache and a buffer for replacement line addresses |
US8041898B2 (en) * | 2008-05-01 | 2011-10-18 | Intel Corporation | Method, system and apparatus for reducing memory traffic in a distributed memory system |
US8489822B2 (en) | 2010-11-23 | 2013-07-16 | Intel Corporation | Providing a directory cache for peripheral devices |
US9477600B2 (en) * | 2011-08-08 | 2016-10-25 | Arm Limited | Apparatus and method for shared cache control including cache lines selectively operable in inclusive or non-inclusive mode |
US20140095801A1 (en) * | 2012-09-28 | 2014-04-03 | Devadatta V. Bodas | System and method for retaining coherent cache contents during deep power-down operations |
US9405351B2 (en) | 2012-12-17 | 2016-08-02 | Intel Corporation | Performing frequency coordination in a multiprocessor system |
US9292468B2 (en) * | 2012-12-17 | 2016-03-22 | Intel Corporation | Performing frequency coordination in a multiprocessor system based on response timing optimization |
US9507716B2 (en) * | 2014-08-26 | 2016-11-29 | Arm Limited | Coherency checking of invalidate transactions caused by snoop filter eviction in an integrated circuit |
US9727466B2 (en) * | 2014-08-26 | 2017-08-08 | Arm Limited | Interconnect and method of managing a snoop filter for an interconnect |
US9639470B2 (en) * | 2014-08-26 | 2017-05-02 | Arm Limited | Coherency checking of invalidate transactions caused by snoop filter eviction in an integrated circuit |
US9748788B2 (en) * | 2015-09-17 | 2017-08-29 | Qualcomm Incorporated | Systems and methods for charging a battery |
KR102428563B1 (ko) * | 2015-09-30 | 2022-08-03 | 삼성전자주식회사 | 수눕 작동을 관리하는 코히런트 인터커넥트와 이를 포함하는 데이터 처리 장치들 |
US10157133B2 (en) * | 2015-12-10 | 2018-12-18 | Arm Limited | Snoop filter for cache coherency in a data processing system |
US9900260B2 (en) | 2015-12-10 | 2018-02-20 | Arm Limited | Efficient support for variable width data channels in an interconnect network |
US9990292B2 (en) * | 2016-06-29 | 2018-06-05 | Arm Limited | Progressive fine to coarse grain snoop filter |
US10346307B2 (en) | 2016-09-28 | 2019-07-09 | Samsung Electronics Co., Ltd. | Power efficient snoop filter design for mobile platform |
US10339060B2 (en) * | 2016-12-30 | 2019-07-02 | Intel Corporation | Optimized caching agent with integrated directory cache |
US10042766B1 (en) | 2017-02-02 | 2018-08-07 | Arm Limited | Data processing apparatus with snoop request address alignment and snoop response time alignment |
US10360158B2 (en) * | 2017-03-27 | 2019-07-23 | Samsung Electronics Co., Ltd. | Snoop filter with stored replacement information, method for same, and system including victim exclusive cache and snoop filter shared replacement policies |
US10621103B2 (en) * | 2017-12-05 | 2020-04-14 | Arm Limited | Apparatus and method for handling write operations |
US10915445B2 (en) | 2018-09-18 | 2021-02-09 | Nvidia Corporation | Coherent caching of data for high bandwidth scaling |
US11550720B2 (en) | 2020-11-24 | 2023-01-10 | Arm Limited | Configurable cache coherency controller |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5809536A (en) * | 1996-12-09 | 1998-09-15 | Intel Corporation, Inc. | Method for reducing the number of coherency cycles within a directory-based cache coherency memory system uitilizing a memory state cache |
US5848434A (en) * | 1996-12-09 | 1998-12-08 | Intel Corporation | Method and apparatus for caching state information within a directory-based coherency memory system |
US6598123B1 (en) * | 2000-06-28 | 2003-07-22 | Intel Corporation | Snoop filter line replacement for reduction of back invalidates in multi-node architectures |
US6810467B1 (en) * | 2000-08-21 | 2004-10-26 | Intel Corporation | Method and apparatus for centralized snoop filtering |
US6868481B1 (en) * | 2000-10-31 | 2005-03-15 | Hewlett-Packard Development Company, L.P. | Cache coherence protocol for a multiple bus multiprocessor system |
US6662277B2 (en) * | 2001-07-31 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Cache system with groups of lines and with coherency for both single lines and groups of lines |
US6868485B1 (en) * | 2002-09-27 | 2005-03-15 | Advanced Micro Devices, Inc. | Computer system with integrated directory and processor cache |
US6950906B2 (en) * | 2002-12-13 | 2005-09-27 | Hewlett-Packard Development Company, L.P. | System for and method of operating a cache |
US7093079B2 (en) * | 2002-12-17 | 2006-08-15 | Intel Corporation | Snoop filter bypass |
US7107410B2 (en) * | 2003-01-07 | 2006-09-12 | Hewlett-Packard Development Company, L.P. | Exclusive status tags |
US7305524B2 (en) | 2004-10-08 | 2007-12-04 | International Business Machines Corporation | Snoop filter directory mechanism in coherency shared memory system |
US7386685B2 (en) * | 2005-03-29 | 2008-06-10 | International Busniess Machines Corporation | Method and apparatus for filtering snoop requests using multiple snoop caches |
-
2006
- 2006-06-29 US US11/479,327 patent/US7581068B2/en not_active Expired - Fee Related
-
2007
- 2007-06-27 TW TW096123243A patent/TWI336846B/zh not_active IP Right Cessation
- 2007-06-28 JP JP2007170088A patent/JP4737691B2/ja not_active Expired - Fee Related
- 2007-06-29 CN CN2007101290143A patent/CN101097545B/zh not_active Expired - Fee Related
- 2007-06-29 GB GB0712625A patent/GB2439650B/en not_active Expired - Fee Related
- 2007-06-29 DE DE102007030116.4A patent/DE102007030116B4/de not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI410796B (zh) * | 2008-05-30 | 2013-10-01 | Intel Corp | 來自窺探過濾器之過期無效異動的減少 |
TWI603260B (zh) * | 2012-06-15 | 2017-10-21 | 英特爾股份有限公司 | 過濾儲存避免所有儲存針對快取的所有字元進行窺探檢查之方法、微處理器及電腦系統 |
US9904552B2 (en) | 2012-06-15 | 2018-02-27 | Intel Corporation | Virtual load store queue having a dynamic dispatch window with a distributed structure |
US9928121B2 (en) | 2012-06-15 | 2018-03-27 | Intel Corporation | Method and system for implementing recovery from speculative forwarding miss-predictions/errors resulting from load store reordering and optimization |
US9965277B2 (en) | 2012-06-15 | 2018-05-08 | Intel Corporation | Virtual load store queue having a dynamic dispatch window with a unified structure |
US9990198B2 (en) | 2012-06-15 | 2018-06-05 | Intel Corporation | Instruction definition to implement load store reordering and optimization |
US10019263B2 (en) | 2012-06-15 | 2018-07-10 | Intel Corporation | Reordered speculative instruction sequences with a disambiguation-free out of order load store queue |
US10048964B2 (en) | 2012-06-15 | 2018-08-14 | Intel Corporation | Disambiguation-free out of order load store queue |
US10592300B2 (en) | 2012-06-15 | 2020-03-17 | Intel Corporation | Method and system for implementing recovery from speculative forwarding miss-predictions/errors resulting from load store reordering and optimization |
US9436972B2 (en) | 2014-03-27 | 2016-09-06 | Intel Corporation | System coherency in a distributed graphics processor hierarchy |
TWI556193B (zh) * | 2014-03-27 | 2016-11-01 | 英特爾公司 | 在分散式圖形處理器階層中的系統同調性之技術 |
Also Published As
Publication number | Publication date |
---|---|
CN101097545B (zh) | 2012-05-30 |
GB2439650A (en) | 2008-01-02 |
CN101097545A (zh) | 2008-01-02 |
US7581068B2 (en) | 2009-08-25 |
US20080005485A1 (en) | 2008-01-03 |
JP2008027435A (ja) | 2008-02-07 |
JP4737691B2 (ja) | 2011-08-03 |
GB0712625D0 (en) | 2007-08-08 |
TWI336846B (en) | 2011-02-01 |
GB2439650B (en) | 2011-09-28 |
DE102007030116A1 (de) | 2008-02-14 |
DE102007030116B4 (de) | 2014-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW200815992A (en) | An exclusive ownership snoop filter | |
JP4928812B2 (ja) | タグ付きキャッシュ状態に基づいて下位レベル・キャッシュへの参照なしに相互接続ファブリック上にリクエストを送出するためのデータ処理システム、キャッシュ・システム、および方法 | |
US6115804A (en) | Non-uniform memory access (NUMA) data processing system that permits multiple caches to concurrently hold data in a recent state from which data can be sourced by shared intervention | |
TWI463318B (zh) | 快取一致性處理系統、快取記憶體,及其方法 | |
US6108764A (en) | Non-uniform memory access (NUMA) data processing system with multiple caches concurrently holding data in a recent state from which data can be sourced by shared intervention | |
TWI506433B (zh) | 監測過濾機構 | |
US6832282B2 (en) | System and method for providing forward progress and avoiding starvation and livelock in a multiprocessor computer system | |
US7363462B2 (en) | Performing virtual to global address translation in processing subsystem | |
US8103835B2 (en) | Low-cost cache coherency for accelerators | |
EP1153349B1 (en) | Non-uniform memory access (numa) data processing system that speculatively forwards a read request to a remote processing node | |
TWI431475B (zh) | 用於在本地代理者之記憶體鏡像及遷移之裝置、系統及方法 | |
US6546429B1 (en) | Non-uniform memory access (NUMA) data processing system that holds and reissues requests at a target processing node in response to a retry | |
JP4594900B2 (ja) | メモリ・ブロックを初期設定するためのプロセッサ、データ処理システム、および方法 | |
KR20170069149A (ko) | 데이터 처리 시스템의 캐시 일관성을 위한 스누프 필터 | |
US6266743B1 (en) | Method and system for providing an eviction protocol within a non-uniform memory access system | |
US20110047352A1 (en) | Memory coherence directory supporting remotely sourced requests of nodal scope | |
TWI428754B (zh) | 以主動式預取寬度執行加強式停懸狀態之系統及方法 | |
US7797495B1 (en) | Distributed directory cache | |
JP5063059B2 (ja) | 方法、データ処理システム、メモリ・コントローラ(i/o書込みオペレーションのパイプライン化および多重オペレーション範囲を可能にするデータ処理システムおよび方法) | |
JP2008204101A (ja) | バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置 | |
US20080140942A1 (en) | Implementing a hot coherency state to a cache coherency protocol in a symmetric multi-processor environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |