TW514782B - System and method for reducing write traffic in processors - Google Patents

System and method for reducing write traffic in processors Download PDF

Info

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
Application number
TW90108311A
Other languages
English (en)
Inventor
Paul Stravers
Original Assignee
Koninkl Philips Electronics Nv
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 Koninkl Philips Electronics Nv filed Critical Koninkl Philips Electronics Nv
Application granted granted Critical
Publication of TW514782B publication Critical patent/TW514782B/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • 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/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • 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
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3873Variable 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)

  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公釐) -----------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁)
TW90108311A 2000-02-16 2001-04-06 System and method for reducing write traffic in processors TW514782B (en)

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)

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

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

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