TWI283348B - Method, system, and apparatus for a hierarchical cache line replacement - Google Patents
Method, system, and apparatus for a hierarchical cache line replacement Download PDFInfo
- Publication number
- TWI283348B TWI283348B TW094102925A TW94102925A TWI283348B TW I283348 B TWI283348 B TW I283348B TW 094102925 A TW094102925 A TW 094102925A TW 94102925 A TW94102925 A TW 94102925A TW I283348 B TWI283348 B TW I283348B
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- cache line
- state
- replacement
- memory
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 28
- 230000015654 memory Effects 0.000 claims description 100
- 238000004891 communication Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 18
- 238000010422 painting Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- 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
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64D—EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- B64D47/00—Equipment not otherwise provided for
- B64D47/02—Arrangements or adaptations of signal or lighting devices
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B7/00—Signalling systems according to more than one of groups G08B3/00 - G08B6/00; Personal calling systems according to more than one of groups G08B3/00 - G08B6/00
- G08B7/06—Signalling systems according to more than one of groups G08B3/00 - G08B6/00; Personal calling systems according to more than one of groups G08B3/00 - G08B6/00 using electric transmission, e.g. involving audible and visible signalling through the use of sound and light sources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Aviation & Aerospace Engineering (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Computer And Data Communications (AREA)
Description
1283348 (1) β 九、發明說明 【發明所屬之技術領域】 所揭示的本發明係有關快取記憶體,諸如係有關快取 線替換機制。 【先前技術】 如所習知的’快取記憶體儲存電腦或運算系統的資訊 ',以便減少處理器的資料擷取時間。運算系統的某些例子 Φ 包括個人數位助理、無線上網機、及細胞式電話。快取記 憶體將資訊的特定子集儲存在高速記億體中。資訊的一些 例子包括指令、位址、及資料。當一處理器要求一資訊時 ’該系統先檢查快取記憶體,以便確定該資訊是否被儲存 在快取記憶體內。如果確係如此,則該處理器可以比資料 被儲存在諸如隨機存取記憶體、硬碟機、唯讀光碟(CD-ROM )、或軟碟等其他電腦可讀取的媒體時多的速度下擷 取該資訊。 Φ 快取記憶體在被對映到預定快取記憶體位置上有一範 圍的不同架構。例如,快取記憶體可以是直接對映式或完 全關聯式。或者,另一快取記憶體是一組關聯式快取記憶 體,此種快取記憶體是直接對映式快取記憶體與完全關聯 式快取記憶體間之一折衷。在一直接對映式快取記憶體中 ,每一組中有一位址位置。相反地,N路關聯的一完全關 聯式快取記憶體在快取記億體中有總數有N個的區塊。 最後,一般被稱爲N路組關聯式的組關聯式快取記憶體 將該快取記憶體分爲複數N個路,其中係針對一標記而 -5- 1283348 (2) 以關聯方式搜尋每一位址。
有效率的快取記憶體作業在發生一快取記憶體未命中 時使用快取記憶體管理技術來替換快取記憶體位置。在一 典型的快取記憶體未命中之中,自系統或主記憶體提取的 位址及資料被儲存在快取記憶體中。例如,快取記憶體需 要決定來自系統記憶體的新位址及資料將要替換哪一快取 記憶體位置。用來替換快取記憶體位置的一種技術是實施 | —種具有最近最少使用(Least Recently Used ;簡稱LRU )位元的一協定。係針對每一快取記憶體位置而儲存最近 最少使用位元,且於存取或替換該快取記憶體位置時,更 新該等最近最少使用位元。有效位元決定各別快取記憶體 位置的一致性狀態。因此,快取記憶體根據最近最少使用 位元及有效位元的値,而有效地替換最近最少使用位元指 示該快取線是最近最少使用的快取線或該快取線是無效的 快取線之快取記憶體位置。有各種爲快取記憶體所使用的 φ 替換協定,例如,虛擬LRU、隨機、最近不曾使用(Not Recently Used ;簡稱NRU )協定。然而,現有的替換協 定可能造成較繁忙的快取記憶體間之通訊。例如,自一蘊 含式最後一階快取記憶體替換一快取線時,將要求自所有 較低階的快取記憶體剔除相同的快取線。因此,將造成較 繁忙的快取記憶體間之通訊。 【發明內容】 本發明揭示了 一種快取線替換協定,該快取線替換協
-6 - 1283348 (3) 定係用來至少部分地根據因被替換的快取線而產生的快取 記憶體間之通訊而選擇被替換的一快取線。 【實施方式】 在下文的詳細說明中,述及了許多特定的細節,以便 提供對申請專利範圍的主題之徹底了解。然而,熟習此項 ~ 技術者當可了解,可在無須這些特定細節的情形下實施申 φ 請專利範圍的主題。在其他的情形中,並未詳述一些習知 的方法、程序、組件、及電路,以免模糊了申請專利範圍 的主題。 現有技術開發的一領域係有關快取記憶體替換協定的 速度及效率之改善。如前文所述,現有的替換協定可能造 成較繁忙的快取記憶體間之通訊。例如,自一蘊含式最後 一階快取記憶體替換一快取線時,將要求自所有較低階的 快取記憶體剔除相同的快取線。因此,將造成較繁忙的快 0 取記憶體間之通訊。例如,圖1示出在一第2階(L2 )快取 記憶體與一第1階(L 1 )快取記憶體間之快取記憶體間之 通訊。 相反地,申請專利範圍的主題有助於一種至少部分地 根據與一將被剔除的快取線相關聯的潛在的快取記憶體間 之通訊而選擇該特定的將被剔除的快取線之替換協定。因 此,根據快取記憶體間之通訊而選擇將被剔除的一快取線 時,將可進行有效率的快取線替換’且(或)可減少該等 快取記億體及各階層的快取記憶體之競爭,因而將得到更 1283348 (4) 有效率的匯流排利用。在一實施例中’該替換協定是一種 四路虛擬最近最少使用(LRU)替換協定’並支援MESI (被修改的/唯一的/共用的/無效的)快取記憶體狀態 。在另一實施例中,該替換協定是一種四路虛擬最近最少 使用(LRU )替換協定,並支援MESI (被修改的/唯一 的/共用的/無效的)快取記億體狀態以及諸如ΜI、M S 、及ES等額外的快取記憶體狀態。該等額外的快取記憶 p 體狀態ΜI、M S、及E S有助於匯流排監視過濾°爲了解 說這些狀態,我們將自一系統觀點詮釋該等快取記憶體狀 態,第一字母代表在最後一階快取記憶體中之快取線的狀 態,第二字母代表在次一較低階快取記憶體中之快取線的 狀態。如前文所述,相同的定義適用於Μ、Ε、S、及 I 。例如,係將具有一 ΜΙ狀態的一快取線詮釋爲:具有最 後一階的快取記憶體中之快取線的一被修改的狀態,同時 具有次一較低階的快取記憶體中之快取線的一無效的狀態 ,。 申請專利範圍的主題有助於一種如參照圖2-5所述的 支援一單一核心處理器並如參照圖6-9所述的支援一多核 心處理器之LRU協定、以及一種如參照圖1〇所述的使用 一單一核心處理器或多核心處理器之系統。 圖2是一實施例所使用的一快取線之狀態與通訊成本 間之關係之一表。該表示出快取記憶體狀態(2 02 )、快 取記憶體間之通訊(204 )、以及在該特定快取記憶體狀 態下剔除一快取線的相對成本(2 〇 6 )之可能値。剔除一 -8- 1283348 (5) - 快取線時,可造成不同的快取記憶體間之通訊 在一被修改的狀態(Μ狀態)下剔除一第二階 記億體中之一快取線時,將使用兩個額外的交 用來自所有較低階的快取記憶體移除該快取線 交易;以及第二,用來記錄被修改的資料之寫 ^ 體交易。 * 作爲比較,在一無效的狀態(I狀態)下 φ 線時,將不會造成任何額外的通訊,這是因爲 何其他的快取記憶體移除該快取線。因此,將 指定給該表中之此快取記憶體狀態。 圖3是一實施例所使用的在一快取線有夺 狀態下之次兩個將被剔除的快取線之候選快取 在該實施例中,使用一種四路虛擬LRU替換 每一組有三個位元(如行(3 02 )所示)。例 元是一個二元樹中指向次一將被剔除的快取線 φ 因此,將導向所選擇的路之所有路徑反向,以 被剔除的快取線指向該樹的另一端。因此,在 該表示出每一可能的LRU狀態之次兩個將被 線(如行(304 )所示)。 圖4是一實施例所使用的將被替換的可能 的每一組合之預期將被剔除的快取線之一表。 ,與圖3有關之該表示出可能被替換的候選路^ 等兩個候選快取線的狀態之每一組合,並至少 快取記憶體間之通訊而選擇其中一個候選快取 量。例如, (L2)快取 易:第一» 之一使無效 回到主記憶 剔除一快取 不需要自任 一零的成本 I數個 LRU 線的一表。 協定,其中 如,每一位 之一節點。 便將次一將 一觀點中, 剔除的快取 候選快取線 如前文所述 >圖4示出該 部分地根據 線,而使用 -9- (6) 1283348 . 該資訊。例如,在狀態1及狀態2的每一行中示出兩個候選 快取線之每一可能狀態。作爲比較,將被剔除的快取線追 行示出該等兩個候選快取線中之哪一快取線將被替換。在 一實施例中,當將被剔除的快取線値是零時’將替換第一 候選快取線(狀態1 )。作爲比較,當將被剔除的快取線 ^ 値是一時,將替換第二候選快取線(狀態2 )。 • 因此,係根據參照圖3而示出的兩個可能的候選快取 φ 線並考慮參照圖2而示出的成本函數,而選擇將被剔除的 快取線。例如,讓我們分析該表的第二行中之第一組候選 快取線。狀態1的候選快取線具有一被修改的狀態,而狀 態2的候選快取線具有一唯一的狀態。應用圖2所示的成本 函數分析。因此,選擇第二候選快取線,這是因爲該候選 快取線產生較少的快取記憶體間之通訊(在E與Μ比較 的情形下,分別有2及4的相對成本)。 圖5是一實施例所使用的一示意圖。在一觀點中,該 φ 示意圖示出與參照圖4所述的用來在兩個替換候選快取線 中選擇一個快取線的分析相關聯之邏輯。如前文所述,分 析每一路的狀態’且該成本函數(參照圖2所示之成本函 數)在多工器(5 04 )中選擇將被剔除的快取線,以供替 換。 圖6是一實施例所使用的一快取線的狀態與通訊成本 間之關係的一表。在該實施例中,圖6支援一多核心處理 器或具有一多核心處理器的一系統。該表示出快取記憶體 狀態(6 0 2 )、具有資料的核心之數目(6 0 4 )、快取記憶
-10- I283348,) 體間之通訊(606 )、以及在該特定快取記憶體狀態下剔 除一快取線的相對成本(60 8 )之可能値。剔除一快取線 時,可造成不同的快取記億體間之通訊量。例如,在一核 心中於一被修改的狀態(Μ狀態)下剔除一第二階(L2 )快取記憶體中之一快取線時,將使用兩個額外的交易: 第一,用來自所有較低階的快取記億體移除該快取線之一 使無效交易;以及第二,用來記錄被修改的資料之寫回到 ρ 主記憶體交易。因此,該狀態具有與該狀態相關聯的値爲 七之一高相對成本。 作爲比較,在一無效的狀態(I狀態)下剔除一快取 線時,將不會造成任何額外的通訊,這是因爲不需要自任 何其他的快取記憶體移除該快取線。因此,將一零的成本 指定給該表中之此快取記憶體狀態。 圖7是一實施例所使用的在一快取線有複數個 LRU 狀態下之次兩個將被剔除的快取線之候選快取線的一表。 φ 在該實施例中,使用一種四路虛擬LRU替換協定,其中 每一組有三個位元(如行(3 02 )所示)。例如,每一位 兀是一個二元樹中指向次一將被剔除的快取線之一節點。 因此,將導向所選擇的路之所有路徑反向,以便將次一將 被剔除的快取線指向該樹的另一端。因此,在一觀點中, 該表示出每一可能的LRU狀態之次兩個將被剔除的快取 線(如行(3 04 )所示)。 圖8是一實施例所使用的將被替換的可能候選快取線 的每一組合之預期將被剔除的快取線之一表。如前文所述 -11 - ⑧ 3.48(8) - ’與圖7有關之該表示出可能被替換的候選路。圖4示出該 等兩個候選快取線的狀態之每一組合,並至少部分地根據 快取記憶體間之通訊而選擇其中一個候選快取線,而使用 該資訊。例如,在狀態1 /核心數及狀態2 /核心數的每一 行中示出兩個候選快取線之每一可能狀態。作爲比較,將 被剔除的快取線這行示出該等兩個候選快取線中之哪一快 • 取線將被替換。在一實施例中,當將被剔除的快取線値是 φ 零時,將替換第一候選快取線(狀態1 )。作爲比較,當 將被剔除的快取線値是一時,將替換第二候選快取線(狀 態2 )。 因此,係根據參照圖7而示出的兩個可能的候選快取 線並考慮參照圖6而示出的成本函數,而選擇將被剔除的 快取線。例如,讓我們分析該表的第二行中之第一組候選 快取線。在一核心中狀態1的候選快取線具有一被修改的 狀態,而狀態2的候選快取線具有一唯一的狀態。應用圖6 φ 所示的成本函數分析。因此,選擇第二候選快取線,這是 因爲該候選快取線產生較少的快取記憶體間之通訊(在 E與Μ比較的情形下,分別有3及7的相對成本)。 圖9是一實施例所使用的一示意圖。在一觀點中,該 示意圖示出與參照圖8所述的用來根據各別的路中之快取 線的狀態及核心位元的値而在兩個替換候選快取線中選擇 一個快取線的分析相關聯之邏輯。在一實施例中,係連同 每一快取線而選擇核心位元,用以指示一較低階的快取記 憶體是否具有該快取線的一拷貝。在該實施例中’係將一 -12- 033.48⑼ • 單一核心位元用於共用最後一階快取記憶體的每一核心。 如前文所述,分析每一路的狀態,且該成本函數(參照圖 2所示之成本函數)在多工器(904 )中選擇將被剔除的快 取線,以供替換。 圖1 〇是用於多個實施例之一系統。該等多個實施例將 代表具有顛或多個處理器的一範圍之系統,例如,電腦系 ' 統及即時監視系統等的系統。替代性的多處理器系統可包 φ 含教多的、較少的、及(或)不同的組件。在某些情形中 ,可將本發明所述之快取記憶體管理技術應用於單一處理 器及多處理器系統。被稱爲快取前端匯流排(C a c h i n g Frontside Bus ;簡稱CFB )之匯流排系統可包含任何數目 的匯流排、及諸如匯流排橋接器等的相關聯之互連電路。 該等處理器可與一記憶體控制器中心(Memory Controller Hub ;簡稱MCH)通訊。 該等系統可支援動態的(例如,隨機存取記憶體)、 φ 靜態的(例如,唯讀記憶體、光碟、磁碟儲存單元、快閃 記憶體)記憶體裝置、以及使用的相關聯的驅動器之任何 組合。係將該等記憶體裝置用來儲存將被處理器或多個處 理器執行的資訊及指令。 可自諸如磁碟、唯讀記憶體(R e a d Ο η 1 y M e m 〇 r y ;簡 稱 ROM )積體電路、唯讀光碟、DVD、經由有線或無線 遠端連線等的一靜態或遠端儲存裝置將指令提供給系統( 1 002 )或(1 004 )。在替代實施例中,可將固線電路用來 取代軟體指令,或配合軟體指令而使用。因此,指令序列 -13- -1283348⑽ 的執行不限於硬體電路及軟體指令之特定組合。 在本說明書中提到“一個實施例”或“一實施例”時 指參照該實施例所述的一特定的特徵、結構、或特性 含在本發明的至少一個實施例中。因此,在本說明書 部分出現“在一實施例中”的詞語時,並不必然都參照 同的實施例。 在前文的說明書中,已參照本發明的一些特定實 而說明了本發明。然而,顯然可在不脫離本發明的廣 神及範圍下,對本發明進行各種修改及改變。因此, 本說明書及圖式視爲舉例性而非限制性。 【圖式簡單說明】 在本說明書的最後部分明確且特別地指出申請專 圍的主題。然而,若參照前文中之詳細說明並配合各 ,將可對與組織及作業方法有關的該申請專利範圍的 Φ 連同其目的、特徵、及優點有最佳的了解,在這些附 圖1示出快取記憶體間之通訊。 圖2是一實施例所使用的一快取線之狀態與通訊 間之關係之一表。 圖3是一實施例所使用的在一快取線有複數個 狀態下之次兩個將被剔除的快取線之一表。 圖4是一實施例所使用的將被替換的可能候選快 的每一*組合之預期將被剔除的快取線之一*表。 ,意 被包 的各 到相 施例 義精 應將 利範 附圖 主題 圖中 成本 LRU 取線 -14- ⑧ (11) 1283348 圖5是一第一實施例所使用的一示意圖。 圖6是一第二實施例所使用的一快取線的狀態與通訊 成本間之關係的一表。 圖7是一第二實施例所使用的在一快取線有複數個 LRU狀態下之次兩個將被剔除的快取線之一表。 圖8是一實施例所使用的將被替換的可能候選快取@ 的每一組合之預期將被剔除的快取線之一表。 圖9是一第二實施例所使用的一示意圖。 圖1 〇多個實施例所使用之一系統。 【主要元件符號說 202,602 快取 204,606 快取 206,608 剔除 604 具有 504,904 多工 1002,1004 系統 明】 記憶體狀態 記憶體間之通訊 一快取線的相對成本 資料的核心之數目 器
Claims (1)
1283348 i ..訂―一― … |年 S、修(^)正本 (1) L;-*·,ι '" " " r —刊—參 十、申請專利範圍 附件2A : 第94 1 02925號專利申請案 中文申請專利範圍替換本 民國96年1月31日修正 1 · 一種在具有多階快取記憶體的一組態中替換一快取 線之方法,而每一快取記憶體具有複數個路,每一路具有 φ 複數個快取線,該方法包含下列步驟: 爲至少兩路中之至少一個快取線指定一狀態;以及 爲與替換快取線相關聯的快取線的狀態指定快取記憶 體間之通訊的一相對成本函數。 2.如申請專利範圍第1項之方法,其中該複數個路是 四路。 3 ·如申請專利範圍第1項之方法,其中該快取線的狀 態是被修改的、唯一的、共用的、或無效的。 # 4 · 一種在具有多階快取記憶體的一組態中替換一快取 線之方法,而每一快取記憶體具有複數個路,每一路具有 複數個快取線,該方法包含下列步驟: 爲至少兩路中之至少一個快取線指定一狀態; 爲與替換快取線相關聯的快取線的狀態指定快取記億 體間之通訊的一相對成本函數;以及 至少部分地根據該成本函數而選擇快取線以供替換。 5 .如申請專利範圍第4項之方法,其中該複數個路是 四路。 (2) 1283348 , 6 ·如申請專利範圍第4項之方法,其中該快取線的狀 態是被修改的、唯一的、共用的、或無效的。 7 . —種在具有多階快取記憶體的一組態中用來替換一 快取線的一快取線替換協定之方法,而每一快取記憶體具 有複數個路,每一路具有複數個快取線,該方法包含下列 步驟: 爲至少兩路中之至少一個快取線指定一狀態; • 爲與替換快取線相關聯的快取線的狀態指定快取記憶 體間之通訊的一相對成本函數; 識別兩個可能的快取線以供替換;以及 至少部分地根據該成本函數而選擇該等兩個可能的快 取線中之一快取線以供替換。 8 .如申請專利範圍第7項之方法,其中該複數個路是 四路。 9.如申請專利範圍第7項之方法,其中該快取線的狀 φ 態是被修改的、唯一的、共用的、或無效的。 1 〇.如申請專利範圍第7項之方法,其中該快取線替換 協定是一個四路快取記憶體的一個三位元虛擬隨機協定。 1 1 . 一種電腦系統,包含: 至少一個處理器; 被耦合到該處理器的一快取記憶體,該快取記憶體具 有複數個路,該複數個路中之每一路具有複數個快取線; 其中爲至少兩路中之至少一個快取線指定一狀態,以及 爲與替換快取線相關聯的快取線的狀態指定快取記憶 -2- (3) 1283348 體間之通訊的一相對成本函數;以及 至少部分地根據該成本函數而選擇快取線以供替換。 1 2 ·如申請專利範圍第1 1項之電腦系統,其中該處理 器與一記憶體控制器中心(MCH )通訊。 1 3 .如申請專利範圍第1 1項之電腦系統,其中該複數 個路是四路。 1 4.如申請專利範圍第1 1項之電腦系統,其中該快取 • 線的狀態是被修改的、唯一的、共用的、或無效的。 I5·—種用來替換具有複數個路的一多核心處理器中 之一多階快取記憶體中之一*快取線之方法’而每一路具有 複數個快取線,該方法包含下列步驟: 爲至少兩路中之至少一個快取線指定一狀態; 爲共用該多階快取記憶體中之一最後一階快取記憶體 的每一核心指定一核心位元;以及 爲與替換快取線相關聯的快取線的狀態指定快取記憶 # 體間之通訊的一相對成本函數。 1 6.如申請專利範圍第1 5項之方法,其中該複數個路 是四路。 1 7 ·如申請專利範圍第1 5項之方法,其中該快取線的 狀態是被修改的、唯一的、共用的、或無效的。 1 8 · —種在具有多階快取記憶體的一組態中替換一快 取線之方法,而每一快取記憶體具有複數個路,每一路具 有複數個快取線,該方法包含下列步驟: 爲至少兩路中之至少一個快取線指定一狀態; 1283348 (4) 爲共用該多階快取記憶體中之一最後一階快取記憶體 的每^一'核心指疋一*核心、位兀, 爲與替換快取線相關聯的快取線的狀態指定快取記憶 體間之通訊的一相對成本函數;以及 至少部分地根據該成本函數而選擇快取線以供替換。 i 9 .如申請專利範圍第1 8項之方法,其中該複數個路 是四路。 20.如申請專利範圍第18項之方法,其中該快取線的 狀態是被修改的、唯一的、共用的、或無效的。 議偏牛 號專利申請案 3A :第 94102925 中文圖式替換頁 mtrst 民國96年1月31日修正
E o r- T— t— o t— 5 iS CO S U4 Φ g i i8 S CO i i i i i E ί> o O o τ— o o o o t— t— t— o 5 iS σ> Ul CO s iS LU σ> i ίβ § iS (Ω ίβ ίβ ia (/> UJ iS iS 芝 E o o o o o o o o 〇 o o o o 5 iS CD s LU </) 簦 ί3 UJ CO 窆 i i3 § iS CO CO CO CO α> CO CO CO ε 爹 o — X— τ·^ o o 〇 o o t— 5 B (O s uu CO § i UJ UJ CO § iS s CO s Lil LU UJ UJ UJ LU LU 画 1283348
Victim O o O T^* σ T^· T·· T"· -r* nr· τ- α O ο O V sajoo# urns g S § 1 5 s^f 1 s UJ S UJ i s ca § 1 Cd i UJ 泛 C/3 LU 1 UJ CO Ui StateO/ #cores 1 % s 2 s S s s S % s E % S s CO 1 ¢0 殳 1 1 g 1 Victim o 〇 o o 〇 o o o o O o T— o r— o ο ο t— o ο ^r- T— Statel/ #cores s § v^· 2 s UJ is i s g g 1 2C CO LU εϋ C/D LU 5 a 赛 § StateO/ #cores E UJ s Ώ UJ UJ CO UJ § LU LU s UJ UJ g LU UJ UJ fS εϋ CO LU ί3 ίβ ίβ CO UJ ο Μ 1 0 1 Victim 〇 o O o ^r· o O 〇 〇 o o 〇 O 〇 ο ο o ο ο O O o Statel/ Scores 5 CO § § I UJ 赛 LU i 5 a § S S s UJ σ> UJ 1 1 S E LU s StateO/ Scores <0 a 5 CO CO CO g CO § g § § g Victim o r— * r— *r— o o o ο o T- T— ο ca O 〇 。 Statel/ #cores § s § § 5 m s § gj 1 1 s § StateO/ #cores i g 2 1 T-· S 产 S I 5 s 5 s 5 5 5 s Hi s 1283348
a>6pjjg snq-9pjsJSUOJLL.6u!x:OBo ω」001α sol· 01画
96pjJCD$η-99ρ·09ϊιίαι;;1ο)υ!ιρΒο arsoCDlCDujs I
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/779,204 US7711901B2 (en) | 2004-02-13 | 2004-02-13 | Method, system, and apparatus for an hierarchical cache line replacement |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200606641A TW200606641A (en) | 2006-02-16 |
TWI283348B true TWI283348B (en) | 2007-07-01 |
Family
ID=34377774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094102925A TWI283348B (en) | 2004-02-13 | 2005-01-31 | Method, system, and apparatus for a hierarchical cache line replacement |
Country Status (5)
Country | Link |
---|---|
US (1) | US7711901B2 (zh) |
KR (1) | KR100681974B1 (zh) |
CN (1) | CN100476760C (zh) |
GB (1) | GB2411986B (zh) |
TW (1) | TWI283348B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI473013B (zh) * | 2011-02-11 | 2015-02-11 | Microsoft Corp | 多核心電腦內的遠距核心操作 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005034907A1 (de) * | 2005-07-26 | 2007-02-01 | Linde Ag | Verdichter, insbesondere Kolbenverdichter |
US7590805B2 (en) * | 2005-12-29 | 2009-09-15 | Intel Corporation | Monitor implementation in a multicore processor with inclusive LLC |
US7757045B2 (en) * | 2006-03-13 | 2010-07-13 | Intel Corporation | Synchronizing recency information in an inclusive cache hierarchy |
US7552288B2 (en) * | 2006-08-14 | 2009-06-23 | Intel Corporation | Selectively inclusive cache architecture |
US7774549B2 (en) | 2006-10-11 | 2010-08-10 | Mips Technologies, Inc. | Horizontally-shared cache victims in multiple core processors |
US20090019306A1 (en) * | 2007-07-11 | 2009-01-15 | Herbert Hum | Protecting tag information in a multi-level cache hierarchy |
JP2009205335A (ja) * | 2008-02-27 | 2009-09-10 | Hitachi Ltd | 2種のメモリデバイスをキャッシュに用いるストレージシステム及びそのストレージシステムを制御する方法 |
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 |
US8185695B2 (en) * | 2008-06-30 | 2012-05-22 | Advanced Micro Devices, Inc. | Snoop filtering mechanism |
US20100030963A1 (en) * | 2008-08-04 | 2010-02-04 | Sandisk Il Ltd. | Managing storage of cached content |
US8205060B2 (en) | 2008-12-16 | 2012-06-19 | Sandisk Il Ltd. | Discardable files |
US8375192B2 (en) | 2008-12-16 | 2013-02-12 | Sandisk Il Ltd. | Discardable files |
US9104686B2 (en) | 2008-12-16 | 2015-08-11 | Sandisk Technologies Inc. | System and method for host management of discardable objects |
US9015209B2 (en) | 2008-12-16 | 2015-04-21 | Sandisk Il Ltd. | Download management of discardable files |
US9020993B2 (en) | 2008-12-16 | 2015-04-28 | Sandisk Il Ltd. | Download management of discardable files |
US8849856B2 (en) * | 2008-12-16 | 2014-09-30 | Sandisk Il Ltd. | Discardable files |
US20100235473A1 (en) * | 2009-03-10 | 2010-09-16 | Sandisk Il Ltd. | System and method of embedding second content in first content |
US8549229B2 (en) | 2010-08-19 | 2013-10-01 | Sandisk Il Ltd. | Systems and methods for managing an upload of files in a shared cache storage system |
US8463802B2 (en) | 2010-08-19 | 2013-06-11 | Sandisk Il Ltd. | Card-based management of discardable files |
US8788849B2 (en) | 2011-02-28 | 2014-07-22 | Sandisk Technologies Inc. | Method and apparatus for protecting cached streams |
CN103150269B (zh) * | 2011-12-06 | 2017-07-14 | 广东新岸线计算机系统芯片有限公司 | 一种数据缓存控制方法和系统 |
US9003126B2 (en) | 2012-09-25 | 2015-04-07 | Intel Corporation | Apparatus, system and method for adaptive cache replacement in a non-volatile main memory system |
US9081685B2 (en) | 2013-01-15 | 2015-07-14 | Arm Limited | Data processing apparatus and method for handling performance of a cache maintenance operation |
KR101867143B1 (ko) * | 2014-12-14 | 2018-07-17 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 이종 치환 정책을 가진 셋트 연관 캐시 메모리 |
EP3230874B1 (en) * | 2014-12-14 | 2021-04-28 | VIA Alliance Semiconductor Co., Ltd. | Fully associative cache memory budgeted by memory access type |
KR101817847B1 (ko) | 2014-12-14 | 2018-02-21 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 메모리 접근 타입에 기초한 통로에 의해 버짓화된 캐시 메모리 |
EP3066572B1 (en) * | 2014-12-14 | 2020-02-19 | VIA Alliance Semiconductor Co., Ltd. | Cache memory budgeted by chunks based on memory access type |
EP3055775B1 (en) * | 2014-12-14 | 2019-08-21 | VIA Alliance Semiconductor Co., Ltd. | Cache replacement policy that considers memory access type |
CN107291635B (zh) * | 2017-06-16 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种缓存替换方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
IT1229240B (it) * | 1989-05-08 | 1991-07-26 | Bull Hn Information Syst | Memoria tampone e relativo protocollo di consistenza dati. |
US5530832A (en) * | 1993-10-14 | 1996-06-25 | International Business Machines Corporation | System and method for practicing essential inclusion in a multiprocessor and cache hierarchy |
US5584013A (en) * | 1994-12-09 | 1996-12-10 | International Business Machines Corporation | Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache |
US6295598B1 (en) * | 1998-06-30 | 2001-09-25 | Src Computers, Inc. | Split directory-based cache coherency technique for a multi-processor computer system |
US6643741B1 (en) * | 2000-04-19 | 2003-11-04 | International Business Machines Corporation | Method and apparatus for efficient cache management and avoiding unnecessary cache traffic |
US6725334B2 (en) * | 2000-06-09 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Method and system for exclusive two-level caching in a chip-multiprocessor |
US6574710B1 (en) * | 2000-07-31 | 2003-06-03 | Hewlett-Packard Development Company, L.P. | Computer cache system with deferred invalidation |
US6418510B1 (en) * | 2000-09-14 | 2002-07-09 | International Business Machines Corporation | Cooperative cache and rotational positioning optimization (RPO) scheme for a direct access storage device (DASD) |
JP2002140234A (ja) * | 2000-11-02 | 2002-05-17 | Hitachi Ltd | キャッシュ装置 |
US6976131B2 (en) * | 2002-08-23 | 2005-12-13 | Intel Corporation | Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system |
-
2004
- 2004-02-13 US US10/779,204 patent/US7711901B2/en not_active Expired - Fee Related
-
2005
- 2005-01-31 TW TW094102925A patent/TWI283348B/zh not_active IP Right Cessation
- 2005-02-08 CN CNB2005100542330A patent/CN100476760C/zh not_active Expired - Fee Related
- 2005-02-08 GB GB0502576A patent/GB2411986B/en not_active Expired - Fee Related
- 2005-02-14 KR KR1020050011976A patent/KR100681974B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI473013B (zh) * | 2011-02-11 | 2015-02-11 | Microsoft Corp | 多核心電腦內的遠距核心操作 |
US9471532B2 (en) | 2011-02-11 | 2016-10-18 | Microsoft Technology Licensing, Llc | Remote core operations in a multi-core computer |
Also Published As
Publication number | Publication date |
---|---|
CN1677369A (zh) | 2005-10-05 |
GB2411986A (en) | 2005-09-14 |
CN100476760C (zh) | 2009-04-08 |
KR20060041923A (ko) | 2006-05-12 |
US7711901B2 (en) | 2010-05-04 |
GB0502576D0 (en) | 2005-03-16 |
GB2411986B (en) | 2007-06-20 |
US20040260880A1 (en) | 2004-12-23 |
TW200606641A (en) | 2006-02-16 |
KR100681974B1 (ko) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI283348B (en) | Method, system, and apparatus for a hierarchical cache line replacement | |
TWI461911B (zh) | 用於實施微分頁表之裝置、方法與系統 | |
JP5201514B2 (ja) | チップマルチプロセッサおよび方法 | |
US8451281B2 (en) | Shared virtual memory between a host and discrete graphics device in a computing system | |
CN110413541B (zh) | 支持附加实地址不可知加速器的集成电路和数据处理系统 | |
US7490200B2 (en) | L2 cache controller with slice directory and unified cache structure | |
JP5528554B2 (ja) | ブロックベースの非透過的キャッシュ | |
US7277992B2 (en) | Cache eviction technique for reducing cache eviction traffic | |
US20170177484A1 (en) | Region probe filter for distributed memory system | |
US20090287885A1 (en) | Administering Non-Cacheable Memory Load Instructions | |
TW201011537A (en) | Apparatus and method for ensuring data coherency within a cache memory hierarchy of a microprocessor | |
CN1940892A (zh) | 逐出高速缓存的行的电路布置、数据处理系统和方法 | |
CN103824251A (zh) | 在不同高速缓存一致性域之间共享信息的技术 | |
CN103714015A (zh) | 减少来自侦听过滤器的后无效事务 | |
US20130073811A1 (en) | Region privatization in directory-based cache coherence | |
KR19980079433A (ko) | 비포함 캐쉬 메모리 계층 구조에서 사용하기 위한 캐쉬 일관성 메카니즘 구현 방법 및 시스템 | |
TW201227300A (en) | Persistent memory for processor main memory | |
US11392508B2 (en) | Lightweight address translation for page migration and duplication | |
TW200805061A (en) | Patrol snooping for higher level cache eviction candidate identification | |
CN106560798A (zh) | 一种内存访问方法、装置及计算机系统 | |
ES2704751T3 (es) | Método y dispositivo de gestión de memoria y controlador de memoria | |
TW201843593A (zh) | 多處理器系統、資料管理方法及非暫時性電腦可讀媒體 | |
TWI515564B (zh) | 管理統一虛擬記憶體的分頁狀態目錄 | |
JPH10301850A (ja) | データ処理システム内のキャッシュ・コヒーレンシを維持するためにセクタ化キャッシュ・メモリに疑似精密包含方式を設ける方法及びシステム | |
KR20200088391A (ko) | 공통 메모리 페이지로부터 메모리로의 캐시 라인들의 린싱 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |