TW200908009A - Hierarchical cache tag architecture - Google Patents

Hierarchical cache tag architecture Download PDF

Info

Publication number
TW200908009A
TW200908009A TW097124281A TW97124281A TW200908009A TW 200908009 A TW200908009 A TW 200908009A TW 097124281 A TW097124281 A TW 097124281A TW 97124281 A TW97124281 A TW 97124281A TW 200908009 A TW200908009 A TW 200908009A
Authority
TW
Taiwan
Prior art keywords
tag
memory
cache memory
cache
original
Prior art date
Application number
TW097124281A
Other languages
English (en)
Inventor
Abhishek Singhal
Randy B Osborne
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 TW200908009A publication Critical patent/TW200908009A/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/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

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

200908009 九、發明說明: 【聲明所屬·=¾^技姻"領域】 發明領域 本發明是關於快取記憶體標籤儲存。較特別地,本發 明是關於為多個快取記憶體標籤儲存產生標籤儲存的一階 層式架構。 術語彙編 下面是這裏使用的術語的一簡要彙編。所提供的定義
10 適用於整個專似明書及巾請專利範圍,除非該術語明確 地以另—方式被使用。 標籤儲存結構:為-快取記憶體中的每一項儲存標鐵 及其他有Μ訊(例如狀態資訊、LRUf訊、咖資訊):一 儲存結構。 用以儲存被儲存在標 快取記憶體標籤之快取記憶體 15 蕺儲存結構中的一子集標籤的一快取記憶體。 索引:-記憶體請求中的位址的指向一標鐵储存結構 中特定的一組標籤之部分。 標籤··-記憶體請求中的位址的指向一特定記憶體位 址位置之部分,該記憶體位址位置對於特定的索引料而 20 言是唯一的。 【先前技術】 發明背景 由於相對於處理。器核心的速度,記憶體的速度相對較 慢,所有種類的處理器已經變得更加依賴於快取記憶體。又 5 200908009 記憶酸構已經被使用數十年。—種共同的快取 2體架構細«快取記憶體(set _dative _。快 體:體架自系統記憶體位置的資料的記憶 體錯存Μ及儲存多組標_—標籤儲存結構。 一般地,在標準的快取記憶體階層式架構中,一快取 記,體被位於離該(等)處理器核心越接近,該快取記憶體就 變得越小且驗。最小且最快的錄記Μ-般位於處理 ^心石夕晶粒上。另—方面,最大的快取記憶體(LLC或最 後一級快取記憶體)或多個快取記憶體有時位於該(等)處理 益核心的晶㈣(。驗)。如與—晶_ (Qn_die)快取記憶 體相對的’存取位於-晶粒外快取記憶體中的:#料一. 生額外的潛時,因為該資料被傳送到該(等)處理器會花較長 時間。 母一快取記憶體具有-標藏儲存結構。如果處理器需 15要來自某一記憶體位置的資料,則藉由在該記憶體位置位 址與該快取記憶體的該標籤儲存結構之間作一比較复可 決定該資料是否被儲存在-已給定的快取記憶體中。如果 該標籤儲存結構在晶粒外,則用於執行標籤查找的潛時將 大於如果該標藏儲存結構在晶粒内時的潛時。因此,晶粒 20内標籤儲存結構增加了處理器晶粒的成本,因為它們佔據 有用空間,但是藉由減小與晶粒外快取記憶體相對的標鐵 查找的潛時,它們有助於加快執行的速度。 在許多實施例中,快取記憶體以快取列(例如64位元岣 儲存資料。在其他實施例中,快取記憶體以一些其他的可 200908009 量測的單元儲存資料。在快取記憶體以快取列儲存資料的 一示範性實施例中,該標籤儲存結構表示由儲存在該快取 記憶體内的快取列代表的該等特定的記憶體位置。此外, 該標籤儲存結構還儲存狀態資訊以識別該已儲存的快取列 5是否已經被修改,是否無效等等。狀態資訊的一範例是許 多快取記憶體所使用的MESI(修改的、專用的、共享的或無 效的)資訊。該標籤儲存結構還儲存快取記憶體替換策略資 Λ以協助決定如果需要替換一現存快取列的話哪個快取列 要被驅逐(evict)。LRU(最近最少用到)位元是被使用的一通 10用技術且要求關於快取列(相對於其他已儲存的快取列)的 相對年齡的資訊被保留,雖然其他替換策略技術存在且可 被利用。s亥標籤儲存結構還可以為標籤的每一組儲存錯誤 才父正資sfl(ECC),雖然ECC資訊不是必須的。該LRU資訊及 該ECC資訊只需要以每組被儲存,而標籤資訊及狀態資訊 15需要以每標籤(即每路)被儲存。 例如,在一40-位元位址空間中具有64位元組快取列的 一 256百萬位元組(ΜΒ)4·路組關聯快取記憶體可能需要 9.5ΜΒ的標籤儲存空間: (14b標籤 + 2b狀‘φ X 4Μ標籤 + (8b ECC + 4b LRU)/紙 X1Μ路=9.5ΜΒ 20 如果此標籤儲存結構位於處理器晶粒上,則9.5Μ的儲 存空間量將會給製造處理器的成本增加顯著的負擔。儲存 在閘極中的9.5Μ資訊佔據處理器的矽晶粒上大量的空間。 為了減小關於該處理器晶粒的成本負擔且還允許決定快取 及未中’部分標籤儲存結構已經被引入且偶爾被使用。部 7 200908009 分私藏僅儲存標籤資訊的一部分(例如該標籤的8位元而不 是所有的14位元)以節省晶粒空間。此種架構被最佳化以迅 速決定快取-未中。但是,為了決定快取·命中,來自主記憶 體的全部標籤仍將需要被存取。因此,如果使用部分-標籤 查找疋决取未中,則要知道,資料應該從系統記憶體被榻 取:然而’如果快取命中,仍然需要自儲存關於所有標藏 之資訊的該標籤儲存結構存取實際標籤。 L· ^ 曾】 發明概要 ιυ 只犯1翊_ I小Ί可·UJ —裡裝置,耳包 15 20 含搞制-處理H的i取記憶體快取記憶體 的域儲存結構,該標籤儲存結構儲存多個標鐵,盆中 每一標籤與儲存在該快取記憶體内的-資料位置有關聯; 及耗接到該處理ϋ的—快取記憶體標籤之快取記憶體,該 ==!鐵之快取記憶體儲存被儲存在該標鐵儲存結 構中個標籤中的—或較多個標籤的—子集。 依據^發明之另—實施例,係特地提出一種系統,並 包含一互連體;位於— /、 -處理位於H日^且編妾到該互連體的 取記憶體^於該第二二 _到該互連體的-快 籤儲存結構,轉籤儲\且__互連體的—標 藏與儲存在該快取記憶二====其中每-標 該第一石夕晶粒上且_到該互連體的—快取記=體=於 快取記憶體,該,«術《輪= 200908009 中的一或較多個標籤 在該標籤儲存結構中的該等多個標籤 的一子集。 勺人依據本發明之又-實施例,係特地提出—種方法,其 3 步驟·在—標籤儲存結構中儲存多個標籤,其 ^票籤與儲存在—快取記憶體内的―資料位置有關聯, 該快取記«_到-纽器上;及在—絲記憶體標鐵 之快取魏體中儲存該等多個標籤中的—或較多個但少於 儲存在該標籤儲存結構中的所有該等多個標籤的—子集。、 圖式簡單說明 10 丨發明以舉例的方式被說明^不限於附圖,在_中 相同的參考表示相同的元件,及其中: 第1圖描述了用以實施快取記憶體標籤之快取記憶體 的一裝置的一實施例。 第2圖描述了標籤位址結構以及快取記憶體標籤之快 15取記憶體組結構及一 N-路組關聯配置的快取記憶體標籤之 快取記憶體中的一個別的標籤位址項的一實施例。 第3圖是利用快取記憶體標籤之快取記憶體以儲存與 快取記憶體有關聯的標籤的集合的—子集的一流程的一實 施例的一流程圖。 第4圖描述了利用快取記憶體標籤之快取記憶體的一 程序的一實施例的一流程圖。 C實方式;3 較佳實施例之詳細說明 用以實施快取記憶體標籤之快取記憶體的裝置、系統 200908009 及方法的實施例被描述。在下面的描述中,許多特定細節 被提出。然而,應理解的是,在沒有這些特定細節的情況 下,實施例也可以被實施。在其他實例中,為了避免混淆 本發明,眾所周知的元件、規格及協定未詳細地被討論。 第1圖描述了用以實施快取記憶體標籤之快取記憶體 的一裝置及系統的一實施例。在許多實施例中,一或較多 處理器核心104位於一微處理器石夕晶粒1〇2(晶粒1)上。在其 他多處理器實施例中,可以有多個耦接在一起的處理器晶 粒’每晶粒包括一或較多核心(多個晶粒上的處理器核心的 10架構在第1圖中未顯示)。返回到第1圖,該(等)處理器核心 耦接到一互連體100。在不同的實施例中,該(等)處理器核 心1〇4可以是任一類型的中心處理單元(CPU),該中心處理 單元(CPU)被設計用於個人電腦、手持裝置、伺服器、工作 站或其他目前可得的計算裝置中的任一形式。為便於解 15釋,該單一互連體100被顯示以便不混淆本發明。實際上, 此單一互連體可以由將不同的個別裝置耦接在—起的多個 互連體組成。此外,在許多實施例中,未顯示的較多裝置(例 如一晶片組)可以耦接到該互連體。 20 夕 -----忠超1υυ耦接到一或較 快取記憶體106,該(等)晶粒内快取記憶體1。6 實際上與別等)處理器核心1G4位於同一晶粒上。 2多實施例中…快取記憶體具有與其相 = 有快取記憶體位置儲存標籤。在 ? 純賴存結構114位於無(等)處理器核 200908009 分開的一石夕晶粒(晶粒2)112上。在許多實施例中,該 示戴儲存結構114透過該互連體⑽_到— ^ 夕卜ί北/^ Τ® ^ 夕個晶粒 S晶粒)快取記憶體116,且與該(等)晶_ 3己憶體116位於同一晶粒上。 、 快取記憶體標籤之快取記憶體1〇8儲存該處理器晶粒 102上的该等晶粒外快取記憶體標籤的一子集。特別地,r 10 :::票籤儲存結構114儲存所有索引值及每索引值的關: 不紙、、且,但是另—方面’該快取記憶體標籤之快取記憶體 :不儲存所有可能的索引值。更確切地說,為了節省料 空間,該快取記憶體標籤之快取記憶體1〇8儲存被儲存在該 標籤儲存結構114中的該等標籤的一子集。在多數實施例 中,在該快取記憶體標藏之快取記憶體1〇8中並非所有的索 引位置在任意給定時間都被表示。 在某些實施例中,對於在儲存在該快取記憶體標籤之 15快取記憶體108中的一標籤與該標籤儲存結構114之間的每 一匹配的標籤而言,來自一組的所有路的資訊被需要。在 其他實施例中,該快取記憶體標籤之快取記憶體108儲存少 於所有路的該等標藏。在一實施例中,一組的儲存需求是 9.5位元組,其包括標籤資訊、狀態資訊、驅逐/快取替換策 20 略資訊(LRU),及ECC資訊(如果ECC被用到)。關於標籤、 狀態、LRU資訊及ECC元件的特定細節在先前技術部分被 詳細地討論。在某些實施例中,該快取記憶體標籤之快取 記憶體利用不同於該LRU策略的一替換策略。特別地,下 面資訊將被儲存在快取記憶體標籤之快取記憶體中: 200908009 (W-bit標籤 + 2-bit狀態)X4路 + 4-bit LRU + 8-bit ECC = 9.5位元組 為了在該快取記憶體標籤之快取記憶體中儲存2Κ(2Λ11)個 組’則儲存需求將是19Κ(2Κ*9.5Β)。下面參考第2圖描述該 快取記憶體標籤之快取記憶體中的該等項的詳情。因此, 5快取記憶體標籤之快取記憶體的一實施例可以位於該處理 器晶粒上以執行對最近最多用到的標籤的查找,且對該晶 粒的負擔是19Κ。晶粒内19Κ儲存大小成本與一全部標籤儲 存結構的9.5 Μ大小的成本相比是一非常小的儲存負擔。 在許多實施例中,該快取記憶體標籤之快取記憶體1〇8 1〇本身是—Ν_路組關聯快取記憶體。此外,在許多實施例中, 該快取記憶體標籤之快取記憶體108儲存最近最多被存取 的標籤。該快取記憶體標籤之快取記憶體1〇8耦接到該互連 體100。在某些實施例中,控制該快取記憶體標籤之快取記 憶體108的存取的-控制HUG決定-記憶體請求何時與目 15前位於該快取記憶體標籤之快取記憶體108内的—標籤匹 配且將其報告回給該處理器。在不同的實施 栌抹* 遏s己憶 月,可以源自於系統中的許多裝置的其中一個諸如除 其他可吨的記憶體請求發起者之外,其中還有該等處理器 核〜的其中一個或一匯流排主控器I/O裝置。 20 記憶體請求(即記憶體存取)包括到達系統記憶體 内的—特定位置的-位址。該標籤儲存結構丨丨4包括與該晶 粒外陕取記憶體116中的特定位置有關聯的所有標籤組。 。因此,當一記憶體請求被該控制器110接收時,該控制 器110分折記憶體請求位址中的索引及標籤欄位,及ϋ檢 12 200908009
查以看與該特定記憶體位置有關聯的該標籤的索弓I是否被 儲存在4快取記憶體標籤之快取記憶體1G8内。如果該原始 索引被儲存,則該控制器110接下去檢查與該記憶體:置J 5 10 ^和的原始標歧否㈣存找快取記憶難籤之快取 fe體108内該原始索引位置處的其中一路。 、° 如果在該原始索引位置處的該原始標籤位於與⑽有 ,射,縣果是,魏憶贿求是—快取記憶體標 ^夬取記賴108顧命巾(即絲命幻。如果該原始標鐵 ,被儲存在賴難存結構114中的該索引位置處騎果 =該記憶體請求是-快取記憶體標籤之快取記憶體⑽標 織中。如果來自一組的所有路的該等標籤被快取,則這 也是一快取未中。 、。 另一方面,如果該控制器11〇在初始查找令沒有找到館 Μ存在4快取記憶體標籤之快取記憶體⑽中的該原始索 15引,則結果是,該記憶體請求是一快取記憶體標籤之^取 〇己隱體108索引未中。在這種情況下該控制器ιι〇必須從 該記憶體請求中提取原始索引值及藉由替換目前儲存在該 快取記憶體標籤之快取記憶體1〇8中的一索引,將該原始索 引值插入到該快取記龍標籤之快取記憶體刚中。在某些 實施例中,在CoCT本身是一關聯快取記憶體的情況中,'該 替換策略是最近最少用到策略,在此,該最近最少用到的 索引值被替換。在其他實施例中,其他標準替換策略方案 可被用以替換該快取記憶體標籤之快取記憶體⑽中的該 索引值。 13 200908009 —旦該新的索引值已經被插人到該快取記憶體標鐵之 、取記憶體108中’則該控制器11()將需要衫與該記憶體 凊求有關聯的該特定的標籤目前是否被儲存在 ㈣114中的該索引位置處。如料這樣,則結果是在3 _存結構114中的-賊命中,且該處理器m需要在該 新的索引位置處’為儲存在該標籤儲存結構ιΐ4中該索引位 处的所有路’將標籤資訊輸人到該快取記憶體標鐵之快 取記憶體108中。 、 否則、、·。果疋在該標籤儲存結構1M巾的—標鐵未中, 10 j該控制器110需要啟動用與該記憶體請求有關聯的該標 籤來替換(《籤儲存結構114巾的該索引位置處的其中一 路令的)最近最少用到的標籤。這種替換將位於該記憶體請 求的位址處的資料從系統記憶體輸入到該快取記憶體,且 將來自該記憶體請求的該原始標籤輸入到該標鐵儲存結構 15 1H中。在某些實施例中’―旦該標籤從⑽記憶體被輸入 $該標籤儲存結構中,則該控制HUG可以啟動用來自在目 2儲存在《籤儲存結構114中的該索引值處的每—路的 標籤來替換該快取記憶體標籤之快取記憶體108中的(該索 引值處的)所有路。在其他實關巾該替換會替換少於在 2〇該快取記憶體標籤之快取記憶體1〇8中的所有路。、 在某些實施例中,晶粒外記憶體存取大小與該快取記 憶體標籤之快取記憶體項的大小不相同。如果該晶粒外記 憶體大小小於該快取記憶體標籤之快取記憶體項的大小, 則該控制器可以發送用多個請求以提取該資料。另一方 200908009 面’如果S亥晶粒外記憶體大小大於該快取記憶體標藏之快 取圮憶體項的大小,則該控制器110可能具有其不需要的額 外貝料。在這種情況下,在某些實施例中,該控制器1]0可 以拋棄該額外資料。 5 在其他實施例中,該控制器110可以具有一小的關聯記 憶體(未畫出)’其可允許該控制器削智慧地預取該額外資 料的部分且為了將來潛在的使用,將它們儲存在該關聯記 憶體中。例如’如果原始快取記憶體標籤大小是4位元組, 且原始决取圯憶體標籤關聯是8路,則該快取記憶體標籤之 10快取記憶體108中的項的大小將需要是32位元組以儲存所 有關聯路(4-位元組X 8路=32_位元組標藏組項)。現在, 叙设用於從該標籤儲存結構114獲得資訊的提取指令一次 接收64-位元組。在這實例中,該控制器11〇將提取用以儲 存正個快取圮憶體標籤之快取記憶體組項所需的該32位元 15組以及一額夕卜的32_位元組的相鄰資料。在利用一小的關聯 記憶體的實施例中,被提取的該相鄰32-位元組的資料可以 被儲存在在該控制器110上或附近的一小的關聯記憶體中 以作為一小的預取緩衝器。因為在某些情況下,許多後續 存取是對相鄰的記憶體位置進行存取,所以可能在下一異 動上或在不返的將來該等相鄰的32位元組將被請求。因 此°亥小的相鄰的記憶體可允許智慧地預取標籤組用於以 後的快取記憶體標籤之快取記憶體108操作。 此外,該小的關聯記憶體也可以作為一犧牲快取記憶 體被利用。在-犧牲快取記憶體實施例中,該小的關聯記 15 200908009 憶體可以贿織取記㈣職之快取記憶體U)8中的今 繼最多被驅逐的標籤以免這些標籤中的一或較多個: 著再次被存取。 此外’該控制器11〇可以將用以提取快取記憶體標鐵之 5快取記憶體⑽項資料的多個請求合倂成一個請求。例如, 多個快取記憶體標籤之快取記憶體⑽的索引提取可被合 倂成一個提取。 在某些可選擇的實施例中,除了該快取記憶體標鐵之 快取記憶體簡之外,還使用一部分標籤快取記憶體118。 10如在以上先前技術部分所描述,該部分標藏快取記憶體川 不儲存所有減位元,且因此僅財定地蚊快取-未中, 而不此决疋快取-命中。另一方面,快取記憶體標藏之快取 心隐體僅能肯定地決^快取_命巾,而靴歧快取_未中。 在利用-部分標籤快取記憶體118以及該快取記憶體標籤 b之快取記憶體108的上述可選擇的實施例中,該部分標藏快 取記憶體118可以被利用以對快取未中作出一迅速的決 定,及該快取記憶體標籤之快取記憶體1〇8可以被利用以對 頁命中(page hit)作出一迅速的決定。在這些實施例中,該 控制器110可以在該部分標籤快取記憶體⑽及該快取記憶 體標籤之快取記憶體1〇8中同時啟動一查找。如果該部分標 鐵快取記憶體118決定-頁未中,則來自該快取記憶體標籤 之快取記憶體中的資訊將被丟棄。然而,如果—頁命中發 生,則所需的標籤可能可以在晶粒内在該快取記憶體標籤 之快取記憶體10 8中被找到且節省晶粒外潛時損失。 200908009 在某些實施例中,該快取記憶體是一分區快取記憶 體。在分區快取記憶體實施例中,因為每一標籤被多個快 取記憶體項(例如快取記憶體子塊)共用,該標籤儲存結構 114中的總標籤儲存需求將減少。 5 在這些分區快取記憶體實施例中,對狀態資訊的儲存 品求會增加,因為對於每一標籤而言,必須有關於與該標 籤有關聯的每一潛在項的狀態資訊(在先前技術部分以及 與第2圖有關的討論中,狀態資訊被討論)。例如,如果一 標籤疋14位元,則在一非分區快取記憶體中,對於每分區而 10 5將包括2位元的狀態資訊。在一8-路分區快取記憶體中,這 裏有與每一標籤有關聯的8個快取記憶體項,因此,對於每 ‘籤而§將需要包括2·位元X 8或16-位元的狀態資訊。在這 範例中,該狀態資訊比該標籤資訊佔用更多的空間。 為了減小在一分區快取記憶體中狀態資訊儲存的影 15響,一組一般狀態資樣式將被儲存在一分區狀態資訊儲存 益120中。在許多實施例中,該分區狀態資訊儲存器12〇可 以被耦接到該控制器110。在我們的範例中,該分區狀熊資 訊儲存器120將儲存16-位元的多個樣式。在某些實施例 中,該等多個樣式將包括最一般樣式,且在該分區狀態資 2〇讯儲存器120内將是預先決定的且永久的。在其他實施例 中,在該控制器110内的邏輯將動態地決定被使用的狀態資 訊的該等最一般樣式,及相應地修改該等已儲存的樣式。 某些狀態資訊樣式比其他的更一般。考慮到記憶I體存 取的一般線性。如果許多記憶體請求到達該控制器丨10且它 17 200908009 們都以一線性位址樣式,則該等狀態資訊位元將顯示可能 都是“1”的一非常可靠的修改樣式。 因此,該處理器可儲存,例如,指向該分區狀態資訊 儲存器120中的一狀態資訊樣式的一6_位元指標,而不是為 5每一標籤儲存16_位元的狀態資訊。一 6-位元指標將允許 64(2Λ6)個狀態資訊樣式被儲存在該分區狀態資訊儲存器 120中。因此,在這範例中,如果該樣式是一般的,則該控 制器可與該標籤一起儲存該6_位元指標,而不是16_位元狀 態資訊樣式。 10 此外,如以上所提及,在許多實施例中,系統記憶體 122在該(等)晶粒外快取記憶體116之外被耦接到該互連體 100。這允許來自記憶體位置的資料被存取,如果該晶粒内 及晶粒外快取記憶體都未儲存目標資料(及目標標籤)。 第2圖描述了標籤位址結構以及快取記憶體標籤之快 15取記憶體組結構及一 路組關聯配置的快取記憶體標籤之 快取記憶體中的個別標籤位址項的一實施例。 在許多實施例中,對一40-位元位址空間的一記憶體存 取請求在該40-位元位址欄位中可包括下面幾件資訊:原始 標籤欄位、原始索引欄位,及偏移欄位。典型地,只有該 20原始標籤攔位被儲存在一標籤項200内,該標籤項200被儲 存在該標籤儲存結構中。在256Μ的一直接-映射(ι_路關聯) 快取記憶體中使用具有一 64位元組快取列大小的4〇_位元 定址範例,該位址中的每一攔位的大小的一範例可以包括 一 12-位元原始標籤、一22-位元索引,及一6_位元偏移。該 18 200908009 22-位元索引欄位是指向該標籤儲存結構中的一特定索引 位置的一指標。該12-伋元原始標籤可以是實際記憶體位址 的最冋12位元。該標籤的大小還由它的關聯性及快取列大 小來決定。在先前技術部分所描述的範例中,具有64位元 5組快取列的一256MB 4-路組關聯快取記憶體將具有^20-位元索引攔位及4M標籤(2λ2〇χ4),其中每一標籤的大小是 14位元。 第2圖還描述了—標籤組202的一實施例。對於一4-路 組關聯快取記憶體,該標籤組2〇2儲存4個標籤。每一路(路 10 〇-3)儲存一特定的標籤以及與和該每—標籤有關聯的該快 取記憶體項有關的一特定數量的狀態資訊。每標籤的狀態 資訊是特定的,因此,這裏必須有與每一標籤有關聯的狀 悲資訊位元。此外’該標籤組還必須包括諸如LRU位元或 其他LRU-類型資訊之快取記憶體替換策略資訊,以通知該 15控制器當一新的標籤必須被儲存時,該4個標籤中的哪一個 要被驅逐。最後,每組也可以利用錯誤校正碼(ECC)來使該 才示籤組的儲存錯誤最小化。例如,如以上所提及,一組的 儲存需求可以是9.5位元組,其包括下面資訊: (U位凡標籤~ 2位元狀態)Χ4路七4位元LRJJ七8位元ecc = 9 5位元組 2〇 第2圖還描述了儲存在該快取記憶體標籤之快取記憶 體内的一標籤組項(CoCT標籤組項204)的一實施例。對於快 取圯憶體配置的許多類型而言,組關聯快取記憶體—般是 普遍的。因此,在許多實施例中,該快取記憶體是一多-路 組關聯快取記憶體。因此,該快取記憶體標籤之快取記憶 19 200908009 10 15 20 體中的一項必須儲存特定索引位置處的該快取記憶體的所 有路的標籤資訊(標籤組的内容/資料2〇6)。在這些實施例 中,來自原始位址(例如如以上所討論的該4〇_位元位址配置) 的索引攔位(標籤組的定址208)指向儲存在該快取記憶體標 籤之快取記憶體内的-組標籤的位置。在某些實施例中, 快取記憶體標籤之快取記憶體結構本身也以一细關聯的方 f來储存。因此’該原始索引攔位被分割成快取記憶體標 籤之快取記憶體標籤攔位以及快取記憶體標籤之快取記憶 體索弓ί欄位’以允許提取該快取記憶體標籤之快取記憶體 内的-組。例如,使用來自該4〇•位元位址的一2〇_位元原始 標j : ϋ ㈣12位元可以在快取記憶體 * W聯快取記憶體巾作為標趣位被利用。在這實 該原始索引攔位的低8位元可以在快取記憶體標鐵之 快取記Μ巾作為料欄位被彻。 载 快取γ 快取記賴標籤之快取記Μ以儲存與 ==關聯的標藏集合的-子集的-處理的-實施 爾如含蝴電㈣料輯等卜軟 二者的組合專用機器上運行的此類)、或 理由在-標d’r理被執行。參見細,該處 (處理方塊_。個標藏的處理邏輯開始 取記憶體内的—次夕域中’母—標籤與儲存在—快 標籤的全部隼人^' 4置有關聯。儲存在該储存結構内的 快取記憶上::::快取記憶雜中的所有資料位置。該 電腦系統或其他有關電腦的裝置上的 20 200908009 任一通用或專用快取記憶體。在許多實施射,該快取記 憶體位於具有一或較多處理核心的—電腦系統中。在許多 =施例中,該快取記憶體位於與該(等)處理如分離的—石夕 日日粒上。並且,在許多實施例令’該標籤儲存結構與該快 5取記憶體位於同一石夕晶粒上。 、 返回第3圖,處理邏輯接著在—標籤快取記憶體之快取 記憶體中儲存被儲存在該標籤儲存結構中的該等標藏的— 子集(處理方額2)。在衫實施财,該快取記憶體標藏 之陕取5己憶體僅儲存被儲存在該標籤儲存結構中的標鐵的 1〇全部集合的一小部分。例如,在以上參考該先前技術以及 第1圖所描述的範例實施例中,對於具有64位元組快取列的 一4_路組關聯256MB的快取記憶體而言,有4Μ(2Λ22)標籤 儲存在4標籤儲存結構中。而該快取記憶體標籤之快取記 隐體可以儲存其中的一小部分,諸如,例如8K(m)標鐵。 15在許多實施例中,該快取記憶體標籤之快取記憶體以一最 近最多用到的方式儲存來自該標籤儲存結構的標藏,其中 最近最多被凊求的記憶體位置是其等標籤被儲存在該快取 s己憶體標籤之快取記憶體内的該等位置。 々第3圖相對於該標籤儲存結構描述了該快取記憶體標 20籤之快取記憶體儲存内容的一般處理,而第4圖描述了利用 I·夫取。己憶體才示籤之快取記憶體的一處理的一實施例的流程 圖。糟由可以包含硬體(電路、專用邏輯等)、軟體(諸如在 :通用電腦系統或-專用機器上運行的此類),或二者的組 合的處理邏輯,該處理被執行。參見第4圖,該處理由接收 21 200908009 一記憶體請求的處理邏輯開始(處理方塊伽)。該記憶體請 f包括-記憶體位置的位址。在許多實施例中,該位址的 尚位元對應於該記憶體位置的該標籤,且該位址的中間位 几對應於與-快取記憶體有關聯的一標籤儲存結構裏面的 5 -索?卜以上參考第2圖,關於該標籤齡及索引攔位的特 定細節被描述。 在不同的實施例中,該記憶體請求可以源自於系統中 的許多裝置的其中-個,除其他可能的記憶體請求發起者 之外,其中還有諸如,該等處理器核心的其中一個或一匯 1〇流排主控器1/0裝置。該記憶體請求最終被過濾到達控制快 取記憶體標藏之快取記憶體(第4圖中的c〇CT)的一控制 器。然後該處理器内的處理邏輯分析來自該記憶體請求的 該位址的該原始索引值及該原始標籤值(處理方塊402)。 一旦該記憶體請求内的該原始索引及原始標籤被知 15曉,則處理邏輯決定該原始索引目前是否被儲存在該快取 記憶體標籤之快取記憶體中(處理方塊4〇4)。如果該原始索 引目前未被儲存在該快取記憶體標籤之快取記憶體中則 在s亥快取記憶體標籤之快取記憶體中有一索引未中,且處 理邏輯可以將該原始索引插入到該快取記憶體標籤之快取 20 5己憶體中(處理方塊4〇6)。在許多實施例中,該原始索引被 插入到該快取記憶體標籤之快取記憶體中的一位置,藉由 替換(驅逐)最近最少用到的已儲存索引值,該位置被釋放。 在某些實施例中,處理邏輯可以提取該索引及然後分配且 插入該索引。在其他實施例中,處理邏輯可以首先分配空 22 200908009 間,及然後提取該索引且插入。 如果正被驅逐的該索引因為它被列入該快取記憶體標 籤之快取記憶體中而已經被更新,則該索引必須被寫回到 它的原始儲存位置。 5 如果該原始索引被插入到該快取記憶體標籤之快取記 憶體中,則處理邏輯意識到該原始標籤將不在該快取記憶 體標籤之快取記憶體中,因為只有該原始標籤已經被儲存 在該快取記憶體標籤之快取記憶體中它才有可能在那裏。 因此,處理邏輯必須決定該原始標籤是否在該標籤結構(第 10 4圖中的TSS)中(處理方塊408)。只有來自該記憶體請求指向 的記憶體中的該位置的資料目前被儲存在被該標籤儲存結 構所參考的該快取記憶體中,該原始標籤才會在該標籤儲 存結構中。如果該原始標藏在該標籤儲存結構中,則處理 邏輯提取該原始標籤及然後將該原始標籤插入到該快取記 15 憶體標籤之快取記憶體中(處理方塊410)。當該原始標籤被 插入到該快取記憶體標籤之快取記憶體中時,處理邏輯可 以複製該標籤儲存結構中的該索引值處的所有路的該等標 籤(該標籤組),不只是儲存該原始標籤本身的該路(處理方 塊420)。在其他實施例中,處理邏輯可以複製少於該標籤 20 儲存結構中的該索引值處的所有路的該等標戴。最後’處 理邏輯讀取該快取記憶體中與該標籤有關聯的資料以完成 該記憶體請求(處理方塊422)。 否則,如果該原始標籤不在該標籤儲存結構中,則處 理邏輯現在意識到由該記憶體請求中的該位址指向的資料 23 200908009 根本不在該快取記憶體中,更確切地說,該資料在主系統 記憶體中。在這種情況下,處理邏輯必須將該原始標藏插 入到該標籤儲存結構巾(以與在標準快轉作巾標籤通常 被插入到該標籤儲存結構中一樣的方式),且處理邏輯也可 5以將包括該原始標籤的該標籤組插入到該快取記憶體標籤 之快取記憶體中(處理方塊412)。在此範例中,處理邏輯必 須執行額外的處理步驟以插入該標籤。在某些實施例中, 此結果將引起處理邏輯使用用以決定驅逐哪一個原來的標 籤的目前驅逐策略驅來逐該TSS中的—原來的標籤,及用將 10被插入的該原始標籤替換該原來的標籤(處理方塊418)。下 -處理邏輯,如以上所提及’可以在將標籤插人刺快取 記憶體標籤之快取記憶體結構時插入與該原始索引有關聯 的路的該整個組(處理方塊420)。在其他實施例中,與少於 該原始索引處的路的該整個組有關聯的標籤被插入到該快 15取記憶體標籤之快取記憶體結構中。最後,處理邏輯讀取 該快取記憶體中與該標籤有關聯的資料以完成該記憶體請 求(處理方塊422)。 返回到處理方塊404,如果該原始索引在該快取記憶體 標籤之快取記憶體中,則處理邏輯必須決定該原始標籤是 20否在該快取記憶體標藏之快取記憶體中(處理方塊414)。如 果該原始標籤未被儲存在該快取記憶體標籤之快取記憶體 中,則處理邏輯繼續到處理方塊4〇8(如以上所描述可選 擇地,如果該原始標籤被健存在職取言己憶體標鐵之快取 記憶體中,則處理邏輯驗證在該快取記憶體標藏之快取記 24 200908009 憶體中有-原始標籤命中(處理方塊仙)。在這實施例中, 處理邏輯可以讀取該快取記憶體中與該標藏有關聯的資料 以元成該記憶體請求(處理方塊422)及相應地繼續進行。為 了將該原始索引插人躲取記憶體標籤之快取記憶體中, 5 現存索引(原來的索引)項可能必須被替換。如果與此項有 關聯的貧料是已修改的狀態,則處理邏輯還在該標鐵儲存 結構儲存與在該快取記憶體標籤之快取記憶體中被修改的 «亥已替換的索引有關聯的該等標籤之該位置處更新該標籤 儲存結構。 10 因此,用於實施一快取記憶體標籤之快取記憶體的一 扃置、系統及方法的實施例被描述。參考其特定的範例實 她例,這些貫施例已經被描述。在不背離這裏所描述的該 等實施例的較廣泛的精神及範圍的情況下可以對這些實施 例做出各種修改及變化,這對於自此揭露獲益的人將是明 15顯的。因此,該專利說明書及圖式被視為以一種說明性而 非限制的意義。 【圖式簡华說明】 第1圖描述了用以實施快取記憶體標籤之快取記憶體 的一裝置的一實施例。 "° 第2圖描述了標籤位址結構以及快取記憶體標籤之快 取δ己憶體組結構及一 N-路組關聯配置的快取記憶體標籤之 快取記憶體中的一個別的標籤位址項的一實施例。 第3圖是利用快取記憶體標籤之快取記憶體以儲存與 快取記憶體有關聯的標藏的集合的一子集的一流程的一實 25 200908009 施例的一流程圖。 第4圖描述了利用快取記憶體標籤之快取記憶體的一 程序的一實施例的一流程圖。 【主要元件符號說明】 100…互連體/單一互連體 102…微處理器矽晶粒/處理器 晶粒 104…處理器核心 106···晶粒内快取記憶體 108…快取記憶體標籤之快取 記憶體 110…控制器 112···石夕晶粒 114···標籤儲存結構 116…晶粒外快取記憶體 118···部分標籤快取記憶體 120···分區狀態資訊儲存器 122···系統記憶體 200…標籤項 202…標籤組 204"_C〇CT標籤組項 206···標籤組的内容/資料 208···標籤組的定址 300-422…處理方塊 26

Claims (1)

  1. 200908009 十、申請專利範®: L —種裝置,其包含: 耦接到—處理器的—快取記憶體,· 5 存取記憶體的—標_存結構,該標藏儲 ==存多簡,射每—钱與料在該快取記 L體内的一: 貪料位置有關聯;及 體= 妾職處理器的-錄記憶體顧之快取記憶 錯存ΙΓ/憶體顯之絲記龍縣_存在該標藏 10 15 20 杲0 2 Γ申請專利範圍第1項所述之裝置,其中該處理器及該 、取記Μ標籤之快取記憶體位於同—⑦晶粒上。 如申明專利範圍第2項所述之裝置, 構位於不同於該處理器的一石夕晶1:中該標鐵儲存結 4·如申請專利範圍第3項所述之裝置,其令該快取記情體 之快取記憶體含有儲存在《_存結構中的最 近所用標籤中的一或較多個。 J取 IS,所述之裝置,其進-步包含_ i该處理部分標籤快取記憶體,其中該部 快取記憶體確定-記憶體請求何時產生—快取未中錢 該快取記憶體標籤之快取記憶體確定該記憶體請及 時產生一快取命中。 ’可 6’ =申請專利範圍第】項所述之裝置’其令該快取 ‘鐵之快取記憶體是一多路闕聯快取記憶體。 27 200908009 7·如申請專利範圍第丨項所述之裝置,其進_步包含 到該處理器的一控制器,該控制器決定一標籤匹配的發 生,其中當與-記憶體請求有關聯的一原始標籤等於正 被檢查以找出該標籤匹配的一位置處的—已儲存標 時’該標籤匹配即發生。 τ &如申請專利範圍第7項所述之|置,其中該控制器進— 步可操作以: 決定來自該記憶體請求中的一位址的一原始 引;及 ’、 當該原始索引尚未在該快取記憶體標籤之快取記 憶體中時’藉由覆寫目前在該快取記憶體標籤之快取記 憶體中的-索引’而將該原始索引插人到該快取 # 標籤之快取記憶體中。 心 9·如申請專利範圍第8項所述之裝置,其中該控制器進— 步可操作以: 當來自該記憶體請求的該原始索引位於該快取記 憶體標籤之快取記憶體中時,在該快取記憶體標鐵之快 取記憶體中檢查以找出該標籤匹配; s來自§玄§己憶體請求的該原始索引沒有位於該快 取記愧體標籤之快取記憶體中時,在該標籤儲存結構中 檢查以找出該標籤匹配;及 當該快取記憶體標籤之快取記憶體中不存在一標 籤匹配且在該標籤儲存結構中也不存在一標籤匹配 時,自一系統記憶體擷取該原始標籤。 28 200908009 】=申請專利範圍第9項所述之裝置,其中該控制 步可操作以: >田㈣取讀體標籤之快取記憶體中不存在 籤匹配時,將該原始賴插人到該快取記憶體J 取記憶體令;及 當該職儲存結射不存在—賴匹配時,將該原 始軚鐵插入到該標籤儲存結構中。 10 15 20 仏二申料利範圍第7項所述之農置,其中該控制器及該 處理器位於同一矽晶粒上。 申請專利範圍第7項所述之裝置,其中該快取記憶體 疋一分區快取記憶體。 以如申請專利範圍第12項所述之裝置,其中該裝置進一步 包含搞接到該控制器的一分區狀態資訊儲存單元該分 區狀態資訊儲存單謂存多個共·態資訊樣式。 H.如申料利範圍㈣項所述之裝置,其巾該控制器進一 步可操作以儲存指向儲存在該分區狀態資訊儲存單元 中的個共同狀態資訊樣式的一指標值,來代替與該快 取記憶體標蕺之快取記憶體中的一標籤有關聯的一組 狀態資訊位元。 15·—種系統,其包含: 一互連體; 位於一第一矽晶粒上且耦接到該互連體的一處理 器; 位於一第二矽晶粒上且耦接到該互連體的一快取 29 200908009 記憶體; 位於該第二矽晶粒上且耦接到該互連體的一標籤 儲存結構,該標籤儲存結構儲存多個標籤,其中每一標 籤與儲存在該快取記憶體中的一資料位置有關聯;及 5 位於該第一矽晶粒上且耦接到該互連體的一快取 記憶體標籤之快取記憶體,該快取記憶體標籤之快取記 憶體儲存被儲存在該標籤儲存結構中的該等多個標籤 中的一或較多個標籤的一子集。 16. 如申請專利範圍第15項所述之系統,其中該快取記憶體 10 標籤之快取記憶體含有儲存在該標籤儲存結構中的最 近所用標籤中的一或較多個。 17. 如申請專利範圍第15項所述之系統,其中該系統進一步 包含耦接到該處理器的一部分標籤快取記憶體,其中該 部分標籤快取記憶體確定一記憶體請求何時產生一快 15 取未中,及該快取記憶體標籤之快取記憶體確定該記憶 體請求何時產生一快取命中。 18. 如申請專利範圍第15項所述之系統,其中儲存在該標籤 儲存結構中的每一標籤與儲存在該快取記憶體標籤之 快取記憶體中的每一標籤大小相同。 20 19.如申請專利範圍第15項所述之系統,其中該系統進一步 包含耦接到該處理器的一控制器,該控制器決定一標籤 匹配的發生,其中當與一記憶體請求有關聯的一原始標 籤等於正被檢查以找出該標籤匹配的一位置處的一已 儲存標籤時,該標籤匹配即發生。 30 200908009 2〇·如申請專利範圍第19項所述之系统,其中該控制 步可操作以: 決定來自該記憶體請求巾的_位 引;及 原始索 當該原始索引尚未在該快取記憶體標藏之快取記 It體中時’藉由覆寫目前在該快取記憶體標籤之快取纪 憶體中的-索引,而將該原始索引插人到該快取記憶體 標籤之快取記憶體中。 " 21.如申請專利範圍第2G項所述之系統,其中該控制器進— 步可操作以: 當來自該記憶體請求的該原始索引位於該快取記 憶體標籤之快取記憶體中時,在該快取記憶體標鐵之快 取§己憶體中檢查以找出該標籤匹配; 當來自該記憶體請求的該原始索引沒有位於該快 15 取記紐«之絲記憶射時,在簡籤儲存結構中 檢查以找出該標籤匹配;及 當該快取記憶體標籤之快取記憶體中不存在—標 籤匹配且該賴儲存結射也不存在-賴E配時,自 一系統記憶體擷取該原始標籤。 2〇 22.如申請專利範圍第21項所述之系統,其中該控制器進— 步可操作以: 當該快取記憶體標籤之快取記憶體中不存在—桿 籤匹配時,將該原始標籤插入到該快取記憶體標籤之快 取記憶體中;及 31 200908009 當該標籤儲存結構中不存在—標籤匹配時,將該原 始軲籤插入到該標籤儲存結構令。 ’、 23. 一種方法,其包含以下步驟: 5 虚4ΓΓ存結構”存多個㈣,其中每一標鐵 取記憶體内的一資料位置有關聯,該快取 °己隐體破輕接到一處理器上;及 取:憶體標鐵之快取記憶財館存該等多 乂:::: 標鐵的一子集,但少於錯存在該 10 15 ‘織儲存結構中的所有該等多個標鐵。 从=請專利範圍第23項所述之方法,其中該快取記憶體 鐵之含有料在賴針轉結構中的最 近所用標籤中的一或較多個。 25·:申請專利範圍第24項所述之方法,其進-步包含判定 :標鐵匹配的發生,其中當與—記憶體請求有關聯的一 '、始仏鐵#於正被檢查以找出該標蕺匹配的—位置處 的-已儲存標籤時,該標籤匹配即發生。 26·如申請專利範圍第25項所述之方法,其進-步包含以下 步驟: 衫來自該記憶體請求中的—位址的—原始索 与1,及 田。玄原始索引尚未在該快取記憶體標籤之快取記 It體中時II由覆寫目前在該快取記憶體標籤之快取記 憶體中的一索弓丨,而將該原始索引插入到該快取記憶體 標籤之快取記憶體中。 32 200908009 27. 如辛請專利範㈣26項所述之方法,其進—步包含 步驟: 當來自該記憶體請求的該原始索引位於該快取紀 憶體標籤之快取記憶體中時,在_取記憶體標藏之快 取記憶體中檢查以找出該標籤匹配; 當來自該記憶體請求的該原始食引沒有位於該快 取記憶體«之餘記憶體巾時,找標_存結尉 檢查以找出該標籤匹配;及 “當該快取記憶體標籤之快取記憶體中不存在一標 籤匹配且職_存結射也衫在—標籤匹配時,自 一系統記憶體擷取該原始標籤。 Μ·如申請專利侧第27項所述之方法,其進—步包含 步驟: 當該快取記憶體標籤之快取記憶體中不存在—伊 籤匹配時,將該原始標籤插人到該快取記憶體標藏之; 取記憶體中;及 ' 當該標籤儲存結構巾不存在—標籤眺時,將該原 始標籤插入到該標籤儲存結構中。 33
TW097124281A 2007-06-29 2008-06-27 Hierarchical cache tag architecture TW200908009A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/771,774 US20090006757A1 (en) 2007-06-29 2007-06-29 Hierarchical cache tag architecture

Publications (1)

Publication Number Publication Date
TW200908009A true TW200908009A (en) 2009-02-16

Family

ID=39721952

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097124281A TW200908009A (en) 2007-06-29 2008-06-27 Hierarchical cache tag architecture

Country Status (7)

Country Link
US (1) US20090006757A1 (zh)
EP (1) EP2017738A1 (zh)
JP (1) JP5087676B2 (zh)
CN (1) CN101689146B (zh)
DE (1) DE112008001666T5 (zh)
TW (1) TW200908009A (zh)
WO (1) WO2009006113A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI450092B (zh) * 2009-09-15 2014-08-21 Via Tech Inc 串流上下文的快取記憶體系統
US8990506B2 (en) 2009-12-16 2015-03-24 Intel Corporation Replacing cache lines in a cache memory based at least in part on cache coherency state information

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327577A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Hybrid storage
US8612809B2 (en) 2009-12-31 2013-12-17 Intel Corporation Systems, methods, and apparatuses for stacked memory
KR20130079706A (ko) * 2012-01-03 2013-07-11 삼성전자주식회사 휘발성 메모리를 포함하는 저장 장치의 구동 방법
US9495305B1 (en) * 2012-11-02 2016-11-15 David Fuchs Detecting pointer errors for memory protection
US20140215158A1 (en) * 2013-01-31 2014-07-31 Hewlett-Packard Development Company, L.P. Executing Requests from Processing Elements with Stacked Memory Devices
US9141484B2 (en) * 2013-03-15 2015-09-22 Seagate Technology Llc Transiently maintaining ECC
US10019352B2 (en) * 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
CN104636268B (zh) * 2013-11-08 2019-07-26 上海芯豪微电子有限公司 一种可重构缓存产品与方法
US9558120B2 (en) 2014-03-27 2017-01-31 Intel Corporation Method, apparatus and system to cache sets of tags of an off-die cache memory
US9594910B2 (en) 2014-03-28 2017-03-14 Intel Corporation In-system provisioning of firmware for a hardware platform
GB2546245B (en) * 2016-01-05 2020-08-19 Advanced Risc Mach Ltd Cache memory
US10042576B2 (en) * 2016-08-17 2018-08-07 Advanced Micro Devices, Inc. Method and apparatus for compressing addresses
CN114780031B (zh) * 2022-04-15 2022-11-11 北京志凌海纳科技有限公司 一种基于单机存储引擎的数据处理方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02294751A (ja) * 1989-05-09 1990-12-05 Mitsubishi Electric Corp キヤツシユメモリ制御装置
US5414827A (en) * 1991-12-19 1995-05-09 Opti, Inc. Automatic cache flush
US5559987A (en) * 1994-06-30 1996-09-24 Digital Equipment Corporation Method and apparatus for updating a duplicate tag status in a snoop bus protocol based computer system
US5813031A (en) * 1994-09-21 1998-09-22 Industrial Technology Research Institute Caching tag for a large scale cache computer memory system
JP3585349B2 (ja) * 1997-08-27 2004-11-04 富士通株式会社 キャッシュメモリを備えた情報処理装置
US6212602B1 (en) * 1997-12-17 2001-04-03 Sun Microsystems, Inc. Cache tag caching
US20040225830A1 (en) * 2003-05-06 2004-11-11 Eric Delano Apparatus and methods for linking a processor and cache

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI450092B (zh) * 2009-09-15 2014-08-21 Via Tech Inc 串流上下文的快取記憶體系統
US8990506B2 (en) 2009-12-16 2015-03-24 Intel Corporation Replacing cache lines in a cache memory based at least in part on cache coherency state information

Also Published As

Publication number Publication date
DE112008001666T5 (de) 2010-09-16
WO2009006113A2 (en) 2009-01-08
WO2009006113A3 (en) 2009-04-30
EP2017738A1 (en) 2009-01-21
US20090006757A1 (en) 2009-01-01
CN101689146A (zh) 2010-03-31
JP5087676B2 (ja) 2012-12-05
JP2010532537A (ja) 2010-10-07
CN101689146B (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
TW200908009A (en) Hierarchical cache tag architecture
US6804799B2 (en) Using type bits to track storage of ECC and predecode bits in a level two cache
TWI451334B (zh) 微處理器及縮短尋訪時間之方法
US6119204A (en) Data processing system and method for maintaining translation lookaside buffer TLB coherency without enforcing complete instruction serialization
TWI512615B (zh) 用於一處理器之存取映射型樣匹配為基礎之預先擷取單元
US6957305B2 (en) Data streaming mechanism in a microprocessor
US7213126B1 (en) Method and processor including logic for storing traces within a trace cache
US5784590A (en) Slave cache having sub-line valid bits updated by a master cache
US6687789B1 (en) Cache which provides partial tags from non-predicted ways to direct search if way prediction misses
US9131899B2 (en) Efficient handling of misaligned loads and stores
KR102588399B1 (ko) 코프로세서 동작 번들링
EP1278125A2 (en) Indexing and multiplexing of interleaved cache memory arrays
US10713172B2 (en) Processor cache with independent pipeline to expedite prefetch request
JPH07253926A (ja) キャッシュ・ミスによる時間ペナルティ減少方法
TWI451330B (zh) 快取記憶體系統以及快取資料取代之方法
JP2006517040A (ja) キャッシュラインサイズが異なる第一レベルキャッシュと第二レベルキャッシュを備えたマイクロプロセッサ
US6175906B1 (en) Mechanism for fast revalidation of virtual tags
US20120272004A1 (en) Efficient data prefetching in the presence of load hits
US6591341B1 (en) Multilevel cache system and method having a merged tag array to store tags for multiple data arrays
US7657667B2 (en) Method to provide cache management commands for a DMA controller
US7356650B1 (en) Cache apparatus and method for accesses lacking locality
KR101123378B1 (ko) 인덱스 검사를 사용하는 저장-로드 포워딩 버퍼
US20030182539A1 (en) Storing execution results of mispredicted paths in a superscalar computer processor
US9348598B2 (en) Data processing apparatus and method for pre-decoding instructions to be executed by processing circuitry
US11500779B1 (en) Vector prefetching for computing systems