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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0851—Cache with interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address 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)
- 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
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)
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)
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)
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 | ユニバーシティー・オブ・テキサス・システム | 非均等型キャッシュ装置、システム及び方法 |
-
2002
- 2002-11-26 US US10/304,605 patent/US7073026B2/en not_active Expired - Lifetime
-
2003
- 2003-11-06 KR KR1020057009466A patent/KR100955722B1/ko not_active IP Right Cessation
- 2003-11-06 JP JP2004555384A patent/JP4425798B2/ja not_active Expired - Fee Related
- 2003-11-06 WO PCT/US2003/035280 patent/WO2004049171A2/en active Application Filing
- 2003-11-06 AU AU2003287522A patent/AU2003287522A1/en not_active Abandoned
- 2003-11-06 CN CN2003801043019A patent/CN1717664B/zh not_active Expired - Fee Related
- 2003-11-06 EP EP03781764.0A patent/EP1565827B1/en not_active Expired - Fee Related
- 2003-11-18 TW TW092132238A patent/TWI307476B/zh not_active IP Right Cessation
Cited By (5)
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 |