TW514782B - System and method for reducing write traffic in processors - Google Patents
System and method for reducing write traffic in processors Download PDFInfo
- Publication number
- TW514782B TW514782B TW90108311A TW90108311A TW514782B TW 514782 B TW514782 B TW 514782B TW 90108311 A TW90108311 A TW 90108311A TW 90108311 A TW90108311 A TW 90108311A TW 514782 B TW514782 B TW 514782B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- result
- pipeline
- register file
- execution device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000002079 cooperative effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000009434 installation Methods 0.000 claims 2
- 230000002265 prevention Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 13
- 238000013461 design Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000009089 cytolysis Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3873—Variable length pipelines, e.g. elastic pipeline
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)
- Devices For Executing Special Programs (AREA)
Description
514782 A7 B7 五、發明説明(1 ) 本發明一般而言和數位計算電路有關,且更特別的是, 本發明和用以搭配一處理器使用之指令執行裝置之系統及 方法有關。 對於微處理器之設計一般存在著(例如)減少電源消耗及裝 置大小以及減少整體成本等謗發性之標準。特別値得一提 的是,運用眾多同時平行指令之指令執行架構發展係基於 此種考量所發展之一種技術。 吾人所知之可提供上述型式指令執行架構之系統及方法 爲(例如)微處理器指令集架構(ISAs),一般而言,此ISAs 之運作係利用所謂”管路(pipeline)”方法以重疊後續諸指令 之不同執行階段。 一傳統四階段管路使用了(1)抓取(Fetch)、(2)解碼 (Decode)、(3)執行(Execute)、以及(4)回寫(Write-back) 等四階段,對於諸如一載入指令之資料傳輸類型指令,其 通常需要一額外指令管路階段。 經濟部中央標準局員工消費合作社印裂 (請先閲讀背面之注意事項再填寫本頁) 在該循環之第一階段中,處理器自記憶體抓取一指令, 該指令所抓取之位址係儲存於名爲程式計數器(或PC)之内 部暫存器中,當處理器正等侯記憶體對該指令作出回應 時,其會增加程式計數器(PC)値,此意謂著下一循環之抓 取階段將於記憶體中之下一接續位置處抓取指令(除非PC由 該循環之稍後階段所修改)。
在解碼階段時,該處理器會將記憶體所返回之資訊儲存 於另一内部暫存器中(即通稱之指令暫存器或IR),IR現在 已握有以二進位進行編碼之單一機器指令,該處理器將IR -4- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 514782 A7 B7 五、發明説明(2 ) 中之數値解碼以釐清下一階段將進行何項作業。 在執行階段時,該處理器實際執行指令,此階段通常需 要進一步記憶體運作,例如,該指令可指示處理器自記憶 體抓取二運算元(例如其正儲存於運算元暫存器)、將其相加 並將結果儲存於第三位置(該運算元及結果之目的地位址亦 會編碼成爲指令之一邵份)。 在管路之回寫階段,在管路中計算結果之向上串流會寫 入(退回)至位於一暫存器檔案中之目的地暫存器中。 在管路方法之另一早期技藝中,所提供之電路可允許運 算元或結果値不必仰賴暫存器檔案,藉由使用這些分流電 路,運算元或結果値可在產生運算元之指令退回(例如寫回 至暫存器檔案)前即可供後續指令使用。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 上述傳統型式管路存在著多項缺點,舉例而言,傳統管 路方法通常在一暫存器檔案中需要大量個別暫存器以適切 地執行多項同時平行指令,此大型暫存器檔案一般上對於 總體電源之消耗佔有顯著部份,再者,該管路之每一階段 必須對每一指令之執行進行運作,這些缺失,換句話説, 將會影響電源消耗及處理器大小。據此,對一處理器中用 於指令執行之管路而言,任何減少管路階段數目或管路所 需之電路元件數量可達成(1)改進整體電源消耗,以及(2)減 少處理器整體大小。 本發明目的之一在於説明在處理器中之傳統指令執行裝 置之諸般限制,如上所述。 本發明之另一目的在於提出一處理器指令集架構,其可 -5- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 514782 A7 B7 五、發明説明(3 ) 減少一管路方法中之暫存器檔案寫入作業之數量,·其優點 亦即爲減少該處理器之總體電源消耗,再者,暫存器檔案 之大小或矽晶面積可因所需寫入埠數量之降低而減小。 在一處理器中伴隨暫存器寫入流量之缺失會因依據本發 明之管路設計而減少或克服,於其中,吾人提出一指令執 行裝置,該指令執行裝置包含:一指令管路(instruction pipeline)用以產生一指令結果、一暫存器檔案其包含至少 一寫入埠以儲存該結果、一分流電路以存取該結果、一裝 置用以指示是否該結果僅由一其他指令所使用、以及一暫 存器檔案控制,其用以在該結果已經由分流電路存取並僅 由另一指令使用時,防止該結果儲存於該寫入埠中。 在本發明之一具體實施例中,用以指出是否該結果僅爲 另一指令所使用方法包含對每一指令進行編碼,舉例而 言,一稱之爲”空値(dead value)”欄位會用於每一指令之 ”作業碼(opcode)”中以指示是否該結果將僅爲另一指令所 使用。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 在本發明之另一具體實施例中,用以指出是否第一結果 僅爲第二指令所使用之裝置包含該指令管路(instruction pipeline),其決定是否在一指令管路中之指令結果及在該 指令管路中之另一指令之另一結果會被指定儲存於該暫存 器檔案中之相同寫入埠中,因爲位於該暫存器檔案中之寫 入埠係由已存在於指令管路中之後續指令所”重覆使用 (reused)”,此係用於指示該第一結果將僅爲另一指令所使 -6- 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) 514782 A7 B7 五、發明説明(4 ) 本發明之上述及其他具體實施例將於以下舉例詳細説 明。 本發明之特徵及優點可藉由參考伴隨以下所附圖示之較 佳具體實施例之詳細描述而得以了解,其中: 圖1爲一方塊圖,其説明依據本發明技術之指令執行裝置 之設計; 圖2爲一方塊圖,其説明依據本發明技術之指令執行裝置 之另一設計; 圖3爲'一流程圖^其描述在圖1及圖2設計中用以減少暫存 器寫入流量之作業。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 以下某些部份之詳細描述係藉由一電腦記憶體中位於資 料位元上運作之程式或演算法及符號之表示而進行,這些 演算法描述及表示爲熟知資料處理技術之人士用以對其他 熟知本領域之人士有效表達其工作内容之手段。在此所示 之演算法一般上設爲具有自我一致性之步驟順序,其可產 生一預期結果,所謂步驟係爲需要對實體量進行實體操控 之作業,通常(儘管非爲必要),這些實體量以電流、磁性、 或光學信號型式存在,其可被儲存、傳輸、結合、比較、 以及操控。 現在請參照圖1,其顯示一方塊圖用以説明依據本發明之 技術而設計之指令執行裝置之一具體實施例,吾人將可體 認圖1已被簡化俾用於説明之目的,且適合於伴隨本發明使 用之完整處理器環境將包含(例如)隱藏記憶體、隨機存取記 憶體及唯讀記憶體、編譯器或組合語言、輸入/輸出裝置等 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) 514782 A7 B7 五、發明説明(5 ) 等,上述所有元件無需在此顯示。通常,指令執行裝置10 使用一 η-階段管路指令集暫存器架構(ISA) 1至12n(在此 之後統稱爲”管路12”)、一傳統分流電路14、一暫存器檔案 16、及一暫存器檔案控制18。 該管路12包含眾多管路階段(例如抓取、解碼、執行、及 回寫),吾人將了解本發明不限於特定管路架構。舉例而 言,在管路中之階段可包含:指令抓取、解碼、運算元抓 取、算術邏輯單元(ALU)執行、記憶體存取及運算結果之 寫回等等,再者,在管路中之階段可分割至更詳細階段, 在管路中之階段數目爲一架構特徵,其可依據所欲利用之 指令水準平行原則而加以變更。 暫存器檔案16包含至少一用以儲存資料之可定址目的地 寫入埠20,如將爲熟知本領域之人士所了解的,該暫存器 檔案可爲任何能儲存並允許存取記錄/資料之傳統資料庫/索 引式儲存裝置。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 暫存器檔案控制18包含大量邏輯、控制、監督、傳輸功 能,俾控制將寫入資料回寫至暫存器檔案16之作業,暫存 器檔案18亦包含用以達成圖3所描述運作功能之程式,如以 下所詳述,這些程式之執行利用必要之功能以減少在管路 中之暫存器檔案寫入作業之數目。 指令可區分爲三種主要型式之一:算術/邏輯、資料傳 輸、以及控制,算術及邏輯指令使用一或二項敘述之簡單 函式,例如加法、乘法、或邏輯AND等。 每一階段之時序植基於處理器内部建構及其所執行指令 -8 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X297公釐y # # 經濟部中央榡準局員工消費合作衽印製 x —- — B7 、發明 ~~~ ^-- =复雜度。用以衡量作業之計量時間單位為時序循環(— yee),位於一處理器内部導引運算之邏輯係由一外部時序 所挺制,其可(例如)為—電路在一固定期間產生一方形波, 執仃一運算所需之時序循環數目決定其將使用之時間量。 μ吾人已觀察到,大量指令所產生一結果數值僅由位於演 异法中後續一單一指令所使用,例如,後續輸入該管路中 ,另一指令(吾人將稱前一指令為”產生者(producer)”,並 士後指令稱為使用者(consumer)’’),再者,以spec基 卞對暫存器資料流之分析顯示出百分之7〇之所有整數結果 及百分之80至99之所有浮點數結果僅使用乙次,請參閱由 M· Franklin等人所著標題為”對位於精細平行處理器中串 、、泉路内邰運作通訊之暫存器流量分析(Register Traffic ^lysis f〇r Streamlining Inter-Operation Communication ln Fine Grain Parallel Processor)”,發表於 1992年 12 月舉 知之第 25 屆微架構(MiCroarchitecture,MICRO-25)國際 年會,頁次236至245。進一步而言,在極大多數之情況 下,使用者在產生者退回(retires)之前進入管路架構,這 種情況對於某些型式之處理器(諸如superscalarlVLIW等 型別)更常發生,因此,該使用者會透過暫存器檔案以外< 方法(例如分流電路)以獲得結果數值,然而,該結果從不會 回寫至暫存器檔案中。 更重要的是,吾人已了解到,在此/情況下產生者;結 果數值不一定要退回暫存器檔案中,因為其將不會由其他 使用者所使用,而只要該產生器之結果數值一旦分迗至使 -9- 本紙張M規格(21〇χ297疋 (請先閲讀背面之注意事項再填寫本頁) -裝. 訂 514782 A7 B7 五、發明説明(7 ) 用者時,該結果數値即成了”空値(dead value)”,因此,依 據本發明之特性,暫存器檔案控制16會決定是否一特別指 令應在階段η時(例如回寫階段)寫回暫存器檔案16中。 在圖1之用以説明之具體實施例中,在每一指令中之明示 編碼係用於指出是否一特別指令之結果數値將僅由一使用 者(或在管路中之另一使用者)所使用。較佳情況爲,位於指 令編碼(稱之爲一指令之”運算碼(opcode)”)中之專屬”空値 (dead value)”位元會被使用,其基於使用程度(degree of consumption)而由編譯器或組合語言(未顯示)力口以設定或 清除。如果空値位元已被設定,則結果數値在管路12之階 段η時將不會回寫至暫存器檔案16,特別的是,該空値位元 及伴隨指令之指令識別碼會提供予暫存器檔案控制18,其 藉由一寫入驅動信號控制暫存器檔案16將結果數値回寫或 否。另一種情況爲,如果未使用一專屬位元,則吾人可選 擇一些常用指令(例如ADD或LOAD)賦予另一運算碼 (opcode)以指出使用程度。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 在圖2之另一用以説明之具體實施例中,位於每一指令中 之隱含編碼係用於指出是否一特別指令之結果數値將僅由 一使用者(或位於管路中之其他使用者)所使用,特別的是, 管路12會決定是否位於管路中之另一指令將使用相同目的 地位址(例如位於暫存器16中之寫入埠20)作爲管路中之後 續指令,此可藉由數種方式決定。舉例而言,如果在階段 3(123)之指令結果數値係指定於暫存器檔案16寫入埠20之 目的地位址,且位於階段1(120之指令結果數値亦指定於 -10- 本紙張尺度適用中國國家標準(CNS ) A4規格(210>< 297公釐) 514782 A7 B7 五、發明説明(8 ) 暫存器檔案16中之相同目的地位址,則在階段3之指令結果 數値會在階段2”存在(alive)”,但在階段1則爲”空 (dead)”,因爲其目的地位址將由該管路中之另一指令再使 用,換句話説,僅有一使用者將使用結果數値。在另一種 情況下,當多於一使用者(位於該管路中)使用該結果數値 時,亦可使用此方法,舉例而言,如果位於階段n(12n)之 指令結果數値係指定於暫存器檔案16之寫入埠20之目的地 位址,且在階段1(12〇之(向上串流)指令結果數値亦指定於 暫存器檔案16之相同目的地位址,則在階段η之指令結果數 値在階段2至階段η-1時爲”存在(alive)”,但在階段1則爲” 空(dead)”,在此種方式下,該結果數値可”存在(alive)”而 由眾多使用者使用,因此,一旦一結果數値爲”空 (dead)”,其將無法寫回暫存器檔案16中。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 在圖2之説明具體實施例中,傳統閘門及邏輯電路22(例 如OR閘)會用於對暫存器檔案控制18提供一空値位元(如圖 2中所示),所伴隨指令之指令識別碼亦會提供予暫存器檔 案控制18,然而,如在本領域中所週知的,在微架構 (micro-architectures)中支援暫存器重新命名、閘門及邏 輯電路是不必要的,因爲該處理器已包含偵測暫存器再使 用之機制。 圖3爲一流程圖,其顯示基於圖1及圖2設計執行之步驟以 達成減少暫存器寫入流量之目的,爲簡明起見,圖1之具體 實施例會用於描述本發明運作之原則,然而,吾人必須了 解到,圖3所描述之步驟亦可應用於圖2之具體實施例。 -11 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 514782 A7 B7 五、發明説明(9 ) 請同時參考圖1及圖3,當一指令輸入管路12時,本發明 所構思之作業係啓始於圖3之步驟300,在步驟302處,暫 存器檔案控制18會決定是否該空値位元已如上述完成設 定,如果該空値尚未設定,則作業以一傳統管路排置方式 進行(由步驟404表示)。如果該空値位元已設定,則暫存器 檔案控制18(位於步驟306)會決定是否特殊指令之結果數値 已(例如藉由分流電路)被位於管路12中之另一指令所使 用,如果決定爲否,則處理作業進行至步驟304並以傳統管 路排置方式進行,如果決定是定的,則處理作業前進至步 驟308,在步驟308中,該暫存器檔案控制會決定和來自管 路12所接收之指令識別碼相對應之結果數値並將其棄置, 例如,暫存器檔案控制18並不允許回寫步驟將該結果數値 儲存於暫存器檔案16中之寫入埠(或目的地暫存器)。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 以下僅爲説明本發明之原則,吾人將因此了解到,熟知 本領域之人士可引用本發明之原則進行不同設計(儘管並未 在此明白描述或顯示),而其將納含於本發明之精神及範圍 内。再者,所有敘述引用本發明之原理、特徵、及具體實 施例、以及特別例子係用於表示架構及相對之功能,再 者,吾人所要強調的是,此類架構及功能之對應 (equivalents)包含現在已知之對應及未來發展之對應(亦即 任何可執行相同功能之元件,無關於架構)。 在申請專利範圍中,用以執行一特別功能之裝置所表示 之任何元件係用於包含執行該功能之任何方式包含(例如): a)—執行該功能之電路元件之組合;或是b)任何型式之軟 -12- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)~ 514782 A7 B7 10 五、發明説明( 體,包含軔體(firmware)、微碼(microcode)等等,其和適 當之電路結合用以執行該軟體以達成該項功能。由申請專 利範圍所定義之本發明植基於一項事實:由列舉之各種裝 置所提供之功能係以申請專利範圍描述之方式結合及整 合,申請者因此將任何能夠提供該諸般功能之裝置視爲和 在此所描述之裝置相同。 (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 -13 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐)
Claims (1)
- 514782 A8 B8 C8 D8 六、申請專利範圍 1. 一種使用於處理器中之指令執行裝置,該指令執行裝置 包含/ 一指令管路(12)用以對第一指令產生第一結果; 一暫存器檔案(16),其連接至該指令管路,該暫存器 檔案包含至少一第一窝入埠(20)用以儲存該第一結果; 一分流電路(14),其連接至該指令管路(12),該分流 電路(14)可存取該第一結果; 指示裝置,其用以指出是否該第一結果僅由位於該指 令管路中之第二指令所使用;以及 一暫存器檔案控制(18),其連接至該指令管路(12)及 暫存器檔案(16),當該第一結果已藉由該分流電路存取 (18)且由位於該指令管路(12)中之該第二指令所使用 時,該暫存器檔案控制(18)係用以防止該第一結果儲存 於該窝入埠(20)中。 2. 如申請專利範圍第1項之指令執行裝置,其中該指令管 路(12)具有眾多階段。 3. 如申請專利範圍第2項之指令執行裝置,其中該指令管 路(12)以眾多階段處理眾多指令。 4. 如申請專利範圍第1項之指令執行裝置,其中用以指示 是否該第一結果僅由該第二指令所使用之裝置包含將該 第一指令進行編碼以指出是否該第一結果將僅由該第二 指令所使用。 .5.如申請專利範圍第4項之指令執行裝置,其中對該第一 指令進行編碼包含在該第一指令之作業碼中指定一欄位 -14- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) _裝 訂 --------- 經濟部智慧財產局員工消費合作社印製 514782 A8 B8 C8 D8 六、申請專利範圍 以指出是否該第一結果將僅由該第二指令所使用。 6. 如申請專利範圍第5項之指令執行裝置,其中每一指令 會予以編碼以指示是否其個結果僅由另一指令所使用。 7. 如申請專利範圍第3項之指令執行裝置,其中用以指示 是否該第一結果僅由該第二指令所使用之裝置包含該指 示管路,其決定是否位於該指令管路中之該第一指令之 第一結果以及位於該指令管路中之該第二指令之第二結 果係指定儲存於該暫存器檔案中之第一寫入埠中。 8. 如申請專利範圍第7項之指令執行裝置,其中用以指示 是否該第一結果僅由第二指令所使用之裝置進一步包含 閘門及邏輯電路(20)。 9. 一種位於一處理器中執行指令之方法,該方法包含下列 步騾: 使用一指令管路自第一指令中產生第一結果; 藉由一分流電路(14)以存取該第一結果; 決定是否該第一結果僅由位於該指令管路中之第二指 令所使用; 當該第一結果已被存取且僅由該第二指令所使用時, 避免該第一結果儲存於一暫存器檔案(16)中。 10. 如申請專利範圍第9項之方法,其中該決定步騾包含對 第一指令進行編碼以指示是否該第一結果將僅由該第二 指令所使用。 .11.如申請專利範圍第9項之方法,其中該決定步騾包含該 指令管路(12)會決定是否位於該指令管路(12)中之該第 -15- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注咅?事項再填寫本頁) _裝--------訂--------- 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 514782 A8 B8 C8 D8 六、申請專利範圍 一指令之第一結果以及位於該指令管路(12)中之該第二 指令之第二結果在暫存器檔案(16)中具有相同儲存位 址0 12. —種電腦可讀取式記憶媒體,其包含用以處理一指令之 編碼,該編碼包含: 指令管路編碼,其用以自第一指令產生第一結果; 存取允許碼,當該第一結果位於該指令管路時,該存 取碼允許對該第一結果之存取; 指示碼,其用以辨識是否該第一結果僅由位於該指令 管路中之第二指令所使用;以及 防止碼,當該第一結果已被存取且僅爲該第二指令所 使用時,其用以防止該第一結果之儲存。 13. 如申請專利範圍第12項之記憶媒體,其中該指示碼包 含對該第一指令進行編碼以指示是否該第一結果將僅由 該第二指令所使用。 14. 如申請專利範圍第12項之記憶媒體,其中指示碼包含 該指令管路用以決定是否於該指令管路中之該第一指令 之第一結果以及位於該指令管路中之該第二指令之第二 結果在暫存器檔案中具有相同儲存位址。 -16- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/505,985 US6862677B1 (en) | 2000-02-16 | 2000-02-16 | System and method for eliminating write back to register using dead field indicator |
Publications (1)
Publication Number | Publication Date |
---|---|
TW514782B true TW514782B (en) | 2002-12-21 |
Family
ID=24012693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW90108311A TW514782B (en) | 2000-02-16 | 2001-04-06 | System and method for reducing write traffic in processors |
Country Status (7)
Country | Link |
---|---|
US (1) | US6862677B1 (zh) |
EP (1) | EP1190311A2 (zh) |
JP (1) | JP2003523573A (zh) |
KR (1) | KR100900364B1 (zh) |
CN (1) | CN1177275C (zh) |
TW (1) | TW514782B (zh) |
WO (1) | WO2001061478A2 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040128482A1 (en) * | 2002-12-26 | 2004-07-01 | Sheaffer Gad S. | Eliminating register reads and writes in a scheduled instruction cache |
US7730284B2 (en) | 2003-03-19 | 2010-06-01 | Koninklijke Philips Electronics N.V. | Pipelined instruction processor with data bypassing and disabling circuit |
US20070063745A1 (en) * | 2003-04-16 | 2007-03-22 | Koninklijke Philips Electronics N.V. | Support for conditional operations in time-stationary processors |
US20050138297A1 (en) * | 2003-12-23 | 2005-06-23 | Intel Corporation | Register file cache |
US20050283590A1 (en) * | 2004-06-17 | 2005-12-22 | Weaver Christopher T | Reducing false error detection in a microprocessor by tracking dynamically dead instructions |
US7555703B2 (en) * | 2004-06-17 | 2009-06-30 | Intel Corporation | Method and apparatus for reducing false error detection in a microprocessor |
US7386756B2 (en) * | 2004-06-17 | 2008-06-10 | Intel Corporation | Reducing false error detection in a microprocessor by tracking instructions neutral to errors |
US7290153B2 (en) * | 2004-11-08 | 2007-10-30 | Via Technologies, Inc. | System, method, and apparatus for reducing power consumption in a microprocessor |
WO2007057831A1 (en) * | 2005-11-15 | 2007-05-24 | Nxp B.V. | Data processing method and apparatus |
CN101361039A (zh) * | 2006-01-20 | 2009-02-04 | 松下电器产业株式会社 | 处理器 |
US7984272B2 (en) * | 2007-06-27 | 2011-07-19 | International Business Machines Corporation | Design structure for single hot forward interconnect scheme for delayed execution pipelines |
US7877579B2 (en) * | 2008-02-19 | 2011-01-25 | International Business Machines Corporation | System and method for prioritizing compare instructions |
US8108654B2 (en) * | 2008-02-19 | 2012-01-31 | International Business Machines Corporation | System and method for a group priority issue schema for a cascaded pipeline |
US7865700B2 (en) * | 2008-02-19 | 2011-01-04 | International Business Machines Corporation | System and method for prioritizing store instructions |
US7882335B2 (en) * | 2008-02-19 | 2011-02-01 | International Business Machines Corporation | System and method for the scheduling of load instructions within a group priority issue schema for a cascaded pipeline |
US8095779B2 (en) * | 2008-02-19 | 2012-01-10 | International Business Machines Corporation | System and method for optimization within a group priority issue schema for a cascaded pipeline |
US7870368B2 (en) * | 2008-02-19 | 2011-01-11 | International Business Machines Corporation | System and method for prioritizing branch instructions |
US20090210672A1 (en) * | 2008-02-19 | 2009-08-20 | Luick David A | System and Method for Resolving Issue Conflicts of Load Instructions |
US20090210669A1 (en) * | 2008-02-19 | 2009-08-20 | Luick David A | System and Method for Prioritizing Floating-Point Instructions |
US20090210666A1 (en) * | 2008-02-19 | 2009-08-20 | Luick David A | System and Method for Resolving Issue Conflicts of Load Instructions |
US7996654B2 (en) * | 2008-02-19 | 2011-08-09 | International Business Machines Corporation | System and method for optimization within a group priority issue schema for a cascaded pipeline |
US20090210677A1 (en) * | 2008-02-19 | 2009-08-20 | Luick David A | System and Method for Optimization Within a Group Priority Issue Schema for a Cascaded Pipeline |
US7984270B2 (en) * | 2008-02-19 | 2011-07-19 | International Business Machines Corporation | System and method for prioritizing arithmetic instructions |
US7526638B1 (en) | 2008-03-16 | 2009-04-28 | International Business Machines Corporation | Hardware alteration of instructions in a microcode routine |
US9008464B2 (en) * | 2009-06-16 | 2015-04-14 | University-Industry Cooperation Group Of Kyung Hee University | Media data customization |
US9858077B2 (en) | 2012-06-05 | 2018-01-02 | Qualcomm Incorporated | Issuing instructions to execution pipelines based on register-associated preferences, and related instruction processing circuits, processor systems, methods, and computer-readable media |
KR101711388B1 (ko) * | 2013-01-28 | 2017-03-02 | 삼성전자주식회사 | 파이프라인에서 블럭을 스케줄하는 컴파일 방법 및 장치 |
CN104216681B (zh) * | 2013-05-31 | 2018-02-13 | 华为技术有限公司 | 一种cpu指令处理方法和处理器 |
US11561792B2 (en) * | 2015-06-08 | 2023-01-24 | Qualcomm Incorporated | System, apparatus, and method for a transient load instruction within a VLIW operation |
US12026511B2 (en) * | 2021-03-19 | 2024-07-02 | Samsung Electronics Co., Ltd. | Opportunistic write-back discard of single-use vector register values |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228497A (en) * | 1977-11-17 | 1980-10-14 | Burroughs Corporation | Template micromemory structure for a pipelined microprogrammable data processing system |
AU553416B2 (en) * | 1984-02-24 | 1986-07-17 | Fujitsu Limited | Pipeline processing |
US6370623B1 (en) | 1988-12-28 | 2002-04-09 | Philips Electronics North America Corporation | Multiport register file to accommodate data of differing lengths |
JPH0719222B2 (ja) * | 1989-03-30 | 1995-03-06 | 日本電気株式会社 | ストアバッフア |
AU629007B2 (en) | 1989-12-29 | 1992-09-24 | Sun Microsystems, Inc. | Apparatus for accelerating store operations in a risc computer |
US5222240A (en) | 1990-02-14 | 1993-06-22 | Intel Corporation | Method and apparatus for delaying writing back the results of instructions to a processor |
GB2241801B (en) | 1990-03-05 | 1994-03-16 | Intel Corp | Data bypass structure in a register file on a microprocessor chip to ensure data integrity |
US5253349A (en) * | 1991-01-30 | 1993-10-12 | International Business Machines Corporation | Decreasing processing time for type 1 dyadic instructions |
JPH04367936A (ja) * | 1991-06-17 | 1992-12-21 | Mitsubishi Electric Corp | スーパースカラープロセッサ |
EP0650116B1 (en) * | 1993-10-21 | 1998-12-09 | Sun Microsystems, Inc. | Counterflow pipeline processor |
JPH08212083A (ja) | 1995-02-07 | 1996-08-20 | Oki Electric Ind Co Ltd | 割り込み処理装置 |
TW448403B (en) * | 1995-03-03 | 2001-08-01 | Matsushita Electric Ind Co Ltd | Pipeline data processing device and method for executing multiple data processing data dependent relationship |
JP3490191B2 (ja) | 1995-06-30 | 2004-01-26 | 株式会社東芝 | 計算機 |
DE69733444D1 (de) * | 1996-03-29 | 2005-07-14 | Matsushita Electric Ind Co Ltd | Datenprozessor mit variabler Anzahl von Pipelinestufen |
JP3449186B2 (ja) * | 1997-08-19 | 2003-09-22 | 富士通株式会社 | パイプラインバイパス機能を有するデータ処理装置 |
US5872986A (en) * | 1997-09-30 | 1999-02-16 | Intel Corporation | Pre-arbitrated bypassing in a speculative execution microprocessor |
-
2000
- 2000-02-16 US US09/505,985 patent/US6862677B1/en not_active Expired - Lifetime
-
2001
- 2001-01-18 JP JP2001560800A patent/JP2003523573A/ja not_active Withdrawn
- 2001-01-18 WO PCT/EP2001/000513 patent/WO2001061478A2/en active Application Filing
- 2001-01-18 KR KR1020017013120A patent/KR100900364B1/ko active IP Right Grant
- 2001-01-18 EP EP01911496A patent/EP1190311A2/en not_active Withdrawn
- 2001-01-18 CN CNB018002161A patent/CN1177275C/zh not_active Expired - Fee Related
- 2001-04-06 TW TW90108311A patent/TW514782B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2001061478A2 (en) | 2001-08-23 |
KR100900364B1 (ko) | 2009-06-02 |
JP2003523573A (ja) | 2003-08-05 |
CN1177275C (zh) | 2004-11-24 |
CN1363063A (zh) | 2002-08-07 |
EP1190311A2 (en) | 2002-03-27 |
KR20010109354A (ko) | 2001-12-08 |
WO2001061478A3 (en) | 2001-12-27 |
US6862677B1 (en) | 2005-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW514782B (en) | System and method for reducing write traffic in processors | |
US6105129A (en) | Converting register data from a first format type to a second format type if a second type instruction consumes data produced by a first type instruction | |
TWI423127B (zh) | 指令處理方法以及其所適用之超純量管線微處理器 | |
US9575753B2 (en) | SIMD compare instruction using permute logic for distributed register files | |
JP3662258B2 (ja) | X86・dspコアを有しかつx86命令をdsp命令へマッピングするdspファンクションデコーダを備える中央処理装置 | |
JPH09311786A (ja) | データ処理装置 | |
TW201602906A (zh) | 實施動態無序處理器管線的方法與設備 | |
JPH0778738B2 (ja) | ディジタル・コンピュータ・システム | |
JP2000112758A (ja) | 投機的実行中に発生する例外を遅延させるシステム及び方法 | |
JP5941488B2 (ja) | 条件付きショート前方分岐の計算的に等価な述語付き命令への変換 | |
JP3449186B2 (ja) | パイプラインバイパス機能を有するデータ処理装置 | |
KR101624786B1 (ko) | 기입마스크 레지스터의 트레일링 최하위 마스킹 비트를 결정하는 시스템, 장치, 및 방법 | |
JP4747026B2 (ja) | マイクロプロセッサ | |
CN104035895A (zh) | 用于存储器操作绑定的装置和方法 | |
JP5326314B2 (ja) | プロセサおよび情報処理装置 | |
KR100977687B1 (ko) | 기지의 프로세서 상태에 기초하여 cam 리네이밍레지스터 파일 내의 비교기를 선택적으로 인에이블링하는절전 방법 및 장치 | |
US9600280B2 (en) | Hazard check instructions for enhanced predicate vector operations | |
WO2007083421A1 (ja) | プロセッサ | |
JPS63175932A (ja) | ディジタル信号処理装置 | |
US9928069B2 (en) | Predicated vector hazard check instruction | |
CN101124539A (zh) | 低功率汇编器 | |
US6851044B1 (en) | System and method for eliminating write backs with buffer for exception processing | |
US8583897B2 (en) | Register file with circuitry for setting register entries to a predetermined value | |
CN113779755A (zh) | 一种硅基多光谱集成电路芯片的设计方法和集成电路芯片 | |
CN109683959B (zh) | 处理器的指令执行方法及其处理器 |
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 |