TW564351B - Method and apparatus for supporting multiple cache line invalidations per cycle - Google Patents

Method and apparatus for supporting multiple cache line invalidations per cycle Download PDF

Info

Publication number
TW564351B
TW564351B TW091106190A TW91106190A TW564351B TW 564351 B TW564351 B TW 564351B TW 091106190 A TW091106190 A TW 091106190A TW 91106190 A TW91106190 A TW 91106190A TW 564351 B TW564351 B TW 564351B
Authority
TW
Taiwan
Prior art keywords
memory
cache
patent application
cache memory
level cache
Prior art date
Application number
TW091106190A
Other languages
English (en)
Inventor
Shailender Chaudhry
Marc Tremblay
Original Assignee
Sun Microsystems Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26741128&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=TW564351(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of TW564351B publication Critical patent/TW564351B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

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)
  • Multi Processors (AREA)

Description

564351 A7 B7 ___ 五、發明説明(1) 相關申請案: ^ϋϋ ·ϋϋ ϋϋ n^i ϋϋ n^i n (請先閲讀背面之注意事項再填寫本頁} 本申請案於此聲明擁有美國法典§ 1 1 9所賦予的對 發明人 Shailender Chaudhry 及 Marc Tremblay 於 2001 年 4 月11日提出申請的美國臨時專利申請案60/283,252“ Methodand Apparatusf or Supporting Multiple CacheLine Invalidation Per Cycle”之優先權。 發明背景: 發明領域: 本發明係有關多處理器電腦系統之設計。更具體而言 ,本發明係有關一種用來執行在同一時間使多個快取線無 效之方法及裝置。 相關技藝: 經濟部智慧財產局員工消費合作社印製 爲了獲致高速率的計算效能,電腦系統設計者正開始 採用多個處理器,這些處·理器以平行的方式作業/而執行 一單一的計算工作。一種常見的多處理器設計包含若干處 理器(1 5 1 - 1 5 4 )及若干第一階(L 1 )快取記憶 體(1 6 1 — 1 6 4 ),該等處理器及L 1快取記憶體共 用一單一的階(L 2 )快取記憶體(1 8 0 )及一記憶體 (183)(請參閱圖1)。在作業期間,如果一處理器 (1 5 1 )存取一並不存在於其當地L 1快取記憶體( 1 6 1 )的資料項目,則系統嘗試自l 2快取記憶體( 1 8 0 )擷取該資料。如果該資料項目並不存在於l 2快 -:----- - Λ _ 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) 一~~ - 564351 A7 _ _ B7 _ 五、發明説明($ (請先閱讀背面之注意事項再填寫本頁) 取記憶體(1 8 0 ),則系統先將該資料項目自記憶體( 1 8 3 )擷取到L 2快取記憶體(1 8 0 ),然後將該資 料項目自L 2快取記憶體(1 8 0 )擷取到l 1快取記憶 體(1 6 1 )。 請注意,如果相同資料項目的一拷貝存在於一個以上 的L 1快取記憶體,則可能會有資料一致性的問題。在此 種情形中,修改L 1快取記憶體(1 6 1 )中的一資料項 目之一第一版本時,可能使該第一版本不同於L 1快取記 憶體(1 6 2 )中的該資料項目之一第=版本。 爲了避免資料一致性的問題,電腦系統通常提供一種 可跨越匯流排(1 7 0 )而作業之一致性協定。一 _致性蘼 定通常確保:姐果修改了 L 1快取記憶體〈1 6 1 )中的 一資料項目之一份_拷貝,則要對L 1快取記憶體(1 6 2 —1 6 4 )、L 2快取記憶體(1 8 0 )、及記憶體( 1 8 3 )中的相同資料項E之其他拷貝進行更新或使無效 ,以便反映該修改。 經濟部智慧財產局員工消費合作社印製 一致性協定通常跨越匯流排(1 7 0 )而廣播使無效 訊息。如果經常發生此種使無效,則這些使無效訊息有可 能佔用匯流排(1 7 0 ),因而可能使整體系統效能下降 〇 爲了解決該問題,某些設計者已開始探索在L 2快取 記憶體(1 8 0 )內維護目錄資訊的可能性。該資料項目 指定哪些L 1快取記憶體存有特定資料項目的拷貝。此種 方式可讓系統將使無效資訊只傳送到存有該資料項目的 --^-5--- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 564351 A7 ___B7 _ ___ 五、發明説明(讀 (請先閲讀背面之注意事項再填寫本頁) L 1快取記憶體,而不是將一廣腹显息傳送到所有的l 1 快取記憶體。(此類系統假設存在有讓使無效訊息傳送到 每一 L 1快取記憶體(i 6 1 一 1 6 4 )的各別通訊路徑 。這些通訊路徑並未存在於圖1 A所示之系統中。) 請注意,如果在L 1快取記憶體(1 6 1 - 1 6 4 ) 與L 2快取記憶體(1 8 0 )之間提供更多的通訊路徑, 則多個處理器可同時執行使無效的存取。因此,L 1快取 記憶體(1 6 1 - 1 6 4 )可同時接收多個使無效要求。 目前需要一種有助於在一 L 1快取記憶體上同時執行 多個使無效之方法及裝置。 經濟部智慧財產局員工消費合作社印製 此外,請注意,L 1快取記憶體(1 6 1 - 1 6 4 ) 通常是組關聯式(set-associative)。因此,當L 1快取記 憶體(1 6 1 )接收一使無效訊息時,必須在L 1快取記 憶體(1 6 1 )中執行一查詢及比較,以便決定該資料項 目的路(w a y )位置。例如,在一四路組關聯式l 1快 取憶體中,可將屬於一特定組的一資料項目儲存在四個 可能“路”中的一個路。因此,必須擷取四個可能組的每 一組之標記,並比較該等標記,以便決定該資料項目的路 位置。此種查詢是相當耗時的,且可能降低系統效能。 因此,目前需要一種無須爲了決定一 L 1快取記憶體 中的一資料項的路位置而執行一查詢即可使該資料項無效 之方法及裝置。 發明槪述: 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 6-__ 564351 A7 B7 五、發明説明(4 (請先閲讀背面之注意事項再填寫本頁) 本發明之一實施例提供了一 i支援在相同週期內使多 個快取線無效之多處-理溫系葱。該多處理器系統包含複數 個處理器及組態被設定成支援多個同時作業的一較低階快 取記憶體。該多處理器系統亦包含連接到該等複數個處理 器的複數個較高階快取記憶體,其中一特定的較高階快取 記憶體之組態被設定成支援在該特定的較高階快取記憶體 內使多個快取線同時無效。 在本發明的一實施例中,該較低階快取記憶體包含可 平行存取的複數個記憶組,用以支援多個同時作業。 在上述實施例的一變形中,該多處理器系統包含一開 關,該開關之組態被設定成將該較低階快取記憶體的該等 複數個記憶組連接到該等複數個較高階快取記憶體。 經濟部智慧財產局員工消費合作社印製 在上述實施例的一變形中,一特定較高階快取記憶體 中之每一快取線包含一可用來使該快取線無效的有效位元 。這些有效位元係存放在一記憶體中,且係將該記憶體組 織成與該較低階快取記憶體的該等複數個記憶組相關聯之 複數個記憶組。此外,係將存有有效位元的每一記憶組固 定接線到該較低階快取記憶體的一相關聯之記憶組,因而 該特定的較高階快取記憶體可自該較低階快取記憶體接收 多個同時使無效信號。 在上述實施例的一變形中,存有有效位元的每一記憶 組包含一第一捧及一第二埠,其中該第一埠可用來讀取或 寫入該記憶組中的一第一位置,而該第二埠係用來使該記 憶組中的一第二位置無效。對存有有效位元的每一記憶組 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 564351 A7 B7 五、發明説明(导 (請先閱讀背面之注意事項再填寫本頁) 提供該記憶組本身的解碼器,用以選擇該記憶組的第二堤 之一字元線,並共用一單一的解碼器,用以選擇跨越所有 記憶組的一單一字元線,即可完成上述的工作。在又一變 形中,該第二埠的一字元線使一記憶元件重定,而並不將 該記憶元件連接到一對應的位元線。 在本發明的一實施例中,一特定的較高階快取記憶體 所接收的一特定的使無效信號包含··該特定的較高階快取 記憶體中將要使無效的一快取線之一組位置、以及該特定 的較高階快取記憶體中將要使無效的該快取線之一路位置 〇 在本發明的一實施例中,該多處理器系統係位於一半 導體單晶片中。 在本發明的一實施例中,該較低階快取記憶體是一 L 2快取記憶體,且每一該等複數個較高階快取記憶體是 一 L 1快取記憶體。 經濟部智慧財產局員工消費合作社印製 在本發明的一實施例中,係將該等複數個較高階快取 記憶體組織成即時寫回式(write-through)快取記憶體,因 而係將對該等複數個較高階快取記憶體的更新立即寫回到 該較低階快取記憶體。 附圖簡述: 圖1 A示出一多處理器系統。 圖1 B示出其中包含具有根據本發明一實施例的一反 向目錄的一 L 2快取記憶體之一多處理器系統。 本適用中國國家標準(CNS) M規格(21GX297公羡) 8 — 564351 A7 __ B7 五、發明説明(6) 圖2示出具有在根據本發明一實施例的一多處理器系 統內的多個記憶紅之一 L 2快取記憶體。 (請先閲讀背面之注意事項再填寫本頁) 圖3示出根據本發明一實施例的一反向目錄。 圖4示出一位址、及根據本發明一實施例的一相關聯 之使無效信號。 圖5示出包含用來根據本發明一實施例而使無效的多 個埠的一記憶體之結構。 圖6示出在根據本發明一實施例的圖5所示記憶體內 的一單一記憶單元之結構。 圖7是根據本發明一實施例而用來同時使多個快取線 無效的程序之流程圖。 元件對照表 151-154,11〇,120,130, 1 4 0 :處理器 161-164,112,122,132, 1 4 2 : L 1快取記憶體 經濟部智慧財產局員工消費合作社印製 1 8 0,1 0 6 : L 2快取記憶體 1 8 3 :記憶體 1 7 0 :匯流排 1 0 0 :多處理器系統 1 0 1 :半導體單晶片 3 0 2 :反向目錄 1 0 2 :晶片外部記憶體 --------- Q___ 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) 564351 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明(1) 1 0 4 :記憶體控制器 2 0 2 - 2 0 5, 5 0 1 - 5 0 4 :記憶組 2 1 5,2 1 6 :開關 150,152: I/O 埠 221,222,223, 2 2 4,4 3 0 :使無效信號 3 0 4 :八路組關聯式快取記憶體 312,322,332, 3 4 2 ··區塊 4 0 0,5 4 1 :位址 4 1 2 : L 1標記 414:L1組編號 4 1 8 : L 1快取線偏移量 4 0 2 : L 2標記 4 0 4 : L 2組編號 4 0 6 : L 2記憶組編號 4 0 8 : L 2快取線偏移量 4 2 4 :縮減的L 1組編號 4 2 9 : L 1路編號 5 1 1 :組編號 5 2 1 :路編號 5 3 1,5 4 0 :解碼器 5 5 1,5 5 2 :字元線 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) I---“--L--®批衣—— (請先閲讀背面之注意事項再填寫本頁) 訂 4α 564351 A7 B7 五、發明説明(8) 6 3 0 :起動信號 6 0 1,6 0 2 :位元線 詳細說明: 提供了下列的說明,使熟習此項技藝者得以製作並利 用本發明,並係在一特定申請案及其要求的環境下提供該 說明。熟習此項技藝者將易於對所揭示的實施例作出各種 修改,而且在不脫離本發明的精神及範圍下,可將本發明 所界定的一般性原理應用於其他的實施例及應用。因此, 本發明將不限於所示之實施例,而是符合與本文所揭示的 原理及特徵一致的最廣義範圍。 多處理器系統 圖1B示出具有根據本發明一實施例的一反向目錄之 一多處理器系統(1 〇 0 )。請注意,多處理器系統( 1 0 0 )的大部分係位於一半導體單晶片(1 0 1 )內。 更具體而§,半導體晶片(1 0 1 )包含若干處理器( 110)、 (120)、 (130)、及(140),該 等處理器分別包含第一階(L 1 )快取記憶體(1 1 2 ) 、(122)、 (132)、及(142)。請注意, L 1 快取記憶體(1 1 2 )、 (122)、 (132)、 及(1 4 2 )可以是各別的指令快取記憶體及資料快取記 憶體,或者也可以是統一的指令/資料快取記憶體。L 1 快取記憶體(1 1 2 )、 (122)、 ( 1 3 2 )、及( -------11- ___ 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) ----*--L--0裝--I (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部智慧財產局員工消費合作社印製 564351 A7 __ B7 五、發明説明(9) 1 4 2 )係連接到第二階(L 2 )快取記憶體(1 0 6 ) ,而L 2快取記憶體(1 0 6 )包含一反向目錄(3 0 2 )(將參照圖3 - 6而在下文中詳細說明該反向目錄)。 L 2快取記憶體(1 0 6 )係經由記憶體控制器(1 0 4 )而連接到晶片外部記憶體(1 0 2 )。 在本發明的一實施例中,L 1快取記憶體(1 1 2 ) 、(122)、 (132)、及(142)是即時寫回式 快取記憶體,此即意指係將對L 1快取記憶體(1 1 2 ) 、(1 2 2 )、 ( 1 3 2 )、及(1 4 2 )的所有更新自 動傳送到L 2快取記憶體(1 〇 6 )。此種方式簡化了一 致性協定,這是因爲如果處理器(1 1 〇 )需要一個存在 於L 1快取記憶體(1 1 2 )的資料項目,則處理器( 1 1 0 )可自L 2快取記憶體(1 〇 6 )接收該資料,而 無須等候L 1快取記憶體(1 1 2 )取得該資料。此外, 不需要傳送網路,即可讓L 1快取記憶體(1 1 2 )取得 該資料。請注意,在本發明的一實施例中,L 2快取記憶 體(1 0 6 )是一種“包含式快取記憶體”( "inclusivecache”),此即意指L 1快取記憶體(1 1 2 )、 (122)、 (132)、及(142)中所有的資料項 目係包含在L 2快取記憶體(1 〇 6 )中。 具有__多個記憶組之L 2怏取記憶體 圖2示出具有根據本發明一實施例的多個記憶組之一 L 2快取記憶體(1 〇 6 )。在該實施例中,L 2快取記 ---------—A2_____ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X29?公釐) I--·--.---裝-- (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部智慧財產局員工消費合作社印製 564351 A7 B7 五、發明说明(1)0 博體(1 〇 6 )設有四個§己憶組(2 0 2 — 2 〇 5 ) 且 處理器(11〇)、 (120)、 (130)、及( (請先閲讀背面之注意事項再填寫本頁) 1 4〇)可經由開關(2 1 5)及(2 1 6)而以平行方 式存取這四個記憶組。開關(2 1 5 )處理自處埋器( 11〇)、 ( 1 2 0 ) (130)、及(14〇)傳送 到L 2記憶組(2 0 2 — 2 0 5 )的通訊,而開關( 2 1 6 )處理自L 2記憶組(2 0 2 - 2 0 5 )傳送到處 理器(110)、 (120)、 (130)、及(140 )的反向通訊。 請注意,只須兩位兀的位址即可決定要將一記憶體要 求傳送到這四個記憶組(2 0 2 — 2 0 5 )中的哪一個記 憶組。亦請注意,開關(2 1 5 )又包含一 I /0埠( 1 5 0),用以自各〗/〇裝置接收通訊,且開關( 2 1 6 )包含一 I / ◦埠(1 5 2 ),用以將通訊傳送到 各I/O裝置。此外,在本發明的一實施例中,每一這些 記憶組(2 0 2 - 2 0 5 )包含一將於下文中參照圖5而 詳細說明之反向目錄。 經濟部智慧財產局員工消費合作社印製 請注意,使用此種“記憶組”架構時。即可同時將每 一 L 1快取記憶體連接到L 2快取記憶體的其本身之記憶 組,因而增加了 L 2快取記憶體(1 0 6 )的頻寬。 然而,同時存取L 2快取記憶體(1 〇 6 )時,有可 能對L 1快取記憶體(1 1 2 )、 (122)、 (132 )、及(1 4 2 )內的快取線進行多個使無效作業。爲了 支援這些使無效作業,每一 L 1快取記憶體有一獨立的路 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) 4¾ 564351 A7 B7 五、發明説明(1)1 徑,用以自L 2快取記憶體(1 0 6 )的每一記憶組( 2 〇 2 — 2 0 5 )接收一使無效信號。 (請先閲讀背面之注意事項再填寫本覓) 如圖1所示,L 1快取記憶體(1 1 2 )自L 2記憶 組(2 0 2 )接收一使無效信號(2 2 1 ),自L 2記憶 組(2 0 3 )接收一使無效信號(2 2 2 ),自L 2記憶 組(2 0 4 )接收一使無效信號(2 2 3 ),自L 2記憶 組(2 0 5 )接收一使無效信號(2 2 4 )。每一其他的 L 1 快取記憶體(1 2 2 )、 ( 1 3 2 )、及(1 4 2 ) 自L 2記憶組(2 0 2 - 2 0 5 )接收類似的使無效信號 。然而,爲了顧及圖式的淸晰,圖1中並未示出這些額外 的使無效信號。 反向目錄 經濟部智慧財產局員工消費合作社印製 圖3示出L 2記憶組(2 0 2 )以及根據本發明一實 施例的一相關聯之反向目錄。L 2記憶組(2 0 2 )包含 一個八路組關聯式快取記憶體(3 0 4 ),用以儲存指令 及資料。位址的一部分係用來決定快取記憶體(3 0 4 ) 內的一組(列)。在一特定的組內,可將八個不同的資料 項儲存在八個不同的“路位置”中之每一路位置,其中係 由快取記憶體(3 0 4 )中的八行來代表這八個路位置。 反向目錄(3 0 2 )包含每一 L 1快取記憶體的一各 別區塊。更具體而言,區塊(3 1 2 )係與L 1快取記憶 體(1 1 2 )相關聯,區塊(3 2 2 )係與L 1快取記憶 體(1 2 2 )相關聯,區塊(3 3 2 )係與L 1快取記憶 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 44 564351 經濟部智慧財產局員工消費合作社印製 A7 _ B7___五、發明説明(作 體(1 3 2 )相關聯,且區塊(3 4 2 )係與L 1快取記 憶體(1 4 2 )相關聯。 請注意,每一這些區塊(312)、 (322)、( 3 3 2 )、及(3 4 2 )包含相關聯的L 1快取記憶體( 112)、 (122)、 (132)、及(142)中的 每一快取線之一資料項。此外,因爲係將L 1快取記憶體 (1 1 2 )組織成四路組關聯式快取記憶體,所以也以相 同的方式組織反向目錄(3 0 2 )內相關聯之區塊( 3 1 2 )。然而,L 1快取記憶體(1 1 2 )內的各資料 項包含資料及指令,而相關聯的區塊(3 1 2 )內之各資 料項包含用來指定快取記憶體(3 0 4 )內的該快取線的 一位置之索引資訊。 使無效信號 圖4示出一位址(4 0 0 )、及根據本發明一實施例 的一相關聯之使無效信號(4 3 0 )。 圖4之上方部分示出位址(4 0 0 ),該位址( 4 0 0 )指定記憶體內的一資料項目(指令)之位置。 L 1快取記憶體(1 1 2 )將該位址分成L 1標記( 4 1 2 )、L 1組編號(4 1 4 )、及L 1快取線偏移量 (4 1 8 ) 。L 1組編號(4 1 4 )係用來查詢該四路組 關聯式L 1快取記憶體(1 1 2 )之一特定組。L 1標記 (4 1 2 )係儲存在L 1快取記憶體(1 1 2 )中,且係 用來執行比較,以便實施每一組的四路組關聯式記憶體。 (請先閲讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4規格(210Χ297公釐〉 4^ 564351 A7 B7 五、發明説明( L 1快取線偏移量(4 1 8 )決定L 1快取記憶體( 1 1 2 )中的該快取線內的一特定資料項目之位置。 (請先閲讀背面之注意事項再填寫本頁) L 2快取記憶體(1 〇 6 )將位址(4 0 0 )分成 L 2標記(4 0 2 )、L 2組編號(4 0 4 )、L 2記憶 組編號(4 0 6 )、及L 2快取線偏移量(4 0 8 )。 L 2記憶組編號(4 0 6 )決定L 2快取記憶體(1 0 6 )的四個記憶組(2 0 2 — 2 0 5 )中之一特定的記憶組 。L 2組編號(4 0 4 )係用來查詢L 2快取記憶體( 1 0 6 )的八路組關聯式記憶組之一特定記憶組。L 2標 記(4 0 2 )係儲存在L 2快取記憶體(1 0 6 )的一特 定記憶組,且係用來執行比較,以便實施每一組的八路組 關聯式記憶體。L 2快取線偏移量(4 0 8 )決定L 2快 取記憶體(1 0 6 )中的該快取線內的一特定資料項目之 位置。 位址(4 0 0 )的對應的使無效信號(4 3 0 )包含 縮減的L 1組編號(4 2 4 )及L 1路編號(4 2 9 )。 縮減的L 1組編號(4 2 4 )包含並不具有L 2記憶組編 號(4 0 6 )的位元之L 1組編號(4 1 4 )。如圖5所 經濟部智慧財產局員工消費合作社印製 示,因爲係將每一使無效信號固定接線到L 2快取記憶體 (1 0 6 )的一對應的記憶組,所以可移除L 2記憶組編 號的該等位元,因而並不需要L 2記憶組編號(4 0 6 ) °L1路編號(429)包含一個兩位元的索引,用以在 L 1快取記憶體(1 1 2 )的該快取線之四個可能的路位 置中指定該快取線的一路(行)位置。 ---^6-- 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) 564351 經濟部智慧財產局員工消費合作社印製 A7 B7五、發明説明( 方挿务侗同時使無效作業之記憶體 圖5示出根據本發明一實施例而儲存L 1快取記憶體 (1 1 2 )內的快取線的有效位元之一記憶體的結構。該 記憶體包含多個記憶組(5 0 1 - 5 0 4 )、及用來接收 使無效信號(2 2 1 - 2 2 5 )的多個埠,其中每一使無 效信號係連接到記憶體的其本身之記憶組。更具體而言, 使無效信號(2 2 1 )係連接到旨2憶組(5 0 1 ),使無 效信號(2 2 2 )係連接到記憶組(5 0 2 ),使無效信 號(2 2 3 )係連接到記憶組(5 0 3 ),且使無效信號 (2 2 4 )係連接到記憶組(5 0 4 )。 亦請注意,係將每一這些記憶組分成四個“路”,以 便反映L 1快取記憶體(1 1 2 )的四路關聯式結構。因 此,每一使無效信號(22 1-225)的路編號( 4 2 9 )係與組編號(4 2 4 )分開,且將該組編號( 4 2 4 )傳送經過一解碼器,以便選擇一字元線。請注意 ,每一記憶組的資料項具有每一路的一各別之有效位元。 亦請注意,L 1路編號(4 2 9 )起動與一作業相關聯的 特定有效位元。 例如,係將使無效信號(2 2 1 )分成組編號( 511)及路編號(521)。路編號(521)係用來 選擇記憶組(5 0 1 )的一行,而組編號(5 1 1 )傳送 經過解碼器(5 3 1 ),以便啓動記憶組(5 0 1 )的一 字元線。 __Μ 本紙張尺度適用中國國家標準(CNS ) Α4規格(210 X 297公釐) (請先閲讀背面之注意事項再填寫本頁) 564351 A7 B7 五、發明説明(1)5 (請先閲讀背面之注意事項再填寫本頁) 請注意,該記憶體在右手端亦包含至少一個額外的捧 ,用以執行讀取或寫入作業,在此同時,在左手端正在進 行使無效作業。該埠接收一位址(5 4 1 ),該位址( 5 4 1 )傳送經過一解碼器(5 4 0 ),而該解碼器( 5 4 0 )跨越該記憶體的記憶組(5 0 1 - 5 0 4 )而選 擇一單一的字元線。 記憶單元結構 圖6示出根據本發明一實施例的圖5所示記憶體內的 一單一記憶單兀之結構。該記憶單兀自使無效ί阜接收一字 兀線(5 5 1 ),並自讀取/寫入璋接收一字元線( 5 5 2 )。請注意,有可能將該記憶單元連接到其他的埠 及相關聯的字元線。 啓動字元線(5 5 1 )時,將使該記憶單元連接到右 手端的接地點、及左手端的V D D。請注意,一使無效作業 不需要任何位元線,這是因爲一使無效作業必然將該記憶 元件設定爲一邏輯零値。亦請注意,由L 1路編號( 經濟部智慧財產局員工消費合作社印製 4 2 9 )決定的起動信號(6 3 0 )起動字元線(5 5 1 )之作業。 相反地,啓動字元線(5 5 2 )時,將使該記憶元件 連接到用來對該記憶元件進行讀取或寫入作業之差動式位 元線D+(601)及D — (602)。 髮L行同時使無效作業之程序 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 4^- 564351 A7 __B7 五、發明説明(1)6 圖7是根據本發明一實施例而同時使多個快取線無效 的程序之流程圖。在步驟(7 0 2 )中,當在L 1快取記 憶體(1 1 2)上接收多個使無效信號(22 1 — 225 )時,即開始本程序。回應這些多個使無效信號(2 2 1 一 225),該系統在步驟(704)中對圖5所示L1 快取記憶體(1 1 2 )的多個記憶組(5 0 1 — 5 〇 4 ) 執行同時使無效作業。請注意,在步驟(7 0 6 )中,可 經由各別的讀取/寫入埠對該記憶體執行讀取/寫入,並 同時進行這些同時使無效作業。 只是爲了例示及說明,而提供前文中對本發明各實施 例之說明。這些說明並不具有耗盡性,也不會將本發明限 於揭示的形式。因此,熟習此項技藝者將可易於作出許多 修改及變化。此外,前文揭示事項之目的並非對本發明加 以限制。係由最後的申請專利範圍界定本發明之範圍。 —---·--^---裝-- (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐)

Claims (1)

  1. 564351 A8 B8 C8 D8 經濟部智慧財產局員工消費合作社印製 >、申請專利範圍 1 1 · 一種支援在相同週期內使多個快取線無效之多處 理器系統,包含: 複數個處理器; 一較低階快取記憶體,其組態被設定成支援多個同時 作; 複數個較高階快取記憶體,連接到該等複數個處理器 ,其中,該等複數個較高階快取記憶體之組態被設定成經 由該較低階快取記憶體而執行記憶體存取;以及 其中,每一該等複數個較高階快取記憶體之組態被設 定成支援對該較高階快取記憶體內的快取線執行多個同時 使無效作業。 2 ·如申請專利範圍第1項之多處理器系統,其中, 該較低階快取記憶體包含可平行存取的複數個記憶組,用 以支援多個同時作業。 3 ·如申請專利範圍第2項之多處理器系統,另包含 一開關,該開關之組態被設定成將該較低階快取記憶體的 該等複數個記憶組連接到該等複數個較高階快取記憶體。 4 ·如申請專利範圍第2項之多處理器系統, 其中,一特定較高階快取記憶體中之每一快取線包含 一可用來使該快取線無效的有效位元; 其中,該特定較高階快取記憶體的該等有效位元係存 放在一記憶體中,且係.將該記憶體組織成與該較低階快取 記憶體的該等複數個記憶組相關聯之複數個記憶組;以及 其中,係將存有有效位元的每一記憶組固定接線到該 (請先閱讀背面之注意事項再填寫本頁) 嘻. 订填寫太 訂 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) -20- 564351 Α8 Β8 C8 D8 六、申請專利範圍 2 較低階快取記憶體的一相關聯之記憶組,因而該特定的較 高階快取記憶體可自該較低階快取記憶體接收多個同時使 無效信號。 5 .如申請專利範圍第4項之多處理器系統,其中, 存有有效位元的每一記憶組包含一第一埠及一第二埠,其 中’該第一埠可用來讀取或寫入該記憶組中的一第一位置 ,而該第二埠係用來使該記憶組中的一第二位置無效。 6 .如申請專利範圍第5項之多處理器系統,其中, 該第二埠的一字元線使一記憶元件重定,而並不將該記憶 元件連接到一對應的位元線。 7 ·如申請專利範圍第5項之多處理器系統, 其中,存有有效位元的每一記憶組其含其本身的解碼 器,用以選擇該記憶組的第二ί阜之一字元線;以及 其中,該等複數個記憶組共用一單一的解碼器,用以 選擇跨越該等記憶組的該等第一埠之一單一字元線。 8 _如申請專利範圍第1項之多處理器系統,其中, 一特定的較高階快取記憶體所接收的一特定的使無效信號 包含: 該特定的較高階快取記憶體中將要使無效的一快取線 之一組位置;以及 該特定的較高階快取記憶體中將要使無效的該快取線 之一路位置。 9 .如申請專利範圍第1項之多處理器系統,其中, 該多處理器系統係位於一半導體單晶片中。 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂 經濟部智慧財產局員工消費合作社印製 -21 - 564351 A8 B8 C8 D8 經濟部智慧財產局員工消費合作社印製 夂、申請專利範圍 3 1 0 ·如申請專利範圍第1項之多處理器系統, 其中’該較低階快取記憶體是一 L 2快取記憶體;以 及 其中,每一該等複數個較高階快取記憶體是一 L 1快 取記憶體。 1 1 ·如申請專利範圍第1項之多處理器系統,其中 ’係將該等複數個較高階快取記憶體組織成即時寫回式快 取記憶體,因而係將對該等複數個較高階快取記憶體的更 新立即寫回到該較低階快取記憶體。 1 2 _ —種支援在相同週期內使多個快取線無效之快 取記憶體,包含: 複數個快取線,用以儲存程式碼及(或)資料, 其中,每一快取線包含一可用來使該快取線無效的一 有效位元;以及 一記憶體,用以儲存被組織化成複數個記憶組之該等 複數個快取線之有效位元, 其中,每一記憶組接收其本身的使無效信號,因而可 平行進行多個使無效作業。 1 3 ·如申請專利範圍第1 2項之快取記憶體,其中 ,每一記憶組包含一第一埠及一第二埠,其中,該第一埠 可用來讀取或寫入該記憶組中的一第一位置,而該第二埠 係用來使該記憶組中的一第二位置無效。 1 4 .如申請專利範圍第1 3項之快取記憶體,其中 ,該第二埠的一字元線使一記憶元件重定,而並不將該記 :---Ί---- (請先閲讀背面之注意事項再填寫本頁) 、1T f 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) -22- 564351 A8 B8 C8 D8 六、申請專利範圍 4 憶元件連接到一位元線。 1 5 .如申請專利範圍第1 2項之快取記憶體,其中 ,該快取記憶體是一自一 L 2快取記憶體接收使無效信號 之L 1快取記憶體。 1 6 .如申請專利範圍第1 5項之快取記憶體, 其中,該L 2快取記憶體包含可平行存取的複數個L 2記憶組,用以支援多個同時作業;以及 係將存有有效位元的每一記憶組固定接線到一相關聯 的L 2記憶組,因而該L 1快取記憶體可自該L 2快取記 憶體接收多個同時使無效信號。 1 7 .如申請專利範圍第1 2項之快取記憶體, 其中,存有有效位元的每一記憶組其含其本身的解碼 器,用以選擇該記憶組的第二埠之一字元線;以及 其中該等複數個記憶組共用一單一的解碼器,用以選 擇跨越該等記憶組的該等第一埠之一單一字元線。 1 8 ·如申請專利範圍第1 2項之快取記憶體,其中 ,該快取記憶體所接收的一特定的使無效信號包含: 該快取記憶體中將要使無效的一快取線之一組位置; 以及 該快取記憶體中將要使無效的該快取線之一路位置。 1 9 · 一種執行在相同週期內使多個快取線無效之方 法,其中,係在一系統中操作該方法,該系統包含複數個 處理器、一較低階快取記憶體、及連接到該等複數個處理 器的複數個較高階快取記憶體,其中,該等複數個較高階 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) I ϋ I I n n J— ϋ I I (請先聞讀背面之注意事項真填寫本頁) 訂 經濟部智慧財產局員工消費合作社印製 -23- 564351 A8 B8 C8 D8 六、申請專利範圍 5 快取記憶體之組態被設定成經由該較低階快取記憶體而執 行記憶體存取,該方法包含下列步驟: 在一較高階快取記憶體上自該較低階快取記憶體接收 多個使無效信號,其中,在該較低階快取記憶體上的多個 同時作業引發該等多個使無效信號;以及 同時執行多個使無效作業,以便同時使該較低階快取 記憶體中的多個資料項無效。 2 〇 ·如申請專利範圍第1 9項之方法,其中,該較 低階快取記憶體包含可平行存取的複數個記憶組,用以支 援多個周時作業。 2 1 .如申請專利範圍第2 0項之方法, 其中,該較高階快取記憶體中之每一快取線包含一可 用來使該快取線無效的有效位元; 其中,該較高階快取記憶體的該等有效位元係存放在 一記憶體中,且係將該記憶體組織成與該較低階快取記憶 體的該等複數個記憶組相關聯之複數個記憶組;以及 其中,係將存有有效位元的每一記憶組固定接線到該 較低階快取記憶體的一相關聯之記憶組,因而該較高階快 取記憶體可自該較低階快取記憶體接收多個同時使無效信 號。 2 2 .如申請專利範圍第2 1項之方法,另包含下列 步驟:對該較高階快取記憶體執行讀取或寫入作業,同時 對該較高階快取記憶體執行多個使無效作業。 2 3 .如申請專利範圍第1 9項之方法,其中,執行 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ' (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部智慧財產局員工消費合作社印製 -24- 564351 A8 B8 C8 D8 六、申請專利範圍 6 一使無效作業涉及:觸發一記憶元件中使該記憶元件重定 的一字元線,而並不將該記憶元件連接到一位元線。 2 4 .如申請專利範圍第1 9項之方法,其中,接收 一使無效信號涉及接收: 該較高階快取記憶體中將要使無效的一快取線之一組 位置;以及 該較高階快取記憶體中將要使無效的該快取線之一路 位置。 2 5 ·如申請專利範圍第1 9項之方法, 其中,該較低階快取記憶體是一 L 2快取記憶體;以 及 其中,每一該等複數個較高階快取記憶體是一 L 1快 取記憶體。 2 6 .如申請專利範圍第1 9項之方法,其中,係將 該等複數個較高階快取記憶體組織成即時寫回式快取記憶 體,因而係將對該等複數個較高階快取記憶體的更新立即 寫回到該較低階快取記憶體。 (請先閲讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) -25-
TW091106190A 2001-04-11 2002-03-28 Method and apparatus for supporting multiple cache line invalidations per cycle TW564351B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28325201P 2001-04-11 2001-04-11
US10/061,493 US6701417B2 (en) 2001-04-11 2002-01-31 Method and apparatus for supporting multiple cache line invalidations per cycle

Publications (1)

Publication Number Publication Date
TW564351B true TW564351B (en) 2003-12-01

Family

ID=26741128

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091106190A TW564351B (en) 2001-04-11 2002-03-28 Method and apparatus for supporting multiple cache line invalidations per cycle

Country Status (7)

Country Link
US (1) US6701417B2 (zh)
EP (1) EP1377908B1 (zh)
JP (1) JP4041402B2 (zh)
KR (1) KR100828869B1 (zh)
DE (1) DE60204676T2 (zh)
TW (1) TW564351B (zh)
WO (1) WO2002084494A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100685095B1 (ko) * 2001-10-22 2007-02-22 엘지전자 주식회사 도킹 시스템과의 버스 연결을 위한 본체 시스템 및 그제어 방법
US6834327B2 (en) * 2002-02-08 2004-12-21 Hewlett-Packard Development Company, L.P. Multilevel cache system having unified cache tag memory
US6813694B2 (en) * 2002-08-08 2004-11-02 International Business Machines Corporation Local invalidation buses for a highly scalable shared cache memory hierarchy
US6826654B2 (en) * 2002-08-08 2004-11-30 International Business Machines Corporation Cache invalidation bus for a highly scalable shared cache memory hierarchy
US6826655B2 (en) * 2002-08-08 2004-11-30 International Business Machines Corporation Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
US7669009B2 (en) * 2004-09-23 2010-02-23 Intel Corporation Method and apparatus for run-ahead victim selection to reduce undesirable replacement behavior in inclusive caches
US7308557B2 (en) * 2005-02-09 2007-12-11 International Business Machines Corporation Method and apparatus for invalidating entries within a translation control entry (TCE) cache
US20070011667A1 (en) * 2005-05-25 2007-01-11 Saravanan Subbiah Lock management for clustered virtual machines
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US10387314B2 (en) * 2015-08-25 2019-08-20 Oracle International Corporation Reducing cache coherence directory bandwidth by aggregating victimization requests
US9720834B2 (en) * 2015-12-11 2017-08-01 Oracle International Corporation Power saving for reverse directory
US10262721B2 (en) * 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US10102000B2 (en) * 2016-04-01 2018-10-16 Intel Corporation Apparatus and method for non-serializing split locks
US11556477B2 (en) * 2018-06-15 2023-01-17 Arteris, Inc. System and method for configurable cache IP with flushable address range
US11947456B2 (en) * 2021-09-30 2024-04-02 Advanced Micro Devices, Inc. Weak cache line invalidation requests for speculatively executing instructions

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512117A (ja) 1991-07-04 1993-01-22 Toshiba Corp キヤツシユ一致化方式
US5553263A (en) 1993-07-16 1996-09-03 Unisys Corporation Cache memory system with fault tolerance having concurrently operational cache controllers processing disjoint groups of memory
US5530832A (en) * 1993-10-14 1996-06-25 International Business Machines Corporation System and method for practicing essential inclusion in a multiprocessor and cache hierarchy
JP3872118B2 (ja) 1995-03-20 2007-01-24 富士通株式会社 キャッシュコヒーレンス装置
JPH1153260A (ja) 1997-08-06 1999-02-26 Nec Corp キャッシュメモリー内蔵半導体装置
US6122709A (en) 1997-12-19 2000-09-19 Sun Microsystems, Inc. Cache with reduced tag information storage
US6178484B1 (en) 1998-02-17 2001-01-23 International Business Machines Corporation DCBST with ICBI mechanism to maintain coherency of bifurcated data and instruction caches
US6151655A (en) * 1998-04-30 2000-11-21 International Business Machines Corporation Computer system deadlock request resolution using timed pulses
US6349363B2 (en) * 1998-12-08 2002-02-19 Intel Corporation Multi-section cache with different attributes for each section
US6338119B1 (en) * 1999-03-31 2002-01-08 International Business Machines Corporation Method and apparatus with page buffer and I/O page kill definition for improved DMA and L1/L2 cache performance
US6725334B2 (en) * 2000-06-09 2004-04-20 Hewlett-Packard Development Company, L.P. Method and system for exclusive two-level caching in a chip-multiprocessor

Also Published As

Publication number Publication date
US6701417B2 (en) 2004-03-02
JP2004528647A (ja) 2004-09-16
WO2002084494A2 (en) 2002-10-24
EP1377908B1 (en) 2005-06-15
KR100828869B1 (ko) 2008-05-09
DE60204676D1 (de) 2005-07-21
JP4041402B2 (ja) 2008-01-30
US20020152359A1 (en) 2002-10-17
KR20040032095A (ko) 2004-04-14
WO2002084494A3 (en) 2003-03-20
EP1377908A2 (en) 2004-01-07
DE60204676T2 (de) 2006-05-11

Similar Documents

Publication Publication Date Title
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US6704841B2 (en) Method and apparatus for facilitating speculative stores in a multiprocessor system
US6571322B2 (en) Multiprocessor computer system with sectored cache line mechanism for cache intervention
TW564351B (en) Method and apparatus for supporting multiple cache line invalidations per cycle
US6721855B2 (en) Using an L2 directory to facilitate speculative loads in a multiprocessor system
US6718839B2 (en) Method and apparatus for facilitating speculative loads in a multiprocessor system
JPH036757A (ja) ライトバツクデータキヤツシユメモリ装置
JP2000010860A (ja) キャッシュメモリ制御回路及びプロセッサ及びプロセッサシステム及び並列プロセッサシステム
KR20030024895A (ko) 캐시 코히어런트 멀티-프로세서 시스템에서 순서화된입출력 트랜잭션을 파이프라이닝하기 위한 방법 및 장치
JP2004054931A (ja) 分散メモリマルチプロセッサシステムにおけるメモリ移行のためのシステムおよび方法
US5515522A (en) Coherence index generation for use by an input/output adapter located outside of the processor to detect whether the updated version of data resides within the cache
US8347034B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US6684297B2 (en) Reverse directory for facilitating accesses involving a lower-level cache
KR100380674B1 (ko) 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템
JP2002116954A (ja) キャッシュシステム
US6484241B2 (en) Multiprocessor computer system with sectored cache line system bus protocol mechanism
US6553462B2 (en) Multiprocessor computer system with sectored cache line mechanism for load and store operations
EP0271187B1 (en) Split instruction and operand cache management
JPH05210639A (ja) 複数キャッシュメモリ型式を含む多重プロセッサコンピューターシステム
JPH09160892A (ja) データ変更要求を処理するための方法及びシステム
JPH05274222A (ja) キャッシュ一致化方式

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MK4A Expiration of patent term of an invention patent