TW409206B - Method and apparatus for performing speculative system memory reads - Google Patents

Method and apparatus for performing speculative system memory reads Download PDF

Info

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
Application number
TW085110933A
Other languages
English (en)
Inventor
James M Dodd
Richard Malinowski
Brian K Langendorf
George R Hayek
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of TW409206B publication Critical patent/TW409206B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus 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)

  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公釐)
TW085110933A 1995-12-28 1996-09-06 Method and apparatus for performing speculative system memory reads TW409206B (en)

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)

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

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

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