TW567435B - Scalable processor - Google Patents

Scalable processor Download PDF

Info

Publication number
TW567435B
TW567435B TW091109383A TW91109383A TW567435B TW 567435 B TW567435 B TW 567435B TW 091109383 A TW091109383 A TW 091109383A TW 91109383 A TW91109383 A TW 91109383A TW 567435 B TW567435 B TW 567435B
Authority
TW
Taiwan
Prior art keywords
memory
instruction
instructions
issued
data
Prior art date
Application number
TW091109383A
Other languages
English (en)
Inventor
Gianfranco Bilardi
Kattamuri Ekanadham
Pratap Chandra Pattnaik
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Application granted granted Critical
Publication of TW567435B publication Critical patent/TW567435B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Description

6 5 43 5 五 經濟部智慧財產局員工消費合作社印製 A 7 -_______ 發明説明() t明領域: 本發明係關於一種發佈及執行一運算系統中的記憶 體指令之方法及設備。 i明背景: 由於現今處理器的顯著複雜度而掩飾記憶體存取之 延遲情事。多工排序、處理次序紊亂、搶先取回記憶體 資料、預測之執行方式皆為造成記憶體存取延遲之說明 例。技術之趨勢指出έ己憶體速度無法趕上處理器速度。 現在的記憶體設計受限於管線及階層架構,本案申請人 於共同申請案中揭露一種於恆定頻寬下具有線性延遲功 能的可擴充式管線階層架構。另一與本案同時申請之申 請案,IBM公司編號YOR9200 10439US1,標題為『可擴 充式Λ憶體』’其全部内谷以參考資料併入本案。然而, 現在的處理器無法利用此種不受限制的管線架構,而傾 向記憶未完成的記憶體請求。因為處理器僅有極有限資 源俾使記憶體管線的利用受到極大的限制。該些資源包 含有限的緩衝區,該些緩衝區儲存與一標蕺(tag)相關的 指令資料。以IBM公司的Power PC為例,其至少能具 有8至16個未完成的記憶體運算,而其他競爭嚴商的處 理器更受到限制而無法達到Power PC之功能。此項限制 存在’因為處理器具有專用資源以記憶追切的記憶體請 求,並於該項記憶體請求到達後指定資料的下一步處理。 舉例而g ,當一針對發佈後記憶體指令之回應從運算系 第5頁 本紙張尺度適用中國國家標準(CNS)A4規格(210x297公笼) (請先閱讀背面之注意事項再本頁) 11裝· :本一 訂· 線 567435 五、發明説明( 統的記憶體返回時,該項回應會只有包含由★ 憶體標籤擷取得之杳拉^ ^ 尤憶體及記 憶體標籤擷取得之資料。為執行該發佈指令 以掏取儲存於處理器之緩衝區的運算(。ρ; ’ 址。另-限制為處理器中的暫存器數量有限^標的位 能對不存在於暫存器中的資料進行運算。現:處理器不 僅能執行存在於暫存器中的運算元,暫存器=處理器 制可同時執行之指令數目。 里因而限 標籤係用 經濟部智慧財產局員工消費合作社印製 發明目的及概沭: 本發明之一態樣係構建出一處 ^ 處垤奋咸處理器能以 管線(pipe-Uned)處理方式發佈數目不受限制的記憶體指 令。此態樣可經由組織所有指令以操縱記憶體的資料及 封包具有足量資料的記憶體請求,以獨立處理該返回資 料而達成。此態樣分離一處理器的指令發佈部位及執行 部位,且任一該些部位維持極少量的狀態資料並以一幾 近『不屬任何』(’’stateless'’)的方式運算。該狀態資料包 含一程式計數器及一些柵襴計數器。 本發明另一態樣在回應寫回至記憶體之前,避免從 記憶體中讀取資料,以避免習知的寫入後讀取(read_ after-write)之危害情事發生。此態樣在處理器發佈大量 指令時尤其重要,其中所有發佈的指令並未執行,而大 量尚未完成的寫入至記憶體中的動作也未完成。上述大 量指令在使用上文提及的共同申請案揭露之線性記憶體 可獲得解決,該共同申請案及後續的申請案皆為相同的 第6頁 ;r:........·:裝: (請先閲讀背面之注意事項再本頁) 訂· 線· 567435 經濟部智慧財產局員工消費合作社印製 A 7 ____B7___ 發明説明() 受讓人。本發明藉由維持記憶體中的一柵欄計數器及用 於任一大量區域的計數器,以防止寫入後讀取的危害情 事發生,其中計數值係用以控制處理器發佈下一指令。 依據本發明,當發佈一指定於某一記憶體的柵欄指令時, 若該某一記憶體的計數值超過一門樵時,將不再發佈指 令。任一記憶體區域的計數值於每次發佈一標的位置位 在該區域内的指令時,該計數值增加;在每次執行—指 令以寫入該記憶體區域時,該計數值下降。其中,該計 數值典型上設定為零。 發明評細說明: 第1圖所示為可擴充式處理器系統100的—般示意 圖。上述系統使用先前提及的IBM公司備忘錄編號 YOR92001 0XXX中揭露的線性記憶體。為方便起見,本 案發明人擴展記憶體以具有用以讀取請求的一埠3及用 以寫入請求的二埠4。此種作法純粹用以匹配能在每— 週期中傳送二種結果的線性記憶體1 6。二執行單元i 7 獨立消耗這些結果1 4及提交寫入請求。此種組織確保該 些線1 2上的請求不會相互衝突。 上方路徑分割為三個路徑11 -1 2,其中路徑1丨傳送 讀取請求至記憶體中,而另一路徑1 2傳送寫入請求至該 記憶體中。此種作法純粹為方便起見,而不會以任何方 式增加輸入頻寬。 讀取請求傳送二個標的位址X及y。該讀取請求首 第7頁 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) 567435
、發明説明( 經濟部智慧財產局員工消費合作社印製 先行進至較早位置以收集資料’並進一步在上方路徑中 向上行進到達第二位置以收集第二部分資料。最終在下 万路徑U行進,傳送該對請求的資料項目。此種方式在 孩些路徑產生减增加潛在因素的結果,但不會改變任 何方式的頻寬考量。 指令格丈 處理器將不具有暫存器及對其所有資 1 β貧科使用一線性 記憶體階層架構-低階表示暫存器。—浐人 知令的一般形式為 〇PU,y.Z)’其中X,y,Z為記憶體位址’且其語義為執行位 置X及y上的資料運算(〇peratl〇n; op)並儲存結果至位 置z。對於單元運算,可省略第二運算元(〇perand)。一 經常使用的單元指令為move(x,z)指令,兮4匕人 邊扣令複製位置 X的資料至位置z。 指令發佈及執行 請參照第1圖,一處理器9包含一發佈指令5〇的單 一發佈單元19及二執行單元17,在獲得資料時上述2 一執行單元能執行運算。數個發佈及執行指令能在—# 一晶片上的硬體中執行。一指令必須經歷二個階段,亦 即發佈階段及執行階段。於發佈階段時,一 # 叉連算元擷 取被提交至線性記憶體1 0中。運算碼(op碼)及曰^ κ 1;久目的資料 被附加於請求指令及返回時帶回該資料。該警潘贫 成艾連算元資 料返回該記憶體時,開始進行執行階段。任—杜〜„ 戰仃早元 第8頁 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) 丨Π.......»:裝…".....計 (請先閲讀背面之注意事項再本頁) ‘線 567435 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明() 接收運算元資料1 4、執行一運算、及提交一寫入請求至 記憶體1 0以儲存該項結果。該些指令以其在程式中的排 列次序’以相同方式進行發佈。因為除了該項指令所指 定的記憶體外,其餘的記憶體不會有資料移動的動作, 該程式得以充分控制該記憶體,並在有需要性時經由發 佈移動指令俾使資料更接近處理器,更能明確管理記憶 體。在執行其他指令時,記憶體的管線架構促使資料同 時移動。本發明典型上而言,當處理器具有一資料需求 時’一程式設計者會使用移動指令俾使資料更接近該處 理器。 窝入後讀取(read-after-write)之危害 因為發佈單元及執行單元同時執行,必須保證提交 至記憶體的一寫入至一位置之運.算必須在一相對應的提 交讀取至該位置之運算之前執行。請參閱第2圖的說明, 以一運算指令〇p(x,y,z)而言,於發佈與執行該項指令的 時間區間中,並未完成寫入至z的請求。可經由持續追 蹤未完成寫入至記憶體之該區域的請求,而能防止寫入 後讀取的尨害,並於下文中說明。第2圖中的實體線路 徑說明移動指令21如何執行。當發佈移動指令時,讀取 位置y並將資料流動至執行單元17。在執行移動指令時, 該項結果被送至位置X。然而,在此之後,發佈單元同 時處理及發佈其他指令。一後續的增列指令22之實施例 中,使用位置X且其路徑以虛線11 a進行說明。若該項 第9頁
(請先閲讀背面之注意事項再_本頁) I I · 裝- -訂· 線· 五、發明説明() 增列指令在儲存至位置X之前預 則頂先發佈,將會產生一危 害情事。 柵攔計數器(Fence Counter) 處理器係配置有有限數目紐a 夂θ、,、且合的柵欄計數器,其中, 任一柵欄計數器與記憶體的一區 122域具有關連性。選擇將 該些區域之尺寸放大二倍,並盤甘 北對其取對數N(logN),實務 上並不嚴格限制維持1〇 gN計數装。咬▲ _〜 〇 1双咨。清參照第3圖,當每 次發佈一指令如op (x y z)時(步辨 八V % 3 1) ’與包含z的範圍 具有關連性之柵欄計數會增加(歩辨 (艾風36),且讀取如位置 X及y之資料的-請求被送至記憶體。請參…圖中 的步驟37,以接收到的資料(資料1,資枓2)為例,而後
傳送至執行單元,如第3圖的步驟^邮- L 38所不。當執行單元 經濟部智慧財產局員工消費合作社印製 完成運算(步驟33),亦即:0ρ(資料i,資料2 , ζ),並 提交-窝入至位置Ζ的請求(步驟33)’對應的柵欄計數(第 1圖中的18)會下降(步驟34)。因此,柵襴計數包含數個 未芫成寫入至其關連範圍中的位置的請求。栅欄化 (fencing)藉由程式(a ia釋放一致性模式),以插設入合適 的栅欄(fence)形式指令而得以完成。請參閱第2圖的步 驟23,發佈單元32產生一柵攔指令,該發佈單元持續 等候直到對應的柵欄計數變為零。此種機制能由程式加 以應用,以防止讀取-寫入情事,並能經由選擇範圍及以 一明確的方式配置柵攔運算而更具效率。 藉由一位於其位置的柵欄可使每一運算皆成功,為 第10頁 567435 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明() 一極端實施例。當工作正確時,執行方式可為幾近相繼 的方式。能組織一程式,以累積盡可能數目的指令以寫 入一區域中,並隨後在對該區域的任何位置施以存取動 作前宣告一柵欄指令。能開發編譯技術以明確選擇用於 栅欄運算的位置。 第4圖說明可擴充式處理器系統1 00的一般示意圖, 該處理器系統使用線性記憶體1 6。為方便起見,本案發 明人擴展記憶體以具有用以讀取請求的一埠3及用以寫 入請求的二埠4。此種作法純粹用以匹配能在每一週期 中傳送二種結果的線性記憶體1 6。二執行單元1 7獨立 消耗這些結果1 4及提交寫入請求。此種組織確保該些線 1 2上的請求不會相互衝突。 讀取請求攜具有二標的位址X及y。讀取請求首先 傳送至。讀取請求首先行進至較早位置,以收集資料並 進一步在上方路徑中向上行進到達第二位置以收集第二 部分資料。最終在下方路徑1 3行進,傳送該對請求的資 料項目。 建議的記憶體系統1 〇結構如第4圖所示。為方便說 明起見,以一尺寸所建構的區塊次序表示上述系統。該 些區塊係以位於處理器的Li開始記數,並以遠離該處理 器增加記數編號。每一第i個構建區塊Li具有單位記憶 體(以m表示)及二控制器(以u及d表示)。所有的控制器 u經由單一連結5形成『上方路徑』,以傳遞由處理器發 出的請求至記憶體晶胞。控制器d經由一對連結7形成 第11頁 (請先閱讀背面之注意事項再本頁) .裝. 訂· 線· 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) 567435 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明() 『返回路徑』,以傳遞記憶體晶胞的回應會至處理器。此 設計方式能使位於上方路徑的處理器在每一單位時間中 支撐一請求,但沿著返回路徑的處理器則被要求能在每 一單位時間中接收二個回應。因此,此種設計的輸出頻 寬需求為輸入頻寬需求的二倍。此外,一單一處理器9 也連接至此記憶體系統。本發明之記憶體系統也能與受 讓人隨後提出的相關並存申請案中的處理器一同使用。 若為一寫入運算時,一記憶體請求指定一標的記憶體晶 胞位址、運算(讀取/寫入)及資料。就記憶體尺寸η而言, 標的位址為介於1至η的任一整數,而任一大於η的數 字能用以模擬一無實質運算(亦即處理器不會提交任何實 質的請求)。 請求及回應也攜具有記憶體所無法解釋的額外資 料。舉例而言,如處理器執行ο Ρ ( X,Ζ )形式的指令時(其中 X及ζ為記憶體位址),且其語義為執行記憶體位置X之 資料上的運算(〇 p e r a t i ο η ; ο ρ)及儲存此項結果至記憶體 位置ζ。對於此項指令,該記憶體請求以『讀取,X,無數 據,<ορ,ζ>』之形式遞交,而以『讀取,x,數據,<〇Ρ,ζ〉』 之形式回應此項請求,其中數據為從位置χ所顧取得之 資料。此項回應於返回路徑中傳送、並通過一系列的第 二控制器而到達處理器。此實施例中顯示’當處理器收 到該項回應時,執行資料上的運算以取得一結果(w)。而 後,另一由處理器傳送回應於返回路徑中傳送、並通過 一系列位於向上路徑的第一控制器此項請求以儲存記憶 第12頁 (請先閲讀背面之注意事項再#本頁) I.L裝· 本一 訂· 線 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) 567435 A7 B7 五、發明説明() 體位置z的結果w。該項請求的格式可視為一些相似於 『寫入,Z,W,無資料』,亦即於位置Z儲存該項數值w。 每一具有標的位址i之凊求於向上路徑中行進,且 當其到達每一層級的記憶體單元時複製一備份。記情許 單元m端視運算方式以讀取或儲存資料,並將資料傳送 至控制器d。此處終止的一寫入運算不需產生任一回應, 反而一謂取運算促使該項回應轉換成一沿著返回路徑行 進直至到達處理器的回應方式。若我們假設傳送溝通連 結的單位時間及讀取記憶體的·單位時間、一用於標的位 址i之讀取請求於行進期間並無壅塞的情事時花費2丨+ i 單位時間。控制器係設計以處理前述區域中的墼塞情事 及確保針對需求的請求或回應之流量。請參照第5圖, 用於u、m、及6的更詳盡邏輯區塊於下文中說明: 每一循環的運算 洋見第4囷 • 對於u所接收的任一請求而言,一備份係傳送至m, 且其他備份被傳送至u i ’於頂點(i為η時)輕易捨棄 第二備份。 • 於一讀取運算以複製記憶體的數據至請求中、或於一 寫入運算以複製請求之數據至記憶體中之後,m總是 傳送請求至d。 •如第4圖中所示,d具有三個以FIFO架構排序的内 部緩衝區6。每一循環開始時’ d將任何現存於t之 第13頁 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) f請先閲讀背面之注意事項再9本頁} 裝. 線· 經濟部智慧財產局員工消費合作社印製 567435 、發明說明() —連結上的請求之回應轉送至其内部緩衝區中。而 後’使用下列演算法以置放回應於二外部連結至d : 1 ·如果m的請求讀入至位置i,而後轉換該請求為— 回應並置放於二外部連結上。此外,若有d的内 F美衝區之任一回應移動’置放該回應於外部連 結上(請見第5圖中的5 1)。 2·如果m的請求被寫入至位置i(52)或請求之標的為 一較高位置’而後若有d的内部緩衝區之二任〜 回應移動並置放於二外部連結上(54)。 3·如果3m的請求一較低位置(55),而後若有d的内 部緩衝區之任何回應1移動並置放於二外部連結 上(56)。 模型之特性 現在呈現用於擴充性之二種特性需求:於每一單元及線 性存取延遲中的恆定緩衝區尺寸: 任何t的内部緩衝區尺寸不會超過3。第6圖為一用 於L的可能轉換,Xi為每一循環後中的填充緩衝 區數目。不變數(invariant)狀態3表示藉由產生 連、纟σ而產生的至多一回應之狀態、並確保&不會超過 3。為顯示不變數,我們對狀態3進行二種可能的 轉換·考量狀態Xi== 3的第一轉換。於初始Xi = 2、 及di + 1心連結上的二形成弧狀物(請參閱第4圖中的7) 攜具有回應且針對m之請求係位於丨或更低數值之二 第14頁 :r .......i:裝: (請先閲讀背面之注意事項再本頁} -訂· 線-. 經濟部智慧財產局員工消費合作社印製
567435
、發明説明( 種條件時執行此嚷轉換。此方式確保於下次猶環中能 於di+1之連結上的該些形成弧狀物上具有至多一回 應。运是因為 Π1 1½ tcAw "ΤΓ 1 + 1將於下/入循裱中進行處理,於此 循環中處理%而複製一相同回應U而執行 上述演算法之第三項,只輸出一回應(請參閱地5圖 中的55及56)。現在考量狀態_ 3的第二轉換。於 初始Xl=3、及dui產生一回應且針對㈤之請求係位 於i或更低數值時執行此項轉換。此方式再次確保於 下次循環中能於di + 1之該些形成弧狀物上具有至多一 回應。 位置1的一讀取請求於4i +1次循環内將送回一對應回 應至處理器°針對讀取請求的此項回應在丨次循環 後到達di,因為其路徑長度為i+ 1且於這些路徑上並 無延遲情事β當控制器di執行第一項演算法時,其即 刻置放其於外部弧狀物上。依據該項演算法,所有緩 衝區皆為FIFO排序的空乏區,並於每一循環中移出 一緩衝區的至少一回應。因而獲得結論,亦即1的回 應在其到達處理器之前能經歷3i單位的最大量延遲。 (請先閲讀背面之注意事項再? 裝· I Γ本頁) 訂· 缘- 經濟部智慧財產局員工消費合作社印製 該 ¾ 傳 中 徑Ιο 路 + 回41 返為 於多 及至 4 遲 請延 一 總 送的 傳器 中理 徑處 路至 方應 上回 於應 此對 因相 上 置 位 同 不 的 指護 未維 於能 到計 察設 觀明 們發 我本 時 上 置 位 憶 記 序 〇 次序 算次 運算 成il 完體 標 的 中 組 片 晶 體 隐 記 至 入 併。 一行 以執 能 以 統加 系塊 體區 憶輯 記邏 的體 薦憶 推記 此準 頁 5 11 β 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) 567435 A7 B7 五、發明説明() 圖式簡單說明: 第1圖所示為本發明可擴充式處理器的示意圖; 第2圖所示為一回應寫回運算之前,提交一讀取運算而 發生寫入後讀取(read-after-write)之危害情事的示 意圖; 第3圖所示本發明發佈單元及執行單元的一演算系統; 第4圖所示為可使用本發明之處理器的一線性記憶體系 統; 第5圖所示為控制器中一用以轉遞回應至請求,再到達 處理器的邏輯區塊流程圖;及 第6圖所示為一狀態圖,其中任一狀態指出一控制器中 儲存於緩衝區的回應數目。 (請先閲讀背面之注意事項再本頁) :本一 經濟部智慧財產局員工消費合作社印製 圖號對照說明: 3,4 埠 5,7 連 結 9 處 理 器 11,12,13 路 徑 11a 虛 線 14 運 算 元 資 料 16 線 性 記 憶體 17 執 行 單 元 19 發 佈 單 元 21 移 動 指 令 22 增 列 指 令 32 發 佈 單 元 50 指 令 100 可 擴 充 式 處理器系統 第16頁 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐)

Claims (1)

  1. 中請專利 處理一運算系統中指令的方法,該方法至少包含 下歹彳步驟: 八’夫定孩處理器發佈的未完成之寫入指令數目及標 定出〜超過門檻的記憶體指定區域;及 發佈 ^曰足該記憶體區域的栅欄(fence)指令,直 到窝 至標疋於該指定區域的未完成指令數目低於該 門檻時,才由該處理器發佈進一步指令。 種處理一運算系統中指令的設備,其至少包含: 〜發佈單位,用以決定該處理器發佈而超過一門 、未完成之寫入指令數目、並發佈一柵欄指令以指 定尤憶體之一區域,其中直到寫入至該指定區域的未 _ 々數目低於该門棍時’才由該處理器發佈進一 步栺令。 I 令口 . _ 請專利範圍第2項所述之設備,其中上述裝置 含—計數器。 包 (請先閲讀背面之注意事項再1 裝: Γ本頁) -,τ 線: 緩濟部智慧財產局員X消費合作杜印製 4, 種處理指令的系統,該系統至少包含: 一記憶體,用以儲存資料; 一發佈單元,用以回應每一數個指令、擷取該 隐體的運算元(operand)資料、且傳送該每一指令的 運算(〇p)碼及一標的位置,而不用儲存於該記憶 #發佈單元中;及 第17頁 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公潑) 記 體或 A B CD 567435 六、申請專利範圍 一執行單元,藉由運算該運算(op)碼中的該相關 資料以執行該每一數個指令、且儲存該資料之運算結 果至由該標的位置指定的該記憶體之一位置,其中該 標的位置、該運算(op)碼及運算元資料由該執行單元 接收。 5 . —種處理一運算系統中指令的方法,該方法至少包含 下列步驟: 回應該每一數個指令; 擷取一記憶體的運算元資料、且傳送該運算元資 料、一運算(〇P)碼及一標的位置至該系統的一相關執 行單元中;及 藉由運算該運算(op)碼中的該相關運算元資料以 執每一指令、且儲存該運算元資料之運算結果至由該 標的位置指定的該記憶體之一位置。 (請先閲讀背面之注意事項再本頁) 含 包 少 至 法 方 該 法 方 的 令 指 中 統 系 算 il一: 處步 」p_t ΊΠΊ 種 歹 一 下 6 經濟部智慧財產局員工消費合作社印製 資 元 算 il 該 送 傳 且 料 資 ; 元 令算 指運 個 的 數體 一 憶 每記 該 一 應取 回擷 執料 關資 相元 一 算 的運 統關 系相 該該 至的 置中 位碼 的算 標運 一 該 及算 碼運 P)由 (0藉 算, 運中 一 元 、 單 料行 由 至 果 結 算 運及 之·, 料置 資位 元 一 算之 運體 該憶 存記 儲該 且的 、 定 令指 指置 一 位 每的 執標 以該 頁 8 IX 舞 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) 567435 A8 B8 C8 D8 、申請專利範圍 發佈一指定記憶體區域的柵欄(fence)指令,直到 寫入至標定於該指定區域的未完成指令數目低於該門 檻時,才由處理器發佈進一步指令。 一種處理指令的系統,其至少包含: 一記憶體,用以儲存資料; 一發佈單元,用以回應每一數個指令並擷取該記 憶體的運算元(operand)資料、該每一記憶體指令的一 運算(op)碼及一標的位置; 一執行單元,藉由運算該運算(op)碼中的該相關 資料以執行該每一數個指令 '且儲存該資料之運算結 果至由該標的位置指定的該記憶體之一位置,其中該 標的位置、該運算(op)碼及運算元資料由該執行單元 接收;及 該發佈單元也發佈用以指定記憶體區域的;f冊搁 (fence)指令,其中直到寫入至該每一區域的未完成窝 入指令數目低於一相對應門檻時,才由該每一指定區 域發佈進一步指令。 (請先閲讀背面之注意事項再本頁) 經濟部智慧財產局員工消費合作社印製 含 包 少 至 法 方 該 法 方 的 令 指 中 統 系 算 il 一: csul &U, 理¾ 處步 ► FI !MU 箱 歹 一 下 8 體 憶 記1 佈 發 器 JC. 理 處 一之 加該 一 增含每 , 包 , 時域置 令區位 指體體 音心 音j 己 己 rro’*?'a 該一 ’ 的 值定 數指 計所 關置 相位 一 的 的標 統域 一 系區之 該體令 當憶指 記佈 1 發 頁 9ml 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公楚) 567435 ABCD 經濟部智慧財產局員工消費合作社印製 六、申請專利範圍 記憶體指令用以讀取一記憶體中的資料或寫入資料至 一記憶體中; 當該系統之一處理器執行一記憶體指令時,減少 一記憶體區域的一相關計數值,該記憶體區域包含該 執行指令之一標的位置所指定的一記憶體位置;及 發佈一指定一記憶體區域的柵欄(fence)指令’其 中直到與該指定區域相關的該.計數值低於一門檻時才 發佈進一步指令。 9. 一種處理一運算系統中指令的設備,其至少包含: 當該系統之一處理器發佈一記憶體指令時,增加 一記憶體區域的一相關計數值,該記憶體區域包含該 發佈指令之一標的位置所指定的一記憶體位置,每一 記憶體指令用以讀取一記憶體中的資料或寫入資料至 一記憶體中; 當該系統之一處理器執行一記憶體指令時’減少 一記憶體區域的一相關計數值,該記憶體區域包含該 執行指令之一標的位置所指定的一記憶體位置;及 發佈一栅欄(fence)指令,直到與該指定區域相關 的該計數值低於一門檻時才發佈進一步指令。 1 0. —種處理一運算系統中指令的方法,該方法至少包含 下列步驟: 當該系統之一處理器發佈一記憶體指令時’增加 第20頁 (請先閲讀背面之注意事項再本頁) 裝. -訂· 線 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) 567435 A8 B8 C8 D8 經濟部智慧財產局員工消費合作社印製 六、申請專利範圍 一記憶體區域的一相關計數值,該記憶體區域包含該 發佈指令之一標的位置所指定的一記憶體位置,每一 記憶體指令用以讀取一記憶體中的資料或寫入資料至 一記憶體中; 當該系統之一處理器執行一記憶體指令時,減少 一記憶體區域的一相關計數值,該記憶體區域包含該 執行指令之一標的位置所指定的一記憶體位置’其中 每一發佈指令包含由該記憶體、一運算碼及標的位置 所擷取得之資料;及 發佈一指定一記憶體區域的樹搁(fence)指令’其 中直到與該指定區域相關的該計數值低於一門檻時才 發佈進一步指令。 1 1. 一種處理一運算系統中指令的設備,其至少包含: 當該系統之一處理器發佈一記憶體指令時,增加 一記憶體區域的一相關計數值,該記憶體區域包含該 發佈指令之一標的位置所指定的一記憶體位置,每一 記憶體指令用以讀取一記憶體中的資料或寫入資料至 一記憶體中; 當該系統之一處理器執行一記憶體指令時’減少 一記憶體區域的一相關計數值,該記憶體區域包含該 執行指令之一標的位置所指定的一記憶體位置’其中 每一發佈指令包含由該記憶體、一運算碼及標的位置 所擷取得之資料;及 第21頁 (請先閲讀背面之注意事項再 _寫本頁) 裝 •訂· 線: 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) 567435 ABCD 經濟部智慧財產局員工消費合作社印製 申請專利範圍 發佈一指定一記憶體區域的栅欄(fence)指令’其 中直到與該指定區域相關的該計數值低於一門檻時才 發佈進一步指令。 第22頁 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐)
TW091109383A 2001-05-11 2002-05-06 Scalable processor TW567435B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/854,243 US6978360B2 (en) 2001-05-11 2001-05-11 Scalable processor

Publications (1)

Publication Number Publication Date
TW567435B true TW567435B (en) 2003-12-21

Family

ID=25318133

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091109383A TW567435B (en) 2001-05-11 2002-05-06 Scalable processor

Country Status (10)

Country Link
US (1) US6978360B2 (zh)
EP (1) EP1388053A4 (zh)
JP (1) JP3752224B2 (zh)
CN (2) CN100489770C (zh)
CA (1) CA2447425C (zh)
CZ (1) CZ20032948A3 (zh)
HU (1) HUP0400049A3 (zh)
PL (1) PL364643A1 (zh)
TW (1) TW567435B (zh)
WO (1) WO2002093362A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4434534B2 (ja) * 2001-09-27 2010-03-17 株式会社東芝 プロセッサ・システム
US7730282B2 (en) 2004-08-11 2010-06-01 International Business Machines Corporation Method and apparatus for avoiding data dependency hazards in a microprocessor pipeline architecture using a multi-bit age vector
US7603544B2 (en) * 2004-12-23 2009-10-13 Intel Corporation Dynamic allocation of a buffer across multiple clients in multi-threaded processor without performing a complete flush of data associated with allocation
US8271765B2 (en) * 2009-04-08 2012-09-18 International Business Machines Corporation Managing instructions for more efficient load/store unit usage
CN101853150B (zh) * 2009-05-29 2013-05-22 威盛电子股份有限公司 非循序执行的微处理器及其操作方法
CN102789439B (zh) * 2012-06-16 2016-02-10 北京忆恒创源科技有限公司 控制数据传输过程中的中断的方法与存储设备
US9026720B2 (en) * 2013-02-07 2015-05-05 Apple Inc. Non-volatile memory monitoring
US10489158B2 (en) * 2014-09-26 2019-11-26 Intel Corporation Processors, methods, systems, and instructions to selectively fence only persistent storage of given data relative to subsequent stores
GB2549239A (en) 2014-11-13 2017-10-18 Advanced Risc Mach Ltd Context sensitive barriers in data processing
US10095637B2 (en) * 2016-09-15 2018-10-09 Advanced Micro Devices, Inc. Speculative retirement of post-lock instructions
US11048633B2 (en) * 2016-09-27 2021-06-29 Spin Memory, Inc. Determining an inactive memory bank during an idle memory cycle to prevent error cache overflow
US11119910B2 (en) 2016-09-27 2021-09-14 Spin Memory, Inc. Heuristics for selecting subsegments for entry in and entry out operations in an error cache system with coarse and fine grain segments
US11151042B2 (en) 2016-09-27 2021-10-19 Integrated Silicon Solution, (Cayman) Inc. Error cache segmentation for power reduction
US11119936B2 (en) 2016-09-27 2021-09-14 Spin Memory, Inc. Error cache system with coarse and fine segments for power optimization
US11386010B2 (en) 2016-09-27 2022-07-12 Integrated Silicon Solution, (Cayman) Inc. Circuit engine for managing memory meta-stability
US11074075B2 (en) * 2017-02-24 2021-07-27 Advanced Micro Devices, Inc. Wait instruction for preventing execution of one or more instructions until a load counter or store counter reaches a specified value
US11132145B2 (en) * 2018-03-14 2021-09-28 Apple Inc. Techniques for reducing write amplification on solid state storage devices (SSDs)
CN110209597B (zh) 2019-05-24 2021-10-15 北京百度网讯科技有限公司 处理访问请求的方法、装置、设备和存储介质
WO2021072370A1 (en) * 2019-10-10 2021-04-15 Spin Memory, Inc. Error cache system with coarse and fine segments for power optimization
US11720360B2 (en) * 2020-09-11 2023-08-08 Apple Inc. DSB operation with excluded region
US11868287B2 (en) * 2020-12-17 2024-01-09 Micron Technology, Inc. Just-in-time (JIT) scheduler for memory subsystems
WO2023235003A1 (en) * 2022-06-02 2023-12-07 Micron Technology, Inc. Command fencing for memory-based communication queues

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4646237A (en) * 1983-12-05 1987-02-24 Ncr Corporation Data handling system for handling data transfers between a cache memory and a main memory
JPH0776917B2 (ja) * 1984-12-29 1995-08-16 ソニー株式会社 マイクロコンピユ−タ
US6006325A (en) * 1996-12-19 1999-12-21 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for instruction and data serialization in a computer processor
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US6108737A (en) * 1997-10-24 2000-08-22 Compaq Computer Corporation Method and apparatus for reducing latency of inter-reference ordering in a multiprocessor system
US6163821A (en) * 1998-12-18 2000-12-19 Compaq Computer Corporation Method and apparatus for balancing load vs. store access to a primary data cache
US6647489B1 (en) * 2000-06-08 2003-11-11 Ip-First, Llc Compare branch instruction pairing within a single integer pipeline
US6671747B1 (en) * 2000-08-03 2003-12-30 Apple Computer, Inc. System, apparatus, method, and computer program for execution-order preserving uncached write combine operation

Also Published As

Publication number Publication date
PL364643A1 (en) 2004-12-13
CN100385389C (zh) 2008-04-30
JP2004527054A (ja) 2004-09-02
CZ20032948A3 (cs) 2004-01-14
WO2002093362A1 (en) 2002-11-21
CN100489770C (zh) 2009-05-20
JP3752224B2 (ja) 2006-03-08
CN1507587A (zh) 2004-06-23
CN1855033A (zh) 2006-11-01
EP1388053A1 (en) 2004-02-11
EP1388053A4 (en) 2008-04-16
CA2447425A1 (en) 2002-11-21
US6978360B2 (en) 2005-12-20
HUP0400049A2 (hu) 2004-04-28
US20020169947A1 (en) 2002-11-14
CA2447425C (en) 2008-09-09
HUP0400049A3 (en) 2004-07-28

Similar Documents

Publication Publication Date Title
TW567435B (en) Scalable processor
TWI304548B (en) Method, system, computer readable recording medium recording instructions for counting instruction execution and data accesses for specific types of instructions
CN104375958B (zh) 高速缓存存储器管理事务性存储器访问请求
CN102999406B (zh) 从硬件故障模式的增强转储数据收集的方法和系统
Patterson et al. Informed prefetching and caching
US7620749B2 (en) Descriptor prefetch mechanism for high latency and out of order DMA device
Silberschatz et al. Operating system principles
JP5148680B2 (ja) 複数のデータ・エレメントの収集及び分散
TW397953B (en) Method for executing speculative load instructions in high-performance processors
TWI497278B (zh) 微處理器、死結或活結狀態解除方法以及其電腦程式產品
US8949549B2 (en) Management of ownership control and data movement in shared-memory systems
US10613792B2 (en) Efficient enforcement of barriers with respect to memory move sequences
TWI298126B (en) Method of executing an instruction by a microprocessor in a multiprocessor environment, recording medium comprising a compiler for generating a set of computer executable instructions, and multiprocessor data processing system
US10042580B2 (en) Speculatively performing memory move requests with respect to a barrier
PL178832B1 (pl) Sposób utrzymywania spójności pamięci w systemie komputerowym
US10140052B2 (en) Memory access in a data processing system utilizing copy and paste instructions
US5896517A (en) High performance processor employing background memory move mechanism
JPS60168238A (ja) パイプラインデータ処理装置
TWI352311B (en) Microprocessors, computer systems and methods for
US7107399B2 (en) Scalable memory
TWI564798B (zh) 於多核心處理器中的先前存取資料之檢索技術
US20090094388A1 (en) DMA Completion Mechanism
JP2006527874A5 (zh)
TWI722009B (zh) 用於在遠端處理器上進行基元動作之硬體機制
TW200410133A (en) A method to reduce memory latencies by performing two levels of speculation

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