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 PDF

Info

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
Application number
TW085107288A
Other languages
English (en)
Inventor
Thomas Basilio Genduso
Edward Robert Vanderslice
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Application granted granted Critical
Publication of TW408266B publication Critical patent/TW408266B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction 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)

  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公釐)
TW085107288A 1996-04-04 1996-06-17 Memory controller within a data processing system for caching stack operations and prefetching data from memory TW408266B (en)

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)

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

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

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