TWI307476B - Cache memory subsystem capable of executing multiple accesses per cycle, microprocessor, and related computer system - Google Patents

Cache memory subsystem capable of executing multiple accesses per cycle, microprocessor, and related computer system Download PDF

Info

Publication number
TWI307476B
TWI307476B TW092132238A TW92132238A TWI307476B TW I307476 B TWI307476 B TW I307476B TW 092132238 A TW092132238 A TW 092132238A TW 92132238 A TW92132238 A TW 92132238A TW I307476 B TWI307476 B TW I307476B
Authority
TW
Taiwan
Prior art keywords
cache
aforementioned
block
request
access
Prior art date
Application number
TW092132238A
Other languages
English (en)
Other versions
TW200417913A (en
Inventor
Mitchell Alsup
Original Assignee
Advanced Micro Devices 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
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of TW200417913A publication Critical patent/TW200417913A/zh
Application granted granted Critical
Publication of TWI307476B publication Critical patent/TWI307476B/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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

1307476 坎、發明說明 【發明所屬之技術領域】 本發明與微處理器領域有關,更具體而言,係指微處 理器内部的快取記憶體管理。 【先前技術】 典型的電腦系統可能包含一個或多個微處理器,而這 些微處理器可能連接一個或多個的系統記憶體。這些微處 理ι§可以執行程式並對儲存於系統記憶體内的資料作運 算’主’艺'文中所用的術語”處理器(p r 〇 c e s s 〇 r) ”係與微處理 盗(miCroprocess〇r)同義。為了使指令和資料的提取和儲 存更便利’處理器通常採用某種形式的記憶體系統。此外, 為了加速系統記憶體的存取動作,記憶體系統可能包含一 個或多個快取記憶體。例如:有些微處理器可能具備有一 層或多層的快取記憶體。在典型的微處理器中會使用第一 層快取(LI cache)和第二層快取(L2 cache),而某些新的處 里也了把使用第二層快取(L3 cache)。許多舊型的處理器 會把第一層快取建構在晶片内而將第二層快取則建構在晶 片外。但疋,為了進一步改善記憶體的存取時間,新的處 理器會在晶片内建構第二層快取。 一般而言,第二層快取會比第一層快取具有更大的容 量但速度則較慢。此外,第:層快取通常將指令快取和資 ;斗正5成單陕取δ己憶體,而第一層快取則可能架構成分 開的指令快取和資料快取。第一層資料快取用來保存在微 處理器執行程式時最近所讀取或寫入的資料。第一層指令 92479 5 1307476 快取的作用類似第一層資料快取,但它是保存最近執行的 指令。必須注意的是為方便起見,將第一層指令快取和第 一層貧料快取簡稱為第一層快取◦第二層快取則用來保存 不適用於第一層快取的指令和資料。第二層快取可以是獨 有的(例如:它儲存第一層快取所沒有的資料)或是包含 的(例如:它儲存第一層快取的資料備份)。 記憶體系統一般採用某種形式的快取關連機制(cache coherence mechanism)以確保將正確資料提供給要求者。快 取關連機制一般使用在單一要求内所傳送資料的大小作為 關連的單位。此連貫的單位通常稱為快取列(cache Une)。 例如:有些處理器使用64位元組的快取列,而其他的處理 器則使用32位元組的快取列。還有其他的處理器採用其他 位元組數的快取列。如果在第一層快取和第二層快取找不 到某個要求的字it,即使是僅要求-個字丨,那整個多字 几的快取列將從主記憶體轉移到第一層和第二層快取。同 樣地’如果對―個字元的要求在第-層快取得不到,但卻 可在第二層快取完全得到,則整個包含要求字組之第二層 快取列將從第二層快取轉移到第—層快取。因&,小於相 對應的快取列的要求的資料單位可能導致整個快取列在第 二層快取和第一層快取之間轉移。這種轉移動作通常需要 許多個週期才能完成。 在讀取或寫入可快取的記憶體期間,首先檢查第一層 快=是否可提供要求的資訊(例如:指令或資料)。若可^ J貝。孔#為命中’若無法得到資訊即為誤失。若產生誤 92479 6 1307476 失,則檢查第二層快取。因此,當第一層快取發生誤失而 在第二層快取内命中時,這些資訊將由第二層快取轉移到 層快取。如下所述,第二層快取和第一層快取之間的 資訊轉移量通常是一個快取列。此外’依據第一層快取可 使用的空間,τ以從第一層快取中逐出一個快取列以便騰 出空間作為新的快取列,並可將逐出的快取列接著儲存在 第二層快取。近代的處理器可藉由執行多次的資料轉移以 便達到快取資料轉移的最佳化。某些傳統的處理器,在這 些快取列、交換、期間無法處理第—層快取和第二層快 取的其他存取動作。 本發明提出包含有用以支持每週多次存取之第二層快 取記憶體之微處理器的各種實施例。在一實施例中,:處 理器包含有連接快取記憶體子系統的執行單元,此子系統 ^含有連接複數個匯流排的快取記憶體。快取記憶體包含 硬數個可獨立存取的儲存區塊。可將這些匯流排連接成可 專、複數個快取存取要求至各個儲存區塊以因應在複數個 取匯流排中傳送複數個快取存取要求,τ㈣存取不同 的儲存區塊。 在-實施例中,快取記憶體可包含複數個可獨立存取 的方示籤單元(tag unit),這此ρ β 二铋戴早兀疋連接到複數個儲存 區塊建構成儲存複數個包含 ι 3诅址如戴值的標籤。因應所接
收的複數個快取存取要I 籤單元。 要求將可同柃存取不同的複數個標 貫*例中複數個儲存區塊的每一個均包含複數 92479 7 1307476 個可獨立存取的儲存子 不同儲存區塊相關聯的 依序存取任意兩個與相 【實施方式】 現在參考第1圖, 施例方塊圖。將微處理 體(沒有顯示)的指令 憶體的資料做運算。必 分布在整個電腦系統, 100等之微處理器存取 配備有x86架構之微處 器。然而,包含其他形 慮的。 區塊。故可以同時存取任意兩個與 子區塊,另外,可以在連續的週期 同儲存區塊相關聯的子區塊。 圖中係顯示微處理器範例丨〇〇的實 器100建構成執行儲存在系統記憶 。這些指令很多會對儲存在系統記 須注意的是系統記憶體實際上可能 且可以由一個或多個如微處理器 。在一實施例中’微處理器100是 理器範例,例如AthlonTM微處理 式的微處理器的實施例亦是可以考 在所列舉的實施例中,微處理器i 〇〇包含第一個第— 層快取和第二個第-層快取:即—個指令快取⑻A和— 個資料快取10 1B。依據其應用,第一層快取可以是整合在 -起的的快取或是分開的快取。為方便起見,不論是:種 情形,於適當的地方,指令快取1〇1A和資料快取1〇13將 整體視為第一層快取。微處理器i 〇〇亦包含有一個預先解 碼單兀102 (pre-decode unit)和分支預測邏輯1〇3 (branch prediction l〇gic)可和指令快取1〇1八密切連接。微處理器 100也包含連接到指令解碼器1〇4 (instructi〇n decoder)之 提取與解碼控制單元1〇5 (fetch and dee()de⑶价⑺! unit)。此兩者都連接到指令快取1〇1A。指令控制單元ι〇6 8 92479 1307476 (instruction control unit)i查姑 u at 八 ^ 連接到扎令解碼器1 〇4以便由此 接收指令再將運算發送到排序器Η”-—。排序器 11 8疋連接到‘令控制單元丨〇6並由此接收運算再將運算 發送到執行單元124(似邮—)。執行單元124包含 個載入/儲存單7C 126(i〇ad/st〇reunit),將裝置建構成執 行資料快取UHB的存取動作。由執行單元124所產生的 結果可用來作為其後的指令的運算元值,並且/或儲存到暫 存器檔(沒有顯示)。再者,微處理器1〇〇包含一個内建於 晶片的第二層快取13〇,連接在指令快取1()ia、資料快取 1 01B和系統記憶體之間。 才曰i决取1 〇 1A可健存執行前的指令。與指令快取 101A相關的功能有指令提取(讀)、指令預先提取、指令 預先解碼和分支預測。指令碼可以透過匯流排介面單元 1/0 (bus interface unit)從系統記憶體預先提取程式碼,或 是如同接著要洋細說明的方法,由第二層快取13 0取得以 提供至指令快取101A。指令快取101A可以用各種架構實 現(例如.集合相關(set_ass〇ciative)、完全相關(fully_ associative)或直接對應(direct_mapping))。在一個實施例 中,將指令快取1 〇丨A建構成儲存複數個快取列,其中在 才曰々陕取1 〇 1A之給定快取列内的位元組數目是由其應用 决疋的。再者’在另一個實施例中,指令快取1 0 1A是由 靜 ^隨機存取記憶體(static random access memory,SRAM) 實現’儘管如此,包含其他記憶體形式的實施例也是可以 考慮的。必須注意的是在一實施例中,可以將控制電路(沒 92479 9 1307476 有顯示)包含在指令伊 寫、取代和關= 内’用來控制快取列的填 運算Lt解碼器1G4建構成將指令解碼為各種運算,這些
'、用料在晶片上常稱為微指令唯讀記憶體 (microc〇de R〇M,MR 式門扭唯項圮憶體内的運算,以直接 成間接解碼的方式得到。 令解碼成執行單元丨心可以將特定的指 攻執仃早兀124内部可執行 對應到單一運笪。卢兮^ — 异間早的指令可 應到複數個運算。 ^ &複雜的心令可能對 指令控制單元1G6可以控制到執行單元 發运。在一實施例中,指 的連异之 序镑徐吳/ 7控制皁兀106可以包含重新排 斤緩衝器(reorder buffer、,田七, .,, 用來保留由指令解碼器1 〇4 Μ 收到的運算。再者,指 _ W 104接 的撤回。 ^制早兀1〇6可建構成控制運算 在指令控制單元1〇6輸出 依指定踗僻楂、、’以上 权仏的運异和立即貢料可 疋路仅傳达到排序器丨丨8。 多個排序器單元(例如 。 W個或 _ , 整數排序器單元和浮點排序i 疋)。值得注意的是在此所提的 3 排序盗单 偵測何時運算已铿準備 疋 、,其可以 m南 、工準備就序且將已就序之運算傳送給—個 或多個處理單元。例如: . 個 stationm-
-10, 排序益118均能為等待傳送到執行I 兀124之複數個未執行保 j執仃早 執行位开;、w μ ^ 异貝讯(例如.位元編碼的 轨仃位70和運异元數值、 妁 在某些實施例中,各排序:: 或立即資料^ 排序15 118可能無法提供運算元數值 92479 10 1307476 =1:和序器卻可以監控在暫存器槽案内以已發送 緒,可:勃j的結果’以決定何時運算元數值準備就 4丁單兀124讀取。在某些實施例中,每-個排 序器118會對岸於—柄击j 會十應力個專用的執行單元m。而在其他的 貝紅例中,一個排庠哭 行單元124。 D D以發送運算到-個以上的執 在一實施例中,勃&留-,β 如:整數執行單- 了早7" 124包含-個執行單元,例 ,、他的實粑例中,微處理器100 疋個超純量(superscalar)處理器,在這種情況 124可能包含複數個勃 β _ 執订早疋 元(沒有顧”、 凡(例如:複數個整數執行單 旋轉:邏輯:算用以執行加法和減法等算術運算 '移位、 運算單元(沒有顯示)以提供浮點運算。:更 個或更多的執行單元建構成執行了將- :於將㈣入/儲存單—和儲存係 料快=:=: =在執行單元124” 可建構成载入/儲存緩衝器(沒;载錯存單元… 數個儲存空間可用於儲存尚未執;之、載緩衝器具有複 要的資料和位址資訊。載入/ ^錯存動作所需 :的指令和最近存入的指令執行相::二也, 連貫性得以持續。 杈查以確保資料的 資料快取⑻B是用來儲存在 两仔早7L 126和系 92479 11 1307476 統記憶體間轉移的資料之快取記憶體。類似上述的指令快 取1 0 1A,資料快取1 0 1B可以各種特定的記憶體架構實 現,例如集合相關架構。在一實施例資料快取1〇1Β和指 令快取1 0 1 A是以不同的快取單元實現。儘管如上述,仍 可考慮替代的實施例’亦即將資料快取1 0 1B和指令快取 1 0 1A整合成單一個單元。在一實施例中,資料快取】〇 i B 可儲存複數個快取列’在此,於資料快取1 〇丨B給定快取 列内之位元組數目是由應用決定。類似指令快取1〇ι A,在 一實施例中,資料快取101B是以靜態隨機存取記憶體 (SRAM)實現,儘管如此,在其他實施例中其他形式記憶體 是可以預期的。必須注意的是有一種實施例可以將控制電 路(沒有顯示)包含在資料快取1〇1W,用來控制快取 列的填寫、取代和關聯性。 ^二層快取13G也是-㈣取記憶體且可建構成儲存 =及/或貧料。在所顯示的實施例中,第二層快取咖可 以疋内建於晶片的快取而且可建 ^ ^ ^ . 再战相關、集合相關 或兩者組合的形式。在一實 士 V 昂—滑快取13 〇可搜 存複數個快取列。必須注意 了儲 加在丨+ a / 昂一層快取130可包今古 控制電路(沒有顯示在第丄圖 5有 寫、取代和關聯性。 用來控制快取列的填 將在下文中參考第4圖進行更 例中’第二層快取13〇的一;:的說明’在-實施 的主要快取儲存陣列部分)T以非同牛的::層快取130 二層快取130的另外-部分(例Μ二:存取’而第 對應於主要陣列的第 92479 12 1307476 二層快取130標籤陣列)可以同步和全管線的方式存取。 此外,將主要儲存陣列格排列成複數個可獨立存取的儲存 區塊或記憶單元,其可以和其他的儲存區塊同時存取。 匯流排介面單元140可建構成在系統記憶體和第二層 快取130之間以及在系統記憶體、第一層指令快取a 和第一層資料快取101B之間轉移指令和資料。在一實施 例中,匯流排介面單元140包含有緩衝器(沒有顯示),用 於在執行寫入週期資料串流時緩衝寫入處理。 參考第2圖,圖中係顯示第丨圖之微處理器快取子系 統的實施例方塊圖。快取子系統2〇〇包含有快取記憶體, 此記憶體包含有與標籤陣列210連接之主要儲存陣列 220。再者,快取子系統2〇〇也包含有快取控制23〇,其透 過標示為快取匯流排240的複數個匯流排連接到標籤陣列 21〇。在一實施例中,將主要儲存陣列220和標籤陣列2ι〇 應用在第二層快取子系統,例如:在第丨圖中的第二層快 取130。然而,必須注意在其他的實施例中,主要儲存陣 列220和標籤陣列21〇亦可應用在任何的快取子系統中。 主要儲存陣列220包含有複數個排列成可獨立存取之 儲存區塊的§己憶單元。在所顯示的實施例中,這些儲存區 塊破標示為220A-220N,其中N可以是任意的區塊數。在 —實施例中’這種儲存區塊可以有八個,雖然,在其他的 實施例中,其他的區塊數目亦是可以預期的。此外,每一 個儲存區塊220 A-N包含有四個可獨立存取的子區塊,其 標示為子區塊0-3。必須注意的是雖然每一個儲存區塊 92479 13 1307476 =0_八屮包含有四個這類的子區塊,但在其他的實施例中, 二個儲存區塊22GA_N包含有其他的子區塊數目是 預期的。 標籤陣列210是建構成儲存快取列標籤資訊的儲存陣 在舌己憶體要求期間,標籤上的位址資訊將用來決定是 包:給定的資料片段出現在快取中。例如:一記憶體要求 =3所要求資料之位址。在標籤陣列21G内的比較邏輯(沒 2顯不)會對要求位址和儲存在標籤陣列210的標籤單元 ^ N内的母個標籤位址資訊作比較。如果要求位址和與 :軚籤相關之位址吻合,則顯示如上所描述之命中。如果 有勿口的橾籤則顯示誤失。將標籤陣列2丨〇排列成複數 —τ籤單元,標不為21 0A-2 1 0N,其中N是任意的標籤單 ^ 母個‘籤單元2 1 0A-N對應一個可獨立存取的儲存 :鬼並且可包含複數個標籤元件。例如:在所顯示的實 苑例中,標籤單元2 1 0A對應到儲存區塊220A。此外,在 、··。疋‘籤單元内的母個標籤元件均對應到在給定儲存區塊 内的所有儲存子區塊。儲存在儲存陣列22〇之資料片段的 位址有部分會儲存在標籤項目中。位址的其他部分可以 疋在儲存陣列2 2 0内欲存取的位置(即子區塊)。快取列 可儲存在給疋的儲存區塊内,所以快取列可延伸到所有四 個儲存子區塊。例如:在所顯示的實施例中,快取列 的儲存將遍及儲存區塊22〇A的儲存子區塊〇_3,其中每個 子區塊内儲存一個子列(sub_line)。 快取控制23〇包含有一個或多個要求佇列231 (queues) 14 92479 1307476 和控制邏輯(沒有顯示),建構成儲存接收到的快取要求並 選擇和排程將傳送至快取匯流排24〇之快取要求。要求佇 列231可針對接收到的快取要求(如下所述)的來源及/ 或形式而回應。在一實施例巾,當在^圖中的第一層指 令快取101A或第一層資料快取1〇1B發生快取誤失時,快 取控制230可以接收來自這些來源的要求。再者,快取控 制咖也可接收來自匯流排介面軍元14〇或來自另一個處 器(/又有員示)以窺探要求(sn〇〇p request)形式顯示的要 求。 一般而s,快取要求出現的形式可以是讀取要求、寫 入要求或更新要求。在所顯示的實施例中,為了考慮這些 要求,快取匯流排240包含一個讀取匯流排R、一個寫入 匯流排w和-個更新匯流排U。雖然如此,包含任意數目 之各種匯流排的其他實施例是可以預期的。例如··額外的 匯流排(如點線所示)也可以使用在其他的實施例中。快 取控制230透過快取匯流排24()而連接至標籤陣列21〇和 主要儲存陣列220。讀取匯流排R和寫入匯流排w直達連 接至主要儲存陣列22〇,而更新匯流排則僅連接到標籤陣 歹J 2 1 0。在一實施例中,R匯流排可包含有訊號路徑用於 傳送位址和控制資訊到標籤陣列21〇和主要儲存陣列 220,及傳送來自主要儲存陣列22〇之資料。%匯流排包 3有讯號路徑用於傳送位址和控制資訊到標籤陣列2丨〇和 主要儲存陣列220 ’及傳送資料到主要儲存陣列22〇。u匯 流排包含有傳送位址和控制資訊到標籤陣列21〇的訊號路 92479 15 1307476 徑。 在一實施例中,更新快取可修改給定標籤單元(如標 籤單元210)之標籤元件内的資訊。這些資訊可包含有更 改特定快取列的狀態。例如:在—實施例中,記憶體子系 統可以利用修正的、自有的、專用的、分享的、無效的、 (MOESI)等統-的協定。在此種實施例中要求者把新的 快取列狀態寫到標籤陣列210而不需要變更儲存在主要儲 存陣列220相對應位置上的資料。當快取列讀取要求在標 籤陣列210内命中時,將使儲存在主要儲存陣列22〇相= 應位置上的貧料經由讀取匯流排R傳送。同樣地,當快取 列寫入要求在標籤陣列21〇内命中時,將使寫入資料經由 寫入匯流排W傳送並寫入主要儲存陣列220。 如上所述,每一標籤單元210A-N和每一儲存區塊 22〇A_N都是可獨立存取的。此外,因為快取匯流排24〇 的R、w和u匯流排是連接到各標籤單元210a_n,且R 和w匯流排是連接到各儲存區塊22〇a_n,其是根據快取 要求的形式(例如:讀取、寫入或更新)而決定,標籤單 兀210A-N和儲存區塊22〇A_N可以同時存取(例如:在相 同的週期)。因此在所顯示的實施例中,多達三種對不同標 籤單7L的獨立存取要求可以同時服務。例如:對標籤單元 210B的讀取要求可以和標籤單元21〇A的寫入要求同時服 務’也可以和標籤單元21 0C的更新要求同時服務。值得 注意的是在—實施例中,會有更多的匯流排連接到標籤單 兀21〇和儲存區塊220 ,故預期會有愈多的要求可以同時 92479 16 1307476 服務。 、士可為每個標鐵單元21〇A_N指定一個唯一的位址值。 :唯的位址值對應於一位址的一部分且可視為該位址之 品彳元的邛知。當進入要求所包含的位址值之區塊位 7G正好與一給定標籤單元之唯一指定值吻合時,這個要求 就是針對該標籤單元。在一實施例中,每個標藏單元 顧-N都能監控快取匯流排24〇的卜…匯流排。 右在給定的週期有複數個要求出現(如R、w和U)在快 取匯机排240的R、w和u匯流排且有兩個或更多的要求 是針對相同的標籤單元時,該標籤單元可在那個週期選擇 個要求。該標籤單元的其他要求在那個週期將被拒絕。 …i而’被拒絕的衝穿i七 衡大要求可在接續的週期被選取。在一 知例中’標臧單元選擇邏短f、、/7古_、 、 揮題輯Ο又有顯不)可依據更新需求 八有最向優先權,里次為靖 $ 八〃、讀取,再其^人為寫入的順序選取 / /值得注意的是可以預期在其他的實施例中,若在給
的週期内有複數個要求出現在快取匯流排謂的R、W 和U匯流排且有兩個弗承炙 —更夕的要求疋針對相同的標籤單元 時’可以使用不同的優先權選擇讀取、寫入和更新要求。 如上所ϋ快取控制230包含有一個或更多的要求 列231用於儲存即將輸入的快取要求。在一實施例中,快 取控制2 3 0包含有建構成從 一 攻從要求仔列23 1選擇三種要求(如 頃取 '寫入和更新)的邏輯(沒有顯示),並在每個快取存 =週期期間,將所選擇的要求傳送到快取匯流排240相對 應的匯流排上。快取控制23〇可選擇一 92479 17 1307476 和一個寫入要求而不需要檢查它們是否在相同的標籤單元 造成衝突。在此種實施例中,如果要求造成衝突,標籤單 元會以上述方式選擇和拒絕這些要求。在其他的實施例 中’快取控制230會根據所選擇之讀取要求的位址標籤來 選擇寫入要求而使得給定標籤單元的衝突不會發生。如果 更新要求出現的話,可不需要檢查標籤單元的衝突而選擇 此要求。在其他的實施例中,如果有一對讀取和寫入要求 ;又有衝犬,則快取控制2 3 〇總是會選取此對讀取和寫入要 求。例如:如果讀取和寫入要求都有區塊位元,快取控制 2 〇將在不同的週期傳送這兩個衝突的要求,因此可能傳 送沒有衝突的要求。此外,可預期在一實施例中,快取控 制230也可以在選擇讀取和寫入要求之前確認給定的儲= 區塊或子區塊是否忙碌。 因此,依據對標籤陣列210快取存取的形式和數量, 對不同儲存區塊的複數個存取動作可同時服務。再者,在 下文中將參考第3圖進行更詳細的說明,標籤陣列21〇可 以全管線方式存取,所以對主要儲存陣列22()的任一儲存 區塊但不同子區塊的複數個存取動作均可在後讀的週期依 序服務。對主要儲存陣列22G之忙碌子區塊的後續存取動 作將會延遲,直到子區塊不再忙碌為止。 爹考第3圖’圖中係顯示第2圖中快取子系統之儲存 區塊實施例的存取順序圖解。為簡單清晰起見,1第^圖 所顯示組件相對應組件是以相同的㈣顯*。料 220A是連接至標籤單元2丨〇A。圖 * 阛1T所不為對標鐵陣列輸 92479 18 1307476 入要求序列的範例,此標籤陣列可以是如第2圖所示之桿 籤陣列210。輸入要求可以是讀取或寫入動作,首先是位 址A'接著是位址A + 32、接著是位址A+l6、緊接著=位 址A+48。在此範例中,假設所有四個輸入要求都命中標籤 單元⑽A。如儲存區塊22〇A内所顯示,對應於給定丁位 址的各個貝料片段係儲存在不同的子區塊。在儲存區塊 :欠料八内的垂直订係表示子區塊〇_3,而列則顯示存取給定 貝料片段的週期。 二?所述,第2圖的標籤陣列2ι〇是全管線。例如: 果複數個要求命中給定標籤單元的不同 的每個要求均可丨v , 瓜⑴便、,貝 是,如罢求完成之前依序處理。可 σ <、續的存取是針對相同的子區塊 陣列220的存取並不 J對主要儲存 έ 此乃因為從記憶格 y cell)或一組記憶格 因此’任何給定的格或格組(如==有延遲。 在該格或格、组可再次在敌夕^ °°幻的要求之後,且 對給定的輸入要求序列二會:隨-個延遲。 入對應於位址A的資料。在週:月广::0’將傳回或寫 位址,A + 32,的資料。在週期 值將傳回或寫入對應於 址聊的資料。在# =寫人對應於位 址,A + 4,8的資料。因此,因對應於位 在四個不同的子區塊,存取動作^要求位址的資料儲存 而沒有等待週期介入 曰在四個連續的週期回應 等待週期。 、雨出序列顯示在位址間沒有 92479 19 1307476 上所述’要求序列命巾—資料儲存於相同子區塊的 :織早凡時,則無法在其後的存取週期中達到沒有介入等 /期的服務’因為子區塊的存取動作將伴隨著 遲。 J〜 / 考第4 ® ®中係顯示第1圖中之微處理器快取子 系統的另一個實施例。為簡單清晰起見,與第1圖-第3圖 所顯示組件相對應的組件是以相同的編號標示。快取子系 統_包含有由與標籤陣列21〇相連接之主要儲存陣列 22〇組成的快取記憶體。再者,快取子系统彻也包含有 快取控制430’其藉由非同步讀取致能訊號451和非同步 寫=致能訊號455連接至主要儲存陣列22〇。快取控制43〇 也藉由複數個快取存取要求匯流排㈣連接至標藏陣列 21〇。快取控制430和標籤陣列21〇均接收由微處理器時脈 樹(〇丨〇吐忡“)所分發之€1>11的時脈訊號415。在一實施例 2,在第二層快取子系統中會使用主要儲存陣列22〇和標 籤陣列210,此第二層快取子系統可以是第i圖之第二層τ 快取130。然而’必須注意在其他的實施例中,主要儲存 陣列220和標籤陣列210可應用在任何的快取子系統。 主要儲存陣列220包含有複數個記憶格,可將其排列 成可獨立存取的儲存區塊。在顯示的實施例中,儲存區塊 係標示為220A-220N,其中N可以是任意的區塊數。在一 實施例中,有八個此類的儲存區塊,雖然,在其他的實施 例中,其他的區塊數目亦是可以預期的。此外,每個儲存 區塊220A-N包含有四個可獨立存取的子區塊’標示為子 92479 20 1307476 區塊〇-3。值4注意的是雖然每個儲存區塊220A-N包含有 四個這類的子區塊,可以預期在其他的實施例中,每個儲 存區塊220A-N亦包含有其他數目的子區塊。與―些使用 咖或系料脈时存取的絲陣_比較,在顯示的實 施例中,沒有時脈分配網路⑷〇ckdistributi〇nnetw咐)盘 主要儲存陣列220相連接。主要儲存陣列與標籤單元川 及微處理器⑽内的其他邏輯之間的存取為非同步存取。 在下文中將參考第5圖和第6圖進行更詳細的說明,每個 各自獨立存取的健存子區塊〇_3是建構成在接收到確定的 ,取致能訊號451時提供輸出資料。此外,因應接收到球 定的寫入致能訊號455,將資料寫入給定的子區塊。因為 沒有與主要儲存陣列220相連接之時脈分配網路,因此在 每-個週期中,不會因為快取陣列中未使用的記憶單元計 時而造成不必要的功率消耗。 標戴陣列210為建構成儲存快取列標籤資訊的儲存陣 列。將標籤陣列210配置成複數個標籤單元,其標示為 2 1〇A-N,其中N是任意的標鐵單元數。每個標鐵H 21〇A-N有一個儲存區塊與之對應且包含有複數個標鐵或 標戴兀件。例如:在顯示的實施例中’標鐵單元2i〇A對 應於儲存區塊220A。此外,在給定標籤單元内的每個桿藏 疋件可能對應到給定儲存區塊的所有儲存子區塊。因此, 可將快取列可儲存在給定的儲存區塊内,使得快取列可延 伸到所有四個儲存子區塊。例如:在所顯示的實施例中, 快取列225儲存遍及儲存區塊22GA的儲存子區塊〇小 92479 21 1307476 在所顯示的實施例中 標籤陣列2 1 〇。 可藉由 CPU時脈415而同步地存取 快,控制4則建構成接收來自各種來源之快取存取 要求。在-實施财,快取控制㈣和標籤陣列21〇可以 根據CPU時脈訊號415而與微處理器其他部分同步地運 作。因此,快取控制43G和標籤陣列21G可建料接收咖 時脈訊號4 1 5。 在所顯示的實施例中,快取控制43〇可建構成產生讀 取致能訊號451和寫人致能訊號455,這些訊號是傳送至貝 在主要儲#陣列2 2 0每個儲#區塊内的每個健存子區塊 ,一實施例中,快取控制43〇將建構成依據快取命中 或仏籤陣列2 1 G内的特定位址的快取填人要求,而提供確 定的讀取致能訊號451和確定的寫入致能訊號455。例如: 給定的讀取要求可能命中標籤單元21〇A。標籤單元2i〇A 會將命中指示(沒有顯示)提供給快取控制43〇。快取控 制430輸出讀取致能訊號45丨。因應讀取致能訊號45 1和 來自標籤單元2 1 0 A的位址資訊,相對應的子區塊在給定 延遲之後將輸出要求的資料。同樣地,如果收到對應於命 中標籤單元2 1 0 A的寫入要求時,標籤單元2丨〇 a會提供指 示(沒有顯示)給快取控制430。快取控制430輸出寫入 致能訊號455。因應於寫入致能訊號455和來自標籤單元 2 1 0 A的位址資訊,資料將寫入相對應的子區塊。在—實施 例中,讀取和寫入致能訊號的脈波持續時間是預先決定 92479 22 1307476 的。 此外,快取控制43〇县 疋可程式的。可程式的特性允許 各連續的讀取致能却妹· 1 < ·( ° 1之間和各連續的寫入致能訊號 4 5 5之間的脈波重複時問θ ι& ]疋可變的。因此,對連續脈波間 之時間規劃能力允許程序變動和重新使用具有不同快取陣 列大小的快取控制電路。值得注意的是快取控制43〇的各 種程式設計方法是可以葙tn ΛΑ 預/月的。例如:在一實施例中,使 用付疋可程式化的暫在哭 , 存盗。在另一實施例中,各種脈波延 遲時間的選擇可利用βΙ; # + Μ 用兆線在模版上作硬體接線而實現。製 作時,跳線連接可用+ Μ十,, 用田射蝕刻以提供必要的延遲。 值得注意的是可:Α 預期在另一個實施例中其標籤陣列 210内的邏輯(沒有顧+、 員不)可產生讀取致能訊號45 1和寫 入致能訊號455。 參考第5圖’圖中係顯示第2圖和第4圖之快取子系 統之-實施例的操作時序圖。此時序圖包含有人個訊號, 從上到下依序為:CPU時脈、讀取位址〇Α、讀取致能脈 波0A、f料輸出GA、資料輸出栓鎖、寫人位址1B、資料 輸入1B和寫入致能脈波1B。同時參考第】圖到第4圖, CPU時脈訊號可以作為快取子系統的參考時脈並以第4圖 的CPU時脈415表示。如上所述,cpu時脈訊號係分配到 標籤單70 210,但可能不會如分配網路一樣經過主要儲存 陣列220。 時序圖顯示一種同時接收到讀取和寫入操作的實施 例。如上所述,標籤陣列21〇是以全管線方式處理,而且 92479 23 1307476 主要儲存陣列㈣在對不同子區塊進行存取時也可以管線 式處理然而’右給定的標籤單元同時收到複數個針對 相同子區塊的讀取或寫人要求時,快取控制彻可規劃在 正確的時間輸出讀取和寫入脈波。此外,肖主要陣列22〇 之:同儲存區塊220A-N的存取要求可以同時服務。在下 個範例中,接收到對在儲存區塊22GA相同子區塊Μ内之 位址的兩個讀取和對在儲存區塊22QB相同子區塊ib内之 位址的兩個寫人。因此’讀取和寫人是對不同的標籤單元。 值得注意的是顯示在第5圖中的特定時序是用於作為說明 用’在其他的f施财亦可包含#其他的時序。 在夺間η己號to,將位址〇 A i提供給主要儲存陣列22〇 的儲存區塊220A之子區塊〇。在同一個cpu時脈脈波的 :緣,讀取致能脈波R1持續確立一個時脈週期。因應此 第個δ|取致能脈波,在儲存區塊220A子區塊〇内的記 ^格區塊在些許時間延遲後輸出資料DGA1。在此例中, 田R1確立後,延遲時間為五個cpu時脈週期。同樣地, 在時間·»己號11,可確立資料輸出检鎖訊號以將資料a丄 貞住同時在時間記號t0,將位址1 B 1和在DI1的資料 提供給儲存主要儲存陣列22〇的區塊22〇B之子區塊卜 在同一個CPU時脈脈波的下緣,寫入致能脈波W1持續確 立一個時脈週期。因應此第一個寫入致能脈波,將DI1内 的資料寫入儲存區塊22〇 B.之子區塊1内的記憶格區塊。 此外,在時間記號u,將第二個位址(0A2)提供給主要 儲存陣列220的儲存區塊220 A之子區塊〇。在〖丨後的下 24 92479 1307476 一個CPU時脈的下緣,第二個讀取致能脈波R2持續確立 個%脈週期。因應此第:個讀取致能脈波,在儲存區塊 220A之子區塊〇内#記憶格區塊在五冑cpu 延遲時間後輸出資料D0A2。在時間記號t2,” = 個資料輸出栓鎖訊號以將資料栓鎖住。 在時間記號ti’第二個寫入位址(1B2)和在DI2的資料 會提供給主要儲存陣列22〇的儲存區塊22〇B之子區塊工。 在ti後的下一個CPU時脈的下緣’第二個寫入致能脈波 W2持續確立一個時脈週期。因應此第二個寫入致能脈波, 將DI2之資料寫入在儲存區塊22〇B的子區塊i内的記憶 格區塊。 如上所述,對相同子區塊的讀取週期和寫入週期會產 生等待週期’但對不同儲存區塊的存取週期可以同時或在 連續的週期服務。為考量這些等待週期,可以程式化連續 :賣取脈波間的延遲。例如:在上例中,快取控制43〇可以 對相同子區塊的t買取致能脈波和寫入致能脈波的輸出進行 規劃,使其不會比六個cpu時脈週期更快。注意在一實施 例中,位址和貧料訊號必須持續夠久以便有效的讀取和寫 入資料。 ‘
參考第6圖的時序圖,本圖係用於說明如第2圖和第 4圖所示之快取子系統的管線運作。時序圖包含十個訊 號,從上到下依序為:CPU時脈、子區塊〇A位址、讀取 致能脈波0A、資料輸出0A、子區塊2B位址、讀取致能脈 波2B、資料輸出2B、子區塊3B位址、讀取致能脈波3B 25 92479 1307476 和資料輸出3B。同時參考第i圖到第 口』弟4圖,CPU時脈訊號 可以作為快取子系統的參考時脈且是以第4圖的咖時脈 415表不。如上所述,冑CPU時脈訊號分配給標籤單元 21〇,但可能不會如分配網路經過主要儲存陣列22〇。 …時序圖係顯示對主要儲存陣列22G的三個不同子區塊 進行三個接續(back-to-back)讀取運作的範例。如上所述, 標籤陣列2H)可以是全管線處理。例 > :當—個或更多不 同的標籤單元接收到複數個接續讀取或寫入要求時,快取 子系統會在每-個連續時脈週期對不同的子區塊輸出資料 或寫入資料,因此具有近乎管線處理的行為。注意:當相 同的標籤單元和相同的子區塊在連續週期收到接續要: 時,快取子系統不會表現管線處理的行為。在下一個範例 中,接續接收到對在儲存區塊22〇A子區塊〇A'儲存區塊 U0 B的子區塊2B和3B之位址的兩個讀取動作。請注意 第6圖所示的特定時序僅用於作為說明用,其他的實施: 可能包含其他的時序。 在時間記號to,將位址0A1提供給主要儲存陣列22〇 的子區塊0A。在第一個CPU時脈脈波的下緣,使讀取致 能脈波R0A1持續確立一個時脈週期。因為標籤陣列管線 因載有額外的讀取要求,所以在時間記號u,將位址2βΐ 提供到主要儲存陣列22〇的子區塊2B。在u後的下一個 cpu時脈下緣,使讀取致能脈波R2B}持續確立—個時脈 週期。再者,在時間記號t2,將位址3B]提供給主要儲存 陣列220的子區塊3B,且在t2後的下一個cpu時脈下緣, 92479 26 1307476 使讀取致能脈波刪持續確立—個時脈週期。因此,可 對三個不同子區塊發出三個讀取要求。 因應讀取致能脈波R〇A1,儲存子區塊〇A在些許時間 延遲後輸出資料D〇A1。在此例中,在R〇AH立後延 遲時間為五個CPU時脈週期。因應讀取致能脈波R2B1, 儲存子區塊2B在些許時間延遲後輪出資料D2m。在此例 中’在R2B1確立後,延遲時間為五個cpu時脈週期。在 時間記號u,將第二個位址提供給主要儲存陣列22〇的子 區塊0A。在同一個CPU時脈脈波的下緣,使讀取致能脈 波R0A2持續確立-個時脈週期。因應讀取致能脈波 R3B1,儲存子區塊3B在些許時間延遲後輸出資料⑽卜 在此例中,在R3B1確立後,延遲時間為五個cpu時脈週 期。在時間記號t5,將第二個位址提供給主要儲存陣列22〇 的子區塊2B。在同一個CPU時脈脈波的下、緣,使讀取致 能脈波R2B2持續確立一個時脈週期。在時間記號t6,將 第一個位址提供給主要儲存陣列22〇的子區塊3B。在同一 個cpu時脈脈波的下緣,使讀取致能脈波R3B2持續確立 一個時脈週期。因此,在時間記號t4、t5和t6,可依序獲 得從最先的3個讀取運作至三個獨立的子區塊〇A、2B^ 3B的資料。 因應讀取致能脈波R〇A2,儲存子區塊〇A在些許時間 延遲後輸出資料D0A2。在此例中,在R〇A2確立後,延遲 w間為五個cpu時脈週期。因應讀取致能脈波R2B2,儲 存子區塊2B在些許時間延遲後輸出資料D2B2。在此例 27 92479 1307476 中,在R2B2確立後,延遲時間為五個cpu時脈週期。因 應讀取致能脈波R3B2,儲存子區塊3B在些許時間延遲後 輪出資料D3B2。在此例中,在R3B2確立後,延遲時間為 五個cpu時脈週期。因此,在時間記號口、t8和,可、、 依序獲得從其次的3個讀取運作自相同的三個獨立的子區 塊〇A、2B# 3B而來的資料。應注意從每—個子區塊輪出° 的資料都會被栓鎖訊號(沒有顯示)栓鎖住。 應注思雖然配合第5圖和第6圖分別對讀取和寫入操 作進仃說明’但在此描述的操作亦是可同時發生的。例如: 對無衝突區塊的一連串讀取和一連串寫入操作可同 線方式處理。 4考第7圖’圖中所示為包含有第u所示微處理器 之電腦系統的具體方塊圖。為簡單清晰起見,與第丄圖 f 4圖所示組件相對應的組件是以相同的編號標示。電腦 包含-個微處理器⑽,其藉由記憶體匯流排715 連:妾到系統記憶體710。微處理器⑽更藉由系統匯流排 連接到輸入/輸出節點72〇。輸入/輸出節點,藉由怜 流排735連接到綠圖介面卡(g—s adapters。^ 入_節點720也藉由週邊匯流排連接到週邊裝置勝 在所顯示的實施例巾,微處理器1〇〇藉由記憶體匯流 5直接連接到系統記憶體71〇。因此,微處理器包含 β己憶體介面(沒有gj + + .. 頌不在第7圖)以控制對系統記憶體71〇 的存取動作。然而、拿土 71。亦可經由輸入/輸出 貫施例中’系統記憶體 1出卽點720連接到微處理器i 〇〇。在 92479 28 1307476 此種實施財,輸人/輪出節點7 有顯示)。再者,在一實施 …隐體"面(沒 ,囬β - ψ 说處理器100可包含如笛 2圖所示快取子系统2〇 匕3如弟 ·<> r六取子系統。在直他 中’微處理器100亦可以包 在,、他的則 4 0。之快取子系統。 有如第4圖所示快取子系統 系統記憶體710可包含杯^人 ^ 匕3任何適合的記憶體裝置。例 如.在一實施例中,系 p* ^ ”。,"體可包3 一組或多組的動態 隨機存取記憶師RAM)裝置 動〜 人 难*、、'、具他貫施例亦可以包
3有其他記憶體裝置和架構。 I 匯心不例中’輸入/輪出節點MO是連接到緣圖 = 735、週邊匯流排745和系統匯流排 Μ輸出節點720可包含各種匯流排介面邏輯(沒有顯 示)’這些匯流排介面邏輯包 " 、科I 3緩衝态和控制邏輯用來管理 :同匯抓排之間的流量。在一實施例中,系統匯流排7乃 可以是與高傳輸技術(HyperTransp〇rt techn〇i〇gy)相容之 以封包為基礎的互聯系統。在這種實施例中,輸入/輸出節 點720可建構成處理封包傳輸。在另一個實施例中,系統 匯流排725是典型的分享匯流排架構,如前端匯流排 (front-side bus) 〇 再者’繪圖匯流排735可以和繪圖加速埠(a“ei graphic port,AGP)匯流排技術相容。在一實施例中,繪 圖介面卡730可以是各種繪圖裝置,其建構成產生和顯示 作為顯示用之圖形影像。週邊匯流排745可以是一般的週 邊匯流排,如週邊元件連接介面匯流排(peripheral 29 92479 1307476 component interconnect; PCI)。週邊襄置 74γ» ι MO可以是任何型 式的週邊裝置’如數據機或音效卡。 雖然已詳細說明上述的各種實施例 ^岣,但具有此方面 技π者旦完全體會上面所透露的資訊 Λ1, ^ ^ , 則為數眾多的變 型和修改對那些熟悉該技藝的人而言mu 說明的申請專利範圍應解讀成涵蓋所有的這類變型和修 改。 ^ 【圖式簡單說明】 第1圖係顯示微處理器之一實施例的方塊圖。 :2圖係顯示帛丨圖中之微處理器的快 例的方塊圖。 施制2圖係顯示第2圖中之快取子系統的—儲存區塊實 轭例的存取順序圖解。 第4圖係顯示帛!圖中之微處理器快取子系統之另一 個實施例的方塊圖。 第5圖係顯示第2圖和第4圖之快取子 例之操作時序圖。 肩他 第6圖係顯示第2圖和第4 R ·» ϋ你工么从h » 作時序圖 U τ罘4圖之快取子糸統的管線操 弟7圖係顯示句合右@ j @ 個警, 匕3有第1圖微處理器之電腦系統的一 固實鈿例的方塊圖。 雖然本發明可以古欠# τ 特…μ— 有各種不同的變型和替代的形式,其 '疋的貫施例將經由圖巾砧々々 ’ 明。鈔、 、祀例顯示,同時在此做詳細說 。而,必須了解的是那些圖式和詳細說明並不是要將 92479 30 1307476 本發明的範圍限制在所提出的的特 :"月將涵蓋所有由所附申請專利範圍為:發明2的,本 和目標内之所有變型、等效物和替代的形式。義之精神 100 微處理器 !〇lA 101B 資料快取 1〇2 103 分支預測單元 1 〇4 105 提取解碼控制 1〇6 118 排序氣 124 126 載入儲存单元 13〇 140 匯流排介面單元 2〇〇 210 標籤陣列 210A 、210B 、 210C 、 210N 220 主要儲存陣列 220A 、220B 、 220C 、 220N 225 快取列 23〇 231 要求彳宁列 24〇 400 快取子系統 415 430 快取控制 451 455 寫入致能 7〇〇 710 系統記憶體 715 720 輸入/輸出節點 725 730 繪圖介面卡 735 740 週邊裝置 745
指令快取 預先解碼單元 指令解碼器 指令控制單元 執行單元 第二層快取 快取子系統 標籤單元
儲存區塊 快取控制 快取匯流排 CPU時脈 讀出致能 電腦系統 記憶體匯流排 糸統匯流排 繪圖匯流排 週邊匯流排 92479 31

Claims (1)

  1. Wi 第92132238號專利申請荦 (97年2月]8曰^ 拾、申請專利範園: I —種包含有每一工作週期可以執 憶體的微處理器,包含: 夕重存取之快取記 ::單元,其建構成對指令和 快取記憶體子系統,其連 :軍_ 其中前述的快取記憶體子系統包;:的孰订早疋; 快取記憶體,其包含逄軏加 區塊丨 " 可獨立存取的儲存 複數個可獨立存取 的複數個儲存區境,=早P其連接到前述 在此每—個禪鐵U 儲存複數個標籤, 铩戴包含位址標籤值; 複數個快取匯流排,1 存取要求至每-個^ 成傳送複數個快取 快取控制器,:建:的:數個儲存區塊;及 存取要求以靼i 構成選擇前述的複數個快取 藉由前述的複數個快取匯流排傳送; ,、則述的快取控制器進一步建構成,阳 的複數個快取存取要求 擇别述 宜由 數個可獨立存取的標籤單元中;及 的前述的1::::的複數個快取匯流排上傳送 的前述的::::存取要求’可同時存取不同 2 做裂獨儲存區塊。 二::::::1:之微處理器,其中每個前述複數 中每個前逑立存取的錯存子區塊,其 鬼建構成在接收到確定非同步的 92479(修 jl 本) 32 第92132238號專利申請案 凟取致能訊號時提供輪出資料,及其中前述儲存子區塊 中給疋的一個儲存子區塊建構成在接收到確定非同步 的寫入致能訊號時儲存資料。 ^ 3.如申晴專利範圍第i項之微處理器,其中每—個前 複數個標藏單元制· Λ ^ ^ 。 〜'至一個不同的前述的複數個儲存 區塊。 4· 範圍第1項之微處理器,其中因應接收到前 逑的複數㈣取存取要求,可同時存取 數個標籤單元。 引述的锼 5·如申請專利範圍第1項之微處理器,且中如m ^ ™ 具T如果與前述的 硬數個快取存取要求中之—者相關聯之 凡部份與特定標籤單元的唯—指定入/£塊位 ΑΑ .. Τ日疋值相吻合時,蔣箭β 勺特定標籤單元建構成選擇前 ' ’ 求中之—者。 幕成選擇則返的複數個快取存取要 6. 如申請專利範圍第丨項之微處理5, 快取存取要求包含讀取要求1要、中則述的複數個 7. 如申喑真剎μ 寫入要求和更新要求。 〒明專利靶圍第6項之微處理哭 制器進-步建構成選擇以已選擇:定、快取控 相依的給定寫入要求,以使前述t二5貝=求來選擇 籤單元產生衝突。 的複數個可獨立存取的標 S•如申tt專利範圍第6項之微處 制器進-步建構成決定是否存在:其中前述的快取控 入要求與任何前述的複數個可獨::給定的讀取與寫 立存取的標籤單元不 92479(修正本) 33
    第92132238號專利申請案 j生衝突,假使前述-對^的讀取 選擇前述一對給定的讀取盥 罟欠存在, 數個快取匯流排傳送。…’” I求以藉由前述的複 9. t申請專利範圍第1項之微處理器,其中每-個前、“ 複數個儲存區塊包含複數 ^ 诒^ ^ , 傻双1UT獨立存取的儲存子區 塊,,、中任兩個與不同的前述 的子P换Β π门士 ^的储存區塊相關聯的前述 的子區塊疋可同時存取的,且其中 區塊相關聯的前述的子區塊可在連續的依序mi存 10. 如申請專利範圍第i項之微 Μ子取。 快取匯法Μ 6人* /、中則述的複數個 I·、取匯机排包含讀取匯流排、 排。 進,瓜排和更新匯流 11. 如申請專利範圍第i項之微處理器, 制哭4人、1 τ别逃的快取控 複數個緩衝器,其建構成從複數個不同 接收和儲存前述的複數個快取存取要求。 ,/'、 如申印專利範圍第u項之微處理器 個快取在、中剛逃的複數 存取要求包含讀取要求、寫入要 、 13.如申請專利紇 更新要求。 於制3 t 項W處理器’其中前述的快取 工_ —步建構成從前述的複數個 的言眚;& i 1 J窃适擇刖迖 取要求、則述的寫入要求和前述的更新要 在剛述的複數個快取匯流排上同時傳送,t =以便 同時讀取|„ ,、中與前述的 广1取要求相關聯之位址的區塊位元部 的同時寫人I七、I Μ ω , 和7與則这 的/寫入要求相關聯之位址的區塊位元部份是不同 14·如申请專利範圍第12項之微處理器,其 /、平刚述的快取 92479(修正本) 34 第92〗3223S號專利申請案 才工制益進一步建構二 的讀取要求和M ^述的複數個緩衝器選擇前述 文水和刖述的寫入I 取匯流排上同時傳送,摆^便^述的複數個快 前述的寫人I B 、係根據則述的讀取要求和 J局入要永是否包含 正在存取的特定館存區塊或胜“一個快取存取要求 15.如申請專利II圍第12項之^"錯存子區塊的標藏值。 控制器進—步建&處理盗’其中前述的快取 的讀取要长、述的複數個緩衝器選擇前述 在則逑的複數個快取匯流排上 2讀 同時讀取要求相_<^ /、中4述的 的同時寫八要求相關聯之位=:::和與前述 的。 p m址的區塊位疋部份是相同 16,如申請專利範圍第12項之微處理器, 控制哭、在 w DD 丹〒刖述的快取 東進:步建構成接收選定的成對的快取存取要 —一以便在w述的複數個快取匯流排上同時傳送,其中 二m含讀取要求和寫入要求’且其中與前述:;同 同::要求相關聯之位址的區塊位元部份和與前述的 .”、入要求相關聯之位址的區塊位元部份是不同的。 •,申,專利範圍第i項之微處理器’其中前述的快取記 憶體是第二層快取記憶體。 18:2含有每一工作週期可以執行多重存取之快取記 隐體子糸統,包含: 快取記憶體’其包含複數個可獨立存取的儲存區 > 92479(修正本) 35
    第92132238號專利申請案 複數個可獨立存取的標鐵單元,其連接到 數個儲存區塊,並建 〕稷 桿 並建構成館存複數個標籤,在此每—個 鈿職包含位址標籤值; 複數個快取匯流排’其連接成傳送減個快取存取 要求到母-個前述的複數個儲存區塊;及 快取控f!i H,其建構成選擇料的複數個快取存取 ,,以藉由前述的複數個快取匯流排傳送; 快取^快取控制器進一步建構成選擇前述的複數個 \ #求’以致沒有快取存取衝突存在於任何前述 的複數個可獨立存取的標籤單元中,·及 其中因應在前述的複數個快取匯流排上傳送的前 存取要求,可同時存取不同的前述的複 歎個儲存區塊。 19.如1請㈣範㈣18項之快取記憶體子彡統,其中每 個剛述複數個存取區塊包含有複數個可獨立存取的儲 ,子區塊,其中每個前㈣存子區塊建構成在接收到確 疋非同步的讀取致能訊號時提供輪出資料,及其中前述 儲,子區塊中給定的一個緒存子區塊建構成在接收到 確定非同步的寫入致能訊號時儲存資料。 20·如申請專利範圍第18項之快取記憶體m,其中每 一個前述的減個#籤單元對應至一個$㈣前述的 複數個儲存區塊。 21,如申請專利範圍第18項之快取記憶體子系統,其中因 應接收到前述的複數個快取存取要求,可同時存取不同 92479(修正本) 36 第則如財利申請案 的珂述的複數個標鐵單元。 如申請專利範圍第ί8項之 果與前述的複數個快取存取要:::::統’其中如 =塊位元部份和與特定標籤單元:::聯的位 個快取存取要求中之—者。建構成選“述的複數 23.如申請專利範圍第18項之快取記 述的複數個快取存^ '、統,其中前 新要求。子取要求包含讀取要求、寫入要求和更 &如申請專利範圍第23項之快取 述的快取控制5|進+ 心 系統,其中前 文八木選擇相依的給定窝 、 λ取 求與前述給定讀取要求,不,,以< 前述給定寫入要 立存取的標籤單元產生衝突。 数個了獨 25.如申請專利範圍第23項之快取記憶體 ^的快取控制器進-步建構成決定是否存在二;:前 ^:與寫入要求與任何前述的複數個可獨立J:: 二I::突,且假使前述-對給定的讀取” ^在,選擇料-對給定的讀取與寫 镥由两述的複數個快取匯流排傳送。 Μ 26:申:專利範圍第18項之快取記憶體子系統 — 個前述的複數個健存區塊包含複存母 的前述的子區塊是可同時存取的,==:關聯 /、r任兩個與相同 92479(修正本) 37
    $替換頁j 第92132238號專利申請案 的儲存區塊相關聯的前述的+區塊可在豸續的依 期存取。 % 、、申明專利範圍第! 8項之快取記憶體子系,统’其中前 返的複數個快取匯流排包含讀取匯流排、寫人匯流排和 更新匯流排。 28.如申請專利範圍第18項之快取記憶體子系統,其 述的快取控制器包含複數個緩衝器,其建構成從複數個 不同的來源接收和儲存前述的複數個快取存取要求。 ”:申請專利範圍第28項之快取記憶體子系統 述的複數個快取存取I卡、 、引 新要求。 存取要未包含讀取要求、寫入要求和更 3〇tlt專利範圍第29項之快取記憶體子系統,其中前 返的快取控制器進— r刚 選擇前述的讀取要求、從前述的複數個緩衝器 求,以便在前 月a的寫入要求和前述的更新要 在㈣的複數個快取匯流排±同時傳送, 與别述的同時讀取I /、中 和與前述的同時寫:=關聯之位址的區塊位元部份 份是不同的。要未相關聯之位址的區塊位元部 31·=:Γ範圍第29項之快取記憶體子系統,… 制器進-步建構成從前述的複數個緩: 選擇則述的讀取要求乾衝為 複數個快取匯流排…的寫入要求,以便在前述的 取要求和前述的寫入要:傳送’此選擇係根據前述的讀 存取要求正在;^ 疋否包含對應到前-個快取 在存取的特定儲存區塊或特定餘存子區塊 92479(修正本) 38 宵修正替換I 第92132238號專利申請案 f 11專利乾圍第29項之快取記憶體子系統,复中前 述的快取控制器進一 ,、甲則 選擇前述的讀取要长二構成從前述的複數個緩衝器 與前述的同時讀取要J匯流排上嶋送,其中 和與前述的π主 關聯之位址的區塊位元部份 θ . 5時寫入要求相關聯之位址的區塊位元1 份是相同的。 瓜7L 4 3 如申清專利範圍第2 9 n夕u* ^ ^ 項之快取記憶體子系統,1中前 述的快取控制器進一 ,、千剛 存取要求,以便在接收選定的成對的快取 送,其中每 ::、複數個快取匯流排上同時傳 前述的同入要求q其中與 邀前过的 關聯之位址的區塊位元部份和 是不同的。 4相關聯之位址的區塊位元部份 如1申請專利範圍兹1δ s 逑的“目苐18項之快取記憶體子系、统,1中前 35=取記憶體是第二層快取記憶體。 Ά 二Γ:期可以執行多重存取之快取記 系統記憶體,苴建播 ”逯構成儲存指令和資料; 喊處理器,其藉由記憶 统記憶體; 峨/爪排而連接至前述的系 其中前述的微處理器包含: 執行單元,其建構成斜a 構成對别述的指令和資料作運算; 92479(修正本) 39 mi J 帛92]32238財獅請索 、取。己^體子系統,其連接至前述的執彳-…、 構成儲存前述的指令 &订早疋並建 其中前述的快取I:::::執行單元執行; 塊;…㈣’其包含複數個…存取的儲存區 複數個可獨立存取的標籤單元, 數個儲存區塊,並建構成錯存複數個禪鐵在^的複 標鐵包含位址標鐵值; 個‘戴’在此母—個 ^數個快取匯流排,其連接成傳送複數個快取 至母-個前述的複數個儲存區塊,·及 要ϋ '、Μ控制 '其建構成選擇前述的複數個快取存取 要求以藉由前述的複數個快取匯流排傳送; 複蠢::前她取控制器進—步建構成選擇前述的 =個快取存取要求’以致没有快取存取衝突存在於任 何則述的複數個可獨立存取的標籤單元 ' 其中因應在前述的複數個快取匯流排上傳送的前 义的複數個快取存取要求,可π主六 數個儲存區塊。 了同時存取不同的前述的複 36:申請專利範圍第35項之電腦系統,其中每個前述複 固健存區塊包含有複數個可獨立存取的儲存子區 2 ’其中每個前述儲存子區塊建構成在接收到確定非同 1讀取致能訊號時提供輸出資料,及其中前述儲存子 區魏中給定的-個儲存子區塊建構成在接收到確定非 同步的寫入致能訊號時儲存資料。 924乃(修正本) 40 第92132238號專利申請案 37·如申請專利範圍第35項 电月包糸統,立中每一個箭;赤、 的複數個標籤單元對應至— /、 存區塊。 個不同的前述的複數個儲 38.如申請專利範圍第35項之 ^、+,认、—批/ 冤知糸統’其中因應接收到 則述的硬數個快取存取要 又到 複數個標籤單元。 了同日守存取不同的前述的 39.如申請專利範圍第35項之 的複數個快取存取要求統’纟中如果與前述 位元部份和與特定_ M 相關聯之位址的區塊 付疋铋戴早兀的唯一 前述的特定標籤單元建構 曰才吻δ時,將 取要求中之一者。 、擇别述的複數個快取存 4〇_如申凊專利範圍第35箱 個快取存取要求包含讀取要^系統’其中前述的複數 41·如申請專利範圍第4〇項之電腦d和更新要求。 控制器進一步建構成選擇以已! ',先,其中前述的快取 擇相依的給定寫入要求,以、擇給定讀取要求來選 給定讀取要求不會與任何前j述給疋寫入要求與前述 標籤單元產生衝突。 則、’[的複數個可獨立存取的 2.如申請專利範圍第40項之 控制器進一步建構成决定是否广、、4,其中前述的快取 寫入要求與任何前述的複數個對給定的讀取與 不產生衝突,且假使前述—對给〜·^存取的標籤單元 f,選擇前述—對給定的讀取=的讀取與寫入要求存 複數個快取匯流排傳送。 、入要求以藉由前述的 92479(修正本;) 41 .. S 92132238料利申請案 43.如申請專利範圍第^項之電腦系統, 的複數個儲存F掄4八 ”母個可述 塊,其中任兩個與不同 錯存子區 的子區塊是可同時存取的,且其 聯的前述 區塊相關聯的前述的子區塊可在相同的儲存 44.如申請專利範 ”、、、〈序週期存取。 孳巳圍弟35項之電腦系統’ i 個快取匿流排包含讀 /、中别述的複數 排。 …取匯峰寫入匯流排和更新匯流 如申"月專利觀圍第35項之電腦系統, 控制器包含禎金 八中别述的快取 源接收和儲在複數個不同的來 别述的複數個快取存取要求。 •如申5月專利銘 乾圍第45項之電腦系統,里中俞、+、A 個快取存取要, 中則述的複數 t取要求包含讀取要求、寫入 47.如申請專利範 / σ更新要求。 』乾圍第46項之電腦系統,1 :制益進—步建構成從前述的複數個緩衝器^决取 的讀取要求、前述的寫入要求和前述 選戈擇前述 在前述的複數個恤r + 更新要求,以便 冊㈣取匯流排上同時傳送, 同時讀取要电知| Μ ω 以〒與月y述的 /相關聯之位址的區塊位& 的同時寫入要70邛份和與前述 要求相關聯之位址的區塊位元邻^ θ 的。 u冲份是不同 48·如申請專利範圍第46項之電腦系統,复 控制器進—步涂媒丄 ,、千别述的快取 枣構成從前述的複數個緩衝 的讀取要求和+ 发衡盗選擇前述 取匯流排上同時值、、, ^ 』述的複數個快 、專迗,此選擇係根據前述% 、曰〕磷取要求和 92479(修正本) 42 1307476 第92132238號專利申請案 ^ 2. IS 兩述的寫入要书Η不& a 正在存跑认/疋包3對應到前一個快取存取要求 49.如申請專利範圍第46jg 錯存子區塊的標籤值。 控制器進tΛ 統’其中前述的快取 進—步建構成從前述的複數個緩衝哭選 的讀取要灰、‘、+. ΛΑ命 友何》。适擇刖述 ^削述的寫入要求和前述的更新裘七 在前述的福赵棚k k的更新要求,以便 複數個快取匯流排上同時傳送,Α中 同時讀Φ 4·、, ,、T興刖述的 要未相關聯之位址的區塊位 的同時穹入IB 凡证兀口Μ刀和與前述 的。了寫入要求相關聯之位址的區塊位元部份是相同 5〇.如申睛專利範圍第46項之電腦系統, 控制器進—舟邊接 > 杜 ’、剛迷的快取 以便在& 選定的成對的快取存取要求 在削述的複數個快取匯流排上同 對均包合丁得达,其中每一 3 5貝取要求和寫入要求,且其中蛊 取要求柏BI祕 T興别述的同時讀 關聯之位址的區塊位元部份和與前述的同時 ’、’、要永相關聯之位址的區塊位元部份a 51.如申%直Μ ~ 不冋的。 Τ π專利範圍第35項之電腦系統,其 記情體县银 昇中别述的快取 嗯體疋弟二層快取記憶體。 92479(修正本) 43
TW092132238A 2002-11-26 2003-11-18 Cache memory subsystem capable of executing multiple accesses per cycle, microprocessor, and related computer system TWI307476B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/304,605 US7073026B2 (en) 2002-11-26 2002-11-26 Microprocessor including cache memory supporting multiple accesses per cycle

Publications (2)

Publication Number Publication Date
TW200417913A TW200417913A (en) 2004-09-16
TWI307476B true TWI307476B (en) 2009-03-11

Family

ID=32325257

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092132238A TWI307476B (en) 2002-11-26 2003-11-18 Cache memory subsystem capable of executing multiple accesses per cycle, microprocessor, and related computer system

Country Status (8)

Country Link
US (1) US7073026B2 (zh)
EP (1) EP1565827B1 (zh)
JP (1) JP4425798B2 (zh)
KR (1) KR100955722B1 (zh)
CN (1) CN1717664B (zh)
AU (1) AU2003287522A1 (zh)
TW (1) TWI307476B (zh)
WO (1) WO2004049171A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004059491A1 (en) * 2002-12-30 2004-07-15 Intel Corporation Cache victim sector tag buffer
US7254681B2 (en) * 2003-02-13 2007-08-07 Intel Corporation Cache victim sector tag buffer
US7111127B2 (en) * 2003-07-14 2006-09-19 Broadcom Corporation System for supporting unlimited consecutive data stores into a cache memory
JP4046716B2 (ja) * 2004-10-06 2008-02-13 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびデータ伝送方法
US7685372B1 (en) 2005-01-13 2010-03-23 Marvell International Ltd. Transparent level 2 cache controller
US8347034B1 (en) * 2005-01-13 2013-01-01 Marvell International Ltd. Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
KR20070105779A (ko) * 2006-04-27 2007-10-31 엠텍비젼 주식회사 프로세스 기능을 갖는 메모리 장치 및 그 프로세스 방법
KR100782594B1 (ko) * 2006-07-14 2007-12-06 엠텍비젼 주식회사 데이터 처리 기능을 구비한 메모리 장치
US8909872B1 (en) 2006-10-31 2014-12-09 Hewlett-Packard Development Company, L. P. Computer system with coherent interconnection
CN101212488B (zh) * 2006-12-26 2011-08-24 梁国恩 双通道的网络储存管理装置与方法
JP4327863B2 (ja) * 2007-03-19 2009-09-09 株式会社東芝 映像蓄積装置とその制御方法
US20090006756A1 (en) * 2007-06-29 2009-01-01 Donley Greggory D Cache memory having configurable associativity
US9442846B2 (en) 2009-03-17 2016-09-13 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
US8433880B2 (en) 2009-03-17 2013-04-30 Memoir Systems, Inc. System and method for storing data in a virtualized high speed memory system
JP5482145B2 (ja) * 2009-11-25 2014-04-23 富士通株式会社 演算処理装置および演算処理装置の制御方法
WO2011075167A1 (en) * 2009-12-15 2011-06-23 Memoir Systems,Inc. System and method for reduced latency caching
US8843690B2 (en) 2011-07-11 2014-09-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory conflicts learning capability
KR20140072276A (ko) * 2012-11-29 2014-06-13 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리의 동작 방법
JP2015104045A (ja) * 2013-11-27 2015-06-04 株式会社日立製作所 通信装置、通信方法、および、記録媒体
US9753667B2 (en) * 2015-02-19 2017-09-05 Avago Technologies General Ip (Singapore) Pte. Ltd. High bandwidth memory and glitch-less differential XOR
KR101727407B1 (ko) * 2015-10-29 2017-04-14 주식회사 넥서스칩스 렌즈 왜곡 교정 장치 및 동작 방법
CN107526691B (zh) * 2016-06-21 2020-06-02 深圳市中兴微电子技术有限公司 一种缓存管理方法及装置
US10915453B2 (en) * 2016-12-29 2021-02-09 Intel Corporation Multi level system memory having different caching structures and memory controller that supports concurrent look-up into the different caching structures
TWI650640B (zh) * 2017-07-14 2019-02-11 瑞昱半導體股份有限公司 用於處理器的資料存取裝置與方法
US10642737B2 (en) * 2018-02-23 2020-05-05 Microsoft Technology Licensing, Llc Logging cache influxes by request to a higher-level cache
US11914518B1 (en) * 2022-09-21 2024-02-27 Arm Limited Apparatus and method for operating a cache storage

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993013481A1 (en) * 1991-12-23 1993-07-08 Intel Corporation Interleaved cache for multiple accesses per clock in a microprocessor
EP0553743A1 (en) * 1992-01-31 1993-08-04 Motorola, Inc. A cache controller
US5878245A (en) * 1993-10-29 1999-03-02 Advanced Micro Devices, Inc. High performance load/store functional unit and data cache
US5752269A (en) * 1995-05-26 1998-05-12 National Semiconductor Corporation Pipelined microprocessor that pipelines memory requests to an external memory
JP2000501539A (ja) 1996-09-25 2000-02-08 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ アドレス競合検出を持つ多重ポート・キャッシュメモリ
JPH10214225A (ja) 1996-10-31 1998-08-11 Texas Instr Inc <Ti> キャッシュ読み出し時間を短縮したマイクロプロセッサ回路、システムおよび方法
US5924117A (en) 1996-12-16 1999-07-13 International Business Machines Corporation Multi-ported and interleaved cache memory supporting multiple simultaneous accesses thereto
US6237064B1 (en) 1998-02-23 2001-05-22 Intel Corporation Cache memory with reduced latency
US5999474A (en) * 1998-10-01 1999-12-07 Monolithic System Tech Inc Method and apparatus for complete hiding of the refresh of a semiconductor memory
US6427191B1 (en) 1998-12-31 2002-07-30 Intel Corporation High performance fully dual-ported, pipelined cache design
US6574708B2 (en) * 2001-05-18 2003-06-03 Broadcom Corporation Source controlled cache allocation
JP2005522773A (ja) * 2002-04-08 2005-07-28 ユニバーシティー・オブ・テキサス・システム 非均等型キャッシュ装置、システム及び方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
TWI651617B (zh) * 2015-05-28 2019-02-21 美商美光科技公司 用於計算可啟動之快取記憶體之裝置及方法
US10372612B2 (en) 2015-05-28 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US10970218B2 (en) 2015-05-28 2021-04-06 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US11599475B2 (en) 2015-05-28 2023-03-07 Micron Technology, Inc. Apparatuses and methods for compute enabled cache

Also Published As

Publication number Publication date
CN1717664B (zh) 2010-10-27
EP1565827A2 (en) 2005-08-24
US7073026B2 (en) 2006-07-04
WO2004049171A2 (en) 2004-06-10
KR100955722B1 (ko) 2010-05-03
CN1717664A (zh) 2006-01-04
JP2006507602A (ja) 2006-03-02
WO2004049171A3 (en) 2004-11-04
JP4425798B2 (ja) 2010-03-03
EP1565827B1 (en) 2016-06-15
KR20050085150A (ko) 2005-08-29
US20040103250A1 (en) 2004-05-27
TW200417913A (en) 2004-09-16
AU2003287522A1 (en) 2004-06-18

Similar Documents

Publication Publication Date Title
TWI307476B (en) Cache memory subsystem capable of executing multiple accesses per cycle, microprocessor, and related computer system
EP3270290B1 (en) Ddr memory error recovery
US10402120B2 (en) Memory controller arbiter with streak and read/write transaction management
US10593391B2 (en) Refresh scheme in a memory controller
US11494316B2 (en) Memory controller with a plurality of command sub-queues and corresponding arbiters
EP3436958B1 (en) Low power memory throttling
US11669274B2 (en) Write bank group mask during arbitration
US20210374006A1 (en) Refresh management for dram
US20230102680A1 (en) Stacked command queue
EP1668513B1 (en) Cache bank interface unit
US11625352B2 (en) DRAM command streak management
US20220405214A1 (en) Memory controller with hybrid dram/persistent memory channel arbitration
US11379388B1 (en) Credit scheme for multi-queue memory controllers
EP3270294B1 (en) Command arbitration for high-speed memory interfaces
US20210357336A1 (en) Efficient memory bus management
KR20230158128A (ko) Dram 커맨드 스트리크 효율 관리

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees