TWI283348B - Method, system, and apparatus for a hierarchical cache line replacement - Google Patents

Method, system, and apparatus for a hierarchical cache line replacement Download PDF

Info

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
Application number
TW094102925A
Other languages
English (en)
Other versions
TW200606641A (en
Inventor
Christopher Shannon
Ganapati Srinivasa
Mark Rowland
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of TW200606641A publication Critical patent/TW200606641A/zh
Application granted granted Critical
Publication of TWI283348B publication Critical patent/TWI283348B/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
    • 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/0864Addressing 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
    • 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/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D47/00Equipment not otherwise provided for
    • B64D47/02Arrangements or adaptations of signal or lighting devices
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B7/00Signalling 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/06Signalling 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
TW094102925A 2004-02-13 2005-01-31 Method, system, and apparatus for a hierarchical cache line replacement TWI283348B (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI473013B (zh) * 2011-02-11 2015-02-11 Microsoft Corp 多核心電腦內的遠距核心操作

Families Citing this family (29)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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