TW408266B - Memory controller within a data processing system for caching stack operations and prefetching data from memory - Google Patents
Memory controller within a data processing system for caching stack operations and prefetching data from memory Download PDFInfo
- Publication number
- TW408266B TW408266B TW085107288A TW85107288A TW408266B TW 408266 B TW408266 B TW 408266B TW 085107288 A TW085107288 A TW 085107288A TW 85107288 A TW85107288 A TW 85107288A TW 408266 B TW408266 B TW 408266B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- information
- cache
- data
- controller
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 453
- 238000012545 processing Methods 0.000 title claims abstract description 42
- 239000000872 buffer Substances 0.000 claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000013500 data storage Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 35
- 238000003860 storage Methods 0.000 claims description 17
- 239000000463 material Substances 0.000 claims description 12
- 230000002079 cooperative effect Effects 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 11
- 238000007726 management method Methods 0.000 claims description 6
- 238000009434 installation Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims 3
- 238000010168 coupling process Methods 0.000 claims 3
- 238000005859 coupling reaction Methods 0.000 claims 3
- 238000010411 cooking Methods 0.000 claims 2
- 230000008878 coupling Effects 0.000 claims 2
- 230000003111 delayed effect Effects 0.000 claims 2
- 238000000605 extraction Methods 0.000 claims 2
- 230000010365 information processing Effects 0.000 claims 2
- 238000012384 transportation and delivery Methods 0.000 claims 2
- 208000003251 Pruritus Diseases 0.000 claims 1
- 239000004035 construction material Substances 0.000 claims 1
- 238000000151 deposition Methods 0.000 claims 1
- XEEYBQQBJWHFJM-UHFFFAOYSA-N iron Substances [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 claims 1
- 150000002505 iron Chemical class 0.000 claims 1
- 229910052742 iron Inorganic materials 0.000 claims 1
- 230000008520 organization Effects 0.000 claims 1
- 238000004806 packaging method and process Methods 0.000 claims 1
- 235000015170 shellfish Nutrition 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013479 data entry Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000003446 memory effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
第85107288號牟利申請案 說明書修正頁(的年5月)^ Q g 2 β β Α7 Β7
^旖郎中央嘌箪局員工消费合作社印製 五、發明説明() 明中,係將L1快取記憶體(14)的快取線大小敘述成長 度為X备元組,但是在CPU(12)的字組長度是8位元組的 本發明一較佳實施例中,L1快取記憶體(H)的快取線 長度是32個位元組》CPU(12)係耦合到處理器匯流排 (18),該處理器匯流排(18)的頻宽最好是8位元组,以 便有助於在CPU(12)、L2快取記憶體(16)、與記憶體控 制器(20)之間傳送資料及指令。 如囷所示,在並聯式快取記憶體組態中,L2快取記 憶體(16)係以與CPU(12)及記憶體控制器(20)並聯之方 式耦合到處理器匯流排(18)。因此,記憶體控制器(20) 及L2快取記憶體(16)同時接收CPU(12)經由處理器匯流 排(18)傳送的讀取及寫入要求。回應一 L2快取記憶體 命中,L2快取記憶體(16)以信號通知記憶體控制器(20) 中止所指示的作業,並以零等候狀態將所要求的資 料送回到CPU(12)。L2快取記憶體(16)之快取線長度最 好是X個位元組,以避免在一共用匯流排上支援多個 具有不同快取線大小的快取記憶體時所固有的複雜 性。如圖所示,L2快取記憶體(16)包含一 L2快取記憶 體控制器(17),用以控制L2快取記憶體(16)之作業。 因此,L2快取記憶體控制器(17)執行一種所選擇的一 致性(coherency)協定而維持1^2快取記憶體的一致性, 決定與主記憶體(22)内各記憶體位址相關聯的資料是 否可快取(或者是否存放在L2快取記憶體(16)内),以 及執行許多其他傳統的快取記憶體管理功能。 資料處理系統(1 〇)又包含記憶體控制器(20)。記憶體控制 器(20)包含邏輯電路’用以回應接收到L2快取記憶體(16)無 -9- 本纸伕尺度適W中國國家榡準(CNS ) A4規格(210X297公釐) (請先聞讀背面之注意事項再填寫本頁) 裝.
,tT -線- 經濟部中央標準局員工消費合作社印製 408266 A7 B7 五、發明説明(1 ) 發明背景 1. 技術領域: 本發明係大致有關一種資料處理系統,尤係有關一種用 於在一資料處理系統内管理資料儲存之裝置。更具體而言 ’本發明係有關一種在一具有並聯式(l〇ok_aside)快取記憶 體t構之A憶體控制器’該並聯式快取記憶體架構可快取 堆疊(stack)作業.並預'取經過選擇的資訊,以供處理器可能 的後續存取β 2. 相關技術説明: 資料處理系統爲了減少延遲時間,已愈來愈著重於採用 某些快取記憶體組態。如熟悉本門技術者所習知的,快取 記憶體是一種小容量的快速、價高、且爲零等候狀態之記 憶體,用以错存主記憶體所存指令及資料中經常被存取部 分的拷貝。採用 80486、Intel Pentium™、IBM PowerPC™、 或類似處理器的最新一代個人電腦通常包含一晶片内建之 第一階(level one ;簡稱L1)處理器快取記憶體。此外,這些 個人電腦通常包含一第二階(level two ;簡稱L2)快取記憶體 ,以便進一步提昇系統效能。同時具有L1及L2快取記憶體 的快取記憶體系統之组態通常爲兩種方式其中之一。在第 一種快取記憶體系統組態中,L2快取記憶體係以串聯方式 連接於處理器與系統或記憶體匯流排之間《在此種一般稱 爲串聯式(look-through)或線内式(in-line)組態的組態中,處 理器無法直接與記憶體或系統匯流排互通訊息,而是經由 L2快取記憶體控制器提供之介面互通訊息。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐} I-'--袭------.1Τ------;妹I-14 '- C請先閱讀背面之注意事項再填寫本頁) 第85107288號專利申^^ 說明書修正頁辦5物 A7 B7 n, 咭濘郎中央樣华局員工消費合作社印笨 五、發明説明(12 ) 決定在主記憶體(22)中所要求該等指令之後的X個位 元組(乂是L2快取記憶體(Μ)的快取線長度)是否可快 取。如果並非如此,則本程序進入步驟(118)並終 止》然而,如果決定主記憶體(22)中的次X個位元组 是可快取的,則本程序進入步驟(98) ’此時記憶體控 制器(20)將提取在所要求該等指令之後的X個位元 組,將該等位元組儲存在1PB(44)中,並清除無效位 元(45) ^本程序然後進入步驟(118)並終止。 再回到步驟(88),如果決定所要求之該等指令並非 儲存在ΙΡΒ(44),則本程序進入步驟(100),此時將決 定所要求之該等指令是否代表一整個L1快取線,並 將決定包含所要求該指令的位址及接續X個位元組資 訊的位址是否都是可快取的。如果確係如此,則本 程序進入步驟(102),此時將自主記憶體(22)提取兩個 L1快取線長度位元組的資訊。然後如步驟(104)所 示,記憶體控制器(20)將前X個位元组的指令傳送到 CPU(12),並將後X個位元組儲存在ΙΡΒ(44)中。因此, 記憶體控制器(20)因後續指令要求係在第二個X位元 組的資訊之可能性而有效地預取第二個L1快取線之 指令。本程序然後進入步驟(118)並終止。 再回到步驟(100),如果決定CPU(12)並未要求一整個L1 快取線,或者決定該等2X個位元組並非可快取的,則本程 序進入步驟(106),此時將決定主記憶體(22)中包含所要求 該等指令的位址之X個位元組是否為可快取的。如果並非 如此,則本程序進入步驃(1 08) ’此時記憶體控制器(20)自 主記憶體(22)提取所要求之該等指令,並將所要求之該等 -15- 本紙張尺度適用中國國家標準(CNS ) A4说格(2丨0X297公釐) 1-^1 i i - Hi 11 I n I ^ n n n (請先閏讀背面之注意事項再填寫本頁) 經濟部中夾橾準局員工消費合作杜印裝 A7 ____B7五、發明説明(2 ) 雖然線内式L 2快取記憶體組態通常提供最佳的效能,但 是許多個人電腦系統被設計成支援具有並聯式組態之可選 用L2快取記憶體,以便降低入門級電腦系統的償格,並同 時提供使用者可選擇安裝L2快取記憶體以提昇效能。在並 聯式組態中,L 2快取記憶體係以與處理器及記憶體控制器 並聯之方式耦合到處理器匯流排,因而可便於將L 2快取記 憶體安裝在一連接到·處理器匯流排的插入模組上。 在採用並聯式L2快取記憶體組態之電腦系統中,L2快取 記憶體及記憶體控制器回應處理器的發出一個記憶體讀取 ’而同時開始一處理器記憶體讀取遇期。L2快取記憶體回 應一 L2快取記憶體讀取命中,而以信號通知記憶體控制器 中止所指示的記憶體讀取,並以零等候狀態將所要求的資 料送回到處理器。然而,在L2快取記憶體讀取未命中時, 記憶體控制器自主記憶體提取所要求的資料,並將該資料 送回到處理器,就好像並未設有L2快取記憶體。因爲L2快 取記憶體及記憶髏控制器都同時開始服務一處理.器之資料 讀取要求,所以一個具有並聯式快取記憶體架構岛電腦系 統於資料讀取時若發生L2快取記憶體未命中,並不會發生 額外的效能降低。 、 然而,在一採用並聯式组態的電腦,系統中實施L 2快取記 憶體時,通常將發生伴隨的效能降低。例如,在資料寫入 時並未命中並聯式L2快取記體的情形中,將引發效能降 低’這是因爲L2快取纪憶體並未取得處理器匯流排的控制 權而得以提取必要的快取線(cache line),而此時處理器正 —^1 t—·^ I l^i 1 n l^i V (^^1 m m —^ϋ n I ^^1 . 穿 •,务 广 r'乙 f - - 「 (請先閱讀背面之注意事項再填寫本頁} -5- 本紙張尺度適用中國國家梯準(CNS ) A4規格(210X297公釐)
第85107288號專利申請案 p 說明書修正頁(89年5月)4 〇 8 2U A7 B7 α.Γ.π 五、發明説明( 20 該記憶體控制器包含預取緩衝的功能,用以儘量減 小因l/2並聯式快取記憶體未命中而引發的延遲時 間。 雖然業已參照一較佳實施例而詳細示出並說明了 本發明,但是熟悉本門技術者當可了解,在不脫離 本發明的精神及範圍下,仍可對本發明的形式及細 節作出各種改變》 主要元件符號說明 郎中央樣隼局貝工消費合作杜印裝 10 資 料 處 理 系 統 40 讀 取 /寫入緩後 f器 12 中 央 處 理 單 元 42 窝 入 緩衝器 14 第 — 階 (L 1)快取記 44 指 令 預取緩 衝 器 憶 體 (IPB) 16 L2 :快 取 記 憶 體 45 無 效 位元 17 L2 :快 取 記 憶 體 46 資料預取缓衝器(DPB) 18 處 理 器 匯 流 排 47 無 效 位元 20 記 憶 體 控 制 器 48 寫 入 分配/讀 取 無 22 主 記 憶 體 效 (WA/RI)快 取 記 24 系 ‘統 匯 流 排 憶 體 26 唯 讀 記 憶 體(ROM) 50 快 取 記憶體控 制 及 28 I / 0介面卡 標 記 30 次 級 儲 存 裝 置 52 控 制 電路 32 顯 示 介 面 卡 23- 本紙帳尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先Μ讀背面之注意事項再填寫本頁)
,1T 經濟部中央標準局員工消費合作社印裝 408266 a7 _B7_ 五、發明説明(3 ) 將資料寫入記憶體控制器。因此,並聯式L2快取記憶體通 常並不對寫入未命中實施快取線分配。此外,於I/O作業 時對處理器匯流排的競用也會降低系統效能,這是因爲處 理器無法在一I/O作業中存取L2快取記憶體。並聯式L2快 取記憶體組態的另一限制在於此種組態無法有效率地支援 大於L1快取線長度的快取線長度。相反地,線内式L2快取 線經常被設計螞L 1快取線的兩倍長度,以便依據資料局部 性的統計機率而預取指令及資料。 因而我們當了解,最好是能提供一種在資料處理系統内 實施可選用並聯式L2快取記憶體之改良式方法及系統。尤 其最好是能提供一種在一具有並聯式L2快取記憶體組態的 資料處理系統中之改良式快取記憶體系統,且此種並聯式 L 2快取記憶體組態可支援在l 2窝入未命中時之分配,並可 預取資料及指令。 發明概述 因此,本發明之一目的在於提供一種改良式的資料處理 系統* 因此,本發明之一、目的在於提供一種用於管理資料處理 系統内資料儲存之改良式裝置。 , 本發明之另一目的在於提供一種在一具有並聯式快取記 憶體架構的資料處理系統中之改良式記憶體控制器,且此 種並聯式快取記憶體架構可快取堆疊作業並預取經過選擇 的資訊,以供處理器的可能後續存取。 將以本文所述之方式達成上述各項目的。本發明揭露了 -6- 本紙張尺度適用中國國家標準(CNS ) A4規格(公釐) I---^---Ή--A-------111------,^ (請先閲讀背面之注意事項再填寫本頁) 經濟部中央橾準局貝工消費合作社印製 t7 408266 -- _—B7 五、發明説明(4 ) 一種在一具有並聯式快取記憶體架構的資料處理系統内之 改良式記憶趙控制器。該資料處理系統包含:—處理器, 該處理器具有一與其相關聯之上層快取記憶體;—記憶體 控制器;該圮憶體控制器具有一相關聯之控制器記憶體; 一耦合於該處理器與該記憶體控制器間之處理器匯流排; 以及一主記憶體。該資料處理系統又包含一以與該處理器 及該記憶體控奇丨器並聯方式耗合到該處理器匯流排之下層 快取記憶體。根據本發明之第一面向,該記憶體控制器包 含一邏輯電路,其中該邏輯電路回應接收到一將不爲該下 層快取記憶體所服務之寫入要求’且該寫入要求之相關聯 資料並非一被取代之修改後快取線時,則該邏輯電路將該 相關聯資料儲存在與該記憶體控制器相關聯之該控制器記 憶體中,因而使該資料處理系統内之資料儲存最佳化。根 據本發明之第二面向,該記憶體控制器包含一邏輯電路, 該邏輯電路回,接收到一個對只存放在主記憶體的資訊之 要求’而自主記憶體提取所要求的資訊,並主記.憶禮中與 所要求的該資料相鄰之額外資訊儲存在—預取緩衡器中, 因而儘量縮短預取資訊之存取時間。 在下列的詳細書面説明中,將使本發明上述各項目的以 及其他目的'特徵、及優點更易於被了解。 附圖簡述 在最後的申請專利範園中將述^本發明申請人認定的各 項新穎特徵。然而,若參照下文中一實施例的詳細説明並 配合各附圖,將可易於了解本發明之本質、較佳之使用模 本紙張尺度適用中國國家揉準(CMS ) A4規格(2丨0X297公疫) ---------—裝------訂------..線I .f - -- - (請先閱讀背面之注意事項再填寫本頁) 40826¾7 經濟部中央橾準局員二货茫合作汪中装 五、發明説明(5 ) 式、以及其他的目的與優點,這些附圖有: 圖1是一根據本發明方法及系統的資料處理系統之高階方 塊圖; 圖2是一根據本發明方法及系統的記憶體控制器之詳細方 塊圖; 圖3是一本發明方法的較佳實施例之高階邏輯流程圖; 圖4是採用本贅明來服務指令提取要求的一記憶體控制器 所用較佳方法實施例之高階邏輯流程圖; 圖5是採用本發明來服務資料寫入要求的一記憶體控制器 所用較佳方法實施例之高階邏輯流程囷;以及 圖6是採用本發明來服務資料讀取要求的一記憶體控制器 所用較佳方法實施例之高階邏輯流程圖》 較佳實施例之詳細説明 現在請參閲各附圖,尤其請參閲圖I,該圖是一根據本發 明方法及系統的資料處理系統較佳實施例之方塊圖。熟悉 本門技術者當可了解,爲了清晰表示,該圖已省略了資料 處理系統(10)中與本發明無關的許多細節。如圖户片示,資 料處理系統(10)包含一可執行軟體指令的中央處理單元 (central processing unit;簡稱 CPU)12。雖然,可將任何適當 的微處理器用於CPU(12),且CPU(12)最好是IBM Microelectronics公司供應的powerpc™微處理器產品線中之 一種。此外,亦可以Intel Pentium™或80486微處理器來實 施CPU(12)。爲了改善資料及指令的存取時間,Cpu(12)設 有一個内建的第一階(L1)快取記憶體(14)。雖然在下列的説 -8 - 本紙張尺度適用中國國家標隼(CNS ) A4規格(210Χ297公缓) I I------* 裝-- --* (請先閏讀背面之注意事項再填寫本頁)
第85107288號牟利申請案 說明書修正頁(的年5月)^ Q g 2 β β Α7 Β7
^旖郎中央嘌箪局員工消费合作社印製 五、發明説明() 明中,係將L1快取記憶體(14)的快取線大小敘述成長 度為X备元組,但是在CPU(12)的字組長度是8位元組的 本發明一較佳實施例中,L1快取記憶體(H)的快取線 長度是32個位元組》CPU(12)係耦合到處理器匯流排 (18),該處理器匯流排(18)的頻宽最好是8位元组,以 便有助於在CPU(12)、L2快取記憶體(16)、與記憶體控 制器(20)之間傳送資料及指令。 如囷所示,在並聯式快取記憶體組態中,L2快取記 憶體(16)係以與CPU(12)及記憶體控制器(20)並聯之方 式耦合到處理器匯流排(18)。因此,記憶體控制器(20) 及L2快取記憶體(16)同時接收CPU(12)經由處理器匯流 排(18)傳送的讀取及寫入要求。回應一 L2快取記憶體 命中,L2快取記憶體(16)以信號通知記憶體控制器(20) 中止所指示的作業,並以零等候狀態將所要求的資 料送回到CPU(12)。L2快取記憶體(16)之快取線長度最 好是X個位元組,以避免在一共用匯流排上支援多個 具有不同快取線大小的快取記憶體時所固有的複雜 性。如圖所示,L2快取記憶體(16)包含一 L2快取記憶 體控制器(17),用以控制L2快取記憶體(16)之作業。 因此,L2快取記憶體控制器(17)執行一種所選擇的一 致性(coherency)協定而維持1^2快取記憶體的一致性, 決定與主記憶體(22)内各記憶體位址相關聯的資料是 否可快取(或者是否存放在L2快取記憶體(16)内),以 及執行許多其他傳統的快取記憶體管理功能。 資料處理系統(1 〇)又包含記憶體控制器(20)。記憶體控制 器(20)包含邏輯電路’用以回應接收到L2快取記憶體(16)無 -9- 本纸伕尺度適W中國國家榡準(CNS ) A4規格(210X297公釐) (請先聞讀背面之注意事項再填寫本頁) 裝.
,tT -線- 經濟部中央標率局員工消资合作社印裝 __408266 __五、發明説明(7 ) 法服務的CPU(12)之讀取及寫入要求,而自主記憶體(22)提 取資料及指令。因此,記憶體控制器(20)提供一在CPU(12) 與主記憶髏(22)間之記憶體介面。此外,記憶體控制器(20) 包含邏輯電路,用以提供一在系統匯流排(24)、CPU(12)、 與主記憶體(22)間之系統匯流排介面。在本發明之較佳實 施例中,記憶體控制器(20)内的系統匯流排介面支援記憶 體對映之I/O,〜其方式爲在指定位址對映到一指定給一 I/O 裝置之位址時即將自CPU(12)接收的資料傳送到系統匯流排 (24)。 又如圖1所示,資料處理系統(1 〇)包含唯讀記憶體(read only memory ;簡稱ΚΌΜ)(26)、ϊ/〇介面卡(28)、次級错存裝 置(3 0)、及顯示介面卡(32),這些裝置都分別耦合到系統匯 流排(24)。ROM(26)及次級儲存裝置(30)可供儲存作業系統 '應用程式、及資料。I/O介面卡(28)支援將諸如滑鼠及鍵 盤等輸入裝置連接到資料處理系統(10),以便使用者可輸 入資料及指令。顯示介面卡(32)可連接一視訊顯示裝置’ 以便將資料輸出給使用者。 現在請參閲圖2,圖中示出一根據本發明方法及系統的記 憶體控制器(20)之邏輯結構詳圖。如圖所示,,記憶體控制 器(20)包含一傳統的讀取/寫入缓衝器(40)及寫入缓衝器(42) 。讀取/窝入緩衝器(40)係用來緩衝儲存經由處理器匯流排 (18)而傳送到CPTJ(12)之資料、或CPU(12)經由處理器匯流 排(18)而接收之資料。窝入缓衡器(42)係用來儲存即將寫入 主記憶體(22)之資料。讀取/窝入缓衝器(40)及窝入緩衝器 I- 1— I I - II. — H— «I - n I — In »1 m 1 «ϋ V J I - I - .ϋ— n^i n^— It m*^· 0¾ i 髮 1Ί v -- - y i · (請先閲讀背面之注意事項再填寫本買) -10- 本紙張尺度適用中國國家標準(CNS ) A4规格(210X297公釐) 經濟部中央標準局貝工消赍合作社印装 408266 at _B7 五、發明説明(8 ) (42)最好是都具有與L1快取記憶體(14)快取線相同的長度, 以便支援有效率的資料移轉,例如在記憶體控制器(20)與 CPU(12)間之資料段(burst)傳送。 根據本發明,記憶體控制器(20)又包含一指令預取緩衝 器(instruction prefetch buffer ;簡稱 IPB)(44)及一資料預取 緩衝器(data prefetch buffer :簡稱DPB)(46)。記憶體控制器 (20)利用IPB(4*4)及DPB(46)來預取用於CPU(12)之資料及指 令。如上文所述,根據查詢局部性的原理,已證明:實施2 :1的L2對L1快取線大小比率,以便在每一次自記憶體提 取時預取一額外L1快取線的資料及指令,即可大幅降低快 取記憶體未命中的比率。因爲在採用並聯式快取記憶體組 態時並不易於支援不同的L2及L1快取線大小,所以記憶體 控制器(20)於特定的提取作業時自主記憶體(22)提取兩個快 取線的資料或指令,並將快取線内含但並非CPU(12)所立即 要求的資料或指令儲存在IPB(44)及DPB(46)中適當的一個 缓衝器。因此,如將於下文中詳述的,記憶體控制器(20) 配合L2快取記憶體(16)的並聯式組態而支援資料犮指令的 預取β 根據本發明的另—面向,記憶體控制器(2,0)亦包含寫入 分配 / 讀取無效(write all〇cate/read invalidate ;簡稱 WA/RI)快取記憶趙(48)及其相關的快取記憶想控制及標 記(50)。在實施並聯式L2快取記憶禮的傳統資料處理系統 内,記憶體控制器回應一L2快取記憶體寫入未命中而只將 自處理器接收的資料寫入主記憶艘。因此,傳統的並聯式 ___ -11 - 本紙張纽關巾關 ---------裝------訂------線—1Ί J -- - {請先閱讀背面之注意事項再填寫本頁) 408266 經濟部中央標準局員工消资合作杜印裂 A7 B7五、發明説明(9 ) 快取記憶體通常並不回應一寫入未命中而分配一快取線。 如果待寫入的資料是一被取代的L 1或L 2快取線,則此種儲 存管理策略是有利的,這是因爲不久之後再度存取該被取 代的快取線之機率是很小的。然而,如果資料寫入是一種 堆疊作業(stack 〇perati〇n),則不回應—寫入未命中而分配 一快取線時,將降低系統效能。 如熟悉本門扶術者所習知的,堆疊是一種在邏輯上先進 後出(first-in/Iast-〇Ut,·簡稱FIL0)的佇列,堆疊是在程序呼 叫及其他儲存參數的軟體作業中被用來儲存參數。堆疊作 業傾向首先將參數寫入一資料位置(即"放入"(《push")),且隨 即讀取該資料位置(即"取出"("pop"))。因爲通常只讀取堆疊 資料一次,所以在一取出作業之後將堆疊資料視爲無效。 根據本發明,爲了有效率地支援放入堆疊作業,記憶體控 制器(20)内的WA/RI快取記憶體(48)對單一字组(非資料段) 窝入的L2快取記憶體(16)寫入未命中分配一快取線。wa/RI 快取記憶體(48)並不對多個字組的窝入(資料段寫入)分配一 快取線,這是因爲資料段寫入通常代表不再需要嶔快取的 若干被替代之快取線。此外,WA/RI快取記憶體(48)使一讀 取命中(即取出作業)之後的資料無效。 最後,記憶體控制器(20)包含控制電路(52),用以根據圈 3-6所示之邏輯程序管理記憶體控制器(20)之作業。在參閱 圖3-6所示之邏輯程序時,熟悉本門技術者當可了解,實際 上可以平行方式執行圖中以串列方式示出的許多作業。首 先請參閲圖3 ’圖中示出一根據本發明方法及系統的記,障禮 -12- 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) i丨裝_ *11 線 經濟部中央標準局貝工消费合作社印製 A7__4Q826fi_5Z____五、發明説明(1〇 ) 控制器(20)作業之高階邏輯流程圖。如圖所示,本程序開 始於步驟(60),隨即進入步驟(62),此時示出決定經由處理 器匯流排(18)自CPU(12)接收一作業要求是否爲一指令提取 要求。回應該作業要求並非一指令提取要求之決定,本程 序進入步驟(64)。然而,回應該作業要求是一指令提取要 求時,則本程序經由接下頁連接符號A進入圖4所示之績上 頁連接符號A/ . 現在請參閲圖4,圖中示出記憶體控制器(20)根據本發明 之方法及系統預取指令所用的較佳程序實施例之高階邏輯 流程圖。如圖所示,本程序自績上頁連接符號A進入步驟 (70),此時示出決定該指令提取要求是否造成一L2快取記 憶體命中。如果L2快取記憶體(16)儲存所要求之指今,則 L2快取記憶體(16)通知記憶體控制器(20)中止其作業。因此 ’如果與一指定記憶體位址相關聯的各指令係儲存在L2快 取記憶體(16)中,則本程序自步驟(70)進入步驟(iw)並終 止。然而’如果在步驟(70)決定該指令提取要求之結果爲 一 L2快取記憶體未命中,則L2快取記憶體(16)無法服務該 指令提取要求,且本程序進入步驟(72)。 步驟(72)述及決定該指令提取要求所指定,的各指令是否 错存在WA/RI快取記憶體(48)中。如果並非如此,則本程序 自步骤(72)進入步骤(80)。然而,如果在步裸(72)決定 WA/RI快取記憶體(48)儲存了所要求之該等指令,則本程序 自步驟(72)進入步驟(74) ’此時述及:記憶體控制器(2〇)將 所要求之該等指令經由處理器匯流排(18)傳送到CPU(12), (請先閱讀背面之注意事項再填寫本頁) -13- 本紙張尺度適用中國國家標準(CNS Μ4規格(210X297公釐) 經濟部中央標準局員工消费合作社印製 Λ Α7 408266 Β7 五、發明説明(Ή ) 將包含所要求該等指令之WA/RI快取線寫回到主記憶體(22) ’並使包含所要求該等指令之WA/RI快取線無效。本程序 隨即進入步驟(118)並終止。再回到步驟(72),如果決定所 要求之該等指令並非儲存在WA/RI快取記憶體(48)中,則本 程序進入步驟(80),此時將決定所要求之該等指令是否儲 存在DPB(46)中。雖然CPU(12)發出之作業要求是一指令提 取要求’但記憶體控制器(20)決定DPB (46)是否儲存所要求 之各指令’因爲電腦架構通常容許存取形式爲指令或資料 的資訊’以便支援自行修改的指令碼。回應於決定所要求 之該等指令係儲存在:DPB (46)中,本程序自步驟(80)進入步 驟(82) ’此時記憶體控制器(20)將所要求之該等指令傳送到 CPU(12)。本程序然後進入步驟(84_86),此時在一整個L1 快取線已被傳送到CPU(12)時則設定無效位元(47),而使 DPB(46)無故。本程序然後進入步驟(118)並終止。 再回到步驟(80),如果決定所要求之該等指令並非儲存 在DPB(46)’則本程序進入步驟(88),此時將決定所要求之 該等指令是否係儲存在IPB(44) »回應於決定所要東之該等 指令係儲存在IPB(44),本程序進入步驟(90),此時記憶體 控制器(20)將所要求之該等指令傳送到CPU(12)。本程序然 後進入步驟(92),此時將決定—整個丄1快取線是否已被傳 送到CI>U(12) »如果並非如此,則本程序只須進入步騍(118) 並終止。然而,如果已經傳送—整個!^快取線,則本程序 進入步驟(94) ’此時記憶體控制器將設定無效位元(45) 而使IPB(44)之内容無效。本程序然後進入步驟(96),此時 -14 - 本紙張尺度適用中圉國家標準(CNS ) A4規格(2l〇x29·?公簸> -----^-----.裝------訂------洗—1M - - * (請先閱讀背面之注意事項再填寫本I) 第85107288號專利申^^ 說明書修正頁辦5物 A7 B7 n, 咭濘郎中央樣华局員工消費合作社印笨 五、發明説明(12 ) 決定在主記憶體(22)中所要求該等指令之後的X個位 元組(乂是L2快取記憶體(Μ)的快取線長度)是否可快 取。如果並非如此,則本程序進入步驟(118)並終 止》然而,如果決定主記憶體(22)中的次X個位元组 是可快取的,則本程序進入步驟(98) ’此時記憶體控 制器(20)將提取在所要求該等指令之後的X個位元 組,將該等位元組儲存在1PB(44)中,並清除無效位 元(45) ^本程序然後進入步驟(118)並終止。 再回到步驟(88),如果決定所要求之該等指令並非 儲存在ΙΡΒ(44),則本程序進入步驟(100),此時將決 定所要求之該等指令是否代表一整個L1快取線,並 將決定包含所要求該指令的位址及接續X個位元組資 訊的位址是否都是可快取的。如果確係如此,則本 程序進入步驟(102),此時將自主記憶體(22)提取兩個 L1快取線長度位元組的資訊。然後如步驟(104)所 示,記憶體控制器(20)將前X個位元组的指令傳送到 CPU(12),並將後X個位元組儲存在ΙΡΒ(44)中。因此, 記憶體控制器(20)因後續指令要求係在第二個X位元 組的資訊之可能性而有效地預取第二個L1快取線之 指令。本程序然後進入步驟(118)並終止。 再回到步驟(100),如果決定CPU(12)並未要求一整個L1 快取線,或者決定該等2X個位元組並非可快取的,則本程 序進入步驟(106),此時將決定主記憶體(22)中包含所要求 該等指令的位址之X個位元組是否為可快取的。如果並非 如此,則本程序進入步驃(1 08) ’此時記憶體控制器(20)自 主記憶體(22)提取所要求之該等指令,並將所要求之該等 -15- 本紙張尺度適用中國國家標準(CNS ) A4说格(2丨0X297公釐) 1-^1 i i - Hi 11 I n I ^ n n n (請先閏讀背面之注意事項再填寫本頁) A7 B7 經濟部中央標隼局員工消費合作社印製 五、發明説明(13 ) 指令傳送到CPU(12)。本程序然後進入步驟(118)並終土。 然而,如果在步驟(106)中決定包含所要求該等指令的X個 位元組的資訊並不是可快取的,則本程序進入步驟(110)及 (112),此時記憶體控制器(20)自主記憶體(22)提取X個包含 所要求該等指令之位元組,並將所要求之該等指令傳送到 CPU(12)。然後在步驟(U4)中決定包含一整個L1快取線的X 個位元組是否色被傳送到CPU(12)。如果確係如此,則本程 序進入步驟(118)並終止《然而,如果少於一整個快取線的 指令被傳送到CPU(12),則本程序進入步驟(116),此時將 所提取的X個位元組的資訊儲存在Π>β(44)中,並清除無效 位元(45)而將該等位元組的資訊標示爲有效。本程序然後 進入步驟(118)並終止。 請再參閱圖3’如果在步驟(62)中決定記憶體控制器(2〇) 接收的CPU作業要求並非一指令提取要求,則本程序進入 步驟(64) ’此時將決定CPU作業要求是否爲一資料窝入要求 。如果確係如此,則本程序自步驟(6句經由接下頁連接符 號B進入圖5,該圖示出記憶體控制器(20)服務資料窝入要 求所採用程序之一較佳實施例。 現在請參閲圖5,記憶體控制器(2〇)服務資料寫入要求所 用之程序開始於續上頁連接符號B,隨即進入步驟(13〇), 此時將決定L2快取記憶體(16)是否將服務該資料寫入要求 。如上文所述,參照該指令提取要求,L2快取記憶體(16) 將一中止信號傳送到記憶體控制器(20),而通知在指定位 址中所儲存的一資料拷貝係儲存在L2快取記憶體(16)中。 16- 本紙張尺度通用申國國家標準(CNS ) A4規格(210X297公嫠) ------_---—裝 I - I I I ^ffJ1 HH I - - -I ^1. Ϊ --- - 、 · * '1 * '^ {請先閲讀背面之注意事項再填寫本頁) 408266 A7 B7 五、發明説明(μ ) 回應於接收到指示L2快取記憶體(16)將服務該資料寫入要 求之中止信號,本程序自步驟(13〇)進入步驟(172),此時本 程序終止。然而’回應於L2快取記憶體(16)將不服務該資 料寫入要求之決定,本程序自步驟(13〇)進入步驟(132),此 時將決定與該資料寫入要求相關聯的資料是否爲一自^^快 取圮憶體(14)或L2快取記憶體(16)送出(取代)的快取線,或 者該資料是否k鎖定或因其他原因而不可快取。如果確係 如此,則本程序自步驟(丨3 2)進入步驟(丨3 4),此時記憶體控 制器(20)將與該資料窝入要求相關聯之資料窝入主記憶體 (22)中之指定位址。然後如步驟(136)所示,記憶體控制器 (20)查看 WA/RI快取記憶體(48)、IPB(44)、及 DPB(46),並 使记憶趙控制器(20)中對應於指定位址的任何資料無效。 本程序然後進入步驟(172)並終止〇再回到步驟(132),如果 決定與該資料寫入要求相關聯的資料並非一自L1快取記憶 體(14)或L2快取記憶體(16)送出之快取線,或者並非被鎖定 或不可快取’則本程序進入步骤(13 8),此時將決定ι>ΡΒ(46) 是否错存對應於指定位址之資料。如果確係如此,則本程 序自步驟(138)進入步驟(mo),此時將把該資料窝入要求相 關聯之資料與DPB(46)中儲存的資料合併。然後如步骤(142) 所示,DPB(46)中之資訊被寫入WA/RI快取記憶體(48)。然 後設定無效位元^[[,而使DPB(46)之内容無效,且本程序 進入步棵(172),此時本程序終止。 再回到步驟(138),如果決定DPB(46)並未包含與指定位 址相關聯之資料’則本程序自步驟(138)進入步驟(146),此 -17- -----1 n ------- ! I —. I ! I 訂---- - i ' ^ i J (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標隼局員工消费合作社印家 本紙張尺度適用中國國家標準(CNS ) ΑΊ规格(210X297公釐) 40S^66 A7 Β7 經濟部中央標準局員工消費合作社印装 五、發明説明(15 ) 時將決定IPB(44)是否儲存與指定位址相關聯之資訊。如果 確係如此,則本程序進入步驟(148-152),此時如同步驟 (140-144)記憶體控制器(2G)將把該資料寫人要求相關聯之 資料與IPB(44)之内容合併,然後將IpB(44)之内容儲存在 WA/RI快取記憶體(48)中,然後設定無效位元(45)而使 IPB(44)之内谷典效。本程序然後進入步驟(172)並終止。再 回到步驟(146)、如果決定IPB(44)並未儲存與指定位址相關 聯之資訊,則本程序自步驟(146)進入步驟(154),此時將決 定與指定位址相關聯之資訊是否係儲存在WA/RI快取記憶 體(48)中。在步裸(154)中作比較時,最好是將指定位址内 所選擇的位元與快取記憶體控制及標記(5〇)中儲存之位址 標1己比較。如果指定位址内所選擇的該等位元符合快取記 憶體控制及標記(50)中所儲存的其中一個位址標記,而指 示WA/RI快取記憶體(48)错存與指定位址相關聯之資訊,則 本程序自步躁(1〗4)進入步躁(156),此時記憶體控制器(2〇) 以與該資料窝入要求相關聯之資料更新一 WA/RI快取線。 本程序然後進入步驟(172)並終止。 再回到步驟(154) ’如果決定資料寫入要求的結果是並未 命中WA/RI快取記憶體(48),則本程序自步.驟(154)進入步 驟(15 8),此時將把WA/RI快取記憶體(48)内的一快取線分 配給與該資料窝入要求相關聯的資料。然後如步樣(J60)所 示,記憶體控制器(20)自主記憶體(22)提取内含指定位址的 X個位元組之資料’並將所提取的資料儲存在讀取/寫入緩 衝器(40)中《此外,記憶體控制器將該資料寫入要求相關 -18- 本纸張又度適用中國國家橾準< CNS ) A4規格(21〇><297公釐) (請先閱讀背面之注意事項再填寫本頁) i --• ,¾.
T 408266 A7 經濟部中央橾準局貝工消費合作社印装 B7__五、發明説明(16 ) 聯之資料與讀取/寫入緩衝器(4〇)之内容合併。本程序然後 進入步驟(162),此時將決定是否已修改被取代的WA/RI快 取線。例如’在步驟(162)中可檢查與該快取線相關聯之一 致性協定而作出決定。如果該快取線被標示爲已修改,則 本程序進入步驟(164) ’此時將把被取代的WA/RI快取線寫 入主記憶體(22)。本程序然後自步驟(164)或步驟(162)進入 步驟(108) ’此時將把讀取/寫入緩衝器(4〇)之内容儲存於所 分配的WA/RI快取線中。如步驟〇 70)所示,然後將該快取 線標示爲已修改(有效)。本程序然後進入步驟(172)並終止。 請再參閲圖3 ’如果在步驟(64)中決定記憶體控制器(20) 所接收的CPU作業要求並非一資料寫入要求,則本程序進 入步驟(66)’此時將決定該CPU作業要求是否爲一資料讀取 要求。如果並非如此,則本程序進入步驟(68)並終止,然 而,如果在步骤(66)中決定該CPU作業要求是一資料讀取要 求’則本程序經由接下頁連接符號C進入圖6所示之續上頁 連接符號C。現在請參閲圖6,圖中示出本發明服.務一資料 讀取要求所用的較佳方法實施例之高喈邏輯流程囪。如圖 所示’本程序自續上頁連接符號C進入步骤(180),此時將 決定L2快取記憶鱧(16)是否將服務該CPU作,業要求》如果 確係如此’則本程序只須進入步驟(232)並終止。然而,如 果在步驟(180)中決定L2快取記憶體(16)將不服務該CPU作 業要求’則本程序,進入步驟(182),此時將決定與該資料讀 取要求中指定位址相關聯之資料是否係儲存在WA/RI快取 記憶趙(48)中。如果確係如此’則本程序自步驟(182)進入 ----:---T--—裝------訂------線——1 - - . . (讀先閱讀背面之注意事項再填寫本頁) -19- 本紙張尺度逋用中國國家標準(CMS > A4规格(210 X 297公釐) 408266 A7 B7 經濟部中夬標隼局員工消費合作杜印製 五、發明説明(17 ) 步驟(184·190),此時將進行WA/RI快取記憶體(48)之讀取無 效作業。首先如步驟(184)所示’與該資料讀取要求中指定 位址相關聯之資料係經由處理器匯流排(18)傳送到cPlJ(12) °本程序然後進入步驟(186),此時將決定—整個U快取線 所具有的X個位元組的資料是否已被傳送到Cj>u(12)。如果 並非如此’則本程序進入步驟(232)並終止。然而,如果一 整個L1快取線並未被傳送到cpuo幻,則本程序進入步驟 (188-190),此時記憶體控制器(2〇)將把包含所要求資料之 WA/RJ快取線寫回到主記憶體(22),並標示該快取線爲無效 °本程序然後進入步驟(232)並終止。 再回到步驟(182),如果決定所要求的資料並未儲存在 WA/RI快取記憶體(48),則本程序進入步驟(192),此時將 決定所要求的資料是否係儲存在ipb(44)中。回應於所要求 之資訊係儲存在II>B(44)之決定,本程序進入步騍(194),此 時將把所要求的資料送回到CPU(12)。然後如步驟(196)所 示’將決定所要求的資料是否包含一整個L1快取線。如果 並非如此,糾本程序進入步驟(232)並終止。然而,如果決 定所要求的資料包含一整個L1快取線,則本程序進入步驟 (198) ’此時將設定無效位元(45)而使ipb(44)之内容無效。 本程序然後進入步驟(232)並終止。再回到步驟(192),如果 決定Π>Β(44)並未包含所要求的資料,則本程序進入步驟 (200),此時將決定所要求的資料是否係儲存在£>ΡΒ(46)中 。如果確係如此,則本程序自步驟(2〇〇)進入步驟(2〇2),此 時將把所要求的資料送回到CI>U(12) ^然後在步驟(204)中 -20- 本紙張尺度適用中國國家標準(CMS ) Μ規格(2H)X297公釐) (請先閲讀背面之注意事項再填寫本頁) ,ya 經濟部中央標準局員工消費合作社印装 408266 A7 B7 五、發明説明(18 ) 將決定所要求的資料是否包含一整個L1快取線。如果並非 如此,則本程序進入步驟(232)並終止。然而,如果所要求 的資料包含一整個L1快取線’則本程序進入步躁(2〇6),此 時記憶體控制器(20)將設定無效位元(47)而使Dpb(46)之内 容無效。本程序自步驟(206)進入步驟(208),此時將決定主 記憶體(22)中在X個位元組的所要求資料之後的X個位元組 是否可快取。ΐσ.果並非如此’則本程序進入步驟(23 2)並終 止。然而’回應於主記憶體(22)中接續X個位元組的資訊是 可快取的決定’本程序自步骤(208)進入步驟(210),此時記 憶體控制器(2〇)自主記憶體(22)提取後續X個位元組的資訊 ’並將該等資訊儲存在DPB(46)中。此外,記憶體控制器 (20)清除無效位元(47)而將DPB標示爲有效。在步驟(.210)中 記憶體控制器(20)再度根據查詢局部性之原理而預取資料 ,以便避開未來因L2快取記憶禮未命中而可能引發的主記 憶體存取。 再回到步據(200),如果決定所要求的資料並未儲存在 DPB(46),則必須自主記憶體(22)提取所要求的資枓,且本 程序進入步驟(212)。在步驟(212)中將決定該資料讀取要求 是否要求X個位元组的資訊,並決定主記憶體(22)中包含指 定位址的2X個位元組的資訊是否可快取。如果確係如此, 則本程序自步騍(212)進入步驟(214),此時將自主記憶體 (22)提取内含指定位址的2X個位元組的資訊β然後如步驟 (216-218)所示,記憶體控制器(20)將前面X個位元組的資訊 傳送到CPU(12) ’並將後續X個位元組的資訊儲存在DPB(46) -21 - 本紙張尺度適用中國國家標準(CMS ) A4規格(210X297公釐〉 ------\---7---裝------- 訂—-----線Iη . _ (請先閱讀背面之注意事項再填寫本頁) A7 B7 408266 五、發明説明(19 ) 中,且/fl除操效位元(47)而將該等後續X個位元組的資訊標 示爲有效。然後本程序終止於步驟(232卜再回到步驟(212) ,如果決定所要求的資料並未包含一整個u快取線,或者 決足兩個诀取線的資料並非可快取的,則本程序進入步驟 (220) ’此時將決定主記憶體中指定位址之後的χ個位元組 的資訊是否可快取》如果確係如此,則本程序自步驟(22〇) 進入步驟(222) ?此時將自主記憶體(22)提取在指定位址之 後的χ個位元組的資料,並將所要求的資料傳送到cpuq 2) 。然後在步驟(224)中將決定所要求的資料是否包含—整個 L1快取線。如果確係如此,則本程序進入步驟(232)並終止 。然而’如果所要求的資料並未包含一整個^快取線,則 本程序進入步驟(226) ’此時記憶體控制器將自主記憶 體(22)提取的χ個位元组的資料儲存在DpB(46)中,並清除 無效位元(47)。本程序然後進入步骤(232)並終止。 再回到步驟(220) ’如果決定主記憶體中包含指定位 址的X個位元組的資料並非可快取的,則本程序進入步驟 (228-230),此時記憶體控制器(2〇)只自主記憶體(Μ)提取所 要求的資料’並將所要求的資料傳送到Cpu(i2)。然後本程 序終止於步驟(232)。 我們當了解’本發明提供了 一種用於在一具有並聯式快 取記憶體組態的資料處理系統中管理資料儲存之改良式方 法及系統a本發明尤其在記憶體控制器中提供了一種寫入 分配/讀取無效(WA/RI)快取記憶體,而使資料存取時間最 佳‘化,以便有效率地處理堆疊作業。此外,根據本發明, -22- ^紙浪尺度適用中國國家梯準(CNS ) A4規格(2丨0X 297公釐) | ; I裝 . ~訂~; 線-1 (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製
第85107288號專利申請案 p 說明書修正頁(89年5月)4 〇 8 2U A7 B7 α.Γ.π 五、發明説明( 20 該記憶體控制器包含預取緩衝的功能,用以儘量減 小因l/2並聯式快取記憶體未命中而引發的延遲時 間。 雖然業已參照一較佳實施例而詳細示出並說明了 本發明,但是熟悉本門技術者當可了解,在不脫離 本發明的精神及範圍下,仍可對本發明的形式及細 節作出各種改變》 主要元件符號說明 郎中央樣隼局貝工消費合作杜印裝 10 資 料 處 理 系 統 40 讀 取 /寫入緩後 f器 12 中 央 處 理 單 元 42 窝 入 緩衝器 14 第 — 階 (L 1)快取記 44 指 令 預取緩 衝 器 憶 體 (IPB) 16 L2 :快 取 記 憶 體 45 無 效 位元 17 L2 :快 取 記 憶 體 46 資料預取缓衝器(DPB) 18 處 理 器 匯 流 排 47 無 效 位元 20 記 憶 體 控 制 器 48 寫 入 分配/讀 取 無 22 主 記 憶 體 效 (WA/RI)快 取 記 24 系 ‘統 匯 流 排 憶 體 26 唯 讀 記 憶 體(ROM) 50 快 取 記憶體控 制 及 28 I / 0介面卡 標 記 30 次 級 儲 存 裝 置 52 控 制 電路 32 顯 示 介 面 卡 23- 本紙帳尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先Μ讀背面之注意事項再填寫本頁)
,1T
Claims (1)
- 第85107288號專利申請案4 0 S 2 6 6 申請專利範圍修正本(89年5月) A8 B8 C8 D8 月A / -f;r -ϊ- l^riL * ^ .!». 猶尤 申請專利範圍 修煩 手請 查委 無明 實$ ϊ年 容厂多月 准3 予日 :爹所 SL·^. °之 ί£濟部中央標隼局員工消费合作社印製 1. 一種用於在一具有並聯式快取記憶 料k理系統中管理資料儲存之記憶 該資料處理系統包含:一處理器, 有一與其相關聯之上層快取記憶體 記憶體,該控制器記憶體係耦合到 制器;一耦合於該處理器與該記憶 之處理器匯流排;一與該處理器及 制器並聯方式耦合到該處理器匯流 取記憶體;以及一主記憶體;其中 記憶體及該下層快取記憶體分別包 個快取線,該記憶體控制器包含: 決定裝置,用以回應在該記憶體 到一寫入要求、及該主記憶體中一 相關聯資料,而決定該下層快取記 服務該寫入要求,並決定該相關聯 一自該上層快取記憶體或該下層快 代的修改後快取線; 將相關聯資料儲存在主記憶體之 回應該下層快取記憶體將不服務該 該相關聯資料是一自該上層快取記 層快取記憶體取代的修改後快取線 將該相關聯資料儲存在铉主記憶體 址;以及 將相關聯資料儲存在控制器記憶 體組態的資 體控制器, 該處理器具 ;一控制器 該記憶體控 體控制器間 該記憶體控 排之下層快 該上層快取 含一個或多 控制器接收 指定位址之 憶體是否將 資料是否為 取記憶體取 裝置,用以 寫入要求且 憶體或該下 之決定,而 的該指定位 體之裝置, (請先閲讀背面之注意事項再填寫本頁) 本纸張尺度逋用中國國家棣準(CNS )八4規<格(210Χ297公釐) 第85107288號專利申請案4 0 S 2 6 6 申請專利範圍修正本(89年5月) A8 B8 C8 D8 月A / -f;r -ϊ- l^riL * ^ .!». 猶尤 申請專利範圍 修煩 手請 查委 無明 實$ ϊ年 容厂多月 准3 予日 :爹所 SL·^. °之 ί£濟部中央標隼局員工消费合作社印製 1. 一種用於在一具有並聯式快取記憶 料k理系統中管理資料儲存之記憶 該資料處理系統包含:一處理器, 有一與其相關聯之上層快取記憶體 記憶體,該控制器記憶體係耦合到 制器;一耦合於該處理器與該記憶 之處理器匯流排;一與該處理器及 制器並聯方式耦合到該處理器匯流 取記憶體;以及一主記憶體;其中 記憶體及該下層快取記憶體分別包 個快取線,該記憶體控制器包含: 決定裝置,用以回應在該記憶體 到一寫入要求、及該主記憶體中一 相關聯資料,而決定該下層快取記 服務該寫入要求,並決定該相關聯 一自該上層快取記憶體或該下層快 代的修改後快取線; 將相關聯資料儲存在主記憶體之 回應該下層快取記憶體將不服務該 該相關聯資料是一自該上層快取記 層快取記憶體取代的修改後快取線 將該相關聯資料儲存在铉主記憶體 址;以及 將相關聯資料儲存在控制器記憶 體組態的資 體控制器, 該處理器具 ;一控制器 該記憶體控 體控制器間 該記憶體控 排之下層快 該上層快取 含一個或多 控制器接收 指定位址之 憶體是否將 資料是否為 取記憶體取 裝置,用以 寫入要求且 憶體或該下 之決定,而 的該指定位 體之裝置, (請先閲讀背面之注意事項再填寫本頁) 本纸張尺度逋用中國國家棣準(CNS )八4規<格(210Χ297公釐) 408266 A8 CS D8 6^¾,中央標莩局員工消費合作社印製 六、申請專利範圍 1 1 1 用 以 回 應 該 下 層 快 取 記 憶 體 將 不 服 務 該 寫 入 要 丨 求 / JL 該 相 關 聯 資 料 並 非 — 白 該 上 層 快 取 記 憶 體 請 先 Η 1 1 或 該 下 層 快 取 記 憶 體 取 代 的 修 改 後 快 取 線 之 決 1 定 * 而 將 該 相 關 聯 資 料 儲 存 在 與 該 記 憶 體 控 制 讀 背 面 之 1 1 器 相 關 聯 之 該 控 制 器 記 憶 體 ♦ 其 中 係 將 該 資 料 注 1 處 理 系 統 中 之 資 料 儲 存 最^ 佳化 〇 意 事 2.根 據 中 請 專 利 範 圍 第 1項之 記 憶 體 控 制 器 9 又 包 項 再 li 1 I 含 ; 寫 本 裝 I 使 相 關 聯 資 料 無 效 之 裝 置 1 用 以 回 應 該 處 理 頁 1 [ 器 對 該 相 關 聯 資 料 之 存 取 而 使 該 控 制 器 記 憶 1 I 體 中 之 該 相 關 聯 資 料 無 效 〇 1 1 3.根 據 中 請 專 利 範 圍 第 1項之 記 憶 體 控 制 器 其 中 ί ir 1 該 控 制 器 記 憶 體 包 含 一 在 該 記 憶 體 控 制 器 中 之 内 建 快 取 記 憶 體 0 1 4 , 一 種 資 料 處 理 系 統 » 包 含 * I j 一 處 理 器 t 1 1 一 耦 合 到該處理器之處理器匯流排: 線 — 耦 合 到該處理】 蓉之上層快取記憶 體; 1 1 一 以 與 該 處 理 器 並 聯 方 式 耦 合 到 該 處 理 器 匯 Ji 1 流 排 之 下 層 快 取 記 憶 體 * 1 1 — 主 記 It體 t 1 I — 耦 合 到 該 主 記 憶 體 及 該 處 理 器 匯 流 排 之 記 1 I 憶 體 控 制 器 > 該 記 憶 體 控 制 器 具 有 — 控 制 器 記 I 1 憶 體 及 控 制 邏 輯 電 路 其 中 該 控 制 邏 輯 電 路 回 1 I 1 -2- 1 ! 1 本纸张尺度適用中國國家標準(CNS ) A4規格(210X297公釐) A8 B8_408266_g?六、申請專利範圍 """中央標柒局員工消f合作社印褽 定將該修該 以 ,將 中資在無 中之 ,有料包 指體自的將 ; 卡並 其使存料 其中 器具資器 一憶一代路 排 面, ,含儲資 ,器 制器該制 中記非取電,,流 介入。統包一該 統制 控理且控 體取並體輯中匯 之輸^系又對使 系控 體處-體 憶快料憶邏體統 排之用理路器而 理體 憶該體憶 記層資記制憶系 流統吏處電理, 處憶 記,憶記 主下聯取控己之 匯系Μ料輯處取 料記 之器記該 i 穸 t t 該該關快該器器 統理示資邏該存 資該 用理取, 及且相層而制制 系處顯之制應之 之在 使處快體 、並該下因控控 該料出4^控回料 中一式憶 求,且該,該體 到資輸第該以資 第含 統含散記 要料求或定在憶 合該之圍之用的 圍包。系包分主 入資要體決存記 耦到統範器,體 範體體理統之一 寫聯入憶之儲該 個送系利制置憶 利憶憶處系聯含 一 關寫記線料到 多傳理專控裝記 專記記料理關包 到相該取取資合 或收處請體之器 請器取資處相統 收之務快快聯M個接料申憶效制 申制快在料其系 接/址服層後關一 一以資據記無控。據控建種資與理: 應位不上改相 及 用該根該料該效根該内一該 一處含 J ^ _^1τ;-----欲:----- (請先閲讀背面之注意事項再填寫本頁) 本紙伕尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 408266 I D8 ^¾十决標聲局員工消贫合作衽印製 六、申請專利範圍 1 1 I 一 預 取 緩 衝 器 , 1 I -1 ά 定 是 否 儲 存 在 分 散 式 快 取 記 憶 體 之 裝 置 ϊ 請 S3 1 用 以 回 應 該 處 理 器 對 資 訊 之 一 要 求 而 決 定 所 1 | 要 求 之 該 資 訊 是 否 儲 存 在 該 分 散 式 快 取 記 憶 體 讀 背 1 | 中 面 之 1 注 1 決 定 是 否 儲 存 在 預 取 緩 衝 器 之 裝 置 用 以 回 意 事 應 所 要 求 之 該 資 訊 並 非 儲 存 在 該 分 散 式 快 取 記 項 再 ! 1 憶 體 之 決 定 > 而 決 定 所 要 求 之 該 資 訊 是 否 儲 存 寫 本 裝 I 在 該 記 憶 體 控 制 器 中 之 該 預取緩衝^ j 頁 1 1 傳 送 裝 置 » 用 以 回 應 所 要 求 之 該 資 訊 係 儲 存 1 1 在 該 預 取 緩 衝 器 之 決 定 而 將 所 要 求 之 該 資 訊 1 1 傳 送 到 該 處 理 器 * 以 及 1 '訂 1 提 取 裝 置 t 用 以 回 應 所 要 求 之 該 資 訊 並 非 儲 存 在 該 預 取 緩 衝 器 之 決 定 而 為 該 處 理 器 白 該 1 主 記 憶 體 提 取 所 要 求 之 該 資 訊 並 將 該 主 記 憶 1 | 體 中 與 所 要 求 的 該 資 料 相 鄰 之 額 外 資 訊 儲 存 在 [ 1 該 預 取 緩 衝 器 中 其 中 該 處 理 器 對 預 取 資 訊 之 線 存 取 時 間 被 儘 量 減 少 0 1 1 8. 根 據 中 請 專 利 範 圍 第 7項 記 憶 體 控 制 器 其 中 1 I 所 要 求 之 該 資 訊 包 含 至 少 一個指令 0 1 9 . 根 據 中 請 專 利 範 圍 第 8項 記 憶 體 控 制 器 其 中 1 1 該 記 憶 體 控 制 器 又 包 含 一 記 憶 體 控 制 器 快 取 記 1 I 憶 體 j 其 中 該 決 定 所 要 求 之 該 資 訊 是 否 儲 存 在 1 1 分 散 式 快 取 記 憶 體 之 裝 置 包 含 用 來 決 定 該 等 至 i 1 1 卜 1 1 1 本纸汝尺度適用中國國家標準(CNS ) A4規格(2丨0X297公釐) 咭濟部令央樣隼局員工消費合作社印策 A8 B8 C8 m六、申請專利範囷 少一個指令是否儲存在該記憶體控制器快取記 憶k之裝置。 10. 根據申請專利範圍第9項之記憶體控制器,又包 含: 傳送裝置,用以回應所要求之該資訊係儲存 在該記憶體控制器快取記憶體,而將該至少一 個指令傳送到該處理器; 將包含該等至少一個指令的該記憶體控制器 快取記憶體中的一快取線儲存在該主記憶體中 之裝置;以及 使該記憶體控制器快取記憶體之該快取線無 效之裝置。 11. 根據申請專利範圍第8項之記憶體控制器,其中 該記憶體控制器具有一指令預取缓衝器及一資 料預取緩衝器,且其中該分散式快取記憶體包 含至少一個上層快取記憶體,該上層快取記憶 體包含一個或多個快取線長度為X位元組之快 取線,該記憶體控制器又包含: 使資訊無效之裝置,用以回應所要求之該資 訊係儲存在該指令預取緩衝器之決定,而在所 要求之該資訊包含X個位元组時,在將所要求 之該資訊傳送到該處理器之後,使儲存在該指 令預取緩衝器之該資訊無效; 決定裝置,用以回應該使該指令預取緩衝器 -5- 本紙法尺度適用中國國家標率(CNS ) A4^#· ( 210X297公釐) 408266 -----^---^---^------17--:-----^ (請先閲讀背面之注意ί項再填寫本頁) A8408266 g 六、申請專利範圍 中之該資訊無效,而決定該主記憶體中鄰近該 X “位元組的所要求資訊之X個位元組的資訊是 否可快取;以及 裝 取組 提元 位 置 個可 X是 該7L 近t 資 鄰勺 中白 组 體 憶元 &位 -5 主個 該 應 回 以 用 X 之 訊 資 求 要 所 的 個, X訊 該資 近勺 6 鄰J-取元 提位 體個 憶X 記該 主之 該訊 自資 而求 , 要 定所 決的 之組 取元 快位 指 該 在 存 儲 訊 資 的 組 元 位 個 X 。 該中 的器 取 Jir 提緩 所取 將預 並令 中記 其取 ’ 快 器層 制上 控個 體 一 憶少 記至 之含 第體 圍憶 範記 利取 專快 請式 申散 據分 根該 2· 1— 含 包 體 憶 記 取 取器記 快理主 個處該 多該將 或為並 個中訊 一 其資 , 該 線的 取求 快要 之 組 快元 層位 上X 該為記 . 度主 體長該 憶線自 所 取 提 體 " 在 存 儲 訊 資 外 額 之 料 資 該 的 求 要 所 含 包 置 裝 該 之 器 衝 緩 近取 鄰預 中令 體指 憶該 後 且 組 元·’ 位置 個裝 X 之 含取 包快 否可 是否 訊是 資訊 該資 之的 求組 要元 所位 定個 決X 續 ίί I - J- 8il i^i - - i-ί -I I - !- I X. ----- n ' I — I . I (請先閲讀背面之注意事項再填寫本5 ) ΐϋ; .!:ϊ央唸!ϊ-局S工消費合作.杜印袋 置 裝 取 提 元 位 且 含 包 訊 資 該 之 求 要 所 應 回位 以個 ]X 用 續 组 元 之 取 快 可 是 訊 資 個決 X 要 所 的 组 元’ 位訊 傾資 該组 取元 提位 體個 X 憶續 記後 主該 1F及 自 、 而訊 ’ 資 定求 訊 資 求 要 所 的 組 元 位 個 X 該 將 以 ·’ 用器 E , 理 置處 裝該 送到 傳送 傳 本《乐尺度適;ί:中國國家標隼(CNS ) A4現格(210X 297公釐) -^"1;'央律"-^員二消腎合^社印^ A8 B8 C8 D8六、申請專利範圍 將該後績X個位元組的資訊儲存在該預取緩衝 器i裝置; 決定X個位元組的資訊是否可快取之裝置,用 以回應所要求之該資訊並未包含X個位元組或 該後續X個位元組的資訊並非可快取之決定, 而決定該主記憶體中包含所要求的該資訊之X 個位元組的資訊是否可快取; 自該主記憶體提取該X個位元组的資訊之裝 置,用以回應該主記憶體中包含所要求的該資 訊之該X個位元组的資訊是可快取之決定,而 在所要求的該資訊包含少於X個位元組的資訊 時,自該主記憶體提取其中包含所要求的該資 訊之該X個位元組的資説,並將自該主記憶體 提取的該X個位元組的資詛儲存在該預取緩衝 器中;以及 將所要求的該資訊傳送到該處理器之裝置。 13. 根據申請專利範圍第7項之記憶體控制器,其中 所要求之該資訊包含資料。 14. 根據申請專利範圍第1 3項之記憶體控制器,其 中該記憶體控制器又包含一記憶體控制器快取 記憶體,其中該決定所要求之該資訊是否儲存 在分散式快取記憶體之裝置包含用來決定該至 少一個指令是否儲存在該記憶體控制器快取記 憶體之裝置。 408266 -----^---^---^------,玎-------手· (請先閲讀背面之注意事項再填寫本頁) 本铁法又度過巧*固國家標準(CNS ) Α4ΛΙ格(210X297公釐) Ag 408266 cs "^•-中央樣嚷局員工消费合作枉印^ 六、申請專利範圍 1 I I 15.根 據 中 請 專 利 範 圍 第 1 4 [項 之 記 憶 體 控 制 器 1 其 1 1 !- 中 該 分 散 式 快 取 記 憶 體 包 含 至 少 一 個 上 層 快 取 請 先 Μ l· 記 憶 體 該 上 層 快 取 記 憶 體 包 含 一 個 或 多 個 快 1 I 取 線 長 度 為 X位 元 组 之 快 取 線 該 記 憶 體 控 制 背 1 1 器 又 包 含 ι6 之 注 1 傳 送 裝 置 > 用 以 回 應 所 要 求 的 該 資 料 係 儲 存 意 事 在 該 記 憶 體 控 制 器 快 取 記 憶 體 中 9 而 將 所 要 求 項 再 ά 1 1 的 該 資 料 傳 送 到 該 處 理 器 , 寫 本 裝 1 決 定 裝 置 y 用 以 決 定 所 要 求 的 該 資 料 否 包 頁 1 1 含 X個位元1 的資料 以及 ! I 儲 存 裝 置 y 用 a 3應所要求的該資料包含X個 1 1 位 元 組 的 資 料 之 決 定 J 而 將 包 含 所 要 求 該 資 料 1 訂 1 的 該 記 憶 體 控 制 器 快 取 記 憶 體 之 一 快 取 線 儲 存 在 該 主 記 憶 體 並 使 該 記 憶 體 控 制 器 快 取 記 憶 I 體 之 該 快 取 線 無 效 ύ 1 16.根 據 中 請 專 利 範 圍 第 1 3 項 之 記 憶 體 控 制 器 其 1 1 中 該 分 散 式 快 取 記 憶 體 包 含 至 少 一 個 上 層 快 取 線 i 記 憶 體 該 上 層 快 取 記 憶 體 包 含 —' 個 或 多 個 快 1 1 取 線 長 度 為 X 位 元 組 之 快 取 線 , 該 記 憶 體 控 制 f I 器 具 有 一 指 令預取緩衝1 落及 — 資 料 預 取 緩 衝 1 器 該 記 憶 體 控 制 器 又 包 含 • t 1 使 資 訊 無 效 之 裝 置 用 以 回 應 所 要 求 之 該 資 1 r 訊 係 儲 存 在 該 資 料 預 取 緩 衝 器 之 決 定 而 在 所 I 1 .要 求 之 該 資 訊 包 含 X 個 位 元 組 時 1 在 將 所 要 求 1 1 1 _ -8- 1 1 1 本紙張虼度適用中國國家標準(CNS > A4见格(210X297公釐) "·";邱中央標孪局員工消资合作社印製 408266 B8 D8々、申請專利範圍 之該資訊傳送到該處理器之後,使儲存在該資 料&取緩衝器之該資訊無效; 決定裝置,用以回應使該資料預取緩衝器中 之該資訊無效,而決定該主記憶體中鄰近該X 個位元組的所要求資訊之X個位元组的資訊是 否可快取;以及 提取裝置,用以回應該主記憶體中.鄰近該X個 位元組的所要求資訊之X個位元組的資訊是可 快取之決定,而自該主記憶體提取鄰近該X個 位元組的所要求資説之該X個位元組的資訊, 並將所提取的該X個位元組的資訊儲存在該資 料預取緩衝器中。 Π.根據申請專利範圍第1 3項之記憶體控制器,其 中該分散式快取記憶體包含至少一個上層快取 記憶體,該上層快取記憶體包含一個或多個快 取線長度為X位元组之快取線,其中為該處理 器自該主記憶體提取所要求的該資訊並將該主 記憶體中鄰近所要求的該資料之額外資訊儲存 在該預取緩衝器之該裝置包含: 決定所要求之該資訊是否包含X個位元组且後 續X個位元組的資訊是可快取之裝置; 提取裝置,用以回應所要求之該資訊包含X個 位元組且後續X個位元组的資訊是可快取之決 定,而自該主記憶體提取該X個位元組的所要 -9 - -----^---;---^------ir—-----.^ (請先閱讀背面之注意事項再填寫本頁) 本纸張尺度適用中國國家標準(CNS ) A4见格(210X297公釐) 408266 A8 B8 C8 D8 申請專利範圍 訊 資 求 要 ; 所 訊的 資組 的元 組位 元傾 位 X 涸該 X將 績以 後; 該, 及置 、裝 訊送 求 處^ 該後 到該 送將 傳 緩 取 預 該 在 存 儲 訊 資 的 組 元 位 個 3央^^-^¾ v ί消费合作社印製 器之裝置; 決定X個位元組的資訊是否可快取之裝置,用 以回應所要求之該資訊並未包含X個位元組或 該後續X個位元組的資訊並非可快取之決定, 而決定該主記憶體中包含所要求的該資訊之X 個位元组的資訊是否可快取; 自主記憶體提取X個位元組的資訊之裝置,用 以回應該主記憶體中包含所要求的該資訊之該 X個位元組的資訊是可快取之決定,而在所要 求的該資訊包含少於X個位元組的資訊時*自 該主記憶體提取其中包含所要求的該資訊之該 X個位元組的資訊,並將自該主記憶體提取的 該X個位元組的資訊儲存在該預取緩衝器中; 以及 將所要求的該資訊傳送到該處理器之裝置。 18. —種資料處理系統,包含: 一處理器匯流排; 一耦合到該處理器匯流排之處理器; 一耦合到該處理器之分散式快取記憶體; 一主記憶體; -10- 太紙伕尺度通/η中S國家標準(CNS ) A4現格(2丨0X297公釐) -----^---^---裝------:訂-------故, (請先Ε讀背面之注意事項再填寫本頁) 408266 J* C8 D8六、申請專利範圍 記 之 體 音心 記: 主含 該包 及器 排制 流控 匯體 器憶 理記 處該 該’ 到器 合制 耦控 一.體 憶 置 裝 之 體 意 記 取 快 式 散 分 .’ 在 器存 衝儲 緩否 取是 預定 一決 定記 決取 而快 ,式 求散 要分 1 該 之在 訊存 資儲 對否 器是 理訊 處資 該該 應之 回求 以要 用所 中 體 憶 器 衝 緩 取 預 在 存 儲 否 是 定要 決所 應 存 儲 k— 並 訊 資 該 之 求 回取 以快 用式 ,散 置分 裝該 之在 (請先閲讀背面之注意事項再填寫本頁) ,體 定憶 決記置 之該裝 體在送 憶存傳 記错 要 所 定 決 而 資$訊 否 是 訊 存 ; 儲 器係 衝 該緩資 之取該 求預之 該求 之要 中所 器應 制回 控以 用 決; 之器 器理 衝處 緩諸 取到 預送 該傳 在訊 資 該 之 求 要 所 將 而 定 及 以 訂 裝 取該 提在 存 置 儲自 非器 並理 訊處 資該 該為 之而 求, 要 所 應 回 以 用 定 決 之 器 緩 取 預 主訊 該資 將外 並額 ’ 之 訊鄰 資相 該料 之資 求該 要的 所求 取要 提所 體與 憶中 己4a *-Βλα 主憶 .¾ 己 *\ίβ二-口 央痒唭局工消f合作社印繁 以 rE— 流 匯 統 系 之 器 • , 希 中控 器^a 衝憶 緩己 *-° 取該 預到 該合 在耦 存一 儲 及 卡 面 介 之 hr 巟 匯 統 系 該 到 合 耦 個 多 或 個 統 到系 送理 傳處 收料 接資 以該 用將 系 S 處 料 資 該 之 入 並 之 使 給 示 顯 出 者 太坟帳义戈通用中國國家標準(CNS )六4礼格(210 X 297公釐) 408266 A8 BS C8 m 申請專利範圍 19. 根據申請專利範圍第1 8項之資料處理系統,其 中k分散式快取記憶體包含一耦合到該處理器 之上層快取記憶體、及一以與詖處理器及該記 憶體控制器並聯方式耦合到該處理器匯流排之 下層快、取記憶體。 20. 根據申請專利範圍第1 9項之資料處理系統,其 中該分散式快取記憶體又包含一在該記憶體控 制器中之記憶體控制器快取記憶體。 J.----_---^---^-------1T—Γ----手----1 (請先閲讀背面之注意事項再填寫本頁) ν"·-·1:,·ν碌夂局員工消资合作社印製 -12- 本纸乐尺度逋π中國國家標準(CNS )八4说格(2!0Χ297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/628,230 US5778422A (en) | 1996-04-04 | 1996-04-04 | Data processing system memory controller that selectively caches data associated with write requests |
Publications (1)
Publication Number | Publication Date |
---|---|
TW408266B true TW408266B (en) | 2000-10-11 |
Family
ID=24518023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW085107288A TW408266B (en) | 1996-04-04 | 1996-06-17 | Memory controller within a data processing system for caching stack operations and prefetching data from memory |
Country Status (6)
Country | Link |
---|---|
US (1) | US5778422A (zh) |
EP (1) | EP0800137B1 (zh) |
JP (1) | JPH1055306A (zh) |
KR (1) | KR100268204B1 (zh) |
DE (1) | DE69708188T2 (zh) |
TW (1) | TW408266B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374330B1 (en) * | 1997-04-14 | 2002-04-16 | International Business Machines Corporation | Cache-coherency protocol with upstream undefined state |
US6094708A (en) | 1997-05-06 | 2000-07-25 | Cisco Technology, Inc. | Secondary cache write-through blocking mechanism |
US6341335B1 (en) | 1997-10-29 | 2002-01-22 | Hitachi, Ltd. | Information processing system for read ahead buffer memory equipped with register and memory controller |
US6115385A (en) | 1998-03-11 | 2000-09-05 | Cisco Technology, Inc. | Method and system for subnetting in a switched IP network |
US6138208A (en) * | 1998-04-13 | 2000-10-24 | International Business Machines Corporation | Multiple level cache memory with overlapped L1 and L2 memory access |
US6785274B2 (en) | 1998-10-07 | 2004-08-31 | Cisco Technology, Inc. | Efficient network multicast switching apparatus and methods |
US20020056027A1 (en) * | 1998-10-29 | 2002-05-09 | Hiroki Kanai | Information processing system |
US6483736B2 (en) | 1998-11-16 | 2002-11-19 | Matrix Semiconductor, Inc. | Vertically stacked field programmable nonvolatile memory and method of fabrication |
US6460114B1 (en) * | 1999-07-29 | 2002-10-01 | Micron Technology, Inc. | Storing a flushed cache line in a memory buffer of a controller |
JP2001060169A (ja) * | 1999-08-24 | 2001-03-06 | Hitachi Ltd | キャッシュコントローラ及びコンピュータシステム |
US7099998B1 (en) * | 2000-03-31 | 2006-08-29 | Intel Corporation | Method for reducing an importance level of a cache line |
US8575719B2 (en) | 2000-04-28 | 2013-11-05 | Sandisk 3D Llc | Silicon nitride antifuse for use in diode-antifuse memory arrays |
AU2001286432A1 (en) | 2000-08-14 | 2002-02-25 | Matrix Semiconductor, Inc. | Dense arrays and charge storage devices, and methods for making same |
KR100364800B1 (ko) * | 2000-08-29 | 2002-12-16 | 주식회사 하이닉스반도체 | 반도체 메모리의 데이터 입출력 제어 장치 |
US6598119B2 (en) * | 2001-02-09 | 2003-07-22 | At&T Corp. | Database management system with a multiple-level cache arrangement |
US7352199B2 (en) | 2001-02-20 | 2008-04-01 | Sandisk Corporation | Memory card with enhanced testability and methods of making and using the same |
US6843421B2 (en) | 2001-08-13 | 2005-01-18 | Matrix Semiconductor, Inc. | Molded memory module and method of making the module absent a substrate support |
US6593624B2 (en) | 2001-09-25 | 2003-07-15 | Matrix Semiconductor, Inc. | Thin film transistors with vertically offset drain regions |
US6525953B1 (en) | 2001-08-13 | 2003-02-25 | Matrix Semiconductor, Inc. | Vertically-stacked, field-programmable, nonvolatile memory and method of fabrication |
US6624485B2 (en) | 2001-11-05 | 2003-09-23 | Matrix Semiconductor, Inc. | Three-dimensional, mask-programmed read only memory |
US6731011B2 (en) | 2002-02-19 | 2004-05-04 | Matrix Semiconductor, Inc. | Memory module having interconnected and stacked integrated circuits |
US6853049B2 (en) | 2002-03-13 | 2005-02-08 | Matrix Semiconductor, Inc. | Silicide-silicon oxide-semiconductor antifuse device and method of making |
TWI282513B (en) | 2002-06-12 | 2007-06-11 | Mediatek Inc | A pre-fetch device of instruction for an embedded system |
US6737675B2 (en) | 2002-06-27 | 2004-05-18 | Matrix Semiconductor, Inc. | High density 3D rail stack arrays |
EP1387276A3 (en) * | 2002-07-31 | 2004-03-31 | Texas Instruments Incorporated | Methods and apparatus for managing memory |
JP2005115603A (ja) * | 2003-10-07 | 2005-04-28 | Hitachi Ltd | 記憶デバイス制御装置及びその制御方法 |
DE102004055013A1 (de) * | 2004-11-15 | 2006-05-24 | Infineon Technologies Ag | Computereinrichtung |
US7409502B2 (en) * | 2006-05-11 | 2008-08-05 | Freescale Semiconductor, Inc. | Selective cache line allocation instruction execution and circuitry |
JP4412676B2 (ja) | 2007-05-30 | 2010-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メインメモリに書き込むデータをキャッシュする技術 |
US20120324195A1 (en) * | 2011-06-14 | 2012-12-20 | Alexander Rabinovitch | Allocation of preset cache lines |
US9431064B2 (en) * | 2012-11-02 | 2016-08-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory circuit and cache circuit configuration |
US9384136B2 (en) | 2013-04-12 | 2016-07-05 | International Business Machines Corporation | Modification of prefetch depth based on high latency event |
US9478495B1 (en) | 2015-10-26 | 2016-10-25 | Sandisk Technologies Llc | Three dimensional memory device containing aluminum source contact via structure and method of making thereof |
KR102398201B1 (ko) * | 2017-06-30 | 2022-05-17 | 삼성전자주식회사 | 프로세서의 개입 없이 단순 작업을 관리하는 스토리지 장치 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4464712A (en) * | 1981-07-06 | 1984-08-07 | International Business Machines Corporation | Second level cache replacement method and apparatus |
US5155828A (en) * | 1989-07-05 | 1992-10-13 | Hewlett-Packard Company | Computing system with a cache memory and an additional look-aside cache memory |
US5133058A (en) * | 1989-09-18 | 1992-07-21 | Sun Microsystems, Inc. | Page-tagging translation look-aside buffer for a computer memory system |
US5317718A (en) * | 1990-03-27 | 1994-05-31 | Digital Equipment Corporation | Data processing system and method with prefetch buffers |
CA2044487A1 (en) * | 1990-06-15 | 1991-12-16 | Michael E. Tullis | Lookaside cache |
EP0468831B1 (en) * | 1990-06-29 | 1997-10-15 | Digital Equipment Corporation | Bus protocol for write-back cache processor |
DE69130967T2 (de) * | 1990-08-06 | 1999-10-21 | Ncr Int Inc | Rechnerspeicheranordnung |
US5249282A (en) * | 1990-11-21 | 1993-09-28 | Benchmarq Microelectronics, Inc. | Integrated cache memory system with primary and secondary cache memories |
US5287467A (en) * | 1991-04-18 | 1994-02-15 | International Business Machines Corporation | Pipeline for removing and concurrently executing two or more branch instructions in synchronization with other instructions executing in the execution unit |
US5386547A (en) * | 1992-01-21 | 1995-01-31 | Digital Equipment Corporation | System and method for exclusive two-level caching |
WO1993018459A1 (en) * | 1992-03-06 | 1993-09-16 | Rambus Inc. | Prefetching into a cache to minimize main memory access time and cache size in a computer system |
US5367657A (en) * | 1992-10-01 | 1994-11-22 | Intel Corporation | Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems |
US5566324A (en) * | 1992-12-24 | 1996-10-15 | Ncr Corporation | Computer apparatus including a main memory prefetch cache and method of operation thereof |
GB2276964A (en) * | 1993-03-31 | 1994-10-12 | Hypertech Pty Ltd | Buffering write cycles. |
US5623628A (en) * | 1994-03-02 | 1997-04-22 | Intel Corporation | Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue |
US5564035A (en) * | 1994-03-23 | 1996-10-08 | Intel Corporation | Exclusive and/or partially inclusive extension cache system and method to minimize swapping therein |
US5561779A (en) * | 1994-05-04 | 1996-10-01 | Compaq Computer Corporation | Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system |
US5737565A (en) * | 1995-08-24 | 1998-04-07 | International Business Machines Corporation | System and method for diallocating stream from a stream buffer |
-
1996
- 1996-04-04 US US08/628,230 patent/US5778422A/en not_active Expired - Fee Related
- 1996-06-17 TW TW085107288A patent/TW408266B/zh not_active IP Right Cessation
-
1997
- 1997-02-28 KR KR1019970006788A patent/KR100268204B1/ko not_active IP Right Cessation
- 1997-03-14 EP EP97301738A patent/EP0800137B1/en not_active Expired - Lifetime
- 1997-03-14 DE DE69708188T patent/DE69708188T2/de not_active Expired - Fee Related
- 1997-03-26 JP JP9073174A patent/JPH1055306A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH1055306A (ja) | 1998-02-24 |
KR970071282A (ko) | 1997-11-07 |
EP0800137B1 (en) | 2001-11-14 |
DE69708188D1 (de) | 2001-12-20 |
DE69708188T2 (de) | 2002-06-20 |
EP0800137A1 (en) | 1997-10-08 |
US5778422A (en) | 1998-07-07 |
KR100268204B1 (ko) | 2000-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW408266B (en) | Memory controller within a data processing system for caching stack operations and prefetching data from memory | |
TWI232378B (en) | Non-uniform memory access (NUMA) data processing system having remote memory cache incorporated within system memory | |
JP3888508B2 (ja) | キャッシュ・データ管理方法 | |
TWI237181B (en) | Non-uniform memory access (NUMA) computer system that grants exclusive ownership of data based on history information | |
TWI232373B (en) | Memory directory management in a multi-node computer system | |
TW439030B (en) | Cache coherency protocol for a data processing system including a multi-level memory hierarchy | |
US5958040A (en) | Adaptive stream buffers | |
US6721848B2 (en) | Method and mechanism to use a cache to translate from a virtual bus to a physical bus | |
US6434639B1 (en) | System for combining requests associated with one or more memory locations that are collectively associated with a single cache line to furnish a single memory operation | |
TW508575B (en) | CLFLUSH micro-architectural implementation method and system | |
TW548545B (en) | Cache line pre-load and pre-own based on cache coherence speculation | |
US20070061549A1 (en) | Method and an apparatus to track address translation in I/O virtualization | |
US6574710B1 (en) | Computer cache system with deferred invalidation | |
US6871267B2 (en) | Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency | |
TWI237177B (en) | Allocating cache lines | |
US5909697A (en) | Reducing cache misses by snarfing writebacks in non-inclusive memory systems | |
US20020169935A1 (en) | System of and method for memory arbitration using multiple queues | |
JP2000227878A (ja) | 非同期i/oキャッシュメモリ内のデ―タ管理方法 | |
TW505862B (en) | Write buffer with burst capability | |
US5551000A (en) | I/O cache with dual tag arrays | |
US11599483B2 (en) | Dedicated cache-related block transfer in a memory system | |
TW564351B (en) | Method and apparatus for supporting multiple cache line invalidations per cycle | |
TW200304062A (en) | Cache memory eviction policy for combining write transactions | |
US7444435B2 (en) | Non-fenced list DMA command mechanism | |
TW567415B (en) | Reverse directory for facilitating accesses involving a lower-level cache |
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 |