TW200534096A - Cache memory and its controlling method - Google Patents

Cache memory and its controlling method Download PDF

Info

Publication number
TW200534096A
TW200534096A TW093139785A TW93139785A TW200534096A TW 200534096 A TW200534096 A TW 200534096A TW 093139785 A TW093139785 A TW 093139785A TW 93139785 A TW93139785 A TW 93139785A TW 200534096 A TW200534096 A TW 200534096A
Authority
TW
Taiwan
Prior art keywords
flag
cache
address
line
data
Prior art date
Application number
TW093139785A
Other languages
English (en)
Inventor
Ryuta Nakanishi
Hazuki Okabayashi
Tetsuya Tanaka
Shuji Miyasaka
Original Assignee
Matsushita Electric Ind Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Ind Co Ltd filed Critical Matsushita Electric Ind Co Ltd
Publication of TW200534096A publication Critical patent/TW200534096A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access

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

200534096 九、發明說明: 【韻^明所屬之技彳标領域】 技術領域 本發明係有關於用以使處理器之記憶存取高速化之快 5 取記憶體及其控制方法。 L先前才支冬好】 背景技術 近年來的微處理器係將由例如SRAM(Static Rand〇m
Access Memory ;靜態隨機存取記憶體)等所構成之小容量 10且高速的快取記憶體配置於微處理器内部或其附近,且將 一部份資料記憶於快取記憶體,藉此使微處理器之記憶存 取高速化。 15 在電腦系統中,當從中央處理裝置至快取記憶體的讀 取存取或寫人存取發生誤失命巾時,從主記憶裝置重新讀 取的一部分資料會儲存於快取記憶體的空區塊作為項目 (登錄項目)。此時,當沒有空區塊時,則需要進行項目置換 處理’該處理係選擇多數輯中之任—區塊,且使儲存於 所選擇之區塊的項目返回主記憶裝置,以使區塊内成為空 狀態,並將重新讀取之資料儲存於該空區 ^ 上述項目置 換處理-般是·選擇儲存有最早參照的資料之區塊的手 法,即,LRU(Least Recently Used)解碼方式。藉由咳
解碼方式,可提高快取記憶體的使用效率,結果。曰山 微處理器的執行速度。 S 在微處理器所處理之程式中有以下2種詹 疫王’即,存取 20 200534096 頻率少但一經啟動則必須高速處理的特殊處理,及頻率多 卻不太要求執行速度的處理。 因此,為了對應於此,在例如日本專利公開公報第 2000-200221號等先前技術中,在快取記憶體設置靜土功 月b。靜止功能為將存取頻率少但一經啟動則必須高速處理 之程式預先複製至快取記憶體内,且將該領域設為禁止改 寫之功能。由於具有該功能,故電腦系統可在需要時從快 取記憶體讀取程式並加以執行,藉此可縮短執行時間。又, 清除功能為不先將頻率多料太要求執行速度的程式或資 料保存於絲記龍内,而是解_放該職之功能。由 =具有該功能,故快取記憶體巾會有餘裕,且可將優先度 兩的其他程式或資料放人快取記憶體,藉此,可提高快取 記憶體的利用效率,並縮短總合的執行時間。 ’當發生快 回的情況發 15 然而’無論使用靜止功能或使用清除功能 取块失而產生替換時,會有無用替換或無用寫 生。 ·’ 田把土恶用暂換時,處理器會寫入 要素。此時,即使從記⑽重新在快取記憶體蜍換次Γ 也由於全部都已由處理器寫人,因此,替換將“ Ί 又,當發生無用寫回時,快取項目會單絲、、、、、;。 料來使用。此時’無論是否為最終可取消的為工作資 生無用寫回的情況。 …、+,都會發 C考务明内】 發明之揭示 20 200534096 的在於提供可防止細替換或無用 寫回之 為了解決上述課題,本發明之快取記憶體包含:旗標 保持機構’係對應於用以保持快取單元資料之快取項目, 5 ㈣用以顯示該快取項目是否有效之有效旗標與用以顯示 是否已寫人該快取項目之臟旗標;及改變機構,係根據來 自處理☆的彳日不’將剛述有效旗標及臟旗標至少其中一者 改變成與快取項目之狀態相反。 10 /述改變機構不從記憶體载人資料,而對前述快取項 目设定作為標記之位址並設定有效旗標。 次根據該構造’可在快取記憶體上確保用以寫入配列等 育料之快取項目’而且,可避切處於被寫上的命運之資 料從記憶體無㈣載人快取記憶體的情況發生。 15 本發明之目 快取記憶體。 _又’前述改變機構係在保持有尚未寫回快取項目且業 ’每改寫之資料的狀態下重設臟旗標。 次' 根據該構造,可防止從心料處於取消暫時的工作 貝料等的命運之資料的快取項目無用寫回。 於j ’前述快取記憶體更具有:_機構,係用⑽ =經前述處理n指定之位址_者;及特定機構,係用 目:疋用以保持屬於業純持之他範_資料之快取項 ’又,前述改變機構係„經特定之快取項目改變前 Μ有效旗標及臟旗標至少其中一者。 根據該構造,可在由處理器所指定之位址範圍中防止 热用地載人快取記憶體或無料寫回記憶體。 20 200534096 址範ΓϋΓ特定機構包含:第1變換機構,係當前述位 換為μ 紐指出線資料之中途時,將該前頭位址變 .★ I位址乾圍中之前頭的線之起始線位 者,·第2變換機構,係杂 “深位址 5 10 15 ’、田則述位址範圍之最終位址指出線資 =中心,將該最終位址變換為指出包含在前 财之最終的線之終止線位址者;及判定機構,係判定是 否有用以保持對應於前述起始線位址至終止線位址之各線 位址的資料之快取項目者。 根據該構造,處理器可在與快取記憶體之線大小及線 邊界的位址無關之狀態下從任意的位址指定任—位址(或 任—大小Μ乍為前述位址範圍。即’由於處理器中不必管理 快取記憶體之線大小及線邊界的位址,因此, 管理快取記憶體的負擔。 於此,前述改變機構更具有:命令檢測機構,係用以 =測已執行附有臟旗標重設指示之記憶存取命令者;及旗 標改寫機構,雜據上料令對未畴取 : 臟旗標者。 貝目重汉 於此’前述改變機構更具有:命令檢測機構,传用以 榀測已執行附有有效旗標重設指示之記憶八 旗標改寫機構,係根據上述命令對未經 設有效旗標者。 之陕取項目重 又’本發料絲記鍾的控制方^ 樣的方法、作用。 U通具有同 根據本發明之快取記憶體’可在快取記憶體上確保用 20 200534096 以寫入配列等資料之快取項目,而且,可避免將處於被寫 上的命運之資料從記憶體無用地載入快取記憶體的情況發 生。 又,可防止從用以保持處於取消暫時的工作資料等的 5 命運之資料的快取項目無用寫回。 再者,處理器可在與快取記憶體之線大小及線邊界的 位址無關之狀態下從任意的位址指定任一位址(或任一大 小)作為前述位址範圍。即,由於處理器中不必管理快取記 憶體之線大小及線邊界的位址,因此,可消除為了管理快 10 取記憶體的負擔。 圖式簡單說明 第1圖係顯示本發明實施形態1中包含處理器、快取記 憶體、記憶體之系統的構略構造之方塊圖。 第2圖係顯示快取記憶體之構造例的方塊圖。 15 第3圖係顯示快取項目的詳細位元構造。 第4圖係顯示控制部之構造的方塊圖。 第5圖係顯示旗標改變部之構造例的方塊圖。 第6(a)圖係顯示將起始位址寫入起始位址暫存器之命 令的例子。 20 第6 (b)圖係顯示將大小寫入大小暫存器之命令的例子。 第6(c)圖係顯示將命令寫入命令暫存器之命令的例子。 第6(d)圖係顯示命令的其中一例。 第7圖係起始對準儀及終止對準儀的說明圖。 第8圖係顯示旗標改寫部中旗標改變處理的例子之流 200534096 程圖。 第9圖係顯示本發明實施形態2中快取記憶體之構造的 方塊圖。 第10圖係顯示快取項目的位元構造。 5 第11圖係顯示控制部之構造的方塊圖。 第12圖係顯示由旗標更新部所進行之使用旗標U的更 新例。 第13(a)圖係顯示在不存在弱旗標時替換快取項目的情 況。 10 第13(b)圖係顯示替換處理中弱旗標W的角色之說明 圖。 第14圖係顯示替換部中之U旗標更新處理的流程圖。 第15圖係顯示替換部中之替換處理的流程圖。 第16圖係顯示旗標改變部之構造的方塊圖。 15 第17圖係顯示命令格式的其中一例。 第18圖係顯示旗標改寫部中之W旗標設定處理的例子 之流程圖。
I[實方包方式U 實施發明之最佳形態 20 (實施形態1) <整體構造> 第1圖係顯示本發明實施形態1中包含處理器1、快取記 憶體3、記憶體2之系統的構略構造之方塊圖。如該圖所示, 本發明之快取記憶體3係設於包含處理器1及記憶體2之系 10 200534096 統中。 快取記憶體3具有在每個快取項目中顯示快取項目是 否有效之有效旗標V,及顯示是否已寫入該快取項目之臟旗 標D,且,並非對用以保持由處理器1指定之位址資料的快 5取項目寫回資料,而是將臟旗標D從1改變成〇(不是臟), 又,並非確保對應於由處理器丨指定之位址的快取項目且從 圮憶體載入資料,而是將有效旗標V改變成丨(有效)。 將臟旗標D從1改變成〇是為了避免從用以保持最後會 取消之暫時的工作資料的快取項目無用地寫回。又,由於 1〇並非確保快取項目且從記憶體載人資料,而是將有效旗標v 改、交成1(有效)’故可預先確保用以進行配列等寫入之快取 項目。 <快取記憶體之構造> 以下,作為快取記憶體3的具體例子,針對將本發明適 15用於4路集合關聯方式之快取記憶體時之構造作說明。 第2圖係顯示快取記憶體3之構造例的方塊圖。如該圖 所示’快取記憶體3包含位址暫存器20、記憶I/F21、解碼器 30、4個通路31a〜31d(以下省略成通路〇〜3)、4個比較器 32a〜32d、4個及電路33a〜33d、或電路34、選擇器35、36、 20 多工解訊器37、控制部38。 位址暫存器20為用以保持存取於記憶體2之存取位址 的暫存器。該存取位址設為32位元。如該圖所示,存取位 址從最上位位元依序包含21位元之標記位址、4位元之設定 索弓丨(圖中之SI)、5位元之字索引(圖中之WI)。於此,標記 200534096 位址指對映於通路之記憶體中的領域(其大小為組數X區 塊)。該領域的大小為由較標記位址下位之位址位元 (A10〜A0)所訂定之大小,即2k位元組’也可為1個通路的大 小。設定索引(SI)指橫跨通路0〜3的多組的其中一個。因為 5 設定索引是4位元,所以該組數有16組。由標記位址及設定 索引所特定之快取項目為替換單元,當儲存於快取記憶體 時則稱作線資料或線。線資料的大小為由較設定索引下位 之位址位元所訂定之大小,即128位元組。若將1個字設為4 位元組,則1個線資料為32個字。字索引(WI)指構成線資料 10 的多數字中的1個字。位址暫存器20中之最下位2位元(A1、 A0)在字存取時被忽視。 記憶I/F21為從快取記憶體3存取於記憶體2之I/F,例 如’將資料從快取記憶體3寫回記憶體2或將資料從記憶體2 載入快取記憶體3。 15 解碼器3〇係將設定索引的4位元解碼,且選擇跨越4個 通路0〜3之16組中的1個。4個通路〇〜3為具有相同構造的4 個L路且具有4x2k位元組。各通路具有16個快取項目。 第3圖顯示1個快取項目中的詳細位元構造。如該圖所 示,1個快取項目包含有效旗標ν〇〜V3、21位元之標記、128 20 位元組之線資料、臟旗標D0〜D3。 標記為21位元之標記位址的複製。 線貧料為由標記位址及設定索引所特定之區塊中的 128位元組資料的複製,且由32位元組的4個次線所構成。 有效旗標V0〜V3係對應於4條次線,且顯示次線是否有 12 200534096 效0 ^臟旗標130〜D3係對應於4條次線,且顯示是否已從處理 器,入請次線,即,顯示雖然次線中有業經快取的資料, 仁疋否因為寫入而與記憶體中的資料不同而必須寫回記慘 5體。 〜 比較器32a係比較位址暫存器2〇中之標記位址與包含 在心疋索引所選出的組中的4個標記中通路〇的標記是否一 致。關於比較器32b〜32d,除了對應於通路3化〜31d以外都 是相同ή勺。 1〇 及電路33a係比較有效旗標與比較器32a的比較結果是 否致。將該比較結果設為h〇。當比較結果⑽為丨時,表示 有位址暫存器2〇中的標記位址及對應於設定索引的線資 料’即’表示在通路〇中已命中之意。關於及電路33b〜33d, 除了對應於通路31b〜31d以外都是相同的。其比較結果 15 M〜h3意味著在通路中命中或誤失之意。 或電路34取得比較結果hl〜h3的或。將該或的結果設為 hit。hit顯示是否已在快取記憶體中命中。 選擇器35係在所選擇的組中的通路〇〜3之線資料中選 擇已命中之通路的線資料。 20 選擇器36係在選擇器35所選出之32個字的線資料中選 擇由字索引所顯示的1個字。 多工解訊器37係在將資料寫入快取項目時,將寫入資 料輸出至通路0〜3的其中一個。該寫入資料宜為字單位。 控制部38係進行快取記憶體3整體的控制。特別是依照 13 200534096 來自處理器的命令及位址指定進行v旗標的 的改變。 又不 <控制部之構造> 第4圖係顯示控制部38的構造之方塊圖。如該圖所示, 控制部38包含旗標更新物、替換部奶、旗標改變部^。 尸的=更新部39係與先前技術相同,可進旗標、D旗 ^的更新,以反應快取項目之狀態。 替換部4〇係與先前技術相同可進行快取項目之替換。 10 15 2改變部41係依照來自處理^的命令及位址指定 二旗標的改變與。旗標的改變。該命令包含 命令與D旗標設定命令。 又疋 <旗標改變部之構造> 所干第:系顯示旗標改變部41的構造例之方塊圖。如該圖 所不’旗標改變部41包含命令暫存器. ^ 術、大小暫存器彻、加算器侧、起始 D … 終止對準儀406a、佩、旗標改寫部4〇7。 5a、4〇5b、 用以=ΓΓ401為可直接從處理器1存取之暫存器,且 ^保持由處理命令。第6(e :令暫^之命令的其中—例。該命令為普通二= "),且指定命令為源運算元,並指定命令暫存哭 (⑶他為目的地運算元。第6⑷圖顯示命令格式料中二 1騎令格式包含v旗標設定命令用2位元之欄、D旗桿 汉疋命令用2位元之欄、次線指定用4位元之攔 ’、 例如,v旗標設定命令若為「1〇」,則指y出設定成v 20 200534096 = 〇(v重設命令),若為「Uj,貝指示出設定成設定 命令),若為「00」,則意味無效(無作業)。D旗標設定命令 也相同。次線指定攔為用以個別地指定次線之欄,當無個 別指定時,則視為線(全次線)指定。 5 起始位址暫存器402為可直接從處理器〗存取之暫存 器’且用以麟由處理人之起始位址。該起始位置顯 不可設定C旗標之位址範_開始位址16⑻圖係顯示將 起始位址寫入起始位址暫存器402之命令的其中一例。該命 令也與第6(c)圖同樣為普通的轉送命令(m〇v命令)。另大 10小的早位可為位元組數’也可為線數(快取項目數),亦可為 預先訂定之單位。 加算器404係加算保持於起始位址暫存器4〇2之起始位 址與保持於大小暫存器4〇3的大小。加算結果為指出位址範 b圍之結束位置的終止位址。加算器4〇4在大小為位元組數指 疋守加^成位元組位址,而在大小為線數指定時則加算成 線位址。 起始對準儀4〇5a、405b係將起始位址調整至線邊界的 位置。起始對準儀4〇5a係朝終止位址的方向調整,4〇北則 朝人、、、;止位置相反的方向調整。藉由該調整,處理器1可在 2〇與線大小及線邊界無關之狀態下,將任一位址指定成起始 位址。 起始對準儀4〇6a、406b係將終止位址調整至線邊界的 位置。起始對準儀4〇6a係朝起始位址的方向調整,4〇价則 朝與起始位置相反的方向調整。藉由該調整,處理器丨可在 15 200534096 與線大小及線邊界無關之狀態下,將任意的大小指定成上 述大小。 第7圖係顯示起始對準儀405a、405b及起始對準儀 406a、406b之說明圖。圖中,由處理器丨指定之起始位址指 5出線途的任意位置。起始對準儀405a係調整成指出下一 條線(N+1)的前頭,且將調整後之位址以對準起始位址&輸 出。起始對準儀405b係調整成指出包含起始位址之資料的 線N的前頭,且將調整後之位址以對準起始位輸出。將 對準起始位址所指之線稱作起始線。 又,終止位址指出線]v[中途的任意位置。終止對準儀 4〇6a係調整成指出前_條線(My)的前頭,且將調整後之 止以對準終止位址a輸出。終止對準儀4〇此係調整成指出 包含終止位址之資料的線M的前頭,且將調整後之位址以 對準、冬止位址b輸出。將對準終止位址所指之線 15 線。 、 』所7^ ’起始對準儀4〇5a及終止對準儀406a係以 ^早=行内靖準。起始對準儀獅祕止對準儀·b 20 進行外側對準。再者,在線單位之外側對準後, σ進行人線單位之外側對準與内側對準。 =寫部4〇7係從起始線至終止線絲命令設定謂 内^4值。此時,依照命令來選擇起始線及终止線是 内側對準或外側對準。 Μ、止綠疋 <旗標改變處理> 第8圖係顯 示旗標改變部407中之旗標改變處理的例子 16 200534096 之流程圖。=中顯示D重設命令與v設定命令。 圖 重°又°卩令寫入命令暫存器401時(S80),旗標 改變部4〇7係從起始對準儀奶a、彻b、終止對準儀輪、 獅之輸出中選擇内側對準之起始線與終止細D。於 5此,選㈣側對準是由於線N與線财之起始位址與終止位 址外側的貝料不-定由處理器1取消之故。 再者,旗料變部術係―面料輸—鱗至終止線 的各線位址,—面進行迴路1之處理(S82韻)。由於旗標 改又σρ4〇7對各線進行相同的處理,故在此針對丄條線之處 10 理作說明。 即,旗標改變部407在尚未從處理器1存取於快取記憶 體3時,將線位址輸出至位址暫存H20(S90),且在比較器 32a〜32d中比較位址暫存器2〇之標記位址與快取項目的標 。己’以判疋疋否命中(S84)。再者,旗標改變部4〇7在命中時, 15對所命中之快取項目將130〜D3旗標重設為〇(S85),且在誤失 命中時,由於並未登錄在快取記憶體,因此什麼也不作。 如此一來,對起始線至終止線的各線而言,在登錄於 快取記憶體3時,在D0〜D3旗標設定0。旗標改變部4〇7在迴 路1結束後清除命令暫存器401之命令(S98)。藉此,可防止 20從用以保持處於取消暫時的工作資料等的命運之資料的快 取項目無用寫回。 又’第8圖中,當V設定命令寫入命令暫存器401時 (S87),旗標改變部407係從起始對準儀405a、405b、終止對 準儀406a、406b之輸出中選擇外側對準之起始線與終止線 17 200534096 於内側對準無法確保起始 (S88)於此,選擇外側對準是由 位址至終止位址的大小之故。 5 再者,旗標改變部407係一面依序輸出起始線至终止線 的各線位址-面騎迴路2之處理(s89〜由於旗標改 變部407對各線進行相同的處理,故在此針對1條線之處理 作說明。 处里 士即’旗標改變部407在尚未從處理器1存取於快取記憶 體3日$將線位址輸出至位址暫存器零9〇),且在比較器 32a 32d中比較位址暫存器2Q之標記位址與快取項目的標 1〇記,以判定是否命中(則)。再者,旗標改變部407在未命中 犄,仗對應於該線位址之組内的4個通路式選擇 1個替換對象之通路(S92),並判定所選擇之通路之臟旗標 DO D3的邏輯和是否為1(S93)。當判定出該邏輯和為工時, 即,該邏輯和為臟時,旗標改變部4〇7僅寫回臟之次線 15 (S94)田判疋出该邏輯和不是1時,即,該邏輯和不是臟時, 或者在臟之次線寫回後,旗標改變部4〇7並非從記憶體將資 料載入快取項目,而是在快取項目中設定線位址作為標記 (S95) ’且將有效旗標V0〜V3設為1(S96)。如此一來,即使 未保持有效的資料,亦可確保設定成ν〇〜ν3二條線的 20 快取項目。 再者’旗標改變部407在迴路丨結束後清除命令暫存器 401之命令(S98)。 藉此’可在快取記憶體上確保寫入配列等資料用之快 取項目,且,可防止無用寫回的情況發生。 18 200534096 如上所述,根據本實施形態之快取記憶體,藉由D重設 命令,可防jh k保持處於取消命運的資料之快取項目無用 地寫回。又,藉由V設定命令,可在快取記憶體上確保寫入 配列等資料用之快取項目,且,可防止無用寫回的情況發 5 生。 另,在上述實施形態中,雖已針對D重設命令與v設定 命令作說明,但就V重設定命令而言,藉由在第8圖所示之 S87~S98中,刪除步驟S95,且在步驟S96中將V0〜V3重設為 〇即可實現。藉此,可防止無用寫回,且開放快取項目。 10 又,〇設定命令可與第8圖之S80〜S86同樣地執行,但 若考量從處理為1籍由儲存指令寫入資料會設定D旗標以及 若設定D旗標會發生寫回動作等情況時,則不太能說是實用 的。但,可利用在快取記憶體之測試動作或性能的評價或 驗證等。 15 <變形例> 另,本發明之快取記憶體並不限於上述實施形態之構 造,亦可進行各種變形。以下針對幾個變形例作說明。 (1)雖然上述實施形態中同時設定或重設>/〇〜¥3旗標、 D0〜D3旗標,但亦可以次單位設定或重設。 2〇 例如,當僅以次線單位處理起始線與終止線時,旗標 改寫部407可選擇業經外側對準(線)之起始位址與終止位 址且藉由外側對準(次線)或内側對準(次線)算出起始線之 人、、泉位址契終止、線之次線位土止,並僅以次線單位處理起始 線與終止線。 19 200534096 又,處理1可在命令中之次線指定棚中指定其主旨。 例如,當處理器1將大小暫存器403的大小指定成0,且 在命令中之次線指定欄中指定特定的次線時,旗標改寫部 407可僅以經指定之次線為對象作處理。 5 (2)又,旗標改變部41亦可包含用以檢測已執行附有臟 旗標重設指示之記憶存取命令之命令檢測部,及根據該命 令對未經存取之快取項目重設臟旗標之旗標改寫部。 再者,命令檢測部亦可用以檢測已執行附有有效旗標 重設指示之記憶存取命令,且旗標改寫部亦可根據該命令 10 對未經存取之快取項目重設有效旗標。 (3)雖然在上述實施形態中以4路集合關聯方式之快取 記憶體為例作說明,但通路數是幾個都可以。又,雖然在 上述實施形態中說明組數為16的例子,但組數是幾個都可 以0 15 (4)雖然在上述實施形態中以集合關聯之快取記憶體為 例作說明,但亦可為全關聯方式之快取記憶體。 (5)雖然在上述實施形態中將次線的大小設為線的大小 的1/4,但亦可為1/2、1/8、1/16等其他大小。此時,各快取 項目可分別保持與次線同數之有效旗標及臟旗標。 20 (實施形態2) 在實施形態1中針對進行V旗標的改變與D旗標的改變 之構造作說明,而在本實施形態中則針對在具有顯示是否 再使用(寫入及讀取)之W(弱)旗標之快取記憶體中改變W旗 標之構造作說明。 20 200534096 <快取記憶體之構造> 第9圖係顯不本發明實施形態2中快取記憶體之構造的 方塊圖。该圖之快取記憶體與第2圖之構造相較之下,不同 點在於以通路131a〜13ld取代通路3ia〜3ld以及以控制部 5 138取代控制部38。以下,相同點則省略説明,且以不同點 為中心作說明。 通路131a與通路3ia相較之下,不同點在於在各快取項 目中追加w旗標及u旗標。通路1311)〜131(1也相同。 第10圖係顯示快取項目的位it構造。1個快取項目可保 10持有效旗標V0〜V3、21位元之標記、128位元組之線資料、 弱旗標W、使用旗標U及臟旗標D0〜D3。 其中,弱旗標W關於來自處理器之存取係意味是否再 使用之意,而關於快取記憶體中之替換控制則意味比其他 快取項目先被逐出之最弱的替換對象。如此一來,由於弱 15旗標w有兩種意思,故在清除處理與替換處理2種處理中可 作為參照。 使用旗標u係顯示是否已存取於該快取項目,且在 方式中因誤失命中導致替換時,使用成取代4路快取項目間 之存取順序資料。更正確地來說,使用旗標表示已存 20 T,、而0表示沒有。但,若1組内的4個通路之使用旗標全部 ,成卜則重設為0。換言之’使用旗標U顯示存取的時期是 舊=還是新的2種相對的狀態。即,使用旗標的快取= 目意味著較使用旗標1;是〇的快取項目在 、 控制部職控制梅較之下,不同::二旗 21 200534096 才示與利用使用旗標U取代lru方式中之存取順序資訊。 <控制部之構造> 第11圖係顯示控制部138之構造的方塊圖。該圖之控制 部138與控制部38相較之下,具有旗標更新部139、替換部 5 14〇、旗標改變部141來取代旗標更新部39、替換部4〇、旗 標改變部41。 旗標更新部139與旗標更新部39相同,除了更新¥旗 標、D旗標以外,在快取記憶體被存取時,可進行使用旗標 U之更新處理。 10 替換部140並非藉由普通的LRU方式,而是藉由以使用 旗標U為存取順序之近似的LRU方式來進行替換。但,在替 換處理時,會先選擇W=1的快取項目作為替換對象。 旗標改變部141係依照來自處理器1的命令來設定弱旗 標W。處理器丨已針對未使用(寫入及讀取)之快取項目,對 15快取記憶體3發出指示弱旗標的設定命令。 快取項目在快取誤失時不管使用旗標U的值為何都先 成為替換對象。又,若W=1的快取項目為臟,則成為清除 處理的對象。 <使用旗標U的說明> 20 第12圖係顯示由旗標更新部39所進行之使用旗標u的 更新例。該圖之上段、中段、下段係顯示構成橫跨通路〇〜3 之組N的4個快取項目。4個快取項目右端的1或〇分別為使用 旗標U的值。將該等4個使用旗標U記成U0〜U3。 由於該圖上段之(U0〜U3)=(l、0、1、0),故意味著通 22 200534096 路〇、2之快取項目業已存取以及通路1、3之快取項目未广 取之意。 子 該狀態下,當記憶存取命中組㈣的通路㈣快取項目 時,如該圖中段所示,會更新為(u〇〜U3) = (1、i、丄、⑴。 5即,如貫線所不,通路1的使用旗標U1會從0更新成J。 再者,在該圖中段之狀態下,當記憶存取命中組N内的 通路3的快取項目時,如該圖下段所示,會更新為 (U0〜U3)=(0、〇、〇、υ。即,如實線所示,通路⑽使用旗 標U3會從0更新成:1。除此以外,如虛線所示,通路3以外的 1〇使用旗標U0〜U2則從i更新成〇。藉此,意味著通路蝸快取 項目較通路0〜2的各快取項目先存取。 替換部140在快取誤失時若沒有㈣的快取項目,則根 據使用旗標決定替換對象的快取項目且進行替換。例如, 旗標更新部39在第5圖的i段將通路!與通路3其中一個決 15定成替換對象,|在第5圖白勺中段將通路3決定成替換對 象,並在第5圖的下段將通路〇〜2任何一個決定成替換對象。 <弱旗標W的說明> ' 第13⑻圖為假定沒有弱旗標時之比較例,且顯示替換 快取項目的情況。該圖亦與第12圖相同,顯示構成橫跨通 路0〜3之組N的4個快取項目。4個快取項目右端的_分別 為使用旗標的值。又,僅將資料E設為存取頻率低的資料, 且將資料A、B、C、D設為存取頻率高的資料。 在該圖⑻之第i段的狀態下,若處理器、i存取至資科 E,則會發生快取誤失。因為該快取誤失,會例如從㈣的 23 200534096 快取項目中將存取頻率高的資料c的快取項目替換成存取 頻率低的資料E,而成為第2段的狀態。 在第2段的狀態T ’錢理器i存取至資料c,則會發生 快取誤失。因為該快取誤失,會將u:=〇的快取項目之存取 5頻率高的資料D的快取項目替換成存取頻率高的資料c,而 成為第3段的狀態。 在第3段的狀態下’若處理器!存取至資抑,則會發生 快取誤失。因為該快取誤失,會例如將存取頻率高的資料c 的快取項目替換成存取頻率高的資袖,而成為第4段的狀 同樣地,在第4段中不將使用頰率低的選擇為替 換對象,而留在快取記憶體中。 在第5段的狀態中,由於使用頻率低的資料E最舊 (U〜〇) ’因此選擇為替換對象,且逐出之。 、士此在近似LRU方式中(在普通的:奶方中也如此), 因"為存取頻率低的資料E,在4路時最不良的情況是誘發4 次快取誤失。 第13(b)圖係顯不替換處理中弱旗標w的角色之說明 圖〇 ^在该圖(b)之第1段的狀態(與該圖⑻之第1段相同)下, ^ 时1存取至資料£,則會發生快取誤失。因為該快取 失會例如從u==0的快取項目中將存取頻率高的資料c的 &取項目替換成存取頻率低的資料E。此時,處理器1在資 料£的快取項目中將弱旗標W設為1。藉此,在下-次快取 24 200534096 而成為第2段的 誤失時,資料E的快取項目會最先被逐出, 狀態。 在第2段的狀態下,若處理器丨 快取等失。@ 至貧料C,則會發生 失因為该快取誤失,會將⑹的快取項目之存取 =⑽料E的快取項目選擇成替換對替= 頻率南的資料C,而成為第3段的狀態。 成存取 如此一來,藉由設置弱旗標W,可減少存取頻率低的 資料誘發快祕失。 H貞羊低的 <u旗標更新處理> 10 第U圖係顯示替換部刚^旗標更新處理的流程圖。 ^圖中’將有效旗標為G(無效)之快取項目的使用旗標 u初始化為〇。 該圖中,替換部140在快取命中時(步驟s6i),將由設 ,索引所選擇之組中已設定之通路的使用旗標u設定成 15 (步驟S62),且讀取該組内其他通路的使用旗標u(步驟 …)亚判疋所項取之使用旗標U是否全部是1(步驟S64), 若並非全部都是!則結束,若全部都是i則將其他通路所有 的使用旗標u重設為〇(步驟S65)。 士此來,替換部M0如第12圖、第13⑷圖、第13(b) 20圖所示之更新例般更新使用旗標U。 <替換處理> 第15圖係顯示替換部140中之替換處理的流程圖。該圖 中,替換部140在記憶存取誤失時(步驟S91),讀取由設定索 引選出之組中之4路的使用旗標u及弱旗標…(步驟S92),且 25 200534096 通路是否存在(步驟S93)。當判定出… 5 10 不存在則選擇!個㈣的通路(步驟s94)。此時,者有夕 =旗標U為⑽通路時,替換部聊猶機細個二 二疋出胸的通路存在時,則無關於u旗標的值為何 =固W=1的通路(步驟叫此時,⑽數弱旗標物 勺通路時,替換部14〇則隨機選擇工個。
再者,替換部M0以該組t經選擇之通路的快取項目為 1進行替換(步驟S96),且在替換後將該快取項目之使用 旗與弱旗標w初始化為咖(步驟μ7)。另,此時,有 效旗標V、臟旗標D分別初始化為1、〇。 如此一來,當沒有〜=1的通路時,替換對象則從使用 旗‘ U為〇的快取項目中選出1個。 又’當有W=1的通路時,替換對象則不管使用旗標u 是0還是1,而從w=l的通路的快取項目中選出以固。藉此, 15
女第13(a)圖、第13(b)圖所示,可減少因存取頻率低的資料 留在快取記憶體中而誘發快取誤失的情況發生。 <旗標改變部141之構造> 第16圖係顯示旗標改變部141之構造的方塊圖。該圖之 構造與第5圖所示之旗標改變部41相較之下,不同點在於以 2〇 旗標改寫部407a取代旗標改寫部4〇7。 旗標改寫部407a除了旗標改寫部407的功能以外,在進 行W旗標的改變與使用旗標u的改變上不同。因此,在命令 暫存器401中可由處理器1來設定指示w旗標的指定之W命 令、指示旗標U的指定之u命令。第Π圖係顯示該等命令格 26 200534096 式的其中一_。該圖之命令袼式相對於第6(b)圖所示之命令 才口 k加了 W命令及u命令的才闌。w命令及u命令的内容血 D命令或V命令相同。 <…旗標設定處理〉 第圖係顯示旗標改寫部她中之w旗標設定處理的 例子之流程圖。 —人旗標改寫部4G7a在命令暫存器中保持有W旗標設 定命令時,依序輸出起始線至終止線的各線位址並進行迴 路1的處理(S82〜S86)。由於旗標改寫部術對各線進行相 10同的處理,因此,於此針對〗條線的處理作說明。 即,旗標改變部407a在尚未從處理器〗存取於快取記憶 體3½ ’將線位址輸出至位址暫存器撕挪),且在比較器 32a〜32d中比較位址暫存器2〇之標記位址與快取項目的標 。己以判定疋否命中(S84)。再者,旗標改變部4〇7a在命中 15打,對所命中之快取項目將標設為1(S85),且在誤失命 中日守,由於並未登錄在快取記憶體,因此什麼也不作。 藉此,對起始線至終止線的各線而言,在登錄於快取 記憶體3時,在W旗標設定1。 <u旗標設定處理> 旗標改變部407a在命令暫存器401中保持有1]旗標設定 命令時,係依照該命令設定u旗標。該處理藉由在第18圖中 將W旗標換讀成U旗標,則可與…旗標設定處理完全一樣地 執行。 如上所述,根據本實施形態之快取記憶體,藉由設定 27 200534096 200534096 5 ,、+r可在&取#失時將W=1的快取項目視為最舊的快 取項目而最先作為替換對象。又,雖然使用旗標⑽值只有 1位兀但由於會指出存取順序是舊的還是新的,因此,可 藉由U旗標設定處理,對起始線至終场的各線奴存取順 序。例如’處理器謂欲先留在快取記憶體3的位址資料指 定成位址範圍’且發出設定㈤仙旗標設定命令。 t上所述,根據本實施形態之快取記憶體,藉由設定 @ τ可在&取决失時將W=1的快取項目視為最舊的快 :而最先作為替換對象。又,雖然使用旗標U的值只有 ㈣喊咖,因此,可 二例::定處理,對起始線至終止線的各線設定存取順 2列如’―將欲先留在快取記憶 :成:址範圍’且發出設定U,標設定命令。相反 地,亦可將可從快 汉 15 且發出設定蚊纽址範圍’ <變形例> 取項目最先料 在被=之前’如果是臟’則亦可進行清除(寫二 (2)第 6(a)圖、第 ^ 20 由編譯器插入程式中= 入不合再HU 述各命令插 曰再進仃例如配„料的寫人 之區塊資料的寫人等寫人之程式位置即可。旦貝糾 產業上之可利用性 本發明適用於可使記憶存取高速化之快取記憶體,例 28 200534096 如,適用於晶片内快取記憶體、晶片外快取記憶體、資料 快取記憶體、命令快取記憶體等。 I:圖式簡單說明3 第1圖係顯示本發明實施形態1中包含處理器、快取記 5 憶體、記憶體之系統的構略構造之方塊圖。 第2圖係顯示快取記憶體之構造例的方塊圖。 第3圖係顯示快取項目的詳細位元構造。 第4圖係顯示控制部之構造的方塊圖。 第5圖係顯示旗標改變部之構造例的方塊圖。 10 第6 (a)圖係顯示將起始位址寫入起始位址暫存器之命 令的例子。 第6(b)圖係顯示將大小寫入大小暫存器之命令的例子。 第6(c)圖係顯示將命令寫入命令暫存器之命令的例子。 第6(d)圖係顯示命令的其中一例。 15 第7圖係起始對準儀及終止對準儀的說明圖。 第8圖係顯示旗標改寫部中旗標改變處理的例子之流 程圖。 第9圖係顯示本發明實施形態2中快取記憶體之構造的 方塊圖。 20 第10圖係顯示快取項目的位元構造。 第11圖係顯示控制部之構造的方塊圖。 第12圖係顯示由旗標更新部所進行之使用旗標U的更 新例。 第13(a)圖係顯示在不存在弱旗標時替換快取項目的情 29 200534096 況。 第13(b)圖係顯示替換處理中弱旗標w的角色之說明 圖。 第14圖係顯示替換部中之u旗標更新處理的流程圖。 5 第15圖係顯示替換部中之替換處理的流程圖。 第16圖係顯示旗標改變部之構造的方塊圖。 第17圖係顯示命令格式的其中一例。 第18圖係顯示旗標改寫部中之w旗標設定處理的例子 之流程圖。 10 【圖式之主要元件代表符號表】 1···處理器 40、140···替換部 2···記憶體 41、141···旗標改變部 3···快取記憶體 401···命令暫存器 20…位址暫存器 4〇2…起始位址暫存器 21…記憶I/F 403…大小暫存器 30···解碼器 404···加算器 31a〜31d、131a〜131d···通路 405a、405b·.·起始對準儀 32a〜32d··.比較器 406a、406b···終止對準儀 33a〜33d···及電路 407、407a···旗標改寫部 34···或電路 V···有效旗標 35、36···選擇器 D...臟旗標 37…多工解訊器 U···使用旗標 38、138···控制部 W...弱旗標 39、139···旗標更新部 h0〜h3···比較結果 30

Claims (1)

  1. 200534096 十、申請專利範圍: 1. 一種快取記憶體,包含: 旗標保持機構,係對應於用以保持快取單元資料之 快取項目,保持用以顯示該快取項目是否有效之有效旗 5 標與用以顯示是否已寫入該快取項目之臟旗標;及 改變機構,係根據來自處理器的指示,將前述有效 旗標及臟旗標至少其中一者改變成與快取項目之狀態 相反。 2. 如申請專利範圍第1項之快取記憶體,其中前述改變機 10 構不從記憶體載入資料,而對前述快取項目設定作為標 記之位址並設定有效旗標。 3. 如申請專利範圍第2項之快取記憶體,其中前述改變機 構係在保持有尚未寫回快取項目且業經改寫之資料的 狀態下重設臟旗標。 15 4.如申請專利範圍第2或3項之快取記憶體,其中前述快 取記憶體更具有: 保持機構,係用以保持業經前述處理器指定之位址 範圍者;及 特定機構,係用以特定用以保持屬於業經保持之位 20 址範圍的資料之快取項目者, 又,前述改變機構係對業經特定之快取項目改變前 述有效旗標及臟旗標至少其中一者。 5.如申請專利範圍第4項之快取記憶體,其中前述特定機 構包含: 31 200534096 弟1變換機構’係當前述位址範圍之前頭位址指出 線資料之中途時,將該前頭位址變換為指出包含在^述 位址範圍中之前頭的線之起始線位址者; 第2變換機構,係當前述位址範圍之最終位址指出 5 線資料之中途時,將該最終位址變換為指出包含在^述 位址範圍中之最終的線之終止線位址者;及 判定機構,係判定是料用轉持對應於前述起始 線位址至終止線位狀各線純的:賴之絲項目者。 6.如申請專利範圍第!項之快取記憶體,其中前述改變機 10 構更具有: 命令檢測機構’係肋檢測已執行附麵旗標重設 指示之記憶存取命令者;及 旗標改寫機構,雜據上述命令對未經存取之快取 項目重設臟旗標者。 、 15 20 7.如申請專利範項之快取記㈣,其中前述改變機 構更具有· 命令檢測機構,_侧已齡㈣有 設指示之記憶存取命令者;及 ” 項目重設有效㈣者。 -種控制方法’係具料⑽標及軸 的控制:且該有效旗標係對應於用心持= 前述臟旗標係用以顯示是否已寫有二者,而 32 8. 200534096 又,前述控制方法包括下列步驟: 根據處理器之指不’不從記憶體載入貧料’而對快 取項目設定作為標記之位址並設定有效旗標;及 根據處理器之指示,在保持有尚未寫回快取項目且 5 業經改寫之資料的狀態下重設臟旗標。 10 33
TW093139785A 2003-12-22 2004-12-21 Cache memory and its controlling method TW200534096A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003424042 2003-12-22

Publications (1)

Publication Number Publication Date
TW200534096A true TW200534096A (en) 2005-10-16

Family

ID=34746820

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093139785A TW200534096A (en) 2003-12-22 2004-12-21 Cache memory and its controlling method

Country Status (7)

Country Link
US (1) US7454575B2 (zh)
EP (1) EP1698978A4 (zh)
JP (1) JP4008947B2 (zh)
KR (1) KR100837479B1 (zh)
CN (1) CN100517273C (zh)
TW (1) TW200534096A (zh)
WO (1) WO2005066796A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602006011292D1 (de) 2005-04-08 2010-02-04 Panasonic Corp Cache-speichersystem und steuerverfahren dafür
JP2009157608A (ja) * 2007-12-26 2009-07-16 Nec Corp キャッシュメモリシステムおよびキャッシュメモリ制御方法
JP5420182B2 (ja) * 2008-03-14 2014-02-19 富士通セミコンダクター株式会社 キャッシュメモリシステム、データ処理装置および記憶装置
JP2010033480A (ja) * 2008-07-31 2010-02-12 Sony Corp キャッシュメモリおよびキャッシュメモリ制御装置
TW201015319A (en) * 2008-09-17 2010-04-16 Panasonic Corp Cache memory, memory system, data copying method and data rewriting method
TW201017421A (en) * 2008-09-24 2010-05-01 Panasonic Corp Cache memory, memory system and control method therefor
US9342461B2 (en) 2012-11-28 2016-05-17 Qualcomm Incorporated Cache memory system and method using dynamically allocated dirty mask space
CN103345429B (zh) * 2013-06-19 2018-03-30 中国科学院计算技术研究所 基于片上ram的高并发访存加速方法、加速器及cpu
US9734062B2 (en) * 2013-12-13 2017-08-15 Avago Technologies General Ip (Singapore) Pte. Ltd. System and methods for caching a small size I/O to improve caching device endurance
KR102354990B1 (ko) 2014-09-17 2022-01-24 삼성전자주식회사 캐시 메모리 시스템 및 그 동작방법
GB2533768B (en) * 2014-12-19 2021-07-21 Advanced Risc Mach Ltd Cleaning a write-back cache
US9971686B2 (en) * 2015-02-23 2018-05-15 Intel Corporation Vector cache line write back processors, methods, systems, and instructions
KR102362239B1 (ko) 2015-12-30 2022-02-14 삼성전자주식회사 디램 캐시를 포함하는 메모리 시스템 및 그것의 캐시 관리 방법
GB2547189A (en) * 2016-02-03 2017-08-16 Swarm64 As Cache and method
WO2017196138A2 (en) 2016-05-12 2017-11-16 Lg Electronics Inc. System and method for early data pipeline lookup in large cache design
CN107992433A (zh) * 2017-12-19 2018-05-04 北京云知声信息技术有限公司 二级缓存检测方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
JPH0354649A (ja) * 1989-07-24 1991-03-08 Oki Electric Ind Co Ltd バッファ記憶制御方式
JPH0784879A (ja) 1993-09-09 1995-03-31 Toshiba Corp キャッシュメモリ装置
JPH0869417A (ja) * 1994-08-29 1996-03-12 Sanyo Electric Co Ltd 計算機システム
US6205521B1 (en) * 1997-11-03 2001-03-20 Compaq Computer Corporation Inclusion map for accelerated cache flush
JP2000029788A (ja) * 1998-07-15 2000-01-28 Nec Corp キャッシュメモリシステム及びそれに用いるキャッシュ制御方法並びにその制御プログラムを記録した記録媒体
JP2000200221A (ja) 1998-10-30 2000-07-18 Nec Corp キャッシュメモリ装置及びその制御方法
JP2001222467A (ja) * 2000-02-07 2001-08-17 Matsushita Electric Ind Co Ltd キャッシュ装置
JP2003223360A (ja) * 2002-01-29 2003-08-08 Hitachi Ltd キャッシュメモリシステムおよびマイクロプロセッサ
US7065613B1 (en) * 2002-06-06 2006-06-20 Maxtor Corporation Method for reducing access to main memory using a stack cache
US7203798B2 (en) * 2003-03-20 2007-04-10 Matsushita Electric Industrial Co., Ltd. Data memory cache unit and data memory cache system

Also Published As

Publication number Publication date
WO2005066796A1 (ja) 2005-07-21
KR100837479B1 (ko) 2008-06-12
US7454575B2 (en) 2008-11-18
EP1698978A1 (en) 2006-09-06
JPWO2005066796A1 (ja) 2007-12-20
KR20060086968A (ko) 2006-08-01
JP4008947B2 (ja) 2007-11-14
EP1698978A4 (en) 2008-11-05
US20070143548A1 (en) 2007-06-21
CN1898654A (zh) 2007-01-17
CN100517273C (zh) 2009-07-22

Similar Documents

Publication Publication Date Title
TW200534096A (en) Cache memory and its controlling method
US7917698B2 (en) Method and apparatus for tracking load-marks and store-marks on cache lines
TWI403900B (zh) 用於資料傳送期間受限之快取記憶體存取之系統及其方法
US9892039B2 (en) Non-temporal write combining using cache resources
EP1399823B1 (en) Using an l2 directory to facilitate speculative loads in a multiprocessor system
EP1729220A1 (en) Cache memory and control method thereof
TWI383295B (zh) 拋棄快取項目中過時的項目
US20080177952A1 (en) Method and Apparatus for Setting Cache Policies in a Processor
US20110167224A1 (en) Cache memory, memory system, data copying method, and data rewriting method
US20070288694A1 (en) Data processing system, processor and method of data processing having controllable store gather windows
US6378048B1 (en) “SLIME” cache coherency system for agents with multi-layer caches
US8015363B2 (en) Cache consistency in a multiprocessor system with shared memory
JP2020519991A (ja) 能力メタデータを管理するための装置及び方法
US20080052467A1 (en) System for restricted cache access during information transfers and method thereof
US7555610B2 (en) Cache memory and control method thereof
US11061824B2 (en) Deferring cache state updates in a non-speculative cache memory in a processor-based system in response to a speculative data request until the speculative data request becomes non-speculative
US10628312B2 (en) Producer/consumer paced data transfer within a data processing system having a cache which implements different cache coherency protocols
JP3813393B2 (ja) キャッシュメモリの制御方法及び情報処理装置
TW200530818A (en) Cache memory and control method thereof
TW201308079A (zh) 快取記憶體裝置與快取記憶體資料存取方法
JP4057699B2 (ja) 記憶システム