TWI383295B - 拋棄快取項目中過時的項目 - Google Patents
拋棄快取項目中過時的項目 Download PDFInfo
- Publication number
- TWI383295B TWI383295B TW096100412A TW96100412A TWI383295B TW I383295 B TWI383295 B TW I383295B TW 096100412 A TW096100412 A TW 096100412A TW 96100412 A TW96100412 A TW 96100412A TW I383295 B TWI383295 B TW I383295B
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- data
- order
- processor
- memory
- 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
-
- 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
- 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/12—Replacement control
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
本發明係關於快取被儲存於較慢主記憶體且被傳送至一或多個處理器與該主記憶體之間的較快記憶體之資料之部分。系統使得,一個別快取系統必須通告其他快取系統或與其他快取系統查核,該等其他快取系統可能在資料於一給定經快取位置處之修改或選用之前或之後即含有一給定經快取位置的複本,且該系統包括用於判定何時可替代儲存於一特定記憶體位置中之資料之規定。
在具有次要共用快取(例如,第2階(L2)快取)之多處理器系統中,共用快取保持輔助快取(例如,第1階(L1)快取)中快取之實際滯留以外的線路。此為次要快取之值;其含有所有輔助快取之超集合。此情形減少來自主記憶體之流量。
當處理器(例如,處理器A)請求用於儲存之線路("EX"或獨佔式請求)時,此線路安裝於由處理器A獨佔之L1及L2快取中。當另一處理器(例如,處理器B)請求該線路時,若該線路保持由處理器A獨佔則延長處理。
然而,通常狀況係,處理器A不再使用該線路,且實際上該線路在L1已過時且僅存在於L2中。然而,該線路在該L2快取中仍被標記為由處理器A獨佔。因此需要諸如交叉調查及交叉失效之額外處理,以將此線路自L1快取移除。
在本文中所述之許多狀況下,此線路不再存在於L1中。
此不必要地延長處理器B之提取請求,降低了效能。因此存在加速此過程之需求。
本文中所述之方法及系統提供快取被儲存於較慢主記憶體且被傳送至一或多個處理器與主記憶體之間的較快記憶體之資料之部分。一般而言,該快取使得一個別快取系統必須與其他相關聯之快取系統通信,或與此等快取系統查核,以判定此等快取系統在資料於一給定經快取位置處之修改或選用之前或之後是否即含有一給定經快取位置的複本。該快取進一步包括用於判定何時可替代儲存於一特定記憶體位置中之資料之規定。
根據背景,一線路必須存在於L1快取中以便由任何處理器使用。目前,當一線路存在於L1及L2中時,該線路之狀態應在兩個快取中匹配。亦即,該線路在兩階層中被標記為獨佔式、共用的或相同地修改的。若一線路在L1中過期且僅駐留於L2中,則該線路不再由原處理器使用。最近使用之線路已替代該線路。然而,L2快取繼續將該線路保持於由該處理器"獨佔"之狀態。
當在L1快取中將替代該線路時,本文中所述之方法及系統改變該線路在L2快取中之狀態。該狀態自由一特定識別之處理器獨佔改變為未由處理器獨佔。因此,當一獨佔式線路在一特定處理器中過期時,L2中之線路狀態將自由特定識別之處理器獨佔改變為"無",且任何L1快取皆無須交叉訊問或無效,藉此改良總系統效能。
依照本發明,提供快取以儲存於較慢主記憶體中且被傳送至一或多個處理器與該較慢主記憶體之間的一較快記憶體之資料之部分。該快取使得一個別L1快取或一處理器必須首先與一相關聯之L2快取系統通信,或與此L2快取系統查核,以獲得在資料於一給定經快取位置處之修改或選用之前或之後含有一給定經快取位置的複本。該快取進一步包括用於當判定何時被替代儲存於一特定快取記憶體位置中之資料後通知該L2快取系統之規定。
如本文中所述,當獨佔式線路在L1快取中過時時,L1將一信號發送至L2快取,指示該獨佔式線路不再存在於L1快取中。此使L2快取被更新以指示該線路"被拋棄"。亦即,該線路之所有權自特定處理器改變為無特定處理器,即"無主的"。
根據背景,不管技術之改良如何,微處理器仍遠快於主記憶體。記憶體存取時間日益成為總應用程式效能之瓶頸。結果,一應用程式可能花費相當大之時間量來等待資料。此不僅負面地影響總效能,而且應用程式亦不能自處理器時脈速度升級較大地受益。
克服此問題之一個方式為在處理器與主記憶體之間插入一較小高速緩衝器記憶體。此緩衝器一般被稱為快取記憶體,或簡稱快取。在圖1中說明此緩衝器或快取。
圖1說明包括處理器111及L1快取113、L2快取121及主記憶體131之處理器系統101。系統上執行之應用程式藉由自
快取113而非自主記憶體131提取資料來利用此增強。歸因於快取113之較短存取時間,改良了應用程式效能。當然,在該記憶體131與快取113之間仍存在流量,但流量為最小量的。
系統101首先將處理器111所需之資料自主記憶體131複製至L2快取121中,且接著自L2快取121複製至L1快取113中且從該處複製至處理器111中之暫存器(未圖示)中。儲存結果將資料在相反之方向上移動。首先,系統將資料自處理器111複製至L1快取113中,且接著自L1快取113複製至L2快取121中且複製至主記憶體131中。視快取架構細節而定,資料接著立即被複製回該記憶體131(完全寫入),或延緩(寫回)。若一應用程式再次需要相同資料,則當該資料仍在L1快取113及L2快取121中或僅在L2快取121中時資料存取時間將顯著減少。為進一步減少記憶體傳送之成本,將一個以上資料元件載入快取。傳送資料單元被稱為快取區塊或快取線路,(在本文中稱為一線路)。存取一單一資料元件使一整個線路進入快取。保證該線路含有所請求之元件。
延遲及頻寬為與快取及記憶體相關聯之兩個度量。兩個度量皆不統一,但對記憶體階層之特殊組件而言該兩個度量係特定的。延遲通常以處理器週期或奈秒來表示,而頻寬通常以每一秒百萬位元組或每一秒十億位元組來給出。
實務上,一記憶體組件之延遲被量測為其提取傳送單元(通常一快取線路)的第一部分所用時間。因為組件之速度
視其在階層中之相對位置而定,所以延遲不統一。根據經驗法則,穩妥而言,當自L1快取113移動至L2快取121至該主記憶體131時,延遲增加。
記憶體組件中之一些(例如,L1快取113)可實體位於處理器111上。優勢在於其速度將與處理器時脈成比例地變化。因此,以處理器時脈週期而非奈秒來表達此等組件之延遲係有意義的。
在某些微處理器上,整合(晶載)快取(如L1快取113)並未始終以處理器之速度而操作。其以一時脈速率而操作,該時脈速率為處理器時脈之整數商(1/2、1/3等等)。
處理器外部之快取組件通常未受益於或僅部分地受益於處理器時脈升級。其延遲通常以奈秒給出。主記憶體延遲幾乎始終以奈秒來表達。
頻寬為記憶體組件之漸近速度之量測結果。此數目反映可如何快地由該記憶體組件移入及移出大量資料。如同延遲一樣,頻寬不統一。通常,頻寬隨著將該記憶體組件遠離處理器111移動得愈遠而減小。
若可減少資料提取中步驟之數目,則可減少延遲。
圖2說明具有L1快取213a、213b、共用L2快取221及一主記憶體231之包括兩個處理器211a、211b之系統201。資料線241及控制線251執行其正常功能。參看圖2,當獨佔式線路在L1快取213a或213b中過時時,L1快取213a或213b將一信號發送至L2快取221,指示該線路不再存在於L1快取213a或213b中。此使L2快取221被更新以指示該線路"被拋
棄"。亦即,所有權自特定處理器211a、211b改變為"無主的"。
圖3說明系統301之組件,L1快取313、處理單元311、L2快取321、寫入緩衝器330、主記憶體331及MUX 333,以及控制及資料線,其中有效性323、位址325及資料327區塊在該L2快取321之一例示性快取線路中。
當一獨佔式線路在L1快取313中過時時,L1快取313將一信號發送至L2快取321,指示該線路不再存在於L1快取313中。此使L2快取321被更新以指示該線路"被拋棄"。亦即,所有權自被特定處理器所有改變為"無主的"。
考慮圖3中所示之快取。處理器311將一實體位址呈現給L2快取321以用於標記比較。進入L2快取321之位址具有兩個欄位,一區塊位址及一偏移位址,其中該區塊位址包括一位址標記及快取索引之指示,以及控制資料。
該快取索引選擇標記來進行測試以瞭解所要區塊是否在該L2快取321中。下一步驟為索引選擇。在直接映射之狀況下,與正被讀取並檢查之標記並行而讀取資料並將其發送至處理器311。
在自該L2快取321讀取標記之後,將該標記與來自處理器311之區塊位址之標記部分相比較。為確保標記及資料線皆含有有效資訊,必須讀取且驗證該有效性資料(如由"無主的"上之處理器獨佔)。若該快取資料係有效的,則處理器311經傳信以載入來自L2快取321之資料。
在一寫入之狀況下,亦將資料寫入一寫入緩衝器,其用
於寫入主記憶體。
在一快取未中之狀況下,L1快取313將一停止信號發送至處理器311,並將一讀取發送至L2快取321且接著發送至主記憶體331。自該主記憶體331讀取替代該等快取中之一經選擇線路,(例如)通常最近使用之線路,包括資料、標記及有效性資訊。
根據本發明之方法及系統,當一獨佔式給定線路在L1快取過時且L1快取將一信號發送至L2快取時,此指示該給定線路不再存在於L1快取中,藉此使L2快取被更新以指示該給定線路"被拋棄"。亦即,該給定線路之所有權自特定處理器改變為"無主的"。
參看圖2,此圖2之實施例藉由減少且在某些狀況下甚至消除交叉訊問處理來改良效能。消除交叉訊問處理避免為歸因於L1替代或過時替代而不再存在於L1快取213a或213b中之線路將一交叉訊問發送至L1快取213a或213b。既而此情形在另一處理器請求可能為該給定線路之一線路時導致一較短延遲,且從而避免在其他曾經一度擁有該給定線路之L1快取處之無效目錄查找。
額外地,消除交叉訊問處理避免為L2快取221中待替代之線路而將一交叉無效發送至L1快取213a或213b。一般而言,當一給定線路在L2快取221中過時時,此給定線路必須亦在L1快取213a或213b中無效。此維護L1 213a或213b與L2快取221之間的子集法則。該兩種情形使L1快取213a或213b處中斷正常處理無效。若該線路不再存在於L1快取
213a或213b中,則此中斷係不必要的且負面地影響效能。
雖然已關於獨佔式線路來描述系統及方法,但應理解,本文中所述之方法及系統亦在為在L1快取213a或213b中過時之共用線路更新L2快取目錄221時避免共用線路的交叉訊問及交叉無效。
若L1共用快取實施為每一處理器維護一獨立位元以識別哪一L1快取"保持線路",則每次一線路在L1快取213a或213b中過時,L2快取221中之各別"CP保持線路"位元皆可加以重置。交叉訊問及交叉無效僅需對使自身"CP保持線路"位元活動之CP進行執行。若所有位元不活動,則可避免所有交叉訊問及交叉無效。以此方式,L2快取221過時替代避免對L1快取213a或213b之不必要的交叉無效。此藉由避免L1快取213a或213b處之不必要中斷亦改良效能。
本發明之另一態樣為一包含電腦可讀程式碼以組態並控制電腦系統之程式產品。該電腦系統包含複數個微處理器,其中每一微處理器具有一相關聯之L1快取213a或213b、與L1快取213a及213b相關聯之L2快取221及主記憶體231。該程式產品使快取儲存傳送至處理器及主記憶體且自處理器及主記憶體傳送之資料之部分,且進一步使一個別快取與其他相關聯之快取通信以與該等其他快取查核來判定該等其他快取在自經快取之資料讀取資料、讀取至經快取之資料的資料或修改經快取之資料之前是否含有一給定快取位置的複本。該電腦程式碼亦判定何時可替代儲存於一特定快取記憶體位置中之資料。
具體言之,當將在L1快取中替代線路時,電腦程式碼將改變寫入至L2快取中之線路的狀態,且亦將線路之狀態自由一特定識別之處理器獨佔改變為未由處理器獨佔。
雖然已藉由某些較佳實施例及例證來描述本發明,但其並非意欲限制本發明之範疇,僅藉由隨附申請專利範圍來限制本發明之範疇。
101‧‧‧處理器系統
111‧‧‧處理器
113‧‧‧L1快取
121‧‧‧L2快取
131‧‧‧主記憶體
201‧‧‧系統
211a‧‧‧處理器
211b‧‧‧處理器
213a‧‧‧L1快取
213b‧‧‧L1快取
221‧‧‧L2快取
231‧‧‧主記憶體
241‧‧‧資料線
251‧‧‧控制線
311‧‧‧處理器
313‧‧‧L1快取
321‧‧‧L2快取
323‧‧‧有效性區塊
325‧‧‧位址區塊
327‧‧‧資料區塊
330‧‧‧寫入緩衝器
331‧‧‧主記憶體
333‧‧‧MUX
圖1說明一處理器、一L1快取、一L2快取及一主記憶體。
圖2說明具有L1快取、共用L2快取及一主記憶體之包括兩個處理器之系統。
圖3說明一快取、一中央處理單元及主記憶體,以及控制及資料線,其中有效性、位址及資料區塊在一例示性快取線路中。
311‧‧‧處理器
313‧‧‧L1快取
321‧‧‧L2快取
323‧‧‧有效性區塊
325‧‧‧位址區塊
327‧‧‧資料資料
330‧‧‧寫入緩衝器
331‧‧‧主記憶體
333‧‧‧MUX
Claims (15)
- 一種用於在一電腦系統中與一包含一第1階(L1)快取記憶體及一第2階(L2)快取記憶體之高速緩衝記憶體通信之一處理器中減少交叉調查延遲之資料快取方法,該方法包含以下步驟:從該第2階快取記憶體中之一快取線路複製該處理器所需之資料至該第1階快取記憶體中之一快取線路;從該第1階快取記憶體中複製該處理器所需之資料至該處理器中一暫存器,其中該第2階快取記憶體包括儲存於該第1階快取記憶體中之該快取線路係有主的(owned)之一指示;回應於該第1階快取記憶體中該快取線路之過時,發送一信號更新相關聯的該第2階快取記憶體以指示該第1階快取記憶體中該過時之快取線路被拋棄;及在收到該信號以指示該第1階快取記憶體中之快取線路被拋棄後更新該第2階快取記憶體。
- 如請求項1之資料快取方法,其中複數個處理器之每一者設置有一獨立第1階快取記憶體,每一該第1階快取記憶體連接至一共用第2階快取記憶體,該方法包含以下步驟:對每一處理器維護該第2階快取記憶體中一獨立之處理器保持線路位元以識別該L1快取之何者保持一快取線路,其中該被保持之快取線路被獨佔直到被拋棄;及每當該第1階快取記憶體中一線路過時時,重置該第 2階快取記憶體中該獨立之處理器保持線路位元。
- 如請求項1之資料快取方法,其包括從該處理器之一呈現一實體位址給該第2階快取記憶體,其中該實體位址包括一區塊位址及一偏移位址,其中該區塊位址包括一位址標記及快取索引之指示,以及控制資料。
- 如請求項3之資料快取方法,其包括執行索引選擇之步驟。
- 如請求項3之資料快取方法,其包括以該快取索引選擇將被測試之該位址標記以瞭解一所要區塊是否在該快取記憶體中之步驟。
- 如請求項5之資料快取方法,其包括執行索引選擇之步驟。
- 如請求項3之資料快取方法,其包括以下直接映射步驟:讀取資料;及與讀取並檢查該位址標記及一資料線路並行而發送該資料至該處理器。
- 如請求項7之資料快取方法,其中在從該快取記憶體讀取該標記之後,執行比較該位址標記與來自該處理器之該區塊位址之一標記部分之步驟,為確保該位址標記及該資料線皆含有有效資訊。
- 如請求項8之資料快取方法,其包括若該快取資料係有效的,傳信該處理器以載入來自該第2階快取記憶體之資料之步驟。
- 如請求項3之資料快取方法,其包含以下步驟:在一快取未中之情況下,從該第1階快取記憶體將一停止信號發送至該處理器;發送一讀取至該第2階快取及之後發送一讀取至一主記憶體;從該主記憶體讀取;及替代一快取線路。
- 一種用於減少交叉調查延遲之資料快取系統,該資料快取系統包含:一主記憶體;一與該主記憶體通信之一第2階快取記憶體,該第2階快取記憶體能夠與各具有一相對應第1階快取記憶體之一或多個處理器通信;該第1階快取記憶體與該第2階快取記憶體通信;及一與該第1階快取記憶體通信之處理器,其中該資料快取系統能夠執行根據請求項1至10之任一種方法。
- 一種用於快取資料之電腦程式產品,該電腦程式產品用於一包括一第1階快取記憶體及一第2階快取記憶體且與一高速緩衝記憶體通訊之一處理器,該電腦程式產品包含一處理器可讀取儲存媒體,其儲存由該處理器執行之若干指令,該等指令執行根據請求項1至10之任一種方法。
- 一種資料快取方法,其包含:儲存資料之部分於與至少一包含一處理器或一微處 理器之中央處理單元(CPU)相關聯之較慢之主記憶體中;傳送資料至一包含一位於至少一CPU及該主記憶體之間快取記憶體架構之較快記憶體及自該較快記憶體傳送資料;該快取架構進一步包含一個別第1階快取記憶體其首先與一相關聯之第2階快取記憶體通信以檢查該相關聯之第2階快取記憶體,在從一給定第2階快取位置讀取資料、寫入資料或修改快取資料之前,獲得在該給定第2階快取位置之一特定快取線路資料之複本;對於該第2階快取記憶體中每一先前已儲存之快取線路提供一由一特定識別之處理器獨佔之所有權狀態或一未由處理器獨佔之所有權狀態;判定於該第2階快取中一給定之先前已儲存快取線路不再具有任何所有權狀態存在於一特定第1階快取記憶體位置中之時間點;及傳送一信號至該相關聯之第2階快取記憶體指示於該第1階快取記憶體中該給定先前已儲存快取線路之該所有權已從由一特定識別之處理器獨佔之所有權狀態改變為一未由處理器獨佔之所有權狀態,且該第2階快取記憶體從而被更新以指示於該第2階快取中該給定先前已儲存快取線路被拋棄;因此當該給定快取線路即將從任何由第1階快取而來之請求歸還時,交叉調查或交叉失效是不必要的,從而改善整體系統效能。
- 如請求項13之資料快取方法,其包含當於該第1階快取記憶體中該先前已儲存線路過時且於該第1階快取記憶體中將被替換時,將於該第1階快取記憶體中該先前已儲存線路之狀態傳信至該相關聯之第2階快取記憶體。
- 如請求項14之資料快取方法,其包含將於該第1階快取記憶體中該線路之狀態從獨佔改變為無主的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/339,196 US7577795B2 (en) | 2006-01-25 | 2006-01-25 | Disowning cache entries on aging out of the entry |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200813714A TW200813714A (en) | 2008-03-16 |
TWI383295B true TWI383295B (zh) | 2013-01-21 |
Family
ID=38286941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096100412A TWI383295B (zh) | 2006-01-25 | 2007-01-05 | 拋棄快取項目中過時的項目 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7577795B2 (zh) |
JP (1) | JP5063104B2 (zh) |
CN (1) | CN101008920A (zh) |
TW (1) | TWI383295B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7966453B2 (en) | 2007-12-12 | 2011-06-21 | International Business Machines Corporation | Method and apparatus for active software disown of cache line's exlusive rights |
US8032706B2 (en) * | 2008-08-05 | 2011-10-04 | Intel Corporation | Method and apparatus for detecting a data access violation |
US9075732B2 (en) * | 2010-06-15 | 2015-07-07 | International Business Machines Corporation | Data caching method |
US8516200B2 (en) | 2010-09-07 | 2013-08-20 | International Business Machines Corporation | Avoiding cross-interrogates in a streaming data optimized L1 cache |
US8635412B1 (en) * | 2010-09-09 | 2014-01-21 | Western Digital Technologies, Inc. | Inter-processor communication |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US9075720B2 (en) | 2010-10-04 | 2015-07-07 | International Business Machines Corporation | Locking a cache line for write operations on a bus |
CN103348333B (zh) * | 2011-12-23 | 2017-03-29 | 英特尔公司 | 用于分级高速缓存设计中的高速缓存之间的高效通信的方法和装置 |
US9785552B2 (en) * | 2015-01-14 | 2017-10-10 | Kabushiki Kaisha Toshiba | Computer system including virtual memory or cache |
US10210087B1 (en) * | 2015-03-31 | 2019-02-19 | EMC IP Holding Company LLC | Reducing index operations in a cache |
US9952973B2 (en) | 2015-10-29 | 2018-04-24 | Western Digital Technologies, Inc. | Reducing write-backs to memory by controlling the age of cache lines in lower level cache |
US10248563B2 (en) | 2017-06-27 | 2019-04-02 | International Business Machines Corporation | Efficient cache memory having an expiration timer |
US10528482B2 (en) | 2018-06-04 | 2020-01-07 | International Business Machines Corporation | Cache management |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6269425B1 (en) * | 1998-08-20 | 2001-07-31 | International Business Machines Corporation | Accessing data from a multiple entry fully associative cache buffer in a multithread data processing system |
TW200529068A (en) * | 2004-05-21 | 2005-09-01 | Via Tech Inc | Apparatus and method for managing stack transfers in a register-based processor |
TW200602974A (en) * | 2004-05-19 | 2006-01-16 | Arc Internat Uk Ltd | Microprocessor architecture |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265232A (en) * | 1991-04-03 | 1993-11-23 | International Business Machines Corporation | Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data |
US6745292B1 (en) * | 1995-12-08 | 2004-06-01 | Ncr Corporation | Apparatus and method for selectively allocating cache lines in a partitioned cache shared by multiprocessors |
US5926830A (en) * | 1996-10-07 | 1999-07-20 | International Business Machines Corporation | Data processing system and method for maintaining coherency between high and low level caches using inclusive states |
US5963978A (en) * | 1996-10-07 | 1999-10-05 | International Business Machines Corporation | High level (L2) cache and method for efficiently updating directory entries utilizing an n-position priority queue and priority indicators |
US5809526A (en) * | 1996-10-28 | 1998-09-15 | International Business Machines Corporation | Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation |
US6542926B2 (en) * | 1998-06-10 | 2003-04-01 | Compaq Information Technologies Group, L.P. | Software partitioned multi-processor system with flexible resource sharing levels |
US6360301B1 (en) * | 1999-04-13 | 2002-03-19 | Hewlett-Packard Company | Coherency protocol for computer cache |
US6405322B1 (en) * | 1999-04-13 | 2002-06-11 | Hewlett-Packard Company | System and method for recovery from address errors |
US6557084B2 (en) * | 1999-07-13 | 2003-04-29 | International Business Machines Corporation | Apparatus and method to improve performance of reads from and writes to shared memory locations |
JP2001034533A (ja) | 1999-07-21 | 2001-02-09 | Nec Kofu Ltd | キャッシュコヒーレンシ制御装置、2次キャッシュメモリ、中央処理装置、マルチプロセッサシステム、プロセッサノード、キャッシュコヒーレンシ制御方法 |
US6532520B1 (en) * | 1999-09-10 | 2003-03-11 | International Business Machines Corporation | Method and apparatus for allocating data and instructions within a shared cache |
US6574710B1 (en) * | 2000-07-31 | 2003-06-03 | Hewlett-Packard Development Company, L.P. | Computer cache system with deferred invalidation |
JP2002055881A (ja) * | 2000-08-08 | 2002-02-20 | Hitachi Ltd | キャッシュ一致制御の実現方法およびこれを用いたデータ処理装置 |
US6851024B1 (en) * | 2000-08-17 | 2005-02-01 | Hewlett-Packard Development Company, L.P. | Exclusive caching in computer systems |
US6640289B2 (en) | 2000-11-15 | 2003-10-28 | Unisys Corporation | Software controlled cache line ownership affinity enhancements in a multiprocessor environment |
US6738870B2 (en) | 2000-12-22 | 2004-05-18 | International Business Machines Corporation | High speed remote storage controller |
US6738871B2 (en) | 2000-12-22 | 2004-05-18 | International Business Machines Corporation | Method for deadlock avoidance in a cluster environment |
US6715040B2 (en) * | 2001-01-05 | 2004-03-30 | Nec Electronics, Inc. | Performance improvement of a write instruction of a non-inclusive hierarchical cache memory unit |
US6662275B2 (en) * | 2001-02-12 | 2003-12-09 | International Business Machines Corporation | Efficient instruction cache coherency maintenance mechanism for scalable multiprocessor computer system with store-through data cache |
US6658539B2 (en) * | 2001-10-16 | 2003-12-02 | International Business Machines Corporation | Super-coherent data mechanisms for shared caches in a multiprocessing system |
US7177853B1 (en) * | 2002-02-21 | 2007-02-13 | Emc Corporation | Cache management via statistically adjusted time stamp queue |
US6826654B2 (en) * | 2002-08-08 | 2004-11-30 | International Business Machines Corporation | Cache invalidation bus for a highly scalable shared cache memory hierarchy |
US6868485B1 (en) * | 2002-09-27 | 2005-03-15 | Advanced Micro Devices, Inc. | Computer system with integrated directory and processor cache |
US6981106B1 (en) * | 2002-11-26 | 2005-12-27 | Unisys Corporation | System and method for accelerating ownership within a directory-based memory system |
US7039765B1 (en) * | 2002-12-19 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | Techniques for cache memory management using read and write operations |
US6990560B2 (en) * | 2003-01-16 | 2006-01-24 | International Business Machines Corporation | Task synchronization mechanism and method |
US7484044B2 (en) * | 2003-09-12 | 2009-01-27 | Intel Corporation | Method and apparatus for joint cache coherency states in multi-interface caches |
US7284097B2 (en) | 2003-09-30 | 2007-10-16 | International Business Machines Corporation | Modified-invalid cache state to reduce cache-to-cache data transfer operations for speculatively-issued full cache line writes |
-
2006
- 2006-01-25 US US11/339,196 patent/US7577795B2/en not_active Expired - Fee Related
- 2006-12-22 JP JP2006346754A patent/JP5063104B2/ja not_active Expired - Fee Related
-
2007
- 2007-01-05 CN CNA2007100018448A patent/CN101008920A/zh active Pending
- 2007-01-05 TW TW096100412A patent/TWI383295B/zh not_active IP Right Cessation
-
2009
- 2009-05-05 US US12/435,468 patent/US8131945B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6269425B1 (en) * | 1998-08-20 | 2001-07-31 | International Business Machines Corporation | Accessing data from a multiple entry fully associative cache buffer in a multithread data processing system |
TW200602974A (en) * | 2004-05-19 | 2006-01-16 | Arc Internat Uk Ltd | Microprocessor architecture |
TW200529068A (en) * | 2004-05-21 | 2005-09-01 | Via Tech Inc | Apparatus and method for managing stack transfers in a register-based processor |
Also Published As
Publication number | Publication date |
---|---|
US20100030965A1 (en) | 2010-02-04 |
TW200813714A (en) | 2008-03-16 |
JP2007200292A (ja) | 2007-08-09 |
US8131945B2 (en) | 2012-03-06 |
CN101008920A (zh) | 2007-08-01 |
JP5063104B2 (ja) | 2012-10-31 |
US20070174554A1 (en) | 2007-07-26 |
US7577795B2 (en) | 2009-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI383295B (zh) | 拋棄快取項目中過時的項目 | |
US8996812B2 (en) | Write-back coherency data cache for resolving read/write conflicts | |
US9513904B2 (en) | Computer processor employing cache memory with per-byte valid bits | |
US8180981B2 (en) | Cache coherent support for flash in a memory hierarchy | |
TW508575B (en) | CLFLUSH micro-architectural implementation method and system | |
US9569360B2 (en) | Partitioning shared caches | |
US6272602B1 (en) | Multiprocessing system employing pending tags to maintain cache coherence | |
US7774522B2 (en) | Cache stashing processor control messages | |
US9892039B2 (en) | Non-temporal write combining using cache resources | |
US7243194B2 (en) | Method to preserve ordering of read and write operations in a DMA system by delaying read access | |
US8762651B2 (en) | Maintaining cache coherence in a multi-node, symmetric multiprocessing computer | |
US8423736B2 (en) | Maintaining cache coherence in a multi-node, symmetric multiprocessing computer | |
US7480784B2 (en) | Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU) | |
US9684595B2 (en) | Adaptive hierarchical cache policy in a microprocessor | |
US20070150665A1 (en) | Propagating data using mirrored lock caches | |
US10949292B1 (en) | Memory interface having data signal path and tag signal path | |
JP4577729B2 (ja) | ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法 | |
US7478203B2 (en) | Technique for eliminating dead stores in a processor | |
CN115176237B (zh) | 具有混合回写和透写的数据高速缓存 | |
JP3732397B2 (ja) | キャッシュシステム | |
US20070180193A1 (en) | History based line install | |
EP3332329B1 (en) | Device and method for prefetching content to a cache memory | |
US20230099256A1 (en) | Storing an indication of a specific data pattern in spare directory entries | |
CN112955877B (zh) | 修改存储数据的装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |