TW409206B - Method and apparatus for performing speculative system memory reads - Google Patents
Method and apparatus for performing speculative system memory reads Download PDFInfo
- Publication number
- TW409206B TW409206B TW085110933A TW85110933A TW409206B TW 409206 B TW409206 B TW 409206B TW 085110933 A TW085110933 A TW 085110933A TW 85110933 A TW85110933 A TW 85110933A TW 409206 B TW409206 B TW 409206B
- Authority
- TW
- Taiwan
- Prior art keywords
- read
- memory
- system memory
- data
- patent application
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4239—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
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
409206 第85110933號專利申請案 中文說明書修正頁(89年6月) 修煩五、發明説明(4a) 發明。其他之例子、眾所週知之组件或方法並未作詳述以 避免與本發明混淆。 參看圖2,所π為先前技術實例之記憶體控制器〗4 〇。 記憶體控制器140包括一含有解碼電路24〇與讀取控制電 路2 60之微處理赛介面210。記憶體控制器14〇更包括快 取記憶體控制器2 2 0 '匯流排控制器2 5 〇及系統記憶體控 制器2 3 0 ° 微處理器介面210透過主匯流排ι6〇耦合至微處理器 110。在本發明另一實例中,一個或多個微處理器亦透過 主匯流排160耦合至記憶體控制器14〇。微處理器11〇於 主匯流排1 6 0上發信號至記憶體控制器丨4 〇要求讀取及窝 出作業。解碼電路收到主匯流排丨6 〇上之信號即確定⑴所 要求者為讀取或寫出作業,⑵讀取裝置及寫出目標裝置為 何及⑶讀取源或寫出目標裝置中之所需位址為何。 若確定所要求者為讀取作業,即將控.制轉移至讀取控制 --------.裝------'IT_.-----.咏 (請先閲讀背面之注意事項再填寫本頁) 經濟部令央樣準局I工消費合作社印掣 本紙張尺麵财關家鮮(CNS ) Α4· ( 2丨GX297公釐) 經濟部中央樣準局員工消費合作社印裝 40920^ a? --------------Β7 五、發明説明'—- ,本發明係與電腦系統記憶體控制器有關,特別與實現臆 測性系统記憶體之讀取有關9 曼玉之背景 ,先前技術之一種電腦系統,包括一連接至一外部高速緩 衝错存器(亦稱快取記憶禮)之微處理器 '一系统記憶體及 位於^統匯流排上之各種週邊裝置。微處理器透過記憶體 控制器晶片與快取記憶體、系統記憶體及週邊設備連絡。 ?己憶體控制器晶片依照微處理器之要求協調將資料移至或 移自此等圮憶體組件β先前技術之記憶體控制器晶片之一 -例爲8 2 4 3 4 L X/NX P C I快取記憶體及記憶體控制器 (PCMC) ’係由美國加州Santa Clara之Intel公司製 造’該公司亦爲本發明之受讓人。 團1所示爲使用一記憶體控制器晶片之先前技術電腦系 統^微處理器I 1 〇耦合至在主匯流排丨6 〇上之外在快取記 憶趙120及系統記憶體。主匯流排連接至一記憶體控制器 140。記憶體控制器14〇之功能爲微處理器11〇與耦合至 泰統匯流排1 5 0各裝置間之橋樑。例如,系統匯流排可能 包括(各種裝置有:製圖加速器、硬驅動控制器及加入板 等。 記憶體控制器1 4 〇處理來自微處理器1 1 〇之資料轉移要 求’在收到微處理器110之讀取或寫要求時,即確定那一 個裝置爲資料源或目標β微處理器係使用標準微處理器計 時而發出讀或窝之請求9 -4 - 本紙張尺度適用中國國家標準(CNS ) Α4規格(2丨ΟΧ 297公釐) : I!-^~ - Hi -I 5 - II - n^i - - - - ' (請先閱讀背面之注意事項再填寫本頁) "0 409206 經濟部令央榇準局貝工消费合作社印製 A 7 ----—- _B7五 '發明説明(〜'- 先前技術之-種記憶體控制器140包括—微處理器介面 (與微處理器連絡)、一快取記憶體控制器(與外在快取記 憶體連絡)、-系統記憶體控制器(與系^憶體連絡)及 1流排㈣器(與I難流排連絡)。此等功能性記憶體 控制器組件均包括在一積體電路晶片内。有些製造商則是 將功能分配在一個以上之晶片上。 記憶體控制器之微處理器介面單體接收到來自微處理器 之讀取4曰時即確疋⑴「源」,亦即含有所需資料之裝置 及⑵在該裝置内什麼位址可以找到所需資料。若確定 「源」爲在系統匯流排上之一個裝置時,匯流排控制器即 接辦。若確定「源」爲系統記憶體時,即由系統記憶體控 制器接辦。在接到讀取系統記憶體之要求時,快取記憶體 控制器即在快取記憶體中搜索所需資料。若所需讀取之資 料在快取記憶體中時,即會有快取記憶體被擊中之反應而 資料即被送回微處理器。系統記憶體感測到快取記憶體被 擊中時’即不會進行系統記憶體讀取。此一自快取記憶趙 擷取資料之方法以減少微處理器擷取系統記憶體資料所需 之時間而改進電腦系統之性能。 雖然使用外在快取記憶體對系統性能有所改進,但未擊 中快取記憶體時之系統記憶體讀取仍有相當大之時間困 擾》例如含有動力隨機存取記憶體(DRAM)之系統記情 體,需要7個時鐘計時從系統記憶趙擷取第一個資料字3 不過若微處理器若從系統記憶體要求兩個資料字時,則送 回第二個資料字所需之時間則大爲減少(即兩個時鐘計 -5- 本纸張尺度適用中國國家標準(CNS ) A4規格(210X29?公釐) --;---r-----裝-- (請先对讀背面之注意事項再填寫本頁)
*1T -----------
I— !- I I 409206
五、發明説明( 時) 經濟部中夬橾隼局員工消費合作杜印11 料^ 技術^電腦系統在讀取時以掏取整行(四個資 資料來佔㈣上之便宜,無論微處理器所要求者是 :仃資料。於疋整行資科即被置入快取記憶體中。就 基:美國加州Santa C1㈣之I則公司所製Pentl請③處 理态乙電腦系統而言’每一資料字包括“位元。 由此可知欲改進在系統記憶體讀取時之系統性能,從系 統z ft禮轉回(第_個資料字所需之時鐘週期數應予減 少、°因此須有—種方法可減少從系统記憶㈣取資料字所 需之時間而增進系統之性能。 本發明之簡怵_ 本發明所述者爲-種改進電腦系統在讀*記憶體時之性 能^處理器要求對記憶體讀取,指明位址及記憶源而顯 示所七資料之位置。解碼電路將記憶體讀取要求加以解碼 而才曰出與”己隐源對應之記憶裝置。在對記憶體讀取要求解 碼之同時,根據輸入之位址從系统記憶體擷取臆測之 料。右解碼電路確定系統記憶體並非所需之記憶源時, 取消臆測讀取之資料,此種資料則不會被微處理器使用 若解碼電路確定系統記憶體即爲所需之記憶源時 ,即將 測資料提供給微處理器。 本發明之其他特性及優點將於附圖及下面之詳細説明 更爲明顯。 附圖簡介 本發明藉附圖舉例說明但並不限於附圖所述者。 資 即 臆 中 (請先聞讀背面之注意事續再填寫本頁) 裝 泉 6 本紙張尺度適用中國國家榡準(CNS ) 規格(2l0'x297公釐〉 第85110933號專利申請案 中文說明書修正頁(89年6月) 409206 A7 B7 五、發明説明(4 ) 圖1為先前技術之電腦系統。 圖2為先前技術之記憶體控制器。 圖3為在先前技術記憶體讀取要求中之信號計時圖 圖4為本發明一項實例中之信號計時圖。 圖5為本發明一項實例中之狀態圖。 立件符號說明 110 微處理器 120 快取記憶體 130 系統記憶體 140 記憶體控制器 150 系統匯流排 160 主匯流排 2 10 微處理器介面 220 快取記憶體控制器 230 系統記憶體控制器 240 解碼器 250 匯流排控制器 260 讀取控制器 - I - - 0 ----- I HI 1 - - 1 (請先閔讀背面之注意事項再填寫本頁) 經濟部中央橾準局員工消費合作社印裝 本發明所述為一種實現臆測系統記憶體之讀取的方法及 裝置。下面將說明甚多特定詳情,諸如特定之系統组件、 匯流排週期及計肖波形等俾能對本發明有.澈底暸解。但熟 於此項技術者可看出該等特定詳情並不一定要用於實施本 本紙張尺度適用中圉國家揉準(CMS ) A4说格(210X297公釐} 409206 第85110933號專利申請案 中文說明書修正頁(89年6月) 修煩五、發明説明(4a) 發明。其他之例子、眾所週知之组件或方法並未作詳述以 避免與本發明混淆。 參看圖2,所π為先前技術實例之記憶體控制器〗4 〇。 記憶體控制器140包括一含有解碼電路24〇與讀取控制電 路2 60之微處理赛介面210。記憶體控制器14〇更包括快 取記憶體控制器2 2 0 '匯流排控制器2 5 〇及系統記憶體控 制器2 3 0 ° 微處理器介面210透過主匯流排ι6〇耦合至微處理器 110。在本發明另一實例中,一個或多個微處理器亦透過 主匯流排160耦合至記憶體控制器14〇。微處理器11〇於 主匯流排1 6 0上發信號至記憶體控制器丨4 〇要求讀取及窝 出作業。解碼電路收到主匯流排丨6 〇上之信號即確定⑴所 要求者為讀取或寫出作業,⑵讀取裝置及寫出目標裝置為 何及⑶讀取源或寫出目標裝置中之所需位址為何。 若確定所要求者為讀取作業,即將控.制轉移至讀取控制 --------.裝------'IT_.-----.咏 (請先閲讀背面之注意事項再填寫本頁) 經濟部令央樣準局I工消費合作社印掣 本紙張尺麵财關家鮮(CNS ) Α4· ( 2丨GX297公釐) 409206 Α7 Β7 5 五、發明説明( 電路260。該電路負貴控制從系統匯流排15〇 '系統記憶 體130或快取記憶體12〇之讀取作業。就本發明之一項^ 例而言,讀取控制電路260包括一狀態機器,該機器之 業將於下文中詳述β 陕取Ζ隐體控制器2 2 0控制至及自快取記憶體之存取。 快取記憶體㈣器220之-項功能爲轉快取記憶禮之同 調。微處理器110每次從系統記憶體13〇要求資料時,快 取記憶體120即受到檢查視其是否含有所要求之資料。若 有’即會發生快取記憶體被擊中之情形而從快取記憶體 120而非系統記憶體130讀取資料。反之,若在快取^己憶 體中並未找到資料時,即發生快取記憶體未被擊中之情形 而資料即從系統記憶體1 3 〇轉移至微處理器丨丨〇及快取記 憶體1 2 0。在一項實例中,快取記憶體控制器包含—狀钹 機Ρ " 就一個實例而言,快取記憶體丨2 〇使用一「寫通」快取 記憶體同調協定。在微處理器寫至系統記憶體13〇之過程 中,當偵測到快取記憶體被擊中時,快取記憶體12〇及系 統記憶體130中之資料均被更新^若偵得快取記憶體未被 擊中時’則僅更新系統記憶體之資料。 另一種方式是快取記憶體120使用「寫回」同調協定, 在微處理器寫至系統記憶體1 3 0時擊中快取記憶體丨2 〇, 僅將快取記憶體120按新資料加以更新。新資料然後被寫 回至系統記憶體1 3 0。當微處理器之書寫未擊中快取記憶 體1 2 0時,僅將系統記憶體】3 〇加以更新。 -8 - 本紙伕尺度適用中國囷家標準(CXS ) Α4規格(2Ι〇χ29?公釐) ί---^------^------,玎------Λ - · -/ {詩先閱讀背面之注意事項再填寫本頁) 經濟部中央標隼局員工消費合作社印製 B7 B7 經濟部中央標準局負工消资合作衽印裂 五、發明説明(6 ) 在一實例中,快取記憶體120包括一成組之靜態隨機存 取記憶體(SRAM)。在另一實例中,快取記憶體包括〆同 步之SRAM。SRAM陣列之大小可包括2 56千位元组、 5 I 2千位元組或依電腦系統組態所決定之任何其他適當之 大小。 5己憶體控制器1 4 0更包括一系統記憶體控制器2 3 〇。控 制器23〇響應來自微處理器11〇之讀/寫要求需負貴提供適 當控制信號至系統記憶體丨3 〇。在一實例中,系統記憶體 控制器230包括一狀態機器。 在實例中’系統5己憶體1 3 0包括一 D R A Μ降列。因此 系統記憶體控制器2 3 0之一個實例包括一重新計時器電路 提供重新信號至DRAM « 匿流排控制器2 5 0用於控制匯流排丨5 〇之要求。例如, 微處理器110可能從耦合至系統匯流排15〇之週邊裝置要 求資料,匯流排控制器2 5 0即在系統匯流排1 5 〇上按照系 統匯流排協定確定適當位址及控制信號。在一實例中,系 統匯流排協定爲週邊組件互接(PCI)協定,因此匯流排控 靱器2 5 0之功能如一 PCI橋。 匯流排控制器2 5 0亦在系統記憶體1 3 〇與系統匯流排 1 5 0間介接。例如’位於系統匯流排1 3 〇上之一裝置要求 從系统記憶體1 3 0讀取資料或窝資料至系統記憶體]3 〇 , 匯流排控制器2 5 0即驅動適當信號至系統記憶體丨3 〇以便 完成作業》 圖3爲先前技術從微處理器110讀取要求之計時圖。在 -9- 本紙張尺度適用中园國家標率(CNS ) A4規格(210X297公釐) Ί-- (請先閲讀背vg之.注意事項再填寫本頁) 訂 409206 A7 B7 經濟部中央榇率局員工消費合作社印製 -10 - 五、發明説明( 下面时論中’ k號名稱將稱爲《已確定”及“未確定”信 號。有“ 符號之信號爲主動性低者,所以被確定爲在邏 輯0狀態。其他信號爲主動性高者,則被確定爲在邏輯1 狀態。熟於本項技術者即知指定低或高之信號並不限制本 發明之範圍。 先前技術?己憶體控制器面臨之一项問題是需要某一最低 數量之時鐘計時從記憶體擷取資料字。有兩個理由很難減 少此一最少之時鐘數β第一,出入時間大都須視系統記憶 體1 3 0 I特定存取時間而定;第二,對讀取要求加以解碼 及設定對應信號均須耗費時間且甚難將之減少。例如,圖 3所示之使用先前技術記憶體控制器,爲響應讀取要求需 要7個時鐘時間將資料送回微處理器Ι1〇 β 在時鐘3 00時,微處理器11〇確定有一讀取要求即在主 匯流排1 6 0上確定位址選通脈衝“ AD s # ”以顯示匯流排週 期之啓始。在相同時鐘上,微處理器11〇在位址信號匯流 排上確定一位址。在一實例中,位址信號匯流排包括一 3 2位兀匯流排,另一種位址信號匯流排視特定微處理器 .及电版系統之組態而定則有其他不同寬度。 位址被解碼電路240在解碼時鐘310時被收到,隨後該 電路即對位址加以纽。位址可能顯^自系統記憶體 130或搞合至系統匯泥排15〇上之一裝置之讀取要求。解 碼電路24〇將控制轉給讀取控制電路26〇以備讀取要求作 業。 讀取控制電路26〇視微處理器11〇在其讀取要求中指定 表紙張國國家-標準(c>;s) A4規格 -----------^------iT------Λ -* {請先閔讀背面之注意事項再填寫本頁) 經濟部中央標準局員X消費合作社印裝 409206 A7 —----—_______Β7 五、發明説明() 8 之裝置爲何而起動適當之控制分段s在時鐘32〇中,讀取 要求k號反_汉£<5爲讀取控制電路26〇所確定,該電路另 確疋圮憶體起動信號MEM —£N以顯示系統記憶體爲被 要求之讀取源。系統記憶體控制器2 3 0偵得ME M_£N信 號即對系統1己憶體1 3 0確定所需信號俾完成讀取作業。 則文說過’每當執行系統記憶體之讀取或書寫時,快取 圮憶體1 2 0即會被加以搜索,若確定快取記憶體有所要求 义資科時’快取記憶體控制器2 2 〇在時鐘2 3 〇中即會確定 一「擊中」信號。讀取控制電路26〇偵得「擊中」信號時 即會使系統記憶體控制器2 3 〇放棄系統記憶體讀取作業。 在同一時鐘320中’ 「訊號群已妥」信號BRDY#被主匯 流排1 6 0上之快取記憶體控制器2 2 〇加以確認以顯示資料 已被置於微處理器UO之資料接頭上以響應讀取要求。 假定讀取作業並未擊中快取記憶體,系統記憶體控制器 2 3 0在時鐘3 3 〇 -3 7 0中繼續系統記憶體讀取工作β然後所 要求之資料在時鐘370被送回微處理器11〇或窝至快取記 憶體22 0 ’於此同時,;3RD Y#信號亦被加以確定。請注 意在圖3實例中,需要7個時鐘使資料從系統記憶體13〇退 回,而太部份時鐘是用於系統記憶體控制器22〇擷取被要 求之資料。 一先前技術之系統記憶體控制器2 3 0即使在僅要求一個 字之情形下亦須擷取四個連續之資料字而將該四字存入快 取記憶體中以備其在微處理器程式之較後次序中有需要。 擷取四個字是因爲只要第一個字已被讀取後再擷取相鄰之 -11 - 本紙ft尺度適用中國國家標準(CNS ) Μ規格(2丨0 X 29?公釐) ^------扣衣------,玎------^ - * - (請先閔讀背面之注意事項再填寫本頁} 經濟部中夬檁準局員Η消費合作祍印製 409206 A7 B7 ____ __ ' '一 ——— - 五、發明説明(9 ) 字所需時間大爲減少。例如,一快取記憶體控制器執行四 個連續讀取時’第一個使用7個時鐘而第二至第四僅用兩 個時鐘。因此記憶體控制器能執行7 - 2 - 2 - 2之記憶體讀取 適期。 如前所述’很難減少從系統記憶1 5 0中類取第一個資料 字所需之時鐘週期數。但下文中將說明本發明在每一微處 理器讀取作業中實施臆測系統記憶體讀取可缓和此_問 題。 因此,茲説明一種用於實現臆測系統記憶體讀取之方法 與裝置。該方法是由一含有解碼電路、讀取控制電路及匯 流排控制器之記憶體控制器來實施。 在上述之先前技術之方法中,微處理器之讀取要求在時 鐘310被解碼而在時鐘320中擷取資料。相較之下,本發 明之方法是將從系統I己憶體1 3 〇讀取資料與解碼步驟同時 進行。若解碼步驟確定系統記憶體要求資料之源時,資料 在早於一個時鐘即被退回微處理器110,若解碼步驟確定 系统記憶體並非所要求資料之源時,從系統記憶體擷取之 資料不予使用即可。 圖4爲本發明實例之計時圖。與圖3中所示之方法類 似’微處理器110發起一讀取要求並在時鐘4〇〇中確定了 ADS#信號。在同一時鐘内,位址信號在位址信號匯流排 上亦被確定。如上所述,位址信號匯流排有甚多位元,在 本發明之一實例中,第一組位址位元顯示微處理器欲從那 —個裝置讀取資料,第二組位址位元則顯示資料在所需装 -~~~___ _ -12- 本上張尺度適用中國國家榡準(CNS ) A4規格(210X297公笼) H' Γ* K Jr n n n -- n i n n I--丁 __ n I n n I_,良 -a - i請先閔讀背面之:;i意事項再填寫本頁) 五、發明説明(ιη) 4〇92〇g A7 B7 經濟部中央標準局員工消費合作衽印製 置内之位址。應知須視所用之微處理器、記憶裝置及匯流 排協定之類型而.派定位址位元,但此點並非限制本發明之 範圍。 解碼電路240在時鐘410對來自微處理器11()之讀取要 求加以解碼。在同一時鐘内,R_rEQ信號被確定而顯示 —讀取作業且M£M__EN信號亦被確定而顯示從系統記憶 體13〇讀取。請注意’讀取控制電路26〇較圖3中之計時 圖早一個時鐘確定此等信號。此係因爲讀取控制電路2 6 〇 指揮系统1己憶體控制器2 3 0從系統記憶體1 3 0進行讀取而 不理會解碼電路2 4 0。系统記憶體控制器2 3 〇利用第二組 位址位元從系統s己憶體1 3 0讀取,顯示出被要求資料於其 所在記憶裝置中之位置:。 解碼電路240結束對來自微處理器n〇讀取要求之解碼 後’在時鐘420採取適當之步騍。若解碼電路24〇顯示被 要求之裝置(即第一组位址位元)已表示系統記憶體丨3 〇爲 有正確之資料源時,即不採取行動。於是在時鐘43〇46() 中資料被從系統#己憶體掏取。隨後在時鏡4 6 〇中B r ρ γ # 信號被確定,顯示資料已在微處理器11〇之資料接頭上備 妥。 相較之下,解碼電路240若偵得系統記憶體13{)並非正 確之資料源時,即在時鐘420確定一取消信號。此一情形 在微處理器110若要求從系統匯流排15〇上之一裝置讀取 時即會發生3取消信號會被讀取控制電路2 6 〇及系統記憶 體控制器2 3 0偵測到。控制器2 3 〇偵得取消信號後,即停 -13 於纸張尺度適用中國國家標隼(CNS)A4規格(210X 297公疫) 一讀先閱讀背而之注意事項再填寫本頁) 装.
-.VI • - 經濟部中央標隼局負工消費合作社印袈 409206 A7 ' * _____________ —_ B7 五、發明説明(h) 止正進行之讀取作業。在一實例中,系統記憶體控制器 2 3 〇包括一狀態機器會在收到取消信號時顯示讀取作業平 順轉出之狀態。 請/王意’在所述實例中’快取記憶體控制邏輯2 2 〇並不 又系統Ϊ己憶1 3 0臆測讀取之影響。控制邏輯2 2 〇依讀取控 制電路2 6 0之指示在快取記憶體i 2 〇中搜索被要求之資 料。 圖5爲用於讀取控制電路2 6 〇之狀態機器。「閒置」狀 態顯示目前並未進行讀取作業。「臆測讀取」狀態顯示系 統圮憶體控制器23 0正進行臆測讀取。「記憶體備妥」狀 態顯示系統記憶體控制器23〇正進行非臆測系統記憶體讀 取。 狀態機器從「開置」狀態開始,在收到來自微處理器 no之讀取要求時(即ADS#信號),即進入「臆測讀取」 狀態’如通路5 I 0所示。若未收到系統記憶體讀取時,讀 取控制電路經由通路5 6 〇保持「閒置」狀態。 讀取控制電路2 6 0保持在「臆測讀取」狀態直至兩種狀 诉》之一發生爲止《若解碼電路24〇確定系統記憶體13〇爲 正確之裝置時’即經由通路52〇進入「記憶體備妥」狀 % °若解碼電路確定系统記憶體〗3 〇並非正確之裝置時, 則經由通路5 3 0進入「間置」狀態;在此狀態中,系統記 憶體控制器2 3 0即平順地停止臆測讀取作業。 當系統記憶體1 3 0被存取時,讀取控制電路2 6 0保持在 「記憶體備妥」狀態(如通路所示)^只要資料—被取 _______ -14 - 本紙張尺^國家i (CNS) Α4規格~-— ----„------I------IT------.1 (請先K讀背面之注意事項再填寫本頁) 409206 A7 _________B7 五、發明说明(*12 ) 得(如確定之BRDY#所顯示),讀取控制電路26〇即輕由 通路550進入「閒置J狀態。 表 在一實例中,圖5中之狀況機器包括—可程式化之邏輯 陣列(PLA)。另一万式,圖5中之狀態機器係利用儲存捽 含,諸如微電碼,來實現β在另一實例中,圖5中之狀^ 機器包括邏輯閘與正反器之组合。 w 於此即説明一種用於臆測系統記憶體讀取之方法及裝 置"該方法之實現係藉用做微處理器與⑴一外在快取記憶 體、⑵一系統記憶體及⑶一系統匯流排之間介面之記憶體 控制器。另外,本發明之方法亦可在缺少一個或多個上述 所需裝置之電腦系統中實現。再者,本發明亦可用於含有 一個以上微處理器、系統記憶裝置、置於系統匯流排上之 裝置或外在快取記憶體之電腦系統中β 以上説明一種用於實現臆測系統記憶體讀取之方法及裝 置°本發明之方法及裝置已藉實例加以説明β但顯然只要 不脱離本發明之廣義精神與範圍,仍可作各種改變。所述 之規格與圖説亦係僅爲説明而無嚴格限制之意。 經濟部中央標準局員工消費合作社印袈 本紙铁尺度適用中國國家標準(CNS ) Α4規格(210X297公釐)
Claims (1)
- 六 第85110933號中文申請案 主利範圍修異本⑧年ή )申請專利範圍 A8 B8 CS D8 經濟部中央標準局負工消費合作社印装 1. 一種用以改進電腦系統在記憶體讀取時性能之方法, 該方法包括下述步驟: ⑻接收特定以被要求讀取資料之第一記憶體源及第 一記憶體源中第一位址之讀取要求; (B)將讀取要求解碼以辨認出與第一記憶體源對應之 裝置;及 (0在步鄉(B)完成之前,利用第一位址從系統記憶體 推測性地起始一資料提取。 2. 根據申請專利範圍第1項之方法’其中之系統記憶體包 括一動態隨機存取記憶體(DRAM) » 3. 根據申請專利範圍第1項之方法,更包括下述步驟: (D)完成於步驟QB)中之該讀取要求解碼,1旧若步驟 (0確定與該第一記憶體源對應之該裝置並非該系統記 憶體時,則取消步騾(C)。 4. 根據申請專利範圍第3項之方法,其中之讀取要求被一 主裝置所確定,其中之步驟(E)更包括下述步驟: 若步驟(D認定與第一記憶體源對應之裝置為系統記 憶體時,將該資料退回主裝置。 5. 根據申請專利範圍第4項之方法,其中之主裝置為一微 處理器,而其中之讀取要求係使用微處理器讀取計時 發出。 6· —種自動執行讀取作業之方法,包括下述步騾: (A)接收一來自主裝置之指令,該指令含有第一位址 信號及第一裝置信號從而指出第一資料之位置; 本紙張尺度逍用中β®家梯準(CNS ) A4洗格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) t- "* Γ 409206 A8 B8 C8 D8 經濟部t央橾準局貝工消費合作杜印製 六、申請專利托圍 ⑻將第一裝置信號解碼以辨別含有第一資料之第一 裝置; (0在步驟(B)完成前,從系統記憶體推測性地起始一 資料提取,其中該資料相當於該第一位址信號; ⑽完成於步驟(B)中之該第一裝置信號解碼;及(E)若 步驟(Q認定第一裝置為系統記憶體時,則響應該讀取 指令而將該資料送回該主裝置。 7. 根據申請專利範圍第6項之方法,其中之系統記憶體更 包括動態隨機存取記憶體(DRAM) » 8. 根據申請專利範圍第6項之方法,其中之步驟(£)更包括 下述步驟: 若步驟(DI確定第一裝置並非系統記憶體時,即取消 步驟(C)。 9,根據申請專利範圍第6項之方法,其中之主裝置為一微 處理器,而其中之讀取指令係由主裝置按照微處理器 讀取計時發出。 10· —種記憶體控制器,包括: (A) 臆測讀取控制裝置,用以自主裝置接收一讀取指 令,該讀取指令包括一位址及一裝置碼,且於一收到 該漬取指令後且在該裝置碼已解碼前,立即利用該讀 取指令中之該位址’從一系統記憶裝置,推測性地起 始一資料提取;以及 (B) 解碼裝置,將該讀取指令解碼以辨認與該裝置碼 相關之一記憶裝置。 -2- 1·— —Ji— H^I In 1 n HI I tr I · -、一^ (請先聞讀背面之注項再填寫本育> 本紙張尺度逋用中國國家榡率{ CNS ) A4洗格(2丨0 X 297公羡) 經濟部中央標準局貝工消费合作社印製 40^206 B8 C8 D8 六、申請專利範圍 ~" "' 11.根據申請專利範圍第丨〇項之記憶體控制器,其中之臆 測讀取控制奄路更包括一狀態機器。 12·根據申請專利範圍第1 〇項之記憶體控制器,其中該解 碼電路更包括; 發出一中止信號至該臆測讀取控制電路之裝置,如果 於該讀取指令之解碼一完成,該解碼裝置確定該被辨 認之記憶裝置不是該系統記憶裝置。 13. —種電腦系統,包括: 一主裝置; 一系統記憶裝置; 一記憶體控制器,耦合至主裝置及系統記憶裝置, 該記憶體控制器更包括: ㈧臆測讀取控制電路,從主裝置接收讀取指令, 其中之讀取指令包括一位址及一裝置碼,且其中該臆 測讀取控制電路於一收到該讀取指令後且在該裝置碼 已解碼前’立即利用該讀取指令中之該位址,從該系 統記憶裝置推測性地起始一資料提取;及 (B)解碼電路’將該讀取指令解碼以辨認與該裝置 碼相關之一記憶裝置。 14·根據申請專利範圍第1 3項之電腦系統,其中之臆測讀 取控制電路更包括一狀態機器。 15. 根據申請專利範圍第1 3項之電腦系統,其中之系統記 憶裝置包括動態隨機存取記憶體(DRAM)。 16. 根據申請專利範圍第1 3項之電腦系統,其中該解碼電 -3- 本紙張尺度適用中國國家梂準(CNS ) Α4说格(210X297公釐) (請先閎讀背面之注意事項再樓寫本育) •裝 、1T 40^06 Β8 C8 D8 #、申請專利範圍 路更包括; 電路,發出一中止信號至該臆測讀取控制電路,如果 於該讀取指令之解碼一完成,該解碼電硌確定該被辨 認之記憶裝置不是該系統記憶裝置 (請先閲讀背面之注意事項再填寫本頁) '裝 '1T 經濟部中央標隼局員工消費合作杜印製 -4- 本紙張尺度逋用中國國家揉率(CNS > Α4洗格(210X297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/580,323 US5603010A (en) | 1995-12-28 | 1995-12-28 | Performing speculative system memory reads prior to decoding device code |
Publications (1)
Publication Number | Publication Date |
---|---|
TW409206B true TW409206B (en) | 2000-10-21 |
Family
ID=24320634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW085110933A TW409206B (en) | 1995-12-28 | 1996-09-06 | Method and apparatus for performing speculative system memory reads |
Country Status (8)
Country | Link |
---|---|
US (1) | US5603010A (zh) |
EP (1) | EP0812437B1 (zh) |
JP (1) | JP3732518B2 (zh) |
AU (1) | AU6493696A (zh) |
DE (1) | DE69617404T2 (zh) |
HK (1) | HK1006235A1 (zh) |
TW (1) | TW409206B (zh) |
WO (1) | WO1997024672A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926831A (en) * | 1996-10-11 | 1999-07-20 | International Business Machines Corporation | Methods and apparatus for control of speculative memory accesses |
US6148380A (en) * | 1997-01-02 | 2000-11-14 | Intel Corporation | Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus |
US6493802B1 (en) | 1998-06-18 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Method and apparatus for performing speculative memory fills into a microprocessor |
US6081874A (en) * | 1998-09-29 | 2000-06-27 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect |
US6067603A (en) * | 1998-10-01 | 2000-05-23 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect |
US6865652B1 (en) * | 2000-06-02 | 2005-03-08 | Advanced Micro Devices, Inc. | FIFO with undo-push capability |
US6888777B2 (en) * | 2002-08-27 | 2005-05-03 | Intel Corporation | Address decode |
US7159066B2 (en) * | 2002-08-27 | 2007-01-02 | Intel Corporation | Precharge suggestion |
US7120765B2 (en) * | 2002-10-30 | 2006-10-10 | Intel Corporation | Memory transaction ordering |
US7469316B2 (en) * | 2003-02-10 | 2008-12-23 | Intel Corporation | Buffered writes and memory page control |
US7480774B2 (en) * | 2003-04-01 | 2009-01-20 | International Business Machines Corporation | Method for performing a command cancel function in a DRAM |
US7076617B2 (en) * | 2003-09-30 | 2006-07-11 | Intel Corporation | Adaptive page management |
US7810013B2 (en) * | 2006-06-30 | 2010-10-05 | Intel Corporation | Memory device that reflects back error detection signals |
US7627804B2 (en) * | 2006-06-30 | 2009-12-01 | Intel Corporation | Memory device with speculative commands to memory core |
US9619382B2 (en) * | 2013-08-19 | 2017-04-11 | Intel Corporation | Systems and methods for read request bypassing a last level cache that interfaces with an external fabric |
US9665468B2 (en) | 2013-08-19 | 2017-05-30 | Intel Corporation | Systems and methods for invasive debug of a processor without processor execution of instructions |
US9632947B2 (en) | 2013-08-19 | 2017-04-25 | Intel Corporation | Systems and methods for acquiring data for loads at different access times from hierarchical sources using a load queue as a temporary storage buffer and completing the load early |
US9361227B2 (en) | 2013-08-30 | 2016-06-07 | Soft Machines, Inc. | Systems and methods for faster read after write forwarding using a virtual address |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1216087B (it) * | 1988-03-15 | 1990-02-22 | Honeywell Bull Spa | Sistema di memoria con selezione predittiva di modulo. |
CA2044487A1 (en) * | 1990-06-15 | 1991-12-16 | Michael E. Tullis | Lookaside cache |
US5353429A (en) * | 1991-03-18 | 1994-10-04 | Apple Computer, Inc. | Cache memory systems that accesses main memory without wait states during cache misses, using a state machine and address latch in the memory controller |
-
1995
- 1995-12-28 US US08/580,323 patent/US5603010A/en not_active Expired - Lifetime
-
1996
- 1996-07-15 DE DE69617404T patent/DE69617404T2/de not_active Expired - Lifetime
- 1996-07-15 WO PCT/US1996/011715 patent/WO1997024672A1/en active IP Right Grant
- 1996-07-15 EP EP96924503A patent/EP0812437B1/en not_active Expired - Lifetime
- 1996-07-15 AU AU64936/96A patent/AU6493696A/en not_active Abandoned
- 1996-07-15 JP JP50462597A patent/JP3732518B2/ja not_active Expired - Fee Related
- 1996-09-06 TW TW085110933A patent/TW409206B/zh not_active IP Right Cessation
-
1998
- 1998-06-16 HK HK98105419A patent/HK1006235A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP3732518B2 (ja) | 2006-01-05 |
DE69617404D1 (de) | 2002-01-10 |
WO1997024672A1 (en) | 1997-07-10 |
US5603010A (en) | 1997-02-11 |
EP0812437A1 (en) | 1997-12-17 |
JPH11501750A (ja) | 1999-02-09 |
HK1006235A1 (en) | 1999-02-19 |
EP0812437A4 (en) | 1999-01-13 |
AU6493696A (en) | 1997-07-28 |
EP0812437B1 (en) | 2001-11-28 |
DE69617404T2 (de) | 2002-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW409206B (en) | Method and apparatus for performing speculative system memory reads | |
AU608894B2 (en) | Virtual address write back cache with address reassignment and cache block flush | |
JP4562919B2 (ja) | ダイナミック・ディスプレイ・メモリを実装するための方法および装置 | |
US5333276A (en) | Method and apparatus for priority selection of commands | |
TWI228657B (en) | Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty | |
KR100228940B1 (ko) | 메모리 일관성 유지 방법 | |
TW521186B (en) | Sequencing method for accessing shared system resources and its bridging system | |
US5590310A (en) | Method and structure for data integrity in a multiple level cache system | |
US20060190636A1 (en) | Method and apparatus for invalidating cache lines during direct memory access (DMA) write operations | |
TWI276102B (en) | DRAM and refresh method for DRAM | |
CN114063934A (zh) | 数据更新装置、方法及电子设备 | |
US6446169B1 (en) | SRAM with tag and data arrays for private external microprocessor bus | |
TW440761B (en) | The cache device and method | |
JPH0410102B2 (zh) | ||
TW384445B (en) | Method for bursting processor data to or from an I/O device | |
US5274786A (en) | Microprocessor memory bus interface for inhibiting relatching of row address portions upon subsequent accesses including a same row address portion | |
EP0153109A2 (en) | Cache coherence system | |
JPH0353657B2 (zh) | ||
JP3081635B2 (ja) | キャッシュメモリの無効化処理装置および無効化制御方法 | |
US20070038813A1 (en) | System and method for cache coherence | |
CN111639038B (zh) | Dma控制器的内存控制方法、装置、存储介质及设备 | |
TW544575B (en) | Page organizer within memory controller | |
US6173354B1 (en) | Method and apparatus for decoupling internal latencies of a bus bridge from those on an external bus | |
US6385687B2 (en) | Method and apparatus for simultaneously accessing the tag and data arrays of a memory device | |
TW309598B (en) | Pre-executing page dispatching method used for accessing dynamic random access memory (DRAM) data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |