TW573252B - Shared cache structure for temporal and non-temporal instructions - Google Patents

Shared cache structure for temporal and non-temporal instructions Download PDF

Info

Publication number
TW573252B
TW573252B TW88105070A TW88105070A TW573252B TW 573252 B TW573252 B TW 573252B TW 88105070 A TW88105070 A TW 88105070A TW 88105070 A TW88105070 A TW 88105070A TW 573252 B TW573252 B TW 573252B
Authority
TW
Taiwan
Prior art keywords
cache memory
data
cache
bit
item
Prior art date
Application number
TW88105070A
Other languages
English (en)
Inventor
Salvador Palanca
Niranjan L Cooray
Angad Narang
Vladimir Pentkovski
Steve Tsai
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
Application granted granted Critical
Publication of TW573252B publication Critical patent/TW573252B/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/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • 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/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

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

573252
五、發明說明(1 ) 發明背景 1 ·查明範疇 本發明廣泛地説明該處理器的範疇;且更明確地説明一種 才疋供暫時和非暫時指令一共享快取記憶體結構,,之技藝。 2·鼓關技藝説明 於一處理器上使用一快取記憶體,將有助於減少記憶體存 取的時間。該快取記憶體結構的基本概念,爲將該最經常 存取的指令和資料保存於該高速快取記憶體中,則該平均 的記憶體存取時間將接近該快取記憶體的存取時間。爲達 成該最大可能的操作速度,典型的處理器係執行一個快取 記憶體層次,即不同等級的快取記憶體。該不同等級的快 取記憶體,相對應至,,距該處理器中心不同的距離”。該快 取記憶體越接近該處理器,則該資料的存取越快。然而, 該資料的存取越快,則儲存資料就越昂貴。因此,該快取 記憶體等級越接近,則該快取記憶體就越快且越小。 該快取記憶體的執行效能,經常是以快取記憶體命中率之 方式測量的。當該處理器指向記憶體、且於快取記憶體中 找到該字時’則稱之爲產生一個命中。如未於快取記憶體 中找到該字,則該字在主記憶體中,且視爲一個不中。如 一個不中發生,則於該存取索引的該條目上產生一個配 置。該存取可用以載入資料至該處理器中,亦或將資料從 該處理器儲存至記憶體中。由該快取記憶體保留該快取的 資訊,直到不再需要該快取的資訊時,使該快取的資訊無 效或由其它的資料代替,其中從”解除配置該快取記憶體條 -4- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ----------Ί - — I (請先閱讀背面之注意事項再填寫本頁) 訂---------線; 經濟部智慧財產局員工消費合作社印製 573252 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(2 ) 目獲得例證。 於執行一快取記憶體層次的處理器中,如該具有一 L 1和 一 L2快取記憶體的奔騰(Pentium) pr〇TM處理器,該較快和 車又小的L 1快取記憶體,其位置比l 2快取記憶體較接近該處 理器。當該處理器請求可快取的資料時,例如一個載入指 令’則該請求首先傳遞至L 1快取記憶體中。如該請求的資 料在L 1快取記憶體中,則將該資料提供給該處理器。否 則’有一個L1不中,且將該請求轉移至L2快取記憶體中。 同樣地,如有一個L 2快取記憶體命中,則將該資料傳遞至 L 1快取記憶體和該處理器中心。如有一個l 2快取記憶體不 中’則將該請求轉移至主記憶體中。該主記憶體藉提供該 請求的資料給L2快取記憶體、L1快取記憶體和該處理器中 心,以回應L2快取記憶體不中。 該典型儲存於快取記憶體中的資料型態,包括作用部份的 程式和資料。當該快取記憶體裝滿時,則需要替換該快取 記憶體中目前的儲存資料線,以產生空間給新近請求的資 料線。一種像這樣的替換技藝,包括該近來最少使用(LRU) 通則的使用,其以該新近請求線替換該近來最少使用的資 料線。於該奔騰(Pentium)卩1*〇以處理器中,因L 2快取記憶 體比L 1快取記憶體大,故L 2快取記憶體典型地儲存快取記 憶體L1中的每樣事物,且某些補充線已於li快取記憶體中 藉該LRU通則替換了。 於1996年12月1 7日提出之美國專利申請序號08/767,950、 定名爲”快取記憶體層次管理”中,揭露了一種經由該使用 -5- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------------------訂---------線· (請先閱讀背面之注意事項再填寫本頁) 573252 A7 B7 五 、發明說明(3 經濟部智慧財產局員工消費合作社印製 和=指令相關聯的一位置性提示、用以配置快取記憶體之 二 δ 個處理器對該處理器和該記憶體間資料轉移的 兄憶體作存取時,可根據和該指令相關聯的該位置性提 不’將孩存取配置給該不同等級的快取記憶體,或不配置 、、、"任何快取記憶體。某些指令不常使用。例如,非暫時預 先取得扣令,預先载入該處理器不立即需要、但預期在不 夂的將來(短時間内)會需要的資料。像這樣的資料,典型 地^使用一次,或在不久的將來(短時間内)不會再使用, 稱爲非暫時資料”。該等經常使用的指令稱爲,,暫時資料”。 時資料而言,因不常使用該資料,故最佳的執行效 能指疋該快取記憶體應用碼和資料不被該不常使用的資料 覆寫。美國巾請序號〇8/767,95()藉提供_個和該快取記憶踢 獨互的緩衝器解決該問題,用以儲存該不常使用的資 十非先取仵資料。然而’就成本和空間的觀點而 。,使用一個額外、獨立的緩衝器係昂貴的。 如疋,孩技藝中必需提供暫時和非暫時指令一共享 憶體,以免除一獨立緩衝器的使用。 $ 發明總結 一種用以提供快取記憶體管理之方法和系 -個王記憶體,-個和該主記憶體耦合之處理器括 處理器核合、用以快取資料之快取記憶體。^ ^個快取圮憶體至少具有兩個快取方向,每一個也/ 向包括多個集合。該多個集合中的每—個集切方 凡,該位元指示"該至少兩個快取方向中的一個快取、 7呵疋 •6- 本紙張尺度適用中國國家標準(CNS)A4規格⑽χ 297公髮 (請先閱讀背面之注意事項再填寫本頁) — — — — — — — 11111111 « 573252 經濟部智慧財產局員工消費合作社印製 A7 五、發明說明(4 ) :、包含非暫時資科"。該處理器從"該主記憶體”或" 個快取1己憶體"中的一個存取資料。 ^ 屬式簡單 =等圖示中的範例例證説明本發明,但並非限制 的參考意指類似的元件。 、 圖1例證説明一個執行本發明的電腦系統的一個體 ,私路:塊圖,其中利用—個快取記憶體作爲該電腦系統 王圮憶體和一處理器間資料的存取。 圖2爲一個執行本發明的電腦系統的一第二個體系的一個 電路方塊圖,其中將兩個快取記憶體配置成快取記憶體等 級’用以於該電腦系統-主記憶體和_個(多個)處理 存取資料。 圖3爲一例證説明該快取記憶組織結構的一個體系的方塊 圖,其中執行本發明的該技藝。 圖4爲根據本發明的一個體系、例證説明該快取記憶體管 理技藝的一覽表。 圖5 A和5 B爲根據本發明的一個體系、例證説明一個快取 圮憶體在暫時指令命中快取記憶體方向2的集合〇之前和之 後其結構的一個範例。 圖6 A和6 B爲根據本發明的一個體系、例證説明一個快取 記憶體在暫時指令命中快取記憶體方向2的集合〇之前和之 後其結構的另一個範例。 圖7A_7D爲根據本發明的一個體系、例證説明一個快取記 憶體在一個非暫時指令命中快取記憶體方向2的集合〇之前 本紙張尺度適用中國國家標準(CNS)A4規^1〇 X 297公釐丁 --------訂------I--線 (請先閱讀背面之注意事項再填寫本頁) « 573252 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(5 ) 和之後其結構的一個範例。 圖8A-8D爲根據本發明的一個體系、例證説明一個快取記 憶體在一個非暫時指令命中快取記憶體方向2的集合〇之前 和之後其結構的另一個範例。 圖9A和9B爲根據本發明的一個體系、例證説明一個快取 記憶體在一個暫時指令對快取記憶體集合〇不中之前和之後 其結構的一個範例。 圖10A-10B爲根據本發明的一個體系、例證説明一個快取 記憶體在一個非暫時指令對快取記憶體集合〇不中之前和之 後其結構的一個範例。 發明詳述 説明一種用以提供快取記憶體管理之技藝,其中藉資料利 用判定快取記憶體的配置。於該以下的説明中,將宣布眾 夕特殊的明細,如特殊的記憶體裝置,電路圖示,處理= 指令等等,以對本發明提供一個徹底完全的瞭解。然而, 對一個熟知此技藝的人來説,將察知無需該等特殊的明細 亦可實行本發明。於其它的例證中,並未詳述眾所皆知的 技藝和結構以使本發明含糊不清。需注意,將説明一個特 殊的執行當作本發明一較可取的體系。然而,極易瞭解 到,在未偏離本發明的精髓和範疇内,可設計和執行其它 的體系。此外,可察知本發明係就一個循序配置的快取記 憶體層次系統來説明的,但無需嚴格的將其限制在這樣— 個層次上。 參考圖1,説明-個典型的電腦系統,其中一個構成該電 -----1¾ (請先閱讀背面之注意事項再填寫本頁) 訂---------線 0 -8 - 573252 A7 _____ B7 五、發明說明(6 ) 腦系統孩中央處理單元(cpu)的處理器1〇,藉由一個匯流排 1 4和個主冗憶體1 1輕合。該主記憶體1 1典型地由一個隨 機存取記憶體所構成,且通常被指爲RAM。隨後,該主記 憶體1 1通常和一個大量儲存(或保存)資訊的大量儲存體裝 置1 2轉合,如一個磁性或光學記憶體裝置。一個快取記憶 體(cache memory,以下亦僅指爲cache)13亦和該匯流排14 搞合。如所示,該快取記憶體13位於該cpu丨丨和該主記憶 體1 1間’以例證”該功能利用”和”與該快取記憶體丨3相關 聯的資料之轉移"。可察知,該快取記憶體i 3之實際的實體 放置可隨該系統和該處理器的結構而變。此外,如所示, 一個快取記憶體控制器丨5和快取記憶體丨3、匯流排丨4耦 合’用以控制快取記憶體1 3的操作。該一個快取記憶體控 制器的操作,如控制器1 5,於該技藝中爲已知的,因此, 於該等隨後的圖示中,未例證説明快取記憶體控制器。假 定在CPU 10的控制下存在某一(某些)控制器,控制該(等) 所示的快取記憶體之操作。 於操作期間,藉記憶體從CPU 10作存取,以達成記憶體 1 1和CPU 10間的資訊轉移。當可快取的資料在目前或不久 即將由C P U 10作存取時’則首先將該資料配置於快取記憶 體1 3中。即,當CPU 10由記憶體1 1中存取一給定的資訊 時,CPU 10從快取記憶體1 3中搜尋該資訊。如該存取的資 料在快取記憶體1 3中,則發生一個,,命中”。否則,產生一 個’’不中”,並搜尋該資料的快取記憶體配置。如目前所實 行的,大部份的存取(不論載入或儲存)均要求快取記憶體 -9- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂---------線 « 經濟部智慧財產局員工消費合作社印製 573252 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(7 ) 13的配置。僅不可快取的存取未配置於該快取記憶體中。 參考圖2,説明一個執行一多重快取記憶體配置的電腦系 統。CPU 10仍藉匯流排1 4和主記憶體1 1耦合,且記憶體i i 又和大量儲存體裝置12耦合。然而,於圖·2的該範例中, 顯示兩個獨立的快取記憶體2丨和22。如所示,循序地配置 快取記憶體21-22,且每一個快取記憶體代表一個快取記憶 體等級,分別指爲等級1(L1)快取記憶體和等級2(L2)快取記 憶體。此外,如所示,L !快取記憶體2丨爲cpu 1〇的一部 份,同時L2快取記憶體22在cpu 1〇的外部。該結構例證了 孩目前實行的”將L 1快取記憶體放置在該處理器晶片上,同 時將等級較低的快取記憶體放置在該處理器的外部,,,其 中,該等級較低的快取記憶體離該處理器中心較遠。該不 同快取記憶體的實際配置爲一個設計上的選擇,或由該處 理器結構指定。如是,將察知,可將L1快取記憶體放置在 CPU 10的外部。 一般來説,CPU 10包括-個執行單元23,暫存器檔24和 取得/解碼器單元25 ^執行單元23爲(::1>1; 1〇的處理中心, 用以執行該不同的算數(或非記憶體)處理器指令。暫存器 ,24爲一組通用暫存器,用以儲存(或保存)執行單元η所 需之不同的資訊。於較高階的系統中,可有一個以上的暫 存器檔。取得/解碼器單元25從一個儲存體位置(如主 體11)取得指令,並將該等指令解碼以由執行單元Η㈣ (,其中該儲存位置保留—個程式中將執行的指令。於 用管路結構之較高階的處理器中,於實際需要該等未來的 (請先閱讀背面之注意事項再填寫本頁) 訂---------線 -10- 573252
經濟部智慧財產局員工消費合作社印製 五、發明說明(8 )
El々之如,先行取知和解碼該等指令,以便該處理器在等 待那些需要取得的指令時,不是閒置的。 CPU 10該不同的單元23-25,和一個内部的匯流排結構27 耦合。一個匯流排界面單元(BIU)26提供一個界面,用以將 CPU 10該不同的單元和匯流排丨4耦合。如圖2所示,l i快 取記憶體和内部的匯流排27耦合,且擔任CPU 1〇的一個内 部快取記憶體。然而,再次強調,L1快取記憶體可存在 CPU 10的外邵,且和匯流排14耦合。可利用該等快取記憶 體快取資料、指令或兩者。於某些系統中,L丨快取記憶體 貫際上分割成兩邵份,一部份用以快取資料,且一部份用 以快取指令。然而,爲了簡化説明,該等圖示所説明的該 不同的快取記憶體均以單一的快取記憶體説明;且快取資 料、指令和其它資訊,此處均指爲,,資料,,。可察知,圖2所 示該等單元的操作均爲已知的。此外,亦可察知,cPU 1〇 實際上比該所顯示的元件包括更多的元件。如是,圖2中只 説明和瞭解本發明有關的該等結構。於一個體系中,在具 有資料快取記憶體的系統中利用本發明。然而,本發明可 適用於其它任何型態的快取記憶體。 亦需注意,該電腦系統可由一個以上的cpu所組成(如圖2 中的虛線所示)。於該一個系統中,典型地爲多重cpu共享 主記憶體丨丨和/或大量儲存體單元12。如是,該電腦系^不 同的處理器,可共享該某些或所有和該電腦系統有關聯的 快取記憶體。例如,就圖2的該系統而言,每一個處理器的 L1快取記憶體21僅由其處理器使用之,但主記憶體η則將 -11 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁)
573252
五、發明說明(9 ) 由該系統該所有的mj所共享。此外,每_個咖均有一個 關聯的外部L 2快取記憶體2 2。 可於-單-cpu的電腦系統或—多重CPU的電腦系統中實 行本發明。更進一步需注意,其它型態的單元,其存取記 憶體時可擔任和該等此處所説之CPU同等的工作,因此能夠 執行和該等所述CPU同樣的記憶體存取功能。例如,直接記 憶體存取(DMA)裝置,可和此處所述該等處理器一樣的,,迅 速地存取記憶體”。如是,一個具有一處理器(cp仍、但具 有該一個以上記憶體存取單元之電腦系統,將擔任和此處 所述該多重處理器系統同等的工作。 如指示,僅顯示兩個快取記憶體21_22。然而,不需將該 電腦系統限制在僅兩個快取記憶體等級。現在爲一於較高 階的系統中利用一第三個等級(L3)快取記憶體的應用。此 亦爲該有一序列快取記憶體配置之應用,以便在Li快取記 憶體中快取到的資料亦在L 2快取記憶體中快取到。如恰巧 有一個L3快取記憶體,則在L2快取記憶體中快取到的資 料’典型地亦在L 3快取記憶體中快取到。如是,在一個特 殊的快取記憶體等級上快取到的資料,亦同時在該快取記 憶體層次中所有較高的等級上快取到。 圖3爲一例證説明該快取記憶體組織結構的一個體系的方 塊圖,其中執行本發明的該技藝。就大體而論,一個快取 記憶體結構中有” x ”組,每一組有” y ”個方向(其中y 2 2), 且其中每一個方向包含一個資料條目或一條快取記憶體 線。本發明提供一個LRU鎖位元,用以指示該集合内該任 -12- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂---------線一 經濟部智慧財產局員工消費合作社印製 573252 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(1〇 ) 何一個方向是否包含非暫時(NT)資料。如包含,將更新該 等正規的或虛擬的LRU位元,以指向該NT資料。每一組亦 有” ζ π個正規的或虛擬的LRU位元。除非設定了該LRU鎖位 元’該等正規的或虛擬的LRU位元才會根據該執行的近來 最少使用技藝,指向該集合内的該方向。每一組該正規的 或虛擬的LRU位元總數,將隨每一組的方向總數和該執行 的LRU(正規的或虛擬的)技藝而變。 如該所示的體系,快取記憶體5 〇組織如一四個方向的集 合之關聯的快取記憶體。於圖· 3的該範例中,如所示,每 一頁等於該快取記憶體大小的四分之一。特別是,快取記 憶體5 0分割成大小相等的四個方向(例如,方向〇 (52),方 向1 (54),方向2(56)和方向3(58)),且將主記憶體1 1 (亦參 看圖1和圖2)視爲’’分割成頁:(例如,頁〇 ·頁η )。於另一個 體系中,每一頁可比該快取記憶體大或小。可於圖.丨的快 取記憶體1 3、圖2的L 1快取記憶體和/或L2快取記憶體22 内,執行快取記憶體50的組織結構(如圖3所示)。 快取冗憶體5 0亦包括一個近來最少使用的位元6〇Q-60ni 陣列’其中每一個位元以該近來最少使用的資料(或Ν τ資 料’如執行一偏差的LRU技藝)指向一集合内的該方向。根 據一個在快取記憶體控制器1 5所控制下的LRU技藝,執行 這樣的表列,以判定覆寫哪一個快取記憶體條目,設若一 個快取記憶體集合滿了。該L ru邏輯(未顯示),保存了一 集合内該近來最少使用的快取記憶體位置的軌跡。於一個 體系中’可執行一種嚴格保存該近來最少使用目錄通則的 -13- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------訂---------線 (請先閱讀背面之注意事項再填寫本頁) « 經濟部智慧財產局員工消費合作社印製 573252 A7 _____ B7 五、發明說明(11 ) 軌跡之LRU技藝。於一選擇性的體系中,執行一個虛擬_ LRU通則,其在保存該近來最少使用目錄元件的軌跡上作
了最努力的嘗試。爲了討論的目地,將位元60Q-6〇n指爲LRU 位元60G-60n,同時將該LRU位元6〇。_6〇11的陣列指爲lru位元 60 〇 快取記憶體5 0更進一步包括一個LRU鎖位元7〇^7〇n之陣 列,其指示一給定的集合内、該等方向52,54,%中的 任何一個方向,是否包含”不應污染快取記憶5〇(即不常使 用的資料)的資料,如下面章節中之詳述。 圖4爲根據本發明的原則、例證説明該快取記憶體管理技 藝的一覽表。本發明利用該Lru鎖位元70G_70n的陣列,指示 該任何相對應的快取資料是否爲水流式的或非暫時的,且 如所指’一旦一快取記憶體不中至該相對應的集合時,即 成爲第一個被替換的條目。於一個體系中,當將該lRU鎖 位元7 0設定成1時,意指該相對應的集合有一個條目爲非暫 時的。如清除該LRU鎖位元7 0,則一旦一暫時指令的一快 取記憶體命中,即根據該執行的Lru技藝更新該(等)相對應 的LRU位元6 0 (參看圖4的項目1),但該關聯的LRU鎖位元 未更新。然而,如該LRU鎖位元已設定成丨(意指該相對應 的集合有一個非暫時指令),則未更新該Lru鎖位元70,且 亦未更新該LRU位元60(參看項目2)。 設若一非暫時指令的一快取記憶體命中,則不論該Lru鎖 位元7 0的狀態爲何,均未更新該lru位元6 0和該LRU鎖位 元7 0 (參看項目3 )。於一選擇性的體系中,如經由L 1快取 -14 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ----------·----------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 573252 A7 --—_ B7 五、發明說明(12 ) (請先閱讀背面之注意事項再填寫本頁) A 體控制器中一控制暫存器的一個模式位元所控制,則 流動或非暫時指令的快取記憶體命中將迫使該等lRU位 元至該命中的方向(參看項目。此外,該lru鎖位元7 〇設 疋成1。於孩體系中,一旦一快取記憶體不中至該相對應的 集合時’則第一個被替換的將爲該流動或非暫時指令的資 料命中。 一但一暫時指令的一快取記憶體不中,則清除該Lru鎖位 元,並根據一虛擬LRU技藝更新該lRU位元6〇(項目5)。然 而’一旦一流動或非暫時指令的一快取記憶體不中,則將 該LRU鎖位元7 0設定成1,且該相對應的lRU位元6 〇未更新 (項目6) 〇 將不討論圖4該一覽表中所提供之該每一個項目的範例。 圖· 5 A和5 B例證説明一個快取記憶體在暫時指令命中快取 記憶體方向2的集合〇之前和之後其結構的一個範例。該範 例相對應至圖· 4的項目1。此時,已於先前清除快取記憶體 集合0的LRU鎖位元70〇,且因該快取記憶體集合〇由一暫時 指令命中,故未更新該LRU鎖位元70。。然而,根據該執行 的LRU技藝更新該LRU位元60〇。於該範例中,假設該虛擬 LRU技藝指示方向3爲該近來最少使用的條目。 經濟部智慧財產局員工消費合作社印製
圖6 A和6 B例證説明一個快取記憶體在暫時指令命中快取 記憶體方向2的集合0之前和之後其結構的另一個範例。該 範例相對應至圖· 4的項目2。此時,已於先前設定快取記憶 體集合0的LRU鎖位元70。,意指該相對應的集合包含非暫時 資料。於是,既不更新該LRU鎖位元70G,亦不更新該LRU -15- 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公爱) 573252 A7 B7 五、發明說明(13 ) 位元60〇。 圖7A-7D例證説明一個快取記憶體在一個非暫時指令命中 快取記憶體方向2的集合〇之前和之後其結構的一個範例。 該範例相對應至圖4的項目3,且可將一個位在山快取記憶 體控制器中的模式位元設定成零以執行之(參看圖4)。於該 第一個事例中(圖· 7 A和7 B ),已於先前清除快取記憶體集 合0的LRU鎖位元7〇0。於該體系中,一非暫時快取記憶體命 中未更新該LRU鎖位元7 0。於是,因該快取記憶體集〇由一 非暫時指令命中,故既不更新該LRU鎖位元70q,亦不更新 該LRU位元60〇。於該第二個事例中(圖7C和7D),已於先前 設定快取記憶體集合0的LRU鎖位元70G,意指該相對應的集 合包含非暫時資料。於是,既不更新該LRU鎖位元70。,亦 不更新該LRU位元60。。 圖8A-8D例證説明一個快取記憶體在一個非暫時指令命中 快取記憶體方向2的集合0之前和之後其結構的另一個範 例。該範例相對應至圖4的項目4,且可將該位在L 1快取記 憶體控制器中的模式位元設定成1以執行之(參看圖4 )。於 該第一個事例中(圖8 A和8 B ),已於先前清除快取記憶體集 合0的LRU鎖位元70〇。於一選擇性體系的該範例到圖7A-7D 所示的該範例中,一非暫時快取記憶體命中更新該L RU鎖 位元7 0。於是,如圖8 A所示,因該快取記憶體集合0由一 個非暫時指令命中,故更新該LRU鎖位元70〇(設定成1 ),如 圖8 B所示。此外,更新該LRU位元60〇,以指示命中該方 向。於該”已於先前設定快取記憶體集合0的LRU鎖位元70〇’f -16· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂---------線 « 經濟部智慧財產局員工消費合作社印製 573252 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(14 ) 的事例中(圖8C和8D),仍維持將該lru鎖位元70Q設定成 1。此外,迫使該LRU位元όΟ〇指向該集合内該命中的方向。 圖9 Α和9 Β例證説明一個快取記憶體在一個暫時指令對快 取記憶體集合0不中之前和之後其結構的一個範例。該範例 相對應至圖4的項目5。此時,已於先前設定快取記憶體集 合0的LRU鎖位元70G,且因有一個暫時指令目標集合〇的不 中,故一旦替換了該快取記憶體中的該暫時不中,即清除 忒集合的該LRU鎖位元70〇。然而,根據該執行的LRU技藝 更新該LRU位元60G。於該範例中,該虛擬LRU技藝指示方 向3爲該近來最少使用的條目。 圖10A-10B例證説明一個快取記憶體在一個非暫時指令對 快取記憶體集合〇不中之前和之後其結構的一個範例。該範 例相對應至圖.4的項目6。於該事例中,已於先前清除快取 記憶體集合0的LRU鎖位元7〇g。因對快取記憶體集合〇有一 個非暫時不中,故設定該LRU鎖位元7〇。,且該lru位元的〇 仍維持一樣,以便指向該相對應集合〇中的該非暫時資料。〇 藉執行本發明的裝置和方法,提供了 一個用以管理暫時和 非暫時才EJ令的共旱快取5己憶體結構,使快取記憶體或快取 記憶體層次中的資料污染減至最少的程度。執行本發明亦 免除了一獨立緩衝器的使用,使其在執行上同時兼具了伊 濟性和效率性。 在未偏離本發明的精髓和基本特徵之範圍内,可將本發明 以其它特殊的形式編入。係就全面考量該等説明的體系, 且僅作爲例證説明用,而非限制用。因此,以該附=的申 ----11¾ (請先閱讀背面之注意事項再填寫本頁) 訂---------線一 -17- 573252 A7 _B7 五、發明說明(15 ) 請專利、而非前面的説明表示本發明的範轉係更恰當。所 有於該申請專利中同義的意義和範圍内產生之變更,均包 含於本發明的範疇内。 -i^i ϋ I 1· 一- 口、 —ai ·ϋ · (請先閱讀背面之注意事項再填寫本頁) - •線; 經濟部智慧財產局員工消費合作社印製 8 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)

Claims (1)

  1. 申請專利範圍 ~種用以提供快取記憶體管理之電腦系統,包括: 一個主記憶體; 一個和該主記憶體耦合之處理器; 至少一個和該處理器耦合之快取記憶體,該至少—個 杠取1己憶體至少具有兩個快取方向,每—個快取方向包 括多個集合’該等多個集合中的每—個集合均有—第一 個位70,指示該至少兩個快取方向中的—個快取方向是 否包含非暫時資料; 經濟部智慧財產局員工消費合作社印製 其中該處理器從該主記憶體或該至少一個快取記憶體 中的一個存取資料。 2.如申請專利範圍第i項之電腦系統,其中該至少_個快 取記憶體更進一步包括一第二個位元,指示一相對應方 向中一資料條目的狀態。 3·:申請專利範圍第2項之電腦系統,其中該狀態指示該 :貝料條目就其匕的條目而言是否爲一近來最少使用的條 目。 4·如申請專利範圍第i項之電腦系、统,其中設定該第一個 位凡,以指示一包含非暫時資料的相關方向。 5·如申請專利範圍第i項之電腦系統,其中清除該第一個 位元’以指示一包含暫時資料的相關方向。 6 ·如申請專利範圍第2項之電腦系統,更進一步包括和該 至少一個快取記憶體、該處理器耦合之快取記憶體控制 邏輯,用以控制該至少一個快取記憶體。 7·如申請專利範圍第6項之電腦系統,其中該處理器接收 19 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱 (請先閱讀背面之注意事項再填寫本頁) % _線- 573252 8888 ABCD 經濟部智慧財產局員工消費合作社印製 申請專利範圍 一個用以存取資料的指令,該處理器判定該資料是否位 於該至少一個快取記憶體中,如是,則從該至少一個快 取記憶體中存取該資料,否則,從該主記憶體中存取該 資料。 8 ·如申凊專利範圍第7项之電腦系統,其中如從該至少一 個快取記憶體中存取該資料,則該快取記憶體控制邏輯 判定該資料是否爲暫時的,如是,更新該正在存取、且 相對應至該方向的第二個位元之狀態,否則讓該狀態未 改變。 9 ·如申請專利範圍第8項之電腦系統,其中相對應至該方 向的該第一個位元係未改變的。 10·如申請專利範圍第7項之電腦系統,其中如從該至少一 個快取記憶體中存取該資料,則該快取記憶體控制邏輯 架構該第一個位元,以指示該存取的資料爲非暫時的, 該快取記憶體控制邏輯更進一步更新該第二個位元的該 狀態。 11. 如申請專利範圍第7項之電腦系統,其中如從該主記憶 體中存取該資料,則該快取記憶體控制邏輯判定該資料 是否爲非暫時的,如是,配置該第一個位元,以指示該 存取的資料爲非暫時的,該快取記憶體控制邏輯讓該第 二個位元的該狀態未改變。 12. 如申請專利範圍第1 1項之電腦系統,其中如該快取記憶 體控制邏輯判定該資料爲暫時的,則該快取記憶體控制 邏輯架構該第一個位元,以指示該存取的資料爲暫時 -20- 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 X 297公釐) ----------:—--------訂---------線. (請先閱讀背面之注意事項再填寫本頁) 573252 A8 § '~~^______ 六、申請專利範圍 的’該快取記憶體控余】邏_更新該第二個纟元的該狀 態。 13·、種在一個電腦系統中基於一個處理器使用資料之存取 方式配置快取記憶體之方法,包括: 提供一個主記憶體; 提供一個和該主記憶體耦合之處理器; 提供至少一個和該處理器耦合之快取記憶體,該至少 一個快取記憶體至少具有兩個快取方向,每一個快取方 $包括多個集合,該等多個集合中的每一個集合均有一 第個位元’指示該至少兩個快取方向中的一個快取方 向是否包含非暫時資料; 琢處理器從該主記憶體或該至少一個快取記憶體中的 一個作存取。 Μ·如申請專利範圍第13項之方法,其中該至少一個快取記 憶體更進一步包括一第二個位元,指示一相對應方向中 一資料條目的狀態。 15·如申請專利範圍第1 4項之方法,其中該狀態指示該資料 條目就其b的條目而1是否爲一近來最少使用的條目。 16·如申請專利範圍第1 3項之方法,其中設定該第一個位 疋,以指示一包含非暫時資料的相關方向。 Π·如申請專利範圍第1 3項之方法,其中清除該第一個位 凡,以指示一包含暫時資料的相關方向。 18·如申請專利範圍第丨4項之方法,更進一步包括提供一和 孩至少一個快取記憶體、該處理器耦合之快取記憶體控 本紙張尺度適用中國國家標準(cns)A4規格 (請先閱讀背面之注意事項再填寫本頁) .¾ -丨線. 經濟部智慧財產局員工消費合作社印製 573252 A8 B8 C8 D8 經濟部智慧財產局員工消費合作社印製 六、申請專利範圍 制邏輯,用以控制該至少一個快取記憶體。 N·如申請專利範圍第1 8項之方法,其中該處理器接收一個 用以存取資料的指令’該處理器判定該資料是否位於該 至少一個快取記憶體中,如是,則從該至少一個快取記 憶體中存取該資料,否則,從該主記憶體中存取該資 料。 20·如申請專利範圍第丨9項之方法,其中如從該至少一個快 取死憶體中存取該資料,則該快取記憶體控制邏輯判定 該資料是否爲暫時的,如是,更新該正在存取、且相對 應至該方向的第二個位元之狀態,否則讓該狀態不改 變〇 21·如申請專利範圍第19項之方法,其中相對應至該方向的 該第一個位元係未改變的。 22.如申請專利範圍第1 9項之方法,其中如從該至少一個快 取死憶體中存取該資料,則該快取記憶體控制邏輯架構 該第一個位元,以指示該存取的資料爲非暫時的,該快 取化憶體控制邏輯更進一步更新該第二個位元的該狀 態。 23·如申請專利範圍第19項之方法,其中如從該主記憶體中 存取該資料,則該快取記憶體控制邏輯判定該資料是否 爲非暫時的,如是,架構該第一個位元,以指示該存取 的'貝料爲非暫時的,該快取記憶體控制邏輯讓該第二個 位元的該狀態不改變。 24·如申请專利範圍第2 3項之方法,其中如該快取記憶體控 ___ . 22 - 本紙張尺 —用Tiiig^s)A4規格⑽Χ 297 (請先閱讀背面之注音?事項再填寫本頁)
    573252 A8 B8 C8 D8 申請專利範圍 制邏輯判定該資料爲暫時的,則該快取記憶體控制邏輯 架構該第一個位元,以指示該存取的資料爲暫時的,該 快取記憶體控制邏輯更新該第二個位元的該狀態。 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 23 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
TW88105070A 1998-03-31 1999-03-31 Shared cache structure for temporal and non-temporal instructions TW573252B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/053,386 US6202129B1 (en) 1998-03-31 1998-03-31 Shared cache structure for temporal and non-temporal information using indicative bits

Publications (1)

Publication Number Publication Date
TW573252B true TW573252B (en) 2004-01-21

Family

ID=21983863

Family Applications (1)

Application Number Title Priority Date Filing Date
TW88105070A TW573252B (en) 1998-03-31 1999-03-31 Shared cache structure for temporal and non-temporal instructions

Country Status (10)

Country Link
US (2) US6202129B1 (zh)
EP (1) EP1066566B1 (zh)
JP (1) JP4486750B2 (zh)
KR (1) KR100389549B1 (zh)
CN (1) CN1230750C (zh)
AU (1) AU3364599A (zh)
BR (1) BR9909295A (zh)
RU (1) RU2212704C2 (zh)
TW (1) TW573252B (zh)
WO (1) WO1999050752A1 (zh)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978379A (en) * 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
US6202129B1 (en) * 1998-03-31 2001-03-13 Intel Corporation Shared cache structure for temporal and non-temporal information using indicative bits
US6216215B1 (en) 1998-04-02 2001-04-10 Intel Corporation Method and apparatus for senior loads
US6542966B1 (en) * 1998-07-16 2003-04-01 Intel Corporation Method and apparatus for managing temporal and non-temporal data in a single cache structure
US7430171B2 (en) 1998-11-19 2008-09-30 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US6560677B1 (en) * 1999-05-04 2003-05-06 International Business Machines Corporation Methods, cache memories, systems and computer program products for storing transient, normal, and locked entries in an associative cache memory
US6728835B1 (en) * 2000-08-30 2004-04-27 Unisys Corporation Leaky cache mechanism
US6681295B1 (en) * 2000-08-31 2004-01-20 Hewlett-Packard Development Company, L.P. Fast lane prefetching
US6668307B1 (en) * 2000-09-29 2003-12-23 Sun Microsystems, Inc. System and method for a software controlled cache
WO2002027498A2 (en) * 2000-09-29 2002-04-04 Sun Microsystems, Inc. System and method for identifying and managing streaming-data
US6578111B1 (en) * 2000-09-29 2003-06-10 Sun Microsystems, Inc. Cache memory system and method for managing streaming-data
US6598124B1 (en) * 2000-09-29 2003-07-22 Sun Microsystems, Inc. System and method for identifying streaming-data
US6766413B2 (en) * 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US7287649B2 (en) * 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
US6766389B2 (en) 2001-05-18 2004-07-20 Broadcom Corporation System on a chip for networking
US6574708B2 (en) * 2001-05-18 2003-06-03 Broadcom Corporation Source controlled cache allocation
US7212534B2 (en) 2001-07-23 2007-05-01 Broadcom Corporation Flow based congestion control
US6823426B2 (en) * 2001-12-20 2004-11-23 Intel Corporation System and method of data replacement in cache ways
US7328328B2 (en) * 2002-02-19 2008-02-05 Ip-First, Llc Non-temporal memory reference control mechanism
US7295555B2 (en) 2002-03-08 2007-11-13 Broadcom Corporation System and method for identifying upper layer protocol message boundaries
US7114043B2 (en) * 2002-05-15 2006-09-26 Broadcom Corporation Ambiguous virtual channels
US7266587B2 (en) * 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
US7269709B2 (en) * 2002-05-15 2007-09-11 Broadcom Corporation Memory controller configurable to allow bandwidth/latency tradeoff
US7073030B2 (en) 2002-05-22 2006-07-04 International Business Machines Corporation Method and apparatus providing non level one information caching using prefetch to increase a hit ratio
US7035979B2 (en) * 2002-05-22 2006-04-25 International Business Machines Corporation Method and apparatus for optimizing cache hit ratio in non L1 caches
US6904501B1 (en) * 2002-06-17 2005-06-07 Silicon Graphics, Inc. Cache memory for identifying locked and least recently used storage locations
US7934021B2 (en) 2002-08-29 2011-04-26 Broadcom Corporation System and method for network interfacing
US7411959B2 (en) 2002-08-30 2008-08-12 Broadcom Corporation System and method for handling out-of-order frames
US7346701B2 (en) 2002-08-30 2008-03-18 Broadcom Corporation System and method for TCP offload
US7313623B2 (en) 2002-08-30 2007-12-25 Broadcom Corporation System and method for TCP/IP offload independent of bandwidth delay product
US8180928B2 (en) 2002-08-30 2012-05-15 Broadcom Corporation Method and system for supporting read operations with CRC for iSCSI and iSCSI chimney
US7512498B2 (en) * 2002-12-31 2009-03-31 Intel Corporation Streaming processing of biological sequence matching
JP4008946B2 (ja) * 2003-11-18 2007-11-14 松下電器産業株式会社 キャッシュメモリ及びその制御方法
US7321954B2 (en) * 2004-08-11 2008-01-22 International Business Machines Corporation Method for software controllable dynamically lockable cache line replacement system
US20060101208A1 (en) * 2004-11-09 2006-05-11 Intel Corporation Method and apparatus for handling non-temporal memory accesses in a cache
US7356650B1 (en) * 2005-06-17 2008-04-08 Unisys Corporation Cache apparatus and method for accesses lacking locality
US7437510B2 (en) * 2005-09-30 2008-10-14 Intel Corporation Instruction-assisted cache management for efficient use of cache and memory
US7624257B2 (en) * 2005-11-30 2009-11-24 International Business Machines Corporation Digital data processing apparatus having hardware multithreading support including a register set reserved for special class threads
US20070150658A1 (en) * 2005-12-28 2007-06-28 Jaideep Moses Pinning locks in shared cache
US8527713B2 (en) * 2006-01-31 2013-09-03 Qualcomm Incorporated Cache locking without interference from normal allocations
GB0603552D0 (en) * 2006-02-22 2006-04-05 Advanced Risc Mach Ltd Cache management within a data processing apparatus
EP1990732A4 (en) * 2006-02-27 2009-09-02 Fujitsu Ltd DEVICE, METHOD AND LRU CONTROL PROGRAM
US20080147989A1 (en) * 2006-12-14 2008-06-19 Arm Limited Lockdown control of a multi-way set associative cache memory
US8078803B2 (en) 2008-01-30 2011-12-13 Qualcomm Incorporated Apparatus and methods to reduce castouts in a multi-level cache hierarchy
US7793049B2 (en) * 2007-10-30 2010-09-07 International Business Machines Corporation Mechanism for data cache replacement based on region policies
US8108614B2 (en) * 2007-12-31 2012-01-31 Eric Sprangle Mechanism for effectively caching streaming and non-streaming data patterns
DK2318935T3 (en) * 2008-07-23 2015-01-26 Micro Motion Inc Processing system with external storage access
US8364898B2 (en) * 2009-01-23 2013-01-29 International Business Machines Corporation Optimizing a cache back invalidation policy
US8312219B2 (en) * 2009-03-02 2012-11-13 International Business Machines Corporation Hybrid caching techniques and garbage collection using hybrid caching techniques
US9063825B1 (en) * 2009-09-21 2015-06-23 Tilera Corporation Memory controller load balancing with configurable striping domains
US8560777B2 (en) * 2009-12-16 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Method, server, computer program and computer program product for caching
US9323527B2 (en) * 2010-10-15 2016-04-26 International Business Machines Corporation Performance of emerging applications in a virtualized environment using transient instruction streams
US9600416B2 (en) 2011-09-30 2017-03-21 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy
CN107608910B (zh) 2011-09-30 2021-07-02 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
US9317429B2 (en) 2011-09-30 2016-04-19 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy over common memory channels
EP2761472B1 (en) 2011-09-30 2020-04-01 Intel Corporation Memory channel that supports near memory and far memory access
WO2013080426A1 (ja) * 2011-12-01 2013-06-06 パナソニック株式会社 熱を考慮した構造を持つ集積回路装置、三次元集積回路、三次元プロセッサ装置、及びプロセススケジューラ
US9519549B2 (en) * 2012-01-11 2016-12-13 International Business Machines Corporation Data storage backup with lessened cache pollution
US8856455B2 (en) 2012-03-28 2014-10-07 International Business Machines Corporation Data cache block deallocate requests
US8874852B2 (en) 2012-03-28 2014-10-28 International Business Machines Corporation Data cache block deallocate requests in a multi-level cache hierarchy
CN103577480B (zh) * 2012-08-07 2017-05-31 中国银联股份有限公司 一种参数划分系统及其方法、一种业务处理系统及其方法
US9558121B2 (en) * 2012-12-28 2017-01-31 Intel Corporation Two-level cache locking mechanism
US9256539B2 (en) 2013-03-07 2016-02-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Sharing cache in a computing system
US9311239B2 (en) 2013-03-14 2016-04-12 Intel Corporation Power efficient level one data cache access with pre-validated tags
US20150095586A1 (en) * 2013-09-30 2015-04-02 Advanced Micro Devices , Inc. Storing non-temporal cache data
US11580125B2 (en) * 2015-05-08 2023-02-14 Adp, Inc. Information system with temporal data
US10379827B2 (en) 2016-12-29 2019-08-13 Intel Corporation Automatic identification and generation of non-temporal store and load operations in a dynamic optimization environment
US11681627B1 (en) * 2021-10-18 2023-06-20 Meta Platforms Technologies, Llc Distributed temporal cache for Systems on a Chip

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5119453A (en) * 1974-08-08 1976-02-16 Fujitsu Ltd Patsufua memoriseigyohoshiki
JPS5534336A (en) * 1978-08-31 1980-03-10 Fujitsu Ltd Buffer memory control method
JPS58159285A (ja) * 1982-03-17 1983-09-21 Nec Corp バツフアメモリ制御方式
JPH01133162A (ja) * 1987-11-18 1989-05-25 Fujitsu Ltd キャッシュメモリ制御方式
US4905141A (en) 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
JPH0358151A (ja) * 1989-07-26 1991-03-13 Nec Corp キャッシュメモリ装置
JPH0358252A (ja) * 1989-07-27 1991-03-13 Nec Corp キャッシュメモリ制御装置
JPH041838A (ja) * 1990-04-18 1992-01-07 Nec Corp キャッシュメモリ制御回路
JPH04215151A (ja) * 1990-12-13 1992-08-05 Nec Commun Syst Ltd キャッシュ制御方式
EP0496439B1 (en) * 1991-01-15 1998-01-21 Koninklijke Philips Electronics N.V. Computer system with multi-buffer data cache and method therefor
GB2255211B (en) * 1991-04-25 1995-05-17 Intel Corp LRU pointer updating in a controller for two-way set associative cache
GB2256512B (en) * 1991-06-04 1995-03-15 Intel Corp Second level cache controller unit and system
JPH05165726A (ja) * 1991-12-12 1993-07-02 Nec Corp データ処理装置
JPH05233454A (ja) * 1992-02-24 1993-09-10 Hitachi Ltd キャッシュメモリ装置
US5353425A (en) * 1992-04-29 1994-10-04 Sun Microsystems, Inc. Methods and apparatus for implementing a pseudo-LRU cache memory replacement scheme with a locking feature
US5471605A (en) * 1992-08-27 1995-11-28 Intel Corporation Apparatus for updating a multi-way set associative cache memory status array
US5434992A (en) 1992-09-04 1995-07-18 International Business Machines Corporation Method and means for dynamically partitioning cache into a global and data type subcache hierarchy from a real time reference trace
US5493667A (en) * 1993-02-09 1996-02-20 Intel Corporation Apparatus and method for an instruction cache locking scheme
JPH06348595A (ja) * 1993-06-07 1994-12-22 Hitachi Ltd キャッシュ装置
JPH07281957A (ja) * 1994-04-15 1995-10-27 Hitachi Ltd キャッシュ記憶装置およびアクセス命令生成方法
US5826052A (en) 1994-04-29 1998-10-20 Advanced Micro Devices, Inc. Method and apparatus for concurrent access to multiple physical caches
JPH07334428A (ja) * 1994-06-14 1995-12-22 Toshiba Corp キャッシュメモリ
US5584014A (en) * 1994-12-20 1996-12-10 Sun Microsystems, Inc. Apparatus and method to preserve data in a set associative memory device
US5701426A (en) * 1995-03-31 1997-12-23 Bull Information Systems Inc. Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio
US5845317A (en) * 1995-11-17 1998-12-01 Micron Technology, Inc. Multi-way cache expansion circuit architecture
GB2311880A (en) * 1996-04-03 1997-10-08 Advanced Risc Mach Ltd Partitioned cache memory
US5829025A (en) * 1996-12-17 1998-10-27 Intel Corporation Computer system and method of allocating cache memories in a multilevel cache hierarchy utilizing a locality hint within an instruction
JPH10207767A (ja) * 1997-01-16 1998-08-07 Toshiba Corp ロック機能付キャッシュメモリ及びこのキャッシュメモリを備えたマイクロプロセッサ
US6434671B2 (en) * 1997-09-30 2002-08-13 Intel Corporation Software-controlled cache memory compartmentalization
US6105111A (en) * 1998-03-31 2000-08-15 Intel Corporation Method and apparatus for providing a cache management technique
US6202129B1 (en) * 1998-03-31 2001-03-13 Intel Corporation Shared cache structure for temporal and non-temporal information using indicative bits
US6223258B1 (en) * 1998-03-31 2001-04-24 Intel Corporation Method and apparatus for implementing non-temporal loads
US6205520B1 (en) * 1998-03-31 2001-03-20 Intel Corporation Method and apparatus for implementing non-temporal stores

Also Published As

Publication number Publication date
JP4486750B2 (ja) 2010-06-23
EP1066566A4 (en) 2002-10-23
US20020007441A1 (en) 2002-01-17
EP1066566B1 (en) 2006-11-02
CN1295687A (zh) 2001-05-16
EP1066566A1 (en) 2001-01-10
AU3364599A (en) 1999-10-18
US6584547B2 (en) 2003-06-24
JP2002510085A (ja) 2002-04-02
RU2212704C2 (ru) 2003-09-20
CN1230750C (zh) 2005-12-07
BR9909295A (pt) 2000-12-05
KR20010042262A (ko) 2001-05-25
WO1999050752A9 (en) 2000-05-25
WO1999050752A1 (en) 1999-10-07
KR100389549B1 (ko) 2003-06-27
US6202129B1 (en) 2001-03-13

Similar Documents

Publication Publication Date Title
TW573252B (en) Shared cache structure for temporal and non-temporal instructions
US9513904B2 (en) Computer processor employing cache memory with per-byte valid bits
US5715428A (en) Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system
US6105111A (en) Method and apparatus for providing a cache management technique
US6138213A (en) Cache including a prefetch way for storing prefetch cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line
EP0695996B1 (en) Multi-level cache system
US7120755B2 (en) Transfer of cache lines on-chip between processing cores in a multi-core system
US7895399B2 (en) Computer system and control method for controlling processor execution of a prefetech command
US8131935B2 (en) Virtual barrier synchronization cache
US20040049640A1 (en) System and method for directional prefetching
US20060179174A1 (en) Method and system for preventing cache lines from being flushed until data stored therein is used
US8255591B2 (en) Method and system for managing cache injection in a multiprocessor system
US7124252B1 (en) Method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system
US9727469B2 (en) Performance-driven cache line memory access
US10740239B2 (en) Translation entry invalidation in a multithreaded data processing system
JPH0721085A (ja) メモリとi/o装置の間で転送されるデータをキャッシュするためのストリーミングキャッシュおよびその方法
JP4577729B2 (ja) ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法
EP2339472B1 (en) Arithmetic processing unit, information processing device, and cache memory control method
US7882309B2 (en) Method and apparatus for handling excess data during memory access
EP1622029B1 (en) Memory control device, move-in buffer control method
US10754791B2 (en) Software translation prefetch instructions
US7328310B2 (en) Method and system for cache utilization by limiting number of pending cache line requests
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム
GB2502858A (en) A method of copying data from a first memory location and storing it in a cache line associated with a different memory location
JP2024011696A (ja) 演算処理装置及び演算処理方法

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees