TW451132B - System and method for cache processing - Google Patents
System and method for cache processing Download PDFInfo
- Publication number
- TW451132B TW451132B TW088121454A TW88121454A TW451132B TW 451132 B TW451132 B TW 451132B TW 088121454 A TW088121454 A TW 088121454A TW 88121454 A TW88121454 A TW 88121454A TW 451132 B TW451132 B TW 451132B
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- memory
- line
- data
- full
- Prior art date
Links
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
-
- 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/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches 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
45113 2 五、發明說明(1) _本發明是有關於一種 法,提供給一資料處理單 (Microprocessor Unit ) Processing Unit )等等, 憶體的存取時間,尤指一 法,其中將可以保存高使 記憶體與非全集合關聯快 取記憶體,二向集合關聯 記憶體、八向集合關聯快 快取成功率。 快取記憶體被廣泛地 (MPU )、中央處理單元 單元,從低資料處理速度 memory ),存取資料的時 以及一次要快取記憶體所 泛地被應罔於增加微處理 式執行能力,以提昇包括 等的系統的資料處理能力 取記憶體包括一快取對照 數個標籤(tags )以及對 位址資料衍生而來的標藏 對照表的標籤(4存標籤 中一個儲存標籤相符合 選出並且從該快取對照表 快取系統以及一種快取處理方 元,如微處理器單元 、中央處理單元(Central 以減低對外部記憶體,如主記 種快取系統以及一種快取處理方 用率的快取線的全集合關聯快取 取記憶體相結合(如直接映射快 快取記憶體、四向集合關聯快取 取§己憶體寻專),因此可以増加 使用,以減少微 :CPU )等擁有高 的記憶體 '如一 間。尤其是由一 組成的階層式快 器單元、中央處 微處理器單元、 (throughput ) 表.(eache tab 1 應於該標籤的資 (衍生標籤)會 )相比對。如果 相對應於該儲存 輸出.至微處理器 處理器單元 資料處理速度的 主記憶體(m a i η 主要快取記憶體 取記憶體更是廣 理單元等等的程 中央處理單元等 。一般而言’快 e )用來儲存複 料。一個從輸入 與儲存在該快取 該衍生標籤與其 標籤的資料會被 單元、中央處理
Αν 451 13 2 五、發明說明(2) , 單元等等。因此,從外部記憶體(如一低資料處琿速度、 主記憶體)存取資料的次數會減少,使得微處理器單元V ' 中央處理單元等等的高資料處理速度可以達成(real ized 如同快取記憶體,全集合關聯快取記憶體(ful 1 —set a s s o c i a t. i v e c a c h e m e m o r y )以及直接映射快取s己憶體 (direct mapping cache memory)也是.常見的。直接映 射快取記憶體可以利用一小型電路規模(a sma 1 1 circuit scale)來執行高速存取,但是其快取成功率 (cache hi t rate )容易降低。另一方面,全集合關聯快 取記憶體需要較複雜的電路組合以及較大的能量消耗。然 而,高快取成功率挟取線(high-hit-rat6 cache lines )可以保存在全集合關聯快取記憶體中。此外,雙向集合 關聯俠取記憶體(2-way set associative cache memory )、四向集合關聯快取記憶體(4-way set associative cache memory ),以及八向集合關聯快取記憶體(8“way set associative cache memory )也是常見的。.非全集合 關聯快取記憶體(non-full-set associative cache memory )具有相似於直接映射快取記憶體的功能。 第1圖為一典型的習知直接映射快取記憶體之示意 圖。第1圖所示的直接映射快取記憶體包括一快取對照表 8 0 1兩來儲存複數個標籤以及對應於該標籤的資料,一比 較器802,一及閘(AND gate ) 803,以及一資料選擇器 8 0 4。快取對照表8 0 1的每一快取線包括一有效位元
第6頁 * 45113 2 务、發明說明(3) (valid bit),用來表示該快取線是否有效。有效位元 為"Γ表示該快取線有效,而有效位元為"〇"表示該快取線 無效。一輸入位址資料,以"〇〇〇〇〇〇4〇"為例,顯示於第1 _的上端。該輸入位址資料包括一標籤、一指標,以及一 儀註(〇 f f s e t )。在輸入位址資料,,〇 〇 〇 〇 〇 〇 4 〇"中, · "〇 0 0 0 ()是標籤(該輸入位址資料的前面五個六進位位元 )’ 0 4是指標(該輸入位址資料的下兩個六進位位元 )’而π 〇 11是備註(該輸入位址資料的最後一個六進位位 元)。 第2圖為由一中央處理單元(cpu)所執行的程式之示 意圖。清參考第2圖'。程式包括可供執行的指令(1 ),( 2 ),…。主記馋體預先將複數個指令儲存於相對應的位 址。當中央處理單元執行第2圖所示的程式時,中央處理 單元首先指向與該程式的第一指令α)相關的輸入位址 資料(其由一程式計數器提供)。與第一指令(i)相關 的輸入位址資料” 00 00 0040"表示第一指令(i )已經預存 於主5己憶體的位址"0 0 0 0 0 0 4 0 11。相關於第一指令(1 ), 中央處理單元(此外’直接映射快取記憶體的比較器8 〇 2 顯示於第1圖)會判斷從輸入位址資料"〇〇〇〇〇〇4〇"衍生而 來的標籤"0 000 0 "是否與存放在對應於指樣” 〇4π的快取線 上C第1圖所示的快取對照表8 0 1的快取線)的標籤相符。 如果相符,對應於該相符標籤的資料會從直接映射快取吃 憶體的快取對照表8 0 1讀出,益且送至中央處理單元(寺t 令解碼器)。如果不相符,中央處理單元會對主記憶體"進
45u 3 之 五、發明說明(4) 二Γ)主記憶體的位址,,〇〇_〇4°',取得(卜tch "〇4"的快:線會被重在寫'相符的;,況了,相對應於指標 « ^ ^ 1 ( rewritten ),也就暑知拟痛士人 :::4:的快取線的資料會改為從主記憶體取得的資V, nl 標鐵也會改為相對應於輸入位址資料 _。4:1標籤”。。。。。、接下來,後續的指令⑴ ° #,J ^ ^ ^ ^ ^ ' 谁广跑砧Γ Γ兀對主記憶體(其需要較長的存取時間) ί:存ί的次數可以減少’㈤此,中央處理單元可】ϋ 向速程式執行的速度。 運成 程式,3Α Ϊ .!以圖及第3β圖顯示當中央處理單元執行第2圖之 ::昂:接映射快取記憶體的快取對照表801的狀 。第3Α圖顯示中央處理單元執行第2 中央产日i…* /V快取對照表8。1的狀態。第3β圖顯示 中央處理早7L執行第2圖之指令(5 )之後,快取對照 :1 敗的/Λ。請參考第3八圖。當指令(ι)剛執行完畢時, 快取對照表801中對應於指標"04"的快取線存有-標籤 ⑽"(對應於輸入位址資料"〇〇〇〇〇〇4〇„)以及對=於 „〇〇Μ的資料。請參考第3Β圖。當指令(5)剛執行 =畢日守’快取對照表801中對應於指標"〇4„才目同的快取線 存有一標籤"0000Κ (對應於輸入位址資料"〇〇〇〇1〇4〇,,) 以及對應於標籤"0 0 0 〇丨I,的資料。 第4Α圖以及第4Β圖顯示當第2圖的程式執行兩次.時, 使用直接映射快取記憶體的中央處理單元所需的存取時
45J132 五、發明說明(5) 間v第4A圖顯示第2圖的程式 & , 顯示第2圖的程或视— 久的情形。第4 B圖 程式執行時間的广欠的情形。此外,了面.有關於 快取線的資料儲接映射快取記憶體的每-條 16 bytes ) ’而第2冏切 凡(十八個位凡組, 元。也就是說,直接了: ’母—個指令的長度為-字 料儲存區域可財子Ϊ 記憶體的每-條快取線的資 a )所兩的在t放個礼々。從主記憶體取得資料(指 7 )所而的存取日卞間假設為第一石 分之一粆)的左 τ几而要丄㈣ns (百萬. 需要30 ns的主 *接T來的三個字元的每一個均 !!= 時間。因此,從主記憶體取秦四個字元 /四個指7)的貢料,並且將該資料存放於直接映射快取 圮憶體的快取線所需的存取時間為1 00 +30 +30 +30 =。假設該中考處理單元需要10 ns的時間來讀取並且執 行一個剛存放於直接映射快取記憶體的快取線上的指令, 那麼從中央處理單元取得資料的前四個字元(前四個指令 )’並且將該資料存放於直接映射快取記憶體’並且執行 所存放的第一個指令(1 ),所需的存取時間為丨9 0 + J 〇 =20〇 ns。 起始時’直接映射快取記憶體的所有快取線均設為無 效(i nva 1 i d ),因此快取線的所有有效位元v均設為 1 〇11。在起始之後’由於有效位元V均為11 011 ,因此沒有資 料實際存在於直接映射快取記憶體。因此,中央處理單元 會從主記憶體取得所需的f料(對應於第2圖程式的第一 指標"G 4"的指令(1 )到(4 )),並且將所取得的指令
第9頁 45113 2 ---. ___ 五、發明說明(6) '〜'—Ί (1 )到(4 )寫到直接映射快取記憶體中對應於指標"〇 4 h 的快取線。寫完貧料後,直接映射快取記憶體中對應於扔、 k 0 4的快取線會變為有效(v a丨丨d ),也就是說,該快 取線的有效位元V會設為” 1"(如第!圖)。其後’中央處 ; 理單元會從直接映射快取記憶體的快取線讀取第一指令< (1),並且執行第一指令(1 )。在第4A圖所示第一次程 式的執行中’中央處理單元啟動之後執行第一指令(1) 所需的時間為1 0 0 +30 +30 +30 HO = 2〇〇 nS。’而執行接‘ 下來的每一個指令(2 ), ( 3 )以及(—4 )所需的時間均 為10 ns。因此,中央處理單元称行f下來對應於位址. 0 0 0 01 0 3 0到0 0 0 0 1 0 3 C的四個指令所需的時間為2 〇 〇 +1 〇 、 +1 0 +1 0 = 2 3 0 n s 〇 ,"、 當;:中央處理單元即將執行第2圖所示的指令(5 )(對 應於指標” 0 41 )時’指令(1 )以及對應於指令(1 )的標 籤0 0 0 0 0 已經存放於直接映射快取記憶體中對應於指標Λ "04"的快取線。因此’直接映射快取記憶體中對~應於指^票 ”04”的快取線會快取失敗(a miss hit ),因為〇〇〇〇!不"" 等於0 0 0 0 0。因此,中央處理單元會從主記憶體取得指令 (5 ),並且將指令(5 )以及一相對應的標籤"〇〇〇1”存放 在相對應於指標"〇4"的快取線。由於快取失敗,執行指令 (5)所需的時間為·1〇〇 +30 +30 +30 +ι〇_= 2〇〇 ns。·而 接下來的三個指令的每一個指令所需的執行時間均為丨〇 n s。因此,弟一久和式執々亍所需的總執行時間為2 3 0 * 3 = 6 9 0ns。
32 451
五'發明說明(7) 會執行時二對應於指標”心 理單元才i」a ι -)的標鐵〇 〇 〇 〇 1 。因此’當中央處 在第—次程式執行中却杆户a ( 、 標丨丨04”.、栌如… η丁1f轨灯心7 U )(其對應於指 因為_〇不等於_〇1二的=會再次快取失敗’ 从曰/ (1),而在弟二次程式執行中執行指令 ^ )广需的時間為200 執行接下來的每一個指令(2 ),j 3 )以及(4 )所需的時間均為1 0 ns。之後,中央 ^ 兀會利用已經存放在直接映射快取記憶體中對應於 扣私03”的快取線上的快取資料,來執行接下來對應於位 址 0 0 0 0 1 0 3 0 到 00 00 1 03C 的四個指令(1〇、+1{) +1〇 +1() =4〇 Μ)。之後,當中央處理單元即將在第二次程式執行中執 行心令(5 )(對應於指標"〇 4")時,對應於指標"〇 4"的 快取線會再次快取失敗:(a raiss hit ),因為⑽〇〇1不.等 於0 0 0 0 0。而接下來的三個指令的每一個指令所需的執行 時間.均為1 0 ns。因此,第二次程式執行所需的總執行時 間為230 +40 +230 - 500.ns。.因此,執行兩.次第2圖輕式 所需的總執行時間為690 +500 = 1190 ns。 如上所示,直接映射快取記憶體容易並且經常快取失 敗(cache misses or miss hits),雖然直接映射讲取 記憶體可以利用小型電路規模來達成高速存取。由於快取 失敗而對主記憶體進行存取所需的時間為2〇〇 ns,因此中 央處理單元執行程式的時間(中央處理單元執行程式戶斤需 的存取時間)勢必會增加。
第11頁 451132 .» 五、發明說明(s) 為了提什快取成功率並且減少記憶體的存取時間以及. 程式的執行時間’由主要快取記憶體以及次要快取記憶體 所与:.__成的暗層..式.快取s己憶體更是廣泛地使用。舉例來說, 在日本專利公開號碼NO.SH06 1 -24 1 853所揭露的「快取記 憶體控制方法」中’在中央處理單元與主言己憶體之間提供 一主要快取記憶體,以及在主要快取記憶體與主記憶體之ί 間提供一次要快取記憶體。如果主要快取記憶體快取成,.— 功’存放在主要快取記憶體中的必要資料會提供給中央處 理單元當作快取資料。如果.主要快取記憶體快取失敗(a miss hit )’而次要快取記憶體快取成功(a cache hit ( ),存放在次要快取記憶體中的必要資料會轉移至主要快‘ 取記憶體’而咸必要資料會提供給中央處理單元。如果主 要快取記憶體沒有無效(耒使用)的快取線(以供次要快 取把憶體.轉移必要寅料),存放於主要快取記憶體的快取 線上的資料會從主要快取記憶體消除,而轉移至次要快取 記憶體的快取線上。如果次要快取記憶體沒有無效(未使 用)的快取線(以存放從主要快取記憶體消除的資料), 存放於次要快取記憶體的快取線上的資料會、從次要快取記 憶體消除,.使得從主要快取記憶體消除的資料可以存放於 次要快取記憶體的快取線。:如果主要以及次要快取記憶體、 均快取失敗(m i s s h i t s ) ’必要資料會從主記憶體糸 得’.並且寫入主要快取記憶體(取得的資料不會寫入次要 快取記憶體)。但是,在一般的階層式快取記憶體中,所. 取知的資料會寫入主要以及次要快取記憶體。因此,可以
五、發明說明(9) 改善次要快取記憶體的快取成功率(cache hit rate)。 在日本專利公開號碼Νο, HE 15-73415所揭露的習知 「階層式快取系統」中’中央處理單元會判斷必要資料是 否存放於..主要快取記憶體或是次要快取記憶體。當必要資 料沒有存放於主要快取記憶體,而存放於次要快取記憶體 時,存放於次要快取記憶體的必要資料會轉移至主要快取 s己憶體.在此過程中,從主要俠取記憶體消.除的資料會轉 移至次要快取記憶體。 在曰本專利公開號碼N〇.HEI6-012323所揭露的習知 「快取記憶體系統」中,其使用直接映射缺取記憶體 (direct mapping cache memory ) 來當作主要快取記憶 體,而使用全集合關聯快取記憶體(ful 1-set associative cache memory ) 來當作次要快取記憶體°用 來判斷丨共取成功與否的標籤比對(tag comparison )會同 時執行於主要快取記憶體以及次要快取記憶體。依據階層 式快取記憶體的習知技術,從主記憶體取得的資料會寫入 主要快取記憶體以及次要快取記憶體、一計數器是用來計 算次要快取記憶體(全集合關聯快取記憶體)的每一快取 線的存取次數。當一快取線的計數器超過一預設值時,該 快取線會被載入主要快取記憶體(直接映射快取記憶體 ),以進行後續的存取。 在曰本專利公開號碼N〇. HE I 6 - 2 5 0 9 2 6所揭露的習知 「使用階層式快取記憶體的資料處理系統」中,當主要快 取記憶體快取失敗(a m i s s h i t )時,次要快取記憶體會
45113 2 五、發明說明(ίο) 被存取。如果次要快取記憶體.俠.取成功(a c a c h e · h i t ),存放在次要快取記憶體中的必要資料會轉移至主要快I 取記憶體,並且提供給中央處理單元。如果次要快取記憶 體也快取失敗(a m i s s h i t ),主記憶體會被存取,並且 從主記憶體取得必要資料。在此文件的一實施例中,in果 主要快取記憶體有足夠的記憶體空間,從主記憶體取得的 資料會轉移並且存放於主要快取記憶體(而非存放於次要 快取記憶體)。如果主要快取記憶體沒有足夠的記憶體空 間’從主記憶體取得的資料會存放於次要快取記憶體(而 非存放於主要快取記憶,體)。,在此文件的另—實施例中, 伙主5己憶體取付.的資料會直接存放於主要快取記憶體(而 非存放於次要快取記憶體)。在將資料直接從主記憶體存 放至主要快取記憶體的過程中’如果資料無法存放在主要 快取記憶體’資料.會從主要快取記憶體轉移至並且存放於 次要快取記憶體。 如上所述,在(習知直接映射快取記憶體中,具有高快 取成功率Chigh-hit-rate)的快取線的保存是不可能 的。直接映射快取記憶體只能儲存一條與一特定指標相關 的快取線.,因此會經常並且不斷發生快取失敗,而捭加主 記憶體的存取次數。 s .使用包括主要快取記憶體以及次要快取記憶體的階層 式快取記憶體可以增加快取成功率(cache hit rak )。 然而,存取次要快取記憶體需要額外的存取時間,因此資 料處理旻__元,如中央處理單元的程式執行時間一定會增、
45113 2 五、發明說明αι) 長。習知階層式快取記憶體會同時在主要快取記憶體(直 接映射快取記憶體)以及次要快取記憶體(全集合關聯快 取記憶體)執行標籤比對。然而,全集合關聯快取記憶體 中具有高快取成功率(high-.hit-rate)的快取線的保存 仍然有报大的改善空間。此外,在許多例子中’特定的資 料(相同’的資.料)同時存放於直接映射快取δ己憶體以及全 集合關聯快取記憶體,因而降低了快取記憶體的記憶體空 間的使用效益,並且減少了快取記憶體中所能存放的快取 資料的數量,使得快取成功率無法增加至最大值。 因此’本發明之主要目的在於提供一種快取系統與快 取處理方法,藉由結合全集合關聯快取表與非全集合關聯 决取表’提昇快統保存具有高快取成功率的快取線的 能力,以及增加快取系統的記憶體空間的使用率,以將資 料處理單元,如微處理器單元、中央處理單元等對外部記 憶體’如主記憶體進行存取的次數以及資料處理單元的資 料存取時間減至最低,使得快取成功率與資料存取速产可 以增加至最大。 又 圖式之簡單說明 圖。第1圓為一典型的習知直接映射快取記憶體之示意 圖。第2圖為由中央處理單元(cpu)所執行的程式之示意 第3A圖以及第3B圖顯示各中卓卢丨田时一此 程式時,第]R之亩二Ιτ 早疋執行第1圖之 第1圖之直接映射快取記憶體的狀態變化。第Μ 451132
五、發明說明(12) 圖顯示中央處理單元執行第2圖 第3B圖顯示中央處理| _ 曰7 ( 1 )之後的狀態。 的狀態。 中央處理早-執行第2圖之指令(5)之後 第4A圖以及第“圖顯示 · 使两直接映射快取記憶體的中f式執行兩次時, 間。第4 Α圖顯示第2圖的程式、一早二所需的存取時 顯示第2圖的程式執行第二:欠的二:—人的情形。第4B圖 第5圖為本發明第一實施=取 合方塊圖。 j决取系統之快取區段之組 第6圖為使用本發明第—银 之方塊圖。 只施例快取系統之電腦系統 第7圖為本發明第一實施 Μ 』陕取系統之刼作流程圖。 弟s圍马中央處理早兀所執行的程
第9 Α:圖以及第9 Β圖為者筮β㈤ 、μ思Q S ^ & /st hh 、'田弟8圖的程式執行兩次時,使 Ξ 統的中央處理單元的存取時間之示意 圖第9Α圖顯不弟8圖的程式執行第-次的情形。第9Β圖 顯示第8圖的程式執行第二次的情形。 /第10圖顯示在中央處'理單元執行完第8圖的指令(5) 之後’全集合關聯快取表ΤΑ與直接映射快取表ΤΒ的狀態。 第11圖為使用本發.明另一實施例快取系統之電腦系統 之方塊圖。 第1.2圖為本發明第二實施例快取系統之快取區段之組 合方塊圖。 第1 3圖為在本發明第三實施例的快取系統中當作快取
第16頁 45113 2
取表來使用的四向集合關聯快取表 五、發明說明(13) 區段的非全集合關聯快 TC之示意圖。 符號說明 1〜位址匯流排2〜資料俺、-*妯.ς Λt 叶匯流排,5 0〜中央處理單元;3 ~ 匯流排介面區段;4〜寫入場徐哭1ς t 鲮衡窃’ 1 5〜快取區段;5〜控制 暫存器丨_6〜記憶體管理單元卷在% 平π皙存益,7〜數學邏輯運算單 ,;通用暫存器;9〜乘法器;1〇~筒管位移器;丨卜程式 計數器;20〜次要快取記憶體;2卜主記憶體;12〜 生器》 實施例說明
,參考圖式,本發明最佳實施例之詳細說明如下。 第5圖為本發明第一實施例快取系統之快取區段 (cache section ) 15之絚合方塊圖。第6圖為使用本發明 第一實施例快取系統之電腦系統之方塊圖。 第6圖之電腦系統主要包括一中央處理單元(Cpu ) 50 ’ 一次要快取記憶體(sec〇ndary cache memory) 20,
以及一主记憶體(m a i η ni e m o r y ) 2 1。次要快取記憶體2 〇 疋&又於中央處理早元5. 〇的外頭。舉例而言’次要快取記憶 體20可為包括標籤隨機存取記憶體(tag random access memory, tag RAM )以及資料隨機存取記憶體的同步靜態 隨機存取記憶體(synchronous static random access memory, synchronous SRAM ),或是包括呼叫唯讀記憶體 (page read only memory,page ROM)的記憶體等等。 次要快取記憶體20 (全集合關.聯快取記憶體或非全集合關
第17頁 45ί 1 32 五、發明說明(14) 聯快取記憶體)的種類並沒有特別限定。在第6圖·的電腦 系統中’位址匯流排1以及資料匯流排2·是用來連 理單元50、次要快取記憶.體20、主-記憶體21等等。主 體21是經由次要快取記憶體20連接於在中央處理單元 外的位址匯流..排1以及資料匯流排2。 中央處理單元5 0包括.一匯流排介面(I / ρ〉區段3、一 寫入缓衝器(a write buffer....).. .4、一控制暫存器5又、一記 憶體管理單元(Memory Management ϋ*ηίΐ,MMU)暫存器 6一、一數學邏輯運算單元(arithinetlc 1〇gic 〇perati〇n unit,AUJ ) 7、一通用暫存器(GeneraUy Purp〇se
Register ) 8、一 乘法器(multiplier ) 9、一筒管位移器 (barrel shifter) 10、一程式計數器(pr〇gram counter· ) 11、一時脈產生器(ci〇ck genera1:〇r ) 12,以 及一快取區段(cac.he sect ion ) 1 5。快取區.段1 5在此實 施例的快取系統中,是倣為主要快取起憶體的中央處理單 元5立。快取區段1 5.是連接.於位址匯流排丨以及資料匯流排 時脈產生器12會藉由將主時脈信號(master clock s i gna 1)的頻率乘以一特定頻率乘法運算數(a particular frequency multiplication number ),来產 6 生電腦系統的 > 時脈信號,並且將該時脈信·號提供給電腦: 系統的元件。寫入緩衝器4是經由匯流排介面區段3連操於 位址匯痤排1以及資料匯流排2,以暫時存故即將寫入主記 憶以1、次要快取己―:憶體20等等的系統資料。該系統實料-—了
第18頁 451 132 五、發明說明(15) _~!—~一 . 的寫入是根據提供給匯流排介面區段3的控制資料來執 行、。控制暫存器5與記憶體管理單元暫存器6是連接於位址 匯流排1以及資料匯流排2。控制暫存器5儲存資料以設定 中央處理單元50,如時脈產生器12的頻率乘法運算數"^記 憶體管理單元暫存器6儲存資料以進行虛蠛位址(v丨^ t ua i addresses)與實質位址(physical addresses)之間的 位址轉換。包括數學邏輯運算單元7、通用暫存器8、乘法 器9、筒管位移器1 〇,以及程式計數器丨丨的單元也是連接 於位址匯流排1以及一資料匯流排2,用來執行指令 (instructions)。包括元,件7-11的單元為一指令執行單 元(an instruction execution unit ) ° 請參考第5圖。快取區段1 5包括一全集合關聯 (fun-set associative, FSA)快取表 TA、一直接映射 (direct mapping,DM)快取表 TB、比較器30A 與 30 七、 及閘(AND gates ) 31A 與31B、或閘(OR gate ) 32,以及 一資料選擇器33 〇 . _ 此實施例快取系統的主要快取記憶體(如快取區塊丄5 )是由連接在一起的全集合關聯(FSA )快取記憶體與直 接映射(DM )快取記憶體所組成。此外,第5圖只包括— 比較器30A以及——及閘31 A,而比較器30A與及閘31 A是相對 應於全集合關聯快取表T A的每一快取線,而對應於該快取 線的及閘3 1 A是輸出至一個或多個(未顯示)的或閘。 . —輸入位址資料’以"0 0 0 0 0 0 40M為例’顯示於第5圖 的上端。輸入位址資料包括一標籤# 2、一指標,以及—備
第19頁 45)132 五、發明辑明(16) 註(offset )。標籤#2是關於直接映射快取表TB 〇另—標 籤|丄_是關於全集合關‘聯快取表^.,其為標籤#2與指標相加 在一起(標籤# 1 =指標+標籤# 2 )。在輸,入位.址資..料 ” 0 0 0 0 0 0 4 0 ”中,”〇〇〇〇 (Γ是標籤#2 (輸入位址資料的前面 五個六進位位元)04"是指標(輸入位址資料的下兩個 六進位位元)’ 11 〇〇〇〇'〇〇4”是標籤#1 (輸入位址資料的前 面七個六進位位元)’而11 ir是備註(輸入位址資料的最 後一個六進位位元)。 〇 在全集合關聯快取表TA的每一快取線上,一存取計數 區(access count area,AC)是用來指明該快取線的存 取次數。藉由使用存取計數區來進行快取線的快.取頻率管 釋^ ’可以保存全集合關聯快取表T A中高存取頻率(高快取 成功率)的快取線。此外,一存取計數器(access counter )是用來管理全集舍關聯快取表ΤΑ的快取線的存 取計氣區AC,其由之前提到的包括元件7-11的指令執行單 元來執行。 ' 比較器及0 Α會將由輸入位址資料衍生而來的標鐵#丨與 •存放在全集合關聯快取表Τ,Α.的快取線的標籤# 1進行比對\ 當衍生而來的標4# 1.與存故在快取線的標籤#丨的其中—個 相符合.時,比較器30 Α會輸出並且提供一高電位gh 1 e v e 1,1 )的比較信號給及閘31A。全..集合關聯:快取表τ A 會將對應於該符合標籤#1’(用來指明該快取線是否有效) 的快取線的有效位元(val id bi t〇 VI ( 1/〇 )提供給及問 31A。如果比較器3 0 A所提供的比較信號與全集合關聯快取
第20頁 451 1 3 2 五、發明說明(17) 、 表T A所提供的有效位元V1都是1,及閘3 1 A就會輸出一快取 成功信號(其為高電位1 )。此外,如前面所述,第5圖包 括一比較益3 Ο A以及一及閘3 1 a,而比較器3 Ο A與及閘3 1A是 對應於全集合關聯快取表TA的每一快取線,而該快取線的 及閘3 1A是輸出至或閘。 同時’比較器3 Ο B會將由輸入位址資料衍生而來的一 · 標籤與存放在直接映射快取表TB中與由輸入位址資料衍 生而來的指標相對應的快取線上的標籤# 2進行比對。當衍‘ 生而來的標鐵# 2與存放在對應於該指標的快取線上.的標藏 #2相符合時’比較器30B會輸出並且提供一高電位(1)的 比較信號給及閘3 1 B。直接映射快取表TB會將對應於該符 、-合標籤# 2 (用來指明該快取線是否有效)的快取線的有效 位元V2 ( 1/0 )提供給及閘31.B。如果比較器30B所提供的 比較信號與直接映射快取表TB所> 供的有效位元V2都是 1,及閘3 1B就會輸出一快取成功信號(其為高電位1 ) ^ 如果及閘31 A所提供的快取成功信號與及閘31B所提供 的快取成功信號都是1,或閘32就會輸出一啟動信號(其 為高電位1 )。如果從或閘3 2輸出至資料選擇器3 3的啟動 信號為1,資料選擇器3 3就會根據輸入位址資料的備註來 選擇存放在全集合關聯快取表TA或是直接映射快取表TB中 V) .快取成功的快取線上(.相符合於標籤# 1或標籤# )的、部分 資料,並且將所選出的資料傳送至一未顯示的指令解碼器 (instruction decoder )或是中央處理單元50的.通用暫 • · . · 存器8。此夕卜,當快取成功發生時’只會發生在全集合關 -
第21頁 45ί 1 3 2 五、發明說明(18) 聯快取表ΤΑ或是直接映射快取表ΤΒ,也就是說,快取成功 不會同時發生於全集合關聯快取表ΤΑ以及直接映射快取表 ΤΒ。 第5圖所示之全集合關聯快取表ΤΑ比直接映射快取表
要更複雜的電路組合與更大的電力消耗。然而,高快 取成功率快取線(high-hit-rate cache lines)可以保 存在全集合關聯快取表ΤΑ中。在另一方面’直接映射快'取 表(直接映射快取記憶體)ΤΒ可以利用一小型電路規模 (a small circuit scale)來執行高速存取,但是其快 取成功率(cache hit rate )容易降低。此實施例快取系 統的主.要快取記憶體(快取區段丨5 )是將全集合關聯快取 表TA與直接映射快取表TB結合(C0Upiing)在一起,因此 具有兩者的特性。
接著,將會詳細敘述本發明第一實施例袂取系統的操 作。第7圖為本發明第一實施例快取系統之操作流裎圖。 此外,在此實施例中,從主記憶體21或是次..要快取記憶體 20取得的資料是存放與暫存於真接映射快取表几,而非食 集合關聯快取表TA。當快取區段〗5快取失敗時(也就是全 集合關聯快取表TA與直接映射快取表TB對應於從輸入位址 資料衍生而來的指標的快取線同時快取失敗),存放於直 接映射快取表TB中對應於該指標的快取線上的資料會被揦 除或者無效,並且轉移至全集合關聯快取表TA。 中央處理單兀50會根據程式計數器丨丨所提供的輸入位 址資料來開始指令取得程序(instructi〇n fetch ,
第22頁 45m 3 2 五、發明說明(19) process )(步驟S1 0 )。在全集合關聯快取記憶體中’第 5圖所示之比較器30A (每一比較器30A是相對應於全集合 關聯快取表TA的每一快取線)會將由輸入位址資料衍生而 來的標籤# 1 (其為輸入位址資料不包含備註的部分)與存 放在全.集_合闕聯快取表T A的標戴# 1進行由對。如果衍生而 來的標籤#1與存放在全集合關聯快取表TA的標籤#1的其中 一個相符合(步驟SI 1中的「是」),tb較器30A會輸出高 電位(h i gh 1 e ve 1,1 )的比較信號給及閘31A。如果比較 器3 0A的輸出與對應於該符合的標籤#1的快取線的有效位
元VI ( 1/0 )都是1 (步-驟S12中的「是」),及閘31A就會 輸出高電位C h i gh 1 e ve 1, 1 )的快取成功信號(其表示 一有St快取成功發生於全集合關聯快取表T a )給或閘3 2 ^ 如果該衍生而來的標籤# 1沒有與任何一個存放在全集合關 聯快取表TA的標籤#1相符合(步驟S11中的.「否」),或 是該快取線的有效位元V1為"ο ” (步棘g 1 2中的.「否」), 及閘3 U的輸出會變為"〇 _,,(步驟s J 3 )。 同時,直接映射快取記憶體會執行標籤比對以判斷h 否快取成功。在直接映射快取記憶體中,—指標是疋 位址貝料衍生而來(其為輸入位址資料中在標籤“接 兩=十六進位位元,標籤#2為輸入位址資料中前 j
元)’而直接映射快取表TB中對應於該指HI 聊會將由輸入位址資料衍生而來的標細斤丁之比較器 址資料不包含指標盥偌4 、’、马輸入位 ^才曰心與備注的部分)與存放在全集合關聯快
第23頁 五、發明說明(20) ": ;- 取πΤΑ中與該指標相對應的快取線上的標箴#2進行比對。 當衍生而來的標籤#2與存放在相對應於該指標的快取線上 的標籤#2相符合時(步驟S15中的「是」),比較器3〇B會 輸出一高電位("1『')的比較信號給及閘3 1 B。如果比較器 30B的輸出與對應於該符合的標籤#2的快取線的有效位元 V2(l/0)都是1 (步驟S16中的「是」),及閘31B就會輸 出一高電位(h i gh 1 e ve 1, " Γ )的快取成功信號(其表 示一有效快取成功發生於直接映射快取表TB )給或閘32。 如果該衍生而來的標籤# 1沒有與存放在對應於該指標的快 取線上的標籤#2相符合(步驟$15中的「否.」),或是該 快取線的有效位元V2為” 〇” (步驟S16中的「否」),及閘 31B的輸出會變為"〇” (步驟S17)。 如果及閘3 1 .A所提供的快取成功信號為” 1 ",或是及閘 3 1 B所提供的快取成功信號為"11,,龛5圖所示的或閘3 2就 會輸出一高t位"1"的啟動信號給資料選擇.器33。否則' (如果及閘31A與及閘31B所提供的快取成珅信號均為"0" ),或閘32就會輸出一低電位"ο”的啟動信號給資料選擇 器3 3。此外,在此實施例中,快取成功不會同時發生於全 集合關聯快取表TA以及直接映射快取表TB,因.此及閘3 1 A 與及閘31B所提供的快取成功信號不會同時為11 Γ。 當或間_^3 2所輸出的啟.動信.號為"〇11時(其表示快取..區 段1 5快取失敗’步驟s 1 8中的「否」),中央處理單元5 0 會經由次要快取記憶體20來對主記憶體21進行存取,並且 從主記憶體2 1 (當次要快取記憶體2 0快取失敗時)或是次
第24頁 457 1 3 2 五、發明說明(21) 要快取記憶體2 0 (當次· 資料。存放在直接映射 (該快取線快取失敗) 全集合關‘聯快取表TA ( 該指標的快取線上的資 憶體2 1或是次要快取記 射快取表TB對應於該指 後,中央處理單元50會 標的快取線上的資料( 取記憶體20取得勺,並 驟 S21 )。 要快取記憶 快取表TB對 的資料(標 存放於直接 料會被刪除 憶體2 0取得 標的快取線 讀取直接映 S亥資料是.從 且對該資料 體20快 應於該 MJ2與 映射快 或者無 的資料 上.(步 射快取 主έ己憶 或指令 取成功 指標的 資料) 取表ΤΒ 效),. 會存放 驟 SJ9〕 表ΤΒ對 體21或 執行一 時)取得 快取線上 會轉移至 中對應於 而從主記 在直接映 。之 應_於.該指 是次要快 程序(步 當或閘32所輸出的啟動信號為”"時(苴表示快取區 段15快取成功,步驟S18中的「是」),資料選擇器”會 根據輪入位址資料的備註來選擇與選取部分存放在全集合 關聯快取表TA或是直接映射快取表中快取成功的快取線 上的資料(步驟S20 ),而中央處理單元50會對所選取出 的資料(資料或指令)執行一程序(步驟s 21 )。 以下會詳細敘述全集合關聯快取表TA與直接映射快取 表TB的操作。 在起始狀態下(當第6圖的電腦系統重新設定或開啟 γ) 時)’全集合關聯快取表T A與直接映射快取表:j B的所有快 取線均設為無效(invalid),而快取線的有效位元. (valid bits) VI與V2均設為"〇 ”。當資料寫入或是轉移 至全集合關聯快取表f A或直接映射快取表T B的快取線時, ,
第25頁 1δΊ 13;: 五、發明說明(22) 該快取線會變為有效 會從” 0 "轉變成,'1"。 也就是該快取線的有效位元VI或V2八
田决取區段1 5快取失敗時(全集合關聯快取表ΤΑ與直 接映射快取表ΤΒ中對應於該指標的快取線均快取失敗j、, ,放在直接映射快取表中該快取線上的資料(資料與標 籤#2 )會轉移至全集合關聯快取jTA的—無效快取上。 藉由資料的轉移,直接映射快取表Τβ的該快取線會變為無 敢(即存放於直接映射快取表TB中該快取線上的資料已被 刪除或者無效),而全集合關聯快取表TA的快取線變為有 效。從生記憶體21或是次要快取記憶,體2〇取得的資料會寫 入直接映射快取表TB中變為無效的快取線,因此,該快取 線會再次變為有效。 、 在全集合關聯快取表TA中,有效快取線是根據存放在 快取線的存取計數區AC的存取計數值來加以管理與控制。 在此實施例中,每一快取線的存取計數區所設定的位元數 目為2。當資料寫入全集合關聯快取表TA的一快取線時, 該未顯示的存取計數器會將該快取線的存取計數值重設為 。每當該快取線快取成功,該未顯示的存取計數器就 會將該快取線的存取計數值加〗。 ' 當快取區段15快取失敗時(全集合關聯快取表TA斑直j 接映射快取表TB中對應於該指標的快取線均快取失敗),、 該未見示的存取tj·數器會將全集合關聯快取表ta的所有怏 取線的存取ft數值減1。在此實施例中,存取計數值的最、 小值與最大值分別為十進位數字(decima]L digits )
第26頁 3 ; 五、發明說明(23) 與” 3 ”。因此,存取令+俞 + /古丁 1 ( 至『,3,,以上。仔取4數值不會減至”(Γ以下,也不會增加 隹入^ i當全集合關聯快取表TA快取夫敗時(也就是全 集s關,快,表TA的所有快取線均快取失敗),該未顧示 的存取2數态也可以同時將全集合關聯快取表τΑ的所有快 取線的子取汁數值減1 („丨)。因此,即使當直接映射快 取表ΤΒ快取成功而全集合關聯快取表^快取失敗時,全集 合關聯快取表Τ Α的所有快取線的存取計數值也會同時減1 (1 ) °不同於以上的方法’存取計數值會更常被減1。 總之,每一個存取計數值(〇〜3 )有以下的惫義: AC §衾快取線的有效(effec_^ve)夺取(快取成功) 計數 〇 零次或,更_少二次 1 一次 2 兩次 3 三次或更多次 當全集合關聯快取表TA有一些無效的快取線時,直接 映射快取表T B中快取失敗.的快取線上的資料會轉移至全集 合關聯快取表TA,而那些無效快取線就是該資料的存放,目 的位置。因此,當快取區段1 5快取失敗,而全集合關聯快 V) 取表TA有一些無效的快取線時,存放在直接映射快取表TB 中快取失敗的快取線上的資料(資料與標籤#2 )會轉移至 全集合關聯快取表TA的一無效快取線上。 在另一方面,當全集合關聯快取表T A全是有效快取線
第27頁 五、發明說明(24) 時’全集合關聯快取表TA中具有最小存取計數值的快取線 就是從直接映射快取表T B中快取失敗的快取線轉移至全集 合關聯快取表T A的資料的存放目的位置。因此’當快取區 段1 5快取失敗’而全集合關聯快取表TA全是有效快取線 時’存放在直接映射侠取表中快取失敗的快取線上的資 料(資料與標籤#2 )會轉移至全集合關聯快取表TA中其中 一個具有最小存取計數值的快取線。該資料可以隨機存放 在任何一個具有最小存取計數值的快取線上。然而,也有 可能從具有最小存取計數值的快取線中選出一最近最少使 — * 用快取線(該快取線最近一次快取成功是發生在最久以前 )’並且將所選出的最近最少使用快取線視為轉移資料的 目的存放位置。舉例而言,可以藉由用來儲存全集合關聯 快取表T A中每一快取線的存取曰期/時間的區域來執行最 近最少使用快取線的選擇。 此外’當快取區段1 5快取失敗時,而直接映射快取表 TB具有一對應於該指標的無效快取線,從主記憶體2 1或是 认要快取έ己fe體2 0取得的資.料會寫入直接映射快取表τ B中 對應於該指標的無效快取線。因此,無須將資料從直接映 射快取表TB轉移至全集合關聯快取表TA。 以下將說明快取程序的執行時間。 第8圖為由中央處理單元5 〇執行的程式之示意 (schematic )圖。而第8圖與在「習知技術說明」中所提 及的第2圖相同。請參考第8圖。該程式包括可供執行的指 令(1),(2),…。當中央處理單元(中央處理單元
451132 五、發明說明(25) ' 首先指向與第一指令(1 )相關的輪入位址資料(其由程 式計數器1 1提供)。與第一指令(1 )相關的輸入位址資 料"000 00040"表示第一指令(1 )已經預存於主記憶體21 的位址"0 0 0 0 0 0 4 0 11。如前面所述,輸入位址資料 ” 0 0 0 0 0 0 40 "包括一標籤#2 (〇〇〇〇〇)、一指標,,(〇4),以 及一備註(0 )。此外,還有一標籤#1 ( 〇〇〇〇〇〇4 )。包括 標籤_f l、標籤#2、指標’以及備註的輸入位址資料是提供 給快取區段15,而用來判斷是否快取成功的執行程序如前 面所述。根據快取成功判斷程序的結果,中央處理單元5〇 會從全集合關聯快取表TA、直接映射快取表tb.,主記憶體 21,或次要快取記憶體2〇獲得所需資料(第一指令(^) ),並且執行第一指令(1) 。其後,中央處理單元5〇會 對指令(2 ),( 3 ),…執行相同的程序。 第9A圖以及第9B圖為當第8圖的程式執行兩次時,,使 甩此實施例的快取系統的中央處理單元5 〇的存取時間之示 意圖。第9A圖顯示第8圖的程式執行第一次的情形。第9B 圖顯示^ 8圖的程式執行第二次的情形。第丨〇圖顯示在中 央處理單几5 0執行完第8圖的指令(5 )之後,全集合關聯 快取表TA與直接映射快取表TB的狀態。 此外,下面有關於程式執行時間的解釋是基於與「習 知技術說明」中所使用的相同假設。全集.合關聯快取表TA 與直接映射快取表TB的每一條快取線的資料儲存區域的長 度為四個字元(4 words),也就是十六個位元組(16 by tes ),而四個指令是存放於全集合關聯快取表ta與直
1·^ 第29頁 ^ 451132 五、發明說明(26) 接映射 快取區 快取記 料處理 寸設定 取得資 ns的存 ns的存 指令) 一快取 快取表TB 段1 5快取 •—-· ·_ 憶體2 0沒 時間為0 為四..千..._個 料(指令 取時間, 取時間。 的.資料, 線所需的 的每一快取線的資料儲存區域。假設,當 Δ .敗捋’資料會從主記憶體2丨取得(次要; 有快取成功),而次要快取記憶體2〇的資 '春例句言’直接映射快取表TB的快取尺 位兀組(4 Kbytes )。假設從主記憶體21 )所需的存取時間為第一個字元需要丨〇 〇 而接下來的三個字元的每一個均需要 因此’從主記憶體21取得四個字元(四個 並且將該資料存放於直接映射快取表TB的 存取時間為—1 0 0 +3 0 +3 0 +.30 =190 ns。 假設中.央處理單元50需要丨〇 ns的時間來讀取並且執行一 剛存放於直接映射快取表TB的快取線的指令。
I始時,,王集合關聯快取表T A與直接映射快取表T B的 所有快取線均設為無效(i nva H d j,因此快取線的所有 有效位兀VI與V2均設為"〇”。在起始之後,由於有效位元 VI與V2均蠢” .因此沒有資料實際存在於全集合關聯快 取表TA與直接映射快取表TB。因此,中央處理單元50會從 主έ己憶體.2.1取得所需的資料(對應於第8圖程式的第一指 標04的指令(1 )到(4 )),並且將所取得的指令(1 )到(4 )寫到直接映射快取表ΤΒ中對應於指標"04"的快 取 '線°寫完·資料後,直接映射快取表ΤΒ中對應於指標"041· 的快取線會變為有效(val id ),也就是說,該快取線的 有效位元V2會設為"Γ (如第5圖)。其後,中央處理單元 50會從直接映射快取表ΤΒ的快取線讀取第一指令(1 ),
ί Ιι礙 Ιιί
第30頁 451132 五 '發明說明(27) I且執行第一指令(1)。在第9 ^圖所示第一次程式的執 行中,中央處理單元5 〇在電腦系統啟動之後_執行第一指令 (1)所需的時間為1〇〇 +30 +30 +30 +10 = 200 ns。而 執行接下.來的每一個指令(2 ), ( 3 )以及(4 )所需的 時間均為1 0 ns (總共3 0 ns :) °其後’中央處理單元5 0 以相同的方式執行接下來對應於位址000 0 1 030到00001 03C 的四個指令所需的時間為200 +10+10 = 230 ns。
當中夬處理單元50即將執行第8圖所示的指令(5) (對應於指標"0 4")時’指令(1 )以及對應於指令(1 ). 的標籤#2 ( 000 0〇)已經存放於直接映射快取表TB中對應:: 於指標"04'「的快取線。因此,’直接映射快取表TB中對應於 指標11 04”的快取線會快取失敗(0 0 0 0 1关0 0 0 0 0 )。因此, 該中央處理單元會從主記憶體取得指令(5 ),並且將指 令(5 )以及一相對應的標籤"0 0 0 1 ”存放在對應於指標 14 ”的快取線。由於快取失敗,執行指令(5 )所需的時 間為100 +30 +30 +30 +10 = 200 ns。而接下來的三個指 令的每一個指令所需的執行時間均為1 〇 ns。因此,第— 次程式執行所需的總執行時間為2 3 0 * 3 = 6 9 0 n s。
當完成第_9丄-圖所示的第一兔程式執行時,第8圖程式 中所有的指令已經存放於全集合關聯快取表以或直接映射 快取4ΤΒ。舉例而言’當中央處理單元在第二次程式執 行中執行指令(1 )(其對應於指標',〇 4")時,如第1 〇圖 所示’指令(1 )已經存放於全集合關聯快取表以。因 此’弟一次執行指令(1 )不會發生快取失敗。因此,在
451 13 2 五、發明說明(28) 第9B圖所不的苐一次程式執行中,每一個指令所,需的執行 時間為1 0 ns ’因此’第二次程式執行的總程式執行時間 為10 *12= 120 ns。因此,執行第8圖的程式兩次所需的 總執行時間為6 9 0 + 1 2 0 = 8 1 〇 ^ s。 如前面所述,使用習知直接映射快取記憶體所需的總 執行時間為11 9 0 n s。因此,使用本發明第一實施例的快 取系統可以節省380 ns的執行時間.。 如上所述’本發明第一實施例的快取系統中,直接映 射快取表TB與全集合關聯快取表τα是一起結合/於侏取區段 1 5,而用來判斷是否快取成功的,標籤比對是同時執行於全 集合關聯快取表TA與直接映射快取表。因此,快取區段 1 5中所執行的高速標籤由對―具有較高的快取成功率。所 以’中央處理單元50對主記憶體2 1 (或是次要快取記憶體 20 )的存取次數與資料存.取時間,會減低,而可以達成高速 的程式執行。 - 此外,以下所述為快取系統中所執行的資料管理/轉 移。全集合關聯快取表T A的每一快取線的存取(快取成功 )次數是存放於每一快取線的存取計數區。每當全集合 關聯快取表TA的一快取線快取成功時,該快取線的存取計 數值會加1。當快取區段15快取失敗時(或是全集合關聯 快取表TA快取失敗)’全集合關聯快取表TA的所有快取線 的存取計數值會減1。 當快取區段1 5快取失敗’而直接映射快取表^沒有對 應於該指標的無效快取線’而全集.合關聯快取表Η具有一
45113 五、發明說明(29) '' 個或多個無效快取線時’存放在直接映射快取表TB中快取 失敗的快取線上的資料(資料與標籤# 2 ).會轉移至全集含 關聯快取表T A的一條無效快取線上。由於快取區段1 5的快 取失敗而從主記憶體2 1 (或是次要快取記憶體2〇 )取得的 料會寫入直接映射快取表TB的快取線,該快取線的資料 (資料與標籤#2 )已轉移至全集合關聯快取表TA。
當快取區段15 '快取失敗’而直接映射快取表;^沒有對 應於該指標的無效快取線’而全集合關聯快取表T a全是有 效快取線時,存放在直接映射快取表TB中快取失敗的快卞 線上的資料(資料與標籤#2 )會轉!至全集合關聯快取表 TA的一條無效培多線上:該快取線具有最小存取計數值。 最好是!具有最小存取計數值的快取線中選.出一最近最少 使用快取線(該快取線最近一次快取成功是發生在最久以 月ij ),’並且將所選出的最近最少使用快取線當作從直接映 射快取表TB轉移至全集合關聯快.取表TA的資料的目的存放 位置。由於快取區段1 5的快取失敗而從主記憶體2 1 (或是 次要快取記憶體2 0 )取得的資料會寫入直接映射快取表TB 的快取線,該快取線的資料(資料與標籤#2 )已轉移至全 集合關聯快取表TA。
當快取區ί又1 5快取失敗,而直接映射快取表τβ具有相 對應於該各標的無效快取線時,由於快取區段1 5的快取失 敗而從主記憶體2 1 (或是次要快取記憶體2 〇 )取得的資料 會寫入直接映射快取表ΤΒ中對應於該指標的無效快取線。 藉由資料的管理/轉移,全集合關聯快取表ΤΑ的快取
第33頁 4511 3 五、發明說明(30) 線會參考每一快取線的存取計數值來進行更新。因此,可· 以提昇全集合關聯快取表TA保存具有高快取成功率的快取‘、 線的能力,而快取區段1 5的快取成功率可以增加。此外,
可以完全消除全集合關聯快取表TA與直接映射快取表TB中 資料重複的情形’也就是沒有任何'資料會同時存放於全集 合關聯快取表TA與直接映射快取表tb。因此,全集合關聯 " 快取表TA與直接映射快取表TB的記億體空間可以有效地充. 分使用,而可以存放在具有有限的資料儲存能力的快取區 段1 5中的快取資料的數量會增加至最大。因此,快取區段 15的快取成功率會更有效地增加,而,對主記憶體21 (或是, X要快取s£>憶體2 0 )進行存取·的次數也會減至最低。因 此,可以大量地降低中央處理單元5〇的程式執行時間。 此外,第一實施例的快取系統包括次要快取記憶體 20 ’而即使快取系統不包括次要快取記憶體2〇 (如第丨丨圖 所示),也能達到上述的效果人而加上次要快取記憶體 2 0,可以加強快取系統的效果。 第1 2圖為本發明第二實施例快取系統之快取區段丨5 a 之組合方塊圖。在第二實施例中,快取區段丨5 A是用來替 代第6圖與第11圖所顯示的電腦系統中的快取區段1 5。在 第1 2圖快取區段1 5A中的全集合關聯快取表以具有一個較 、 大的存取計數區AC。具體而言,全集合關聯快取表τα中每 —快取線的存取計數區AC 2的大小是設定為】6位元。因 此’第二實施例中的1 6位元存取計數區AC可以從〇計數到 6 5 5 3 5 ’而第一實施例中的2位元存取計數區託只能計數到
第34頁 45113 發明說明(31)
在第二實施例中’未顯示的存取計數器是以不同的方 式來執行存取計數區AC的管理。當全集合關聯快取表TA的 一快取線快取成功時,未顯示的.奏取計數器會將該快取線 的存取計數值加1。然而,當快取區段1 5 A快取失敗時,未 顯示的存取計數器不會將全集合關聯快取表丁人的所有快取 線的存取計數值減1。因此在第二實施例中,存放在全 集合關聯快取表TA中快取線的存取計數區AC的存取計數埃 只會增加,不會減少。 從直接映射快取表TB至全集合關聯快取表TA的資料轉 移’其執行方式與第一實施例相同。當快取區段1 5 A快取 失敗而全集合關聯快取表T A具有一個_或多個無效快取線 時’存放在直接映射快取表TB中快取失敗的快取線上的資 料(資料與標籤#2 )會轉移至.全集合關聯快取表TA的一無 效快取線上。當快取區段1 5 A快取失敗,而全集合關聯快 取表TA全是有效快取線時,存放在直接映射快取表TB中快 取失敗的快取線上的資料(資料與標籤#2 )會轉移至全集 合關聯快取表T A的一快取線上,該快取線具有最小存取計 數值。 在使用2位元存取計數.區AC的第一實施例中,具有最 Γ) 小存取計數值的快取線的數量會增多,而在第二實施例 中,具有最小存取計數值的快取線的數量則會減少。因 此,藉由使用本發明第二實施例的快取系統,快取線的快 取成功計數的差異可更直接地體現在程序中,以保存在全 .
第35頁 451132 五、發明說明(32) 集合關聯快取表TA中具有高快取成功率的快取線* 第1 3圖為在本發明第三實施例的快取系統中當作快< 區段1 5 B的非全集合關聯快取表來使用的四向集合關聯快. 取表TC之示意圖。當直接映射快取表JB在第一與第二實施 例中當作快取區段1 5、1 5 A的非全集合關聯快取表來使用 時,第三實施例的快取區段1 5B是使用第1 3圖的四向集合 關聯快取表T C來當作非全集合關聯快取表,以與全集合關 聯快取表TA相結合。 請參考第1 3圖。四向集合關‘聯快取表TC具有四個相對 應於一 4a. “的快取線。每一對應於一...指標的快取線具有三 個區域來存放一有效位元V2、一標籤#2,以及資料,相似 於第一與第二實施例的直接映射快取表Τβ。在每一由四個 快取線所組成的線的左端具有一 Lrυ區,用來存放一lru (least recently used,最近最少使用)值,以指出對 應於一特定.指標的四條快取線中一最近最少使用的快取線 (該快取線最近一次快取成功是發生在最久以前)。lru 、 區的大小設定為兩個位.元(2 bits),因此可以指出四條 當直接映射快取表TB對 )只能存放一段資料時,四 指標卻能夠存放四段資料( 四向集合關聯快取表TC的快 TB的快取成功率。 應於一指標(對應於一標籤# 2 力集合關聯快取表TC對.應於一 對應於四個標籤#2 )。因此, 取成功率大於直接映射快取表
以下會詳細敘述第三實施 例快取系統中快取區段1 5 B
451132 五、發明說明(33) 的全集舍關聯快取表TA與四向集合關聯快取表TC的操作。 鸠外’四向集合關聯快取表T C使用從輪入位址資料衍生而 來的指標與標籤# 2來執行用來判斷快取成功與否的標鐵此 對’相似於直接映射快取表TB的情形。相對應於一段輸入 位址資料_(相對應於從輸入位址資料衍生而來的一指標與 標戴# 2 ) ’四向集合關聯快取表T_ C會同時執行四個標藏 比對。第三實施例快取系統的操作除了下面敘述的部分, 其餘幾乎與第一實施例快取系統的操作相同。 起始時(當電腦系統重新設定或開啟),全集合關聯 快取表ΤΑ與四向集合關聯快取表TC的所有快取.線均設為無 效(invalid) ’也就是說’快取線的所有有效位元η與 V2均設為"0"。當資料寫入或轉移至全集合關聯快取表TA 或四向集合關聯快取表TC的一快取線時,該快取線會變為 有效(val id ),也就是說’該|夬取線的有效位元V〗或V2 會從” 0"變成” Γ。
全集合關聯快取表TA的每一快取線的存取次數(存取 計數值)是存放於每一快取線的存取計數區AC。每當全集 合關聯快取表T A的一快取線快取成功時,該快取線的存取 計數值會加1。當快取區段1 5B快取失敗時(或是當全集合 關聯快取表TA快取失敗時),全集合關聯快取表TA的所有 快取線的存取計數值會減1。 當快取區段1 5B快取失敗(全集合關聯快取表TA與四 向集合關聯快取表TC對應於從輸入位址資料衍生而來的指 標的四條快取線同時快取失敗),而四向集合關聯快取表
第37頁 “ 4 5113: 五、發明說明(34)、. TC沒有相對應於該指標的無效快取線’而全集合闞聯快取 表TA具有一個或多個無效快取線時,存放在四向集合.關聯 快取表TC中四條快取失敗的快取線的其中一條快取線上的 資料(資料與標籤#2 )會轉移至全集合關聯快取表TA的一 條無效快取線上。從四條快取失敗的快取線中選出其中一 條快取線,是根據存放在對應於該指標的線的LRU區中的 LRU值來做選擇。而根據lru值所選出的快取線上的資料會 從四向集合關聯快取表TC轉移至全集合關聯快取表TA。由 於快取區段15έ的快取|敗而從主記憶體21或是次要快取 記憶體2 0取得的資_料會寫入四向集合關聯快取表TC中所選 出的快取線’該快取線商.資料(資料與標籤# 2 )已轉移至 全集合關聯快取表ΤΑ。
當快取區段1 5 Β快取失敗,而四向集合關聯快取表T C 沒有相對應於該,指〖標的無效快取線.,而全集合關聯快取表 ΤΑ全是有效快取線時,存放在四向合關聯快取表TC中四 條快取失敗的快取線的其中一條快取線(LRU所指出的) 上的資料(資料與標籤#2 )會轉移至全集合關聯快取表TA
的了條無效快取線上’該快取線具有最小存取 費料可以隨機存放在任何一個具有最小存取計數值的快 線上°然而,也有可能從具有最小存取計數,值的快取線 出一最近最少使用快取線(該快取線最近一次快取成 疋發生在隶久以前),並且將所選出的最近最少使用快 線貪作從四向集合關聯快取表TC轉移至全集.合關聯快取 TA的資料的目的存放位置。舉例而言,可以藉由一用來
人第38頁 45113 五、發明說明(35) 存全集合關聯快立表T A中每一快取線的存取日期/時間的’ 區域來執行最近最少使用快取線的選擇。由於快取區段. 1 5 B的快取失敗而從主記憶體2 1或是次要快取記憶货2 0^ 得的資料會寫入四向集合關聯快取表TC的快取線,該快取 線的資料(資料與標藏#2 )已轉移至全集合關聯快取表 TA ° 1. 當快取區段1 5 B快取失敗,而四向集合關聯快取表T C 具有一個或多個對應於該指標的無效快取線時’由於快取 區段1 5 B的快取失敗而從主記憶體2 1或是次要快取記憶體 20取得的資料會寫入四向集合關聯快取表TC中對應於該指 標的一無效快取線。 ..
如上所述’本發明第主實施例的快取系統除了具有第 一實施例所能達到的效果之外,藉由使用四向集合關聯快 取表TC可以提高非全集合關聯快取表的快取成功率,.因 此,快取區段1 5 B具有較倖的快取成功率。四向集合關聯 快取表T C可以增加快取成功率,尤其是當中央處理單元5 〇 所執行的程式具有許多分支(branches ),也就是當中央 處理單元5 0執行對應於相同指標的多個指令時。因此,第 三實施例的快取系統適用於一可執行具有多個分支的複雜 程式的電腦系統。 Q 第三實施例是使\周·四向集合關聯快取記憶體來當作非 全集合關聯快取記憶體,以與全集合關聯快取記憶體相結 合’此外’也可以使用二向集合關聯快取記憶體、八向集、 合關聯快取記憶體簦等來當作非全集合關聯快取記憶體。
45113 五、發明說明(36) : ' -------π 再者’全集合關聯快取表^上的快取線也能使用大尺寸 巧slze )存取計數區从,而使得該未顯示存取計執 、二作可以相同於第二實施例,因此也能夠獲得二杂 施例所能達到的效果。 一戸、 取类二卜二在ί 一與第三實施例 ^的母一快取線的存取計數區AC的存取計數值的起始 —疋设定為"011 ,但是,其起始值可以不是"〇 ,,,而可以設 定為一個較大的數值,以避免存取計數值集中於” 〇"。因又, 此’存取計數區AC的尺寸就必須設定成比在第一盥第三 施例中參得大。 如上所述,在本發明快取系統與快取程序中,一非全( 集合關聯快取表(TB、TC ).,如—直接映射快取表是與一 $集合關聯快取表T A相結合。用來判斷快取成功與否的標 籤比對是同時執行於兩個快取表。全集合關聯快取表ta ^ 每二快取綠快取成功的次數是由該未顯示的存取計數器來 計#,而有關於快取成功計數的存取計數值是存放於每一 快取線的存取計數區AC。舉例而言,每當全集合關聯快取 表ΤΑ的一快取線快取成功時,該快取線的存取計數值會加 1。當兩個快取表均快取失敗時,全集合關聯快取表τα的 所有快取線的存取計數值會減1。 ( 使用上述的存取計數值來執行資料管理/轉移可以增 加包括全集合關聯(FSA)快取表ΤΑ與非全集合關聯 (non-FSA)快取表(TB、TC)的快取系統的快取成功 率。舉例來說,在第一實施例中,當快取表TA與以均快取
第40頁 45113 五、發明說明C37) 夫敗 而直接映射快取表T B具有一相對應於該指標的無效 快取線時,由於快取失敗而從主記憶體2 1或是次要快取記 憶體2 0取得的資料會寫入直接映射快取表中對應於該指 標的無效快取線。當快取表ΤΑ與ΤΒ均快取失敗,而直.接映 射快取表ΤΒ沒有相對應於該指標的無效快取線,而全集合 關聯快取表ΤΑ具有一個或多個無效快取線時,存放在直—接 映射快取表ΤΒ中快取失敗的快取線上的資料會轉移至全集 合關聯快取表ΤΑ的一條無效快取線上,而從主記憶體2 1或 要快取記憶體20亨得的資料會寫入直接映射快取表ΤΒ 快取失敗的气取線。當快取表了A與TB均快取失敗,而直 接映射快取泰TB沒有相對應於該指標的無效快取線,而全 集合關聯快取表TA全是有效快取線時,存放在直接映射快 取表TB中快取失敗的快取線上的資料會轉移至全集合關聯 快取表T A的一快取線上,該快取線具有最小存取計數值, 而從主記憶體2 1或是次要快取記憶體20取得的資料會寫入 直接映射快取表TB中快i失敗的快取線。 使用存取計數值(快取成功計數值)來執行資料管理 /轉移可以提昇全集合關聯(F S A )快取表T A保存具有高快取 成功率的快取線的能力丨·因而增加快取成功率。在全集合 關聯車_|取表TA與非Hr集|關聯快取表丁6、丁(:中相同噴料重 複的手以完全消除,.因此.,快取系統的記憶體空間的 使用效率可以增加‘至最大,听快取成功率也可以、增加至最 大。因此,.快取成功率與資料存取速度可以増加至最大。 以上所述僅為本發明之較佳實施例’凡依本發明申請
V.
第41頁 4 51 13
Claims (1)
- 451 1 S 六、申請專利範圍 、 1 · 一種快取系統,用來減少一資料處理單元,如中央 -處理單元、微處理器單元等’對一外部記憶體,如主記憶 體’存取資料的次數,該快取系統包括: "一全集合關聯快取記憶體,可以保存具有高快取成功 率的快取線’其中當從輸入位址資料衍生而來的第一標 與存放在全集合關聯快取記憶體的有效快取線上的第一標 』 籤的其中一個相符合(match )時,該資料處理單元會將 對應於該符合的(matched )第一標籤的有效快取線上所 存放的資料讀出,以當作快取資料; . 一非全集合關聯快取記憶體,連接於該全集合關聯快 取記憶體’以與該全集合關聯快取記憶體同時執行用來判 、 斷快取成功與否的標籤比對,其中當從該輸入位址資料衍 生而來的第二標籤與存放在該非全集合關聯快取記憶體中 相對應於從該輪入位址資料應生而來的指標的一有效快取 線中的一第二標籤相符合日、夺,該資料i處理單元會將相對應 於該符合的第二標籤的有效快取線中所存放的資料讀出, 以當作快取資料; 一快·取成功計數儲存裝置(cache hit count storage me;ns ),每二儲存裝置相對應於該全集合關聯 快取記憶體的每一快取線,用來儲存一快取成功計數值,〇 其相關於該快取線快取成功的次數;以及 一快取成功計數管理裝Ϊ (cache hit count management means ),用來計算該全集合關聯快取記憶體 的每一快取線快取成功的次數’以管理與更新存放在該快 ,第43頁 4 511 c 六、中請專鄕si ' " '~^ — 取成功計數儲存裝置的快取成功計數值,其中:·_ - 如果該全集合襴聯快取記憶體與該非全集合關聯快取 記憶體均快取失敗(m i ss h i tS ),當該非全集合關聯快. 取記憶體沒有相對應於該相標之無效(i nvai i d )快取 線,而該全集合關聯快取記憶體具有一個或多個無效供取 線時’存放在該非全集合關聯快取記憶體_對應於該快取 失敗的指標的有效(v a 1 i d )快取線上的資^斗會轉移至該 全集合關聯快取記憶體的一條無效快取線上,由於快取失 敗而從該外部記億體取得的賣料會寫入該..氣全集合關聯快 取記憶體的快取線,'該'快取線的資料已轉移至該全集合關 聯快取記憶體; · 如果該全集合關聯快取記憶體與該非全集合關聯快取 記憶體均快取失敗,當該非全集合關聯快取記憶體沒有相 對,於該指標之無效快取線,而該全集合關聯快取記憶體 全是有效快取線時’存放在該非全集合關聯快取記憶體中 對應於該快取失敗的指.標.的有效快取線上的資料會^移至 該耸集合關聯快取記憶體的一個有效快取線I,該有效快 取線具有最小的快取成珀計數值(Cyhe hU c〇uni: va 1 ),由於快取失敗而從該外坪記憶體取得的資料會 寫入忒非全集合關聯快取記憶體的快〃取線,該快取線的資^ 料已轉移至該全集合關聯快取記憶體;以及 γ ^卻果5玄’全集合關聯快取記憶體與該非全集取 β己隐體均快取失敗,當該非全集合關聯快取記憶體具有對 應於忒扣心之無效快取線時,由於快取失敗而從該外部記第44頁 ^ 4 51 1 λ ____ ——__.____. 、 申請專利範圍· 憶.體取得的資料會寫入該非全集合關聯快取記憶體相對應 於該指標的無效快取線。 2. 如專利申請範圍第1項之快取系統,其中: 當該全集合關聯快取記憶體的一快取線快取成功時, 該快取成功計數管理裝置會將該快取線的快取成功計數值 加1 ;以及 當該全集合關聯快取記憶體與該非全集合關聯快取記 .憶體均快取失敗時,該快取成功計數管理裝會將該全集 合關聯快取記憶體的所有快取線的快取成一^ 3. 如專利申請範圍第1項之快取系統,其中: 當該全集合關觸快取記憶體的一快取線快取成功時, 、該快取成功計數管理裝置會將該快取線的快取成功計數值 , 加1 ;以及 ‘ 當該全集合關聯快取記憶體快枣失.敗時,該快取成功 •計數管理K i會將錄全,集合關聯供取記憶體的所有快取線 的快取成功計數值減1。 ' 4. 如專刹申請範圍箄1項之快取系統,其中: 當該全集合關聯快取記憶體的一快取線快取成功時, 該快取成功奉管理氧置會將該快取線扁快取成功計數值 加1 。 - 一 5.如專利申請範圍第1項之快取系統,另包括快取成 功日期/時間儲存裝置(cache hit date/time st〇rage mAeanS ),母一快取成功日期/時間儲存裝置對應於該全集 合關聯快取記憶體的每一快取線,用來儲存該快取線最近第45頁 1 '* — 4 51 t ί 六、申請專利範圍 快取成功的曰期與時間的相關資料,其中: . 如果該全集合關聯快取‘記憶體與該非全集合關聯快取 s己憶體均快取失敗,當該非全集合關聯快取記憶體沒有相 對應於該指標.之無效快取線,而該全集合關聯,快取記憶體 全是有效快取線時,〆最近最少使用的快取線會根據存放 在該快取成功日期/時間儲存裝置的資料而從該全集合關 聯快取記憶體的有效怏取線被選出,該有效快取、線具有最 小的快取成功計數值,而從該非全集合關聯快取記憶轉 銘至該全集合關聯快取記憶體的資料會儲存至該最,近最少 ~~~~—- 使用的快取線。 6.如專利申請範圍第1項之快取系統,其中直接映射 j兴取言己t意體(direct mapping cache memory )用來當作 4 #全集合關聯快取記憶體。 “ 7.如專利申請範圍第1項之快取系統,其中N向集合關 聯扶取記憶體(N-way set· assoc i a t i ve cache memory ’ N;=2,4,8 ♦··)用來當作該非.全集舍關聯快取記憶體。 8.如專利申請範圍第7邊之快取系統,另包括LRU儲存 裝置,每一LRU儲存裝置是對應於每一指標’用來儲存一 (最近最少使用,1east recently used )值’以指出 相對應於該.指標的N條快取線中最1近最少使的快取線’ 其中:. 如果該全集合關聯快取記憶體與該N向集合關聯快取, 記憶體均快取失敗’當該N向集合關聯快取記憶體沒有相 對應於該指標之無效快取線,而該全集合關聯快取記憶體第46頁 451 ί 32六、申請專利Ιέ*圍 具有一」13或多個無'效价取線日’該L叫值所指的—快取線 會從該Ν向集合關聯快取記憶體的Ν條快取失敗的快取線中 被邋I,而存放在被it出的快取線上的資料會轉移至該全 集合關聯快取記憶體.的一條無效快取線上,由於快取失敗 而從該外部記憶體取得的.資料會寫入該N向集合關聯快取' 記憶體中被選出的快取線’該快取線的資料已轉移至該全 集合關聯快取記憶體; 如果該全集舍一關聯快取記憶體與該N向集合關聯快取 _記憶體均快取失敗~»~堂該N.向策合關~^~^甲記憶體兔有相 對應於該指標之無效快取線,而該全集合關聯快取記憶體 全是有效快取線時,.該L R U值所指的一快.戚線會從該n向集 合關聯快取記憶體的N條快取失敗的快取線,中被選出,而 存放在被選出的快取線上的資料會轉移至該全集合關聯快 取記憶體的一條有效快取線上,該有效快取線具有最小的 快取成功計數值,而由於快取失敗而從該外部記憶體取得 的資料會寫入該N向集合關聯快取記憶體中被選出的快取 線’該快取康的資料已轉移至該全集合關聯快取記憶體; 以及 如果該全集合關聯快取記憶體與該N向集合關聯快取 記憶體均_取失敗,當該N向集合關嚀快取記憶體具有相__ 對應钤該指標之一彳固或多個無效快取線時,由於快取失蛛 而從該外部記憶體取得的資料會寫入該N向集合關聯快取 記憶體中相對應於該指標的一無效快取線。 9.如專利申請範圍第8項之快取系統,另包,括快取成4 51 13 2 六'申請專利範圍 功曰期/時間儲存裝置,每—快取成功曰期/時間儲·存裝置 對應於該全集合關聯快取記憶體的每一快取線,用來儲存 忒快取線最近快取成功的日期與時間的相關資料,其中: 如果該全集合關聯快取記憶體與該N向集合關聯快取 記憶體均快取失敗’當該N向集合關聯快取記憶體沒有相 對應於該指標之無效快取線,而該全集合關聯快取記憶體 全是有效快取線時’一最近最少使用的快取線會根據存放 在該快取成功曰期/時間儲存裝置的資料而從該全集合關 聯快取記憶體的有效快取線被選出,該有效快取線具有最 小的快取成功計數值,而從j玄N向集合關聯快取記憶體轉 移至該全集合關聯快取記憶體的資料會儲存至該最近最少 使用的快取線上人 1 0 ‘如專利申請範圍第1項之快取系統,其除了包括由 該全集合關聯快取記憶體以及該非全集合關聯快取記憶體 所組成的主要快取記憶體(pr i mary cache memory )之 外’另包括一次要快取記憶體(secondary cache memory )。 11. 一種快、取處理方法,用來減少一資衅處理單元, 如中央處理單元、微處理器單元等,對一外部記憶體,如 主記憶體,存取資料的次數,其使用一可以保存具嗜高快 取成功率的快取線的全集合關聯快取記憶體,以及一非全 集合關聯快取記憶體,該非全集合和聯快取記憶體又與該 全集合關聯快取記憶體同時執行用來判斷快取成功與否的 標籤比對’該方法包括:第48頁 4Sf132 六、申請專利範圍 第一標藏t匕 —對步挪 來的第一標籤會輿存敌咏’其中—由輸入位址資料衍生而 快取線中的第一襟鼙4在轉全集合關聯快取記憶體的有效 籤與所存放的第〜襟$行比對,如果ά衍生而來的第一標 表示該全集合關聯快取的其中一個相符合(match ) ’就 一第二標籤比對米&己憶體快取成功; ^ 進行,其中一由讀輪’氣,其與該第一標籤比對步鄉同时 存放在該非全集合^八命1址資料衍生而來的第二標籤會與 位址資料衍生而來的$快取記憶體中相對應於V從該輸入 個或多個第二標織奥J &的一個或多個有效快取線中的二 與所存放的第二襟鐵订比對,如果該衍生而來的第二標藏 合關聯快取記憶體快=其中一個相符合,就表示該#全集 、取成功; 計數'管理步驟,,中對該全.集合關聯快取 n己隱體的母n線快取成功的次數進行計算,以,更新存 放在對應於该快取線的,快取成功計數儲存裝置宁的快取成 功計數值; 一第一袂取資料讀取程序,其中如果在該第一標藏比 對步驟中,該全集合關聯快取記憶體快取成功,該資料處 理單元會將該全集合關聯快取記憶體中相對應於該符合的 (matched )第一標籤的一有敢快取線t所存放的資料讀 出,以當作快取資料; 一第二快取資料讀取程序,..其..ΐϋ在該第二標籤比 對步驟中’,該非全集合關聯快取記憶體快取成功,該資料 處理單元會將該非全集合關聯快取記憶體中相對應於該符第49頁 4St 13 2 六、申請專利範園 ' --------- 合f票鐵的一有效快取線中所存放的資料讀出.,以卷 作快取貧料; 人田 减叙^ 資料轉移步驟,其中如果該全集合關聯快取記 憶〜、非全集合關聯快取記憶體均快取失敗,當該非八 集合關=陝取記憶體沒有相對應於該指標之無效快取線’ 而該全集合關聯快取記憶體具有一個或多個無效快取線 時’t ΐ放在該非全集合關聯快取記憶體相對應於快取失敗 的指標的一有效快取線上的資料會轉移至該全集合關聯怏 取記憶體的一條無效快取線上,由於快取失敗而從該外部 記憶體取得的資料會寫入該非全集合關聯.快取記憶體的快 取線’而該快取線的資料已轉移至該全集合關聯快取記惊 體; ^ 弟一資料轉移步驟其中如果該全集合關聯快取記 憶體與該非全集合關聯快取記憶劈均快取失敗,當該非全 集合關聯快取鬼憶體沒有相對應於該指.標之無效快取線, 而該全集合關聯快取記憶體全是有效快取,線時,存放在該 非全集合關聯快取記憶體相對應於快取失敗的指標的一有 效快取線上的資料會轉移至該全集合關聯快取記憶體的〆 有效快取線上,該有效快取線具有最小的快取成功計數值 C cache hit count value),由於快取失敗而從該外部 - w已憶體取得的資料會寫入該非全集合關聯快表記憶體的快 取線’而該快取線的資料已轉移玄該全集合關聯快取記憶 體;以及 一第三資料轉移步驟^其中如果該全集合關聯快取記第50頁 4 δ1 13 2 六、申請專利範圍 憶體與該非全集合關聯快取記憶體均快取失敗,當該非全 集合關聯快取記憶體具有相對應於該指標之一無效快取線 時’由於快取失敗而從該外部記憶體取得的資料會寫入該 非全集合關聯快取記憶體相對應於該指標的一無效快取 線。 1 2 如專利申請範圍第丨丨項之快取處理方法,其中在 該快取成功計數管理步驟中: 當該全集合關聯快取記憶體的一快取線快取成功時, 該快取線的快取成功計數值會加1 以及 當該全集合關聯快取記憶體與該非全集合關聯快取記 憶體均快取失敗時,該全集合關聯快取記憶體的所有快取 線的快取成功計數值會減1。 1 3 ·如專利申請範圍第丨丨項之快取處理方法’其中在 5玄快取成功計數管理步驟中: 當該全集合關聯快取記憶體的一快取線快取成功時, 該快取線的快取成功計數值會加1 ;以及 當該全集合關聯快取記憶體快取失敗時’該全集合關 聯快取記憶體的所有快取線的快取成功計數值會減1。 〇 1 4 _如專利申請範圍第1 1項之快取處理方法’其中在 該快取成功計數管理步驟中: 當該全集合關聯快取纪憶體的一快取線快取成V時‘ 該快取線的快取成功計數值會加1。 1 5 ·如專利申請範圍第1 1項之快取處理方法’另包括 一快取成功日期/時間儲存步驟,其中關於該全集合關聯第51頁 451 1 32 六、申請專利範圍 快取記憶體的一快取線最近快取成功的曰期與時間.的資料 是存放於對應於該快取線的一快取成功曰期/時間儲存裝 置’其中’在第二資料轉移步驟中: · 一最近最少使用的快取線會根據存放在該快取成功日 期/時間儲存裝置的資料而從該全集合關聯快取記憶體的 有效快取線中選出,該有效快取線具有最小的快取成功計 數值,而從該非全集合關聯快取記憶體轉移至該全集合關 聯快取記憶體的資料會儲存至該最近最少使用的快取線。 16.如專利申請範圍第11項之快取處理方法,其中直 接映射快取記憶體是用來當作該非全集合關聯快取記憶 1 7.如專利申請範圍第1丨項之快取處理方法,其中N向 集合關聯快取記憶體(N-way set associative cache memoiry ’ n = 2,4,8…)是,用來當作該非全集合關聯快取 記憶體。 1 8.如專利申請範圍第1 γ項之快取處理方法,另.包括 一LM储存步驟’其中一LRU值是用來指出該ν向集合關聯 快取#己憶體,中對應於一指標的N條快取線中二最近最少使 用的快取線,而該LRlj值是儲存於一對應於該指標的LRU儲 存裝置,其中: …=在第一資料轉移步驟中,該LRU值所指的一快取線會 ^ Ϊ N向717合關聯快取記憶體的N條快取失敗的快取線中被 :關浐:Ϊ放在Ϊ選出的快取绛上的資料會轉移至該全f 口關如快取記憶體的一條無效快取線上,由於快取失敗而六 45ί13j 、申請專%範圍 ’ ---------- 從該外部記憶體取得的資料會 憶體中被it ifc Μ $取魄,1 π冩向集合關聯快取記 人Ζ 快取線的資料已轉移至該H 合關聯快取記憶體; 傅移至集 崎Α第二資料轉移步驟中,讓·LRU值所#的—快取線合 選出而集/關聯快取記憶咖條快取失敗的快取線中、 在被選出的快取線上的資料會轉移至該全ί 取記,體的一條有效怏取線上,該有效快取心 t快取成功計數值,而由於快取失敗而從該外_ 取得的資料會寫人該^1向集合關聯快取記憶體中被選 取線,該快取線的資料已轉移至該全集合關聯快部 。匕隐股·,以及 , 在,三.資料轉移步驟中,由於快取失敗而從該外部記 憶體取得的資料會寫入該Ν向集合關聯快取記憶體中對應 於该指標的一無效快取線。 19,如專利申請範圍羞18項之快取處理方法,另包括 取成功日期/時間儲存步驟’其中關於該全集合關聯 f取記憶體的一快取線最近快取成功的日期與時間的資料 疋存放於對應於該快取線的一快取成功日期/時間儲存裝 置,其中,在第二資料轉移步驟中: —最近最少使用的快取線會根據存放在該快取成功曰 期/時間儲存裝置.的資料而從該全集合關聯快取記憶體的 有效快取線中選出,該有,快取線气有最小的快取成功計 數值’而從該N向集合關聯&取記憶體轉移至該全集合關 聯快取記憶體的資料會儲存至該最近最少使用的快取線。第53頁 45t132 六 、申請專利範圍 一次要恤嵌产 5奢範圍第11項之快取處理方法’另包括 μ旅& % ^存取步驟,其中.該步驟中除了包括由該全集合 φ " 6己憶體以及該非全集合關聯快取記憶體所紐成、的 取記憶體之外1包括-:欠要快取記憶體,而當該 ^ :關如决取纪憶體與該非全集合關聯快取記憶體均快 取失敗時,會對該次要快取記憶體進行存取。· 種了,賣式電私(记錄媒體(a c〇mpu ter-readab 1 e 7 = medlUm ) ’存有一程式,用來指示一電腦執行一 Ϊ取ί ί :以減少一資料處理單元’如中央處.理單元、微 處理器單元等,對一.外部記憶體,如主記憶體,存取資料 的•人數,其使用一可以保存具有高快取成功率的快取線的 全集合關聯快取記憶體’以及一非全集合關聯快取記憶 體,該非全'集合關聯快取記憶體可與該全集合關聯快取記 憶體同時執行用來判斷快取成功與否的標籤比對,其中, 該快取程序包括下列步驟: 一快取成功計數官理步驟,其中對攀全集合關聯快取 記憶體的每一快取線快取成功的次數進行計算,以更新存 放在對應於5衾快取線.的快取成功計數健存裝置中的快取成 功計'數值> _ , 广一第 > 快取資料讀取程序’其中如果該全集合神聯快 取記憶體快取成功’該資料處理單元會將該全集關聯快 取記憶體'中快取成功的一有效快取線中所存放的資料讀 出,以當作快取資料f一第二快取資.料讀取程;I ’其中如果該非全集合關聯第54頁 451132 六、申請專利範圍 快取記憶體快取成功,該資 聯快知記憶體中相對應於快 中所存放的資料讀出,以當 一第一資料轉移步驟_, 憶體與該非 集合關聯快 而該全集合 時,存放在 敗的指標的 快取記.憶.體 部記憶體取 快取線,而 憶體; —第二 憶體與該非 集合關聯快 而該全集合 沖全,集合關 效快取線上 效辦取線上 (cache hi 記憶雔取得 取線,而該 體;以及 全集合關聯快取 取記憶體沒有相 關聯快取記憶體 該非全集合關聯 r有效快取線上 料處理 取成功 作快取 其中如 記憶體 對應於 具有一 快取記 的資料 的一條無效快取線上, 該非全 已轉移 得的資料會寫入 該快取線的資料 |元會將 的指標的 資料; 果該全集 均快取失 該指標的 個或多個 憶體中相 會轉移至 由於快取 集合關聯 至該全集 s亥非全集合避 一有效快取線 合Y關聯 敗,當 無效快 無效快 對應於 該全,集 失敗1而_ 快取記 合關聯 快取記 該非全 取線, 取線 快取失 合關聯 從該外 憶體的 快取記 貢料轉移步驟, 全集'备關聯、快取 取記憶體沒有相 關聯快取.記憶體 聯快取記憶.體相 的資料會轉移··至 ’該有效快.取線 ΐ count value) 的資料會寫入該 快取線的資料已 其中如果該全集合關聯快取記 記憶體均快取失敗,當該非全 對應於磚,標的無效快取線, 全艮友效快取線時,存放在該^ +對應尹快取失敗的指標的一有 全集合關聯快取記憶體的一有 具有最小的快取成功計數值 〃 • - ™ · ,由_於快取卷敗而從該外部 非全集合關聯快取記憶體的快 轉移至該全集合關聯快取記憶第55頁 4 51 1 3 2 六、申請專利範圍 ' J 一第三資料轉移步驟,如果該全集合關聯快取記憶體 .輿該非全集合關聯快取記憶镡均快取失敗,當該非全集合 關聯快取記憶體具有相對應於該指標的一無效快取線時, 由於快取失敗而從該外部記憶體取得的資料會寫入該非全 集合關聯快取記憶體中相對應於該指標的一無效快取線。 22·如專利申請範.圍第21項之可讀式電腦記錄媒體, 其中在該快取成功計數管理步驟中: 當該全集合關聯快取記憶體的一快取線快取成功時’ 該快取線的挟取成功計數值會加1 ;以及 當該全集合關聯快取記憶體與該非全集合關聯快取記 憶體均快取失敗時’該全集合關聯快取記憶體的所有快取 線的快取成功計數值會減1.。 ~ 2 3.如專利申請範圍第21項之可讀式電腦記錄媒體, 其中在該快取成功計數管理步驅·中.: 當該全集合關聯快取記憶體的一快取線快取成功時,該快 取線的快取成功計數值會加1 ;以及 當該全集合關聯快取記憶體快取失敗時·,該全集合關 聯快取s已憶體的所有快取線的怜取成功計數值會減1。 2 4 ·如專利申請範圍第2 1項之可讀式電腦記錄媒體, 其中‘在該'快取成功計數管理步驟中^ : 當該全集合關聯快取記憶體的一快取線快取成功時, 該快取線的快取成功計數值會加1。 2 5.如專利申請範圍第2 1項4可讀式電腦記錄媒體, 其中該快取程序另包括一快取成功日期/時間,儲存步驟,45η 32 六、申請寻利範圍1 ' ' -一·一 其中關於該全'集合關聯快取記憶體的一快取線最近快取成 功的日期與時.間的資.料是存放於對應於該快取線的二快取 成功曰期/時間儲存裝置;以及、 1 ' 、 在該第一資料轉移步驟.中’一最近最少 '使用的快.取線 會根據存放在該快取成,功曰期/時間儲存裝置的資料而從 該全集合關聯快取記:憶體的有效快取線中選出,該有效^^ 取線具有最小的快取成功計數值’而從該非全集合關聯快 取記憶體轉移至該全集合關聯快取記憶體的資料會儲存至 該最近最少使用的快取線。 26.如專利申請範圍第21項之可讀式電腦記錄媒體, 其中直接映射快取記憶體是用來當作該非全集合關聯快取 記.憶體。 27.如專利申請範圍第21項之可讀式電腦記錄媒體, 其中Ν向集合關聯快取記憶體(Ν = 2,4, 8…)是用來當作 該非全集合關聯快取記憶體。 田 2 8.如專利申請範圍第2 7項之可讀式電腦記錄媒體, 其=該快取程序另包括一LRU儲存步驟,其中—LRU值是用 來才曰出向集合關聯快取記憶體中對應於—指標的n條快取 線中—最攻最少使用的快取線’而^LRU值是儲存於一 應於該指檩、的LRU儲存裝置; /在第一資料轉移步驟中,該LR.U;值所指的—快取線會 從該N向集合關聯快取記憶體的,Ν條快取失敗的快取線中被 ^ 而存放在被選出的快取線上.的|料+轉移至該全集 合關聯快取記憶體的—條無效快取線上,由於快取失敗而 II第57頁 ^ 451132 六、申—專利範圍 從該外部記憶體取得的負料會寫入該N向集合關聯快取記 憶體中被選.出的快取線’該快取線的資料已轉移至該全集 合關聯快取記憶體; 在第二資料轉移步驟中’該LRU值所指的一快取線會 從該N向集合關聯快取㊆憶體的N條快取失敗的快取線中被 選出’而存放在被選出巧快取線上的資料.會轉移至該全集 合關聯快取記憶體的一條有效快取線上,該有效快取線具 有最小的快取成功計數值由於快取失敗而從該外部記憶 體取传·的資料會寫入5亥Ν向集合關聯快取記憶體中被選出. 的快取線’該快取線的資料已轉移.至該全集合關聯快取記一 憶體;以及 在第三資料轉移步驟中’由於快取失聛而從該外部記 憶 '體取得的資料會禽入該Ν向集合關聯快取記憶體中對應 %該指標的一無效快取線。 2 9.如專利申請範闺第2 8項之可.讀式電腦記錄媒體, 其中該快取程序另包括一快取成功日期/哼間哮存步驟, 其中關於該全集合關聯快取記憶體的一快取線最近快取成 功的曰期與時間的資料是存放於對應於該快取線的一快取 成功日期/時間儲存裝置;以及 、 t在第二資料轉移步驟中,一最近最少使用的快取,線會 $據存放在該快取成功日期/時間儲存裝置的資料而從該 全集合,聯快取記憶體的有效快取線中選出,該有效快取 f具有最小的快取成功計數值,而從該N向集合關聯快取 。己ft體轉移至該全集合關聯快取記谭體的資料會儲存至該第58頁 45ί!32 六、申請專利範圍 最近最少使用的快取線。、 30.如專利申請範圍第21項之可讀式電腦記錄媒體, 其中該快取程序另包括一次要快取存取步驟,其中該步驟 中除了包括由該全集合關聯快取記憶體以及該非全集合關 聯快取記憶,體所組成的主要快取記憶體之外,還包括一次 要快取記憶體,而當該全集合關聯快取記憶體與該非全集-合關聯快取記憶體均快取失敗時,會對該次要快取記憶體 進行存取。第59頁
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35681598 | 1998-12-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW451132B true TW451132B (en) | 2001-08-21 |
Family
ID=18450921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW088121454A TW451132B (en) | 1998-12-15 | 1999-12-08 | System and method for cache processing |
Country Status (4)
Country | Link |
---|---|
US (1) | US6385697B1 (zh) |
EP (1) | EP1011049A3 (zh) |
KR (1) | KR100339904B1 (zh) |
TW (1) | TW451132B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19961499A1 (de) * | 1999-12-20 | 2001-07-05 | Ericsson Telefon Ab L M | Caching von Objekten in Platten-gestützten Datenbanken |
US6983388B2 (en) * | 2000-10-25 | 2006-01-03 | Agere Systems Inc. | Method and apparatus for reducing leakage power in a cache memory by using a timer control signal that removes power to associated cache lines |
US7310706B1 (en) * | 2001-06-01 | 2007-12-18 | Mips Technologies, Inc. | Random cache line refill |
US7275135B2 (en) * | 2001-08-31 | 2007-09-25 | Intel Corporation | Hardware updated metadata for non-volatile mass storage cache |
US7062607B2 (en) * | 2001-09-24 | 2006-06-13 | Intel Corporation | Filtering basic instruction segments in a processor front-end for power conservation |
US20030142561A1 (en) * | 2001-12-14 | 2003-07-31 | I/O Integrity, Inc. | Apparatus and caching method for optimizing server startup performance |
US6839812B2 (en) * | 2001-12-21 | 2005-01-04 | Intel Corporation | Method and system to cache metadata |
US6862665B2 (en) * | 2002-07-19 | 2005-03-01 | Intel Corporation | Method, system, and apparatus for space efficient cache coherency |
KR100479589B1 (ko) * | 2002-10-01 | 2005-04-06 | 엘지전자 주식회사 | Cam 구성 장치 |
US20050108478A1 (en) * | 2003-11-13 | 2005-05-19 | International Business Machines Corporation | Dynamic frequent instruction line cache |
US7571188B1 (en) * | 2004-09-23 | 2009-08-04 | Sun Microsystems, Inc. | Cache abstraction for modeling database performance |
US7451272B2 (en) | 2004-10-19 | 2008-11-11 | Platform Solutions Incorporated | Queue or stack based cache entry reclaim method |
CN100377116C (zh) * | 2006-04-04 | 2008-03-26 | 浙江大学 | 处理器高速数据缓存重配置方法 |
US8244980B2 (en) * | 2006-06-21 | 2012-08-14 | Intel Corporation | Shared cache performance |
JP2008107983A (ja) * | 2006-10-24 | 2008-05-08 | Nec Electronics Corp | キャッシュメモリ |
CN101595462B (zh) * | 2007-01-31 | 2012-04-25 | 高通股份有限公司 | 用以减少多级高速缓冲存储器层级中的掷出的设备和方法 |
JP4378386B2 (ja) * | 2007-02-26 | 2009-12-02 | 富士通株式会社 | キャッシュウェイ縮退監視装置、キャッシュウェイ縮退監視方法およびキャッシュウェイ縮退監視プログラム |
US7627742B2 (en) | 2007-04-10 | 2009-12-01 | International Business Machines Corporation | Method and apparatus for conserving power by throttling instruction fetching when a processor encounters low confidence branches in an information handling system |
US8180964B1 (en) * | 2007-09-28 | 2012-05-15 | The Mathworks, Inc. | Optimization of cache configuration for application design |
JP5118562B2 (ja) * | 2008-06-20 | 2013-01-16 | 株式会社東芝 | デバッグ支援装置 |
US8112588B2 (en) * | 2009-02-26 | 2012-02-07 | Red Hat, Inc. | Sorting cache objects based on access counters reset upon garbage collection |
KR101166177B1 (ko) | 2010-05-20 | 2012-07-18 | 일솜 주식회사 | 개질기, 이를 구비한 유기성 폐기물을 이용한 수소 생산장치 및 그 생산방법 |
JP2012203729A (ja) * | 2011-03-25 | 2012-10-22 | Fujitsu Ltd | 演算処理装置および演算処理装置の制御方法 |
JP6012263B2 (ja) * | 2011-06-09 | 2016-10-25 | 株式会社半導体エネルギー研究所 | 半導体記憶装置 |
GB2506706B (en) * | 2013-04-02 | 2014-09-03 | Imagination Tech Ltd | Tile-based graphics |
US9513904B2 (en) * | 2013-10-15 | 2016-12-06 | Mill Computing, Inc. | Computer processor employing cache memory with per-byte valid bits |
US9582430B2 (en) * | 2015-03-27 | 2017-02-28 | Intel Corporation | Asymmetric set combined cache |
US10620850B1 (en) * | 2016-03-31 | 2020-04-14 | EMC IP Holding Company LLC | Caching techniques duplicating dirty data in secondary cache |
US10248422B2 (en) * | 2016-07-02 | 2019-04-02 | Intel Corporation | Systems, apparatuses, and methods for snooping persistent memory store addresses |
CN107885671B (zh) * | 2016-09-30 | 2021-09-14 | 华为技术有限公司 | 一种非易失性内存的持久化方法和计算设备 |
US10937499B2 (en) | 2019-04-12 | 2021-03-02 | Micron Technology, Inc. | Content addressable memory systems with content addressable memory buffers |
CN113495678B (zh) * | 2020-04-01 | 2022-06-28 | 荣耀终端有限公司 | 一种dm缓存的分配方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61241853A (ja) | 1985-04-19 | 1986-10-28 | Nec Corp | キヤツシユ・メモリ制御方式 |
JPH0573415A (ja) | 1991-09-17 | 1993-03-26 | Oki Electric Ind Co Ltd | 階層化キヤツシユ方式 |
GB2264577B (en) | 1992-02-27 | 1995-06-14 | Hewlett Packard Co | Cache memory system |
JPH06250926A (ja) | 1993-02-25 | 1994-09-09 | Mitsubishi Electric Corp | 複数階層のキャッシュメモリを備えたデータ処理システム |
US5592432A (en) | 1995-09-05 | 1997-01-07 | Emc Corp | Cache management system using time stamping for replacement queue |
US5860095A (en) * | 1996-01-02 | 1999-01-12 | Hewlett-Packard Company | Conflict cache having cache miscounters for a computer memory system |
US5983313A (en) | 1996-04-10 | 1999-11-09 | Ramtron International Corporation | EDRAM having a dynamically-sized cache memory and associated method |
US5822759A (en) | 1996-11-22 | 1998-10-13 | Versant Object Technology | Cache system |
-
1999
- 1999-12-08 TW TW088121454A patent/TW451132B/zh not_active IP Right Cessation
- 1999-12-14 US US09/461,092 patent/US6385697B1/en not_active Expired - Fee Related
- 1999-12-15 KR KR1019990057909A patent/KR100339904B1/ko not_active IP Right Cessation
- 1999-12-15 EP EP99124847A patent/EP1011049A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1011049A3 (en) | 2001-03-14 |
US6385697B1 (en) | 2002-05-07 |
EP1011049A2 (en) | 2000-06-21 |
KR20000052480A (ko) | 2000-08-25 |
KR100339904B1 (ko) | 2002-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW451132B (en) | System and method for cache processing | |
US11237905B2 (en) | Pipelined read-modify-write operations in cache memory | |
US5361391A (en) | Intelligent cache memory and prefetch method based on CPU data fetching characteristics | |
TW200908009A (en) | Hierarchical cache tag architecture | |
JP5118199B2 (ja) | マルチスレッドおよびマルチコア・システムのためのキャッシュ、および、その方法 | |
TWI261782B (en) | Microprocessor, apparatus and method for selective prefetch retire | |
US7917698B2 (en) | Method and apparatus for tracking load-marks and store-marks on cache lines | |
CN107111455A (zh) | 使用虚拟地址的缓存访问 | |
TWI411915B (zh) | 微處理器、記憶體子系統以及快取資料的方法 | |
JPS60214059A (ja) | キヤツシユ機構 | |
TW200949533A (en) | Utilization of a store buffer for error recovery on a store allocation cache miss | |
TW200416536A (en) | Method and related apparatus for reordering access requests used to access main memory of a data processing system | |
TW200422948A (en) | Data speculation based on addressing patterns identifying dual-purpose register | |
CN107038125A (zh) | 具有加速预取请求的独立流水线的处理器高速缓存 | |
TW200912742A (en) | Second chance replacement mechanism for a highly associative cache memory of a processor | |
TWI249672B (en) | Tag array access reduction in a cache memory | |
TWI289256B (en) | System and method of data replacement in cache ways | |
JP3929872B2 (ja) | キャッシュメモリ、プロセッサ及びキャッシュ制御方法 | |
TW385389B (en) | Cache performance improvement through the use of early select techniques and pipelining | |
WO2005029336A1 (ja) | キャッシュメモリおよびキャッシュメモリ制御方法 | |
WO2012127628A1 (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
US7721042B2 (en) | Content-addressable memory that supports a priority ordering between banks of differing sizes | |
US20080028139A1 (en) | Content-addressable memory that supports a priority ordering between banks | |
CN107924310A (zh) | 使用避免转出表(pat)预测计算机处理器中的存储器指令转出 | |
TWI328165B (en) | Cache memory systems and methods thereof |
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 |