TW518516B - Sub-pipelined and pipelined execution in a VLIW - Google Patents
Sub-pipelined and pipelined execution in a VLIW Download PDFInfo
- Publication number
- TW518516B TW518516B TW090115471A TW90115471A TW518516B TW 518516 B TW518516 B TW 518516B TW 090115471 A TW090115471 A TW 090115471A TW 90115471 A TW90115471 A TW 90115471A TW 518516 B TW518516 B TW 518516B
- Authority
- TW
- Taiwan
- Prior art keywords
- execution
- architecture
- migration
- hardware
- basic
- Prior art date
Links
- 238000013508 migration Methods 0.000 claims description 65
- 230000005012 migration Effects 0.000 claims description 65
- 238000000034 method Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 235000019800 disodium phosphate Nutrition 0.000 abstract 1
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000132023 Bellis perennis Species 0.000 description 1
- 235000005633 Chrysanthemum balsamita Nutrition 0.000 description 1
- 241000761456 Nops Species 0.000 description 1
- 229910052778 Plutonium Inorganic materials 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 108010020615 nociceptin receptor Proteins 0.000 description 1
- OYEHPCDNVJXUIW-UHFFFAOYSA-N plutonium atom Chemical compound [Pu] OYEHPCDNVJXUIW-UHFFFAOYSA-N 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000003442 weekly effect Effects 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- 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/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- 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/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
Description
518516 A7 B7 五、發明説明(1 ) 發明領域 本發明一般係關於指令集架構且更尤甚者係指極長指令 字元中之次管線及管線指令執行。 發明背景 傳統上’極長指令字元,(Very L〇ng Instructi〇n Word, VLIW)處理器已藉由底下的屬性集予以界定。指明每一個 指令(一 MultiOp指令)中多重、獨立運算的能力。vliw架 構爲水平機器,其中每一個寬廣指令字元或Multi〇p係由 4夕運算,或0 p s,所組成。一 MultiOp中所有的〇p s係在 相同的執行時表(schedule)中發出。採用運算之特定非單位 通過時間的程式事實上僅在那些假設爲眞實時才正確。對 靜態、編譯時間運算時表考量運算通過時間及資源可得性 的要求。因此,要求硬體確實符合建立於與功能單元和運 算通過時間之數目有關的程式之假設。即使存在每一週期 皆發出多重、管線運算的事實亦不具有連鎖硬體。 此種架構型式之原始吸引力在於其能夠用相當簡單且不 貴,控制硬體開發大量的指令層平行性(ILp)。鑑於已建立 2夕把夠在每個週期[4,5,3]發出六個或更多個運算的極長 扣7子兀產品VLIW,恰未證明其適於用此層指令層平行 性ILP[18,2,14,8,7,6]建立超純量㈣。另夕卜,對精確運算 通過時間和可用硬體資源之編譯器的完整揭露容許高度最 佳化時表。 右常相同的特性亦已導致對極長指令字元處理器具 J、〈 P艮制性重要性的認識。建立於程式内關於硬體 -4-
518516 A7 B7____.__ 五、發明説明(2 ) 的嚴密假設係視爲排除處理器之間的目的程式碼相容性, 處理器係以不同技術建立於不同時間且因而具有不同的通 過時間。即使在一單一處理器的上下文(context)中,編譯 器對規劃於一固定於編譯時間之通過時間的需求有運算上 的問題,如依是否發生一快取位元或落失(miss)而定通過 時間具有高度可變動性的負載。因爲後者之問題,無論如 何,極長指令字元乘積鮮少依附非連鎖硬體的理想。或 者,隨著一極長指令字元架構的實現,當負載所用的時間 比預期長時處理器的連鎖及拖延(stalling)是共同具有的。 傳統知識爲動態時表係可應用於極長指令字元處理器。 朝瞭解如何在極長指令字元處理器上執行動態時表之第一 步驟係識別傳統極長指令字元處理器與一極長指令字元架 構概念之間的差別。一極長指令字元處理器係藉由一特定 的資源集(功能單元、匯流排等)以及特定的執行通過時間 予以界定,其中各種運算係以該等特定的執行通過時間予 以執行。若一極長指令字元處理器的程式係明確採用那些 資源和通過時間予以編譯並規劃時表,可在該處理器上以 一種指令層平行方式予以執行而不用到任何特別的控制邏 輯。相反地,一不具有特別控制邏輯的極長指令字元處理 器僅可正確地執行那些使用正確資源及通過時間假設的程 式。傳統上已建立極長指令字元處理器而不具特別的控制 邏輯且因而導致極長指令字元處理器必須以此種方式予以 設計的結論。 一極長指令字元的不同觀點係一架構,亦即介於爲架構 -5- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公爱)
518516 A7 B7 五、發明説明(3 ) 而寫入的程式級別與該架構處理器實現集之間的協合介 面。一般觀點係此契約與建構一指令之位元解譯 (interpretation)及指令格式有關。但此契約更進一步且此 契約的這些方面在此專利案中具有首要的重要性。首先, 經由其MultiOp性能,一極長指令字元架構指明一肯定彼 此不相關運算集(且因而可予以同時發出而不需藉由發出 硬體作任何檢查)。 其次,經由關於運算通過時間的確證(asserti〇n),若要正 確地瞭解運算之間的依存性,則一架構須指明如何解譯程 式。在序列架構的例子裏,大部分的通過時間係由程式設 計師採用爲一單一週期。所以,一運算之輸入運算域必須 爲該程式設計師所知而藉由所有在考慮中的運算之前所發 出(且在大部分的例子基爲完成)的運算予以決定。這因^ ,有某些序列架構,例如SPARC,而爲眞實的,其中某些产 令(具有延遲插口(slot)的分枝)具有非單位通過時間。—曰 在極長指令字元架構之程式的例子裏,配合具有非 通過時間的運算,一運算的輸入運算域非藉由所有在考^ 中的運算之前所發出的運算予以決定。要緊的是,此: 發出考慮中的運算之前假定已完成的運算。較早發出 ^假定已完成的運算未將—流程依存性強加至考慮中^運 鼻*。 若程式的語義係藉由假設所有在—指令中的運算在 下一個指令(前完成予以正確地瞭解,則一程式具 假設性通過時間(UAL)e若至少一運算具有—大於'心; -6 - 518516 A7 B7___ 五、發明説明(4 ) 元假設性通過時間,L,則一程式具有非單元假設性通過 時間(NUAL),亦即若恰好瞭解接下來的L -1個指令已在此 運算完成之前予以發出則可正確地瞭解程式的語義。若假 設執行的程式係UAL (NUAL)則一架構爲UAL (NUAL)。吾 人將交互使用專有名詞NUAL程式及通過時間已認知性程 式。 極長指令字元(VLIW)處理器係視爲一種達成指令層平行 性的迷人方法,因爲其能夠用相當簡單的控制邏輯於每一 個週期發出多重運算。雖然極長指令字元架構提供設計簡 化及高發出速率的優點,無法與現存軟體基礎相容對使用 極長指令字元及其它新穎之指令層平行性架構造成阻礙。 跨越具有不同硬體通過時間及多變之平行性層之處理器之 極長指令字元架構缺乏周的碼相容性成爲採用極長指令字 元作爲一種通用計算範例的嚴重限制。這意指一已設置的 二進位軟體資料庫無法環繞一系列世代而建立。此問題的 經濟含意是巨大的,且若要延續極長指令字元則需要一種 有效率的解決方案。文獻中已記述兩種處理此問題的級 別:硬體方式及軟體方式。雖然這些技術可提供相容性, 其卻付出了硬體複雜性的代價,硬體複雜性會嚴重衝擊週 期時間。一常用的軟體方式係自目的檔案以統計觀點再編 譯極長指令程式。此方法產生多重可執行性,而使得商業 複製保護及系統管理變得困難。例如,若一第一代機器在 每一個功能性單元具有某些通過時間且第二代極長指令字 元機器之不同通過時間專注於那些相同的功能性單元,則 7- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公爱)
518516 五 發明説明( 舊的極長指令字元時表由於不同運算之間的流程依存性 無=證能在第二代機器上確實執行。若第二代機 一額外的功能性單元則產生㈣種類的問豸。即。 過時間維持相同,爲了新機器而規劃的程式碼無法 = 的機器上正確地執行,因爲規劃器已爲了獲取額外乘: ㈣運算。沒有瑣細的方法用來使時表適應於較 β勺機态。此即世代之間向下相容性的例?。在此情沉 下,若不同的機器世代共享二進位,則相容性需要一機 用來调整時表或-用於每_個世代之不同二進位集。國際 商務機器(IBM)説明一種稱作DAISY(來自約克鎮之動態架 構指令集)的指令層平行性之硬體特性。daisy係特別希访 用來模仿現存的架構,以使得所有舊架構之現存軟體(2 含操作系統核心程式碼、)運作而未在極長指令字元架構上 2改變。每當新的程式碼片段第一次執行時,藉由屬於唯 讀記憶體之虛擬機器監視器(Virtual Machine M〇nit〇r)(軟體) 將程式碼轉換成極長指令字元原形,平行化並儲存於一部 分舊架構看不見的主記憶體内。相同片段接下來的執行不 而要轉換(除非被排出)。一硬體方式之限制在於時間規劃 的範圍係受限於運行時所看到的〇 p s之視窗,故可得到的 才曰令層平行性比可藉由一編譯器開發的還少。這些架構亦 可導致週期時間伸長,一種因而在未來世代機器中比超純 I更加予以考量的極長指令字元範例的現象。 指令集架構是一種於程式設計師可觀察的層次之電腦架 構欽述。電腦架構之程式設計師模式是一類似的專有名 -8 - 本紙張尺度適用中國國家標準(CNS) A4規格(21〇x 297公釐) 518516 A7 B7 五、發明説明(6 ) 詞。在一暴露性管線架構中,與指令之管線執行有關的延 遲在指令集架構中是看得見的且可予以開發以改良計算頻 寬。 其它解決相容性問題的技術發表包含遷移軟體橫跨一新 的機器架構。在這些應用中,正試著予以模仿的原始舊架 構,或處理器之自然指令集架構,常常稱作基本架構。除 了一將在處理器上予以支援的給定處理器之基本架構,模 仿舊架構之極長指令字元,或任何一種指令集架構,係稱 作遷移架構。 暴露之管線極長指令字元數位信號處理器的目前與未來 世代之間的程式碼相容性係本發明所反映之相容性實施 例。例如,德儀之C6000數位信號處理器和64位元C6000數 位信號處理器延伸版係、目前和未來架構。德儀之64位元 C6000數位信號架構包含工業標準架構(iSA)可見式管線和 其它架構特性之改變以提供更高的操作頻率。這些改變符 合以底下本發明所實現之嚴謹程式碼遷移路徑和二進位相 容性的需求。 發明概述 本發明揭露一種次管線轉換具體實施例,其提供介於目 前與未來世代數位信號處理器之間的二進位相容性。自記 憶體擷取一抓取封包時,整個抓取封包係於對抓取封包之 指令記憶體提出要求時根據執行模式指定一運作模式(基 本指令集或遷移指令集)。此等來自指令記憶體的抓取封 包係符合執行封包且藉由執行單元(已發送的)予以儲存於 -9 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
裝 訂
線 518516 A7 B7 五、發明説明( 一以兩執行模式(基本及遷移)所共享的資料路彳暴中。因爲 此例中抓取封包語法及執行單元編碼在遷移與基本架構之 間是不同的,這兩種執行模式具有個別的控制邏輯。來自 發送資料路徑之指令係視執行模式而定藉由基本架構解碼 邏輯或遷移架構解碼邏輯予以解碼,其中執行模式係受控 於所解碼之指令之根抓取封包。由遷移及基本解碼管線處 理的程式碼產生機器字元,此等機器字元控制暫存器檔案 和執行硬體功能單元。這些機器字元係經由一多工器予以 選擇。來自多工器之最終機器字元之選擇係藉由受控於抓 取封包的運作模式予以決定,其中抓取封包產生機器字元 和序列邏輯予次管線執行。所選擇的機器字元控制一總體 暫存器檔案,該總體暫存器檔案供給運算域予所有的硬體 執行單元並接受所有硬體執行單元的結果。 圖示簡述 圖1描述一次管線執行遷移架構之遷移程式碼之實施 例,其具有基本架構之1/4個指令通過時間。 圖2描述遷移程式碼之再規劃時表,運行於次管線執行 模式,在轉換至基本架構碼之後,描述轉換之無效率性。 圖3描述一種根據本發明較佳具體實施例之次管線轉換 具體實施例。 詳細發明説明 次管線執行係一種用於自一遷移暴露管線架構執行程式 碼的硬體效率方法。在此方法中,基本架構係用固定數量 (標作S )之期待遷移架構之指令通^時間予以設計。運用 -10 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
518516 A7 B7 __·_ 五、發明説明(8 ) 遷移與基本架構之間的關係,可藉由延遲發出遷移指令S -1個時脈週期而在基本架構上執行來自遷移架構之程式 碼。除了提供次管線執行模式之外,亦提供工具(facilities) 而運用低架空(overhead)在基本與遷移指令集之間作改 變〇 給定描述於圖1之程式碼以及對所有指令皆具有4倍遷移 架構之指令通過時間的基本架構,如底下圖表所示: 指令 遷移延遲插口 遷移通過時間 基本延遲插口 基本通過時間 ADD 0 1 3 4 AND 0 1 3 4 OR 0 1 3 4 MUL 1 2 7 8 圖表1.遷移與基本架構通過時間之比較 ^ 如圖2所示可在基本架構中重新規劃程式碼。如圖示, 由於組成基本與遷移程式碼之間通過時間之差異所需的 NOPs,運行於次管線執行模式中的程式碼將不超出一部 分基本架構指令集之效能。視程式碼之效能需求和其它特 徵的情況而定,可得到兩種自動化方式以增強來自遷移架 構之程式碼效能。來自遷移架構之第一程式碼可與寫入基 本架構的圖書館查詢系統重新連結,且第二、離線二進位 轉換技術可將遷移架構程式碼轉成基本架構程式碼。 在具有基本圖書館查詢系統之遷移程式碼例子中,次管 線例子上的效能增益與基本圖書館查詢系統中所花用的執 行時間以及基本工業標準架構(ISA)中的圖書館查詢系統 -11 - 本紙張尺度適财S S轉準(CNS) A4規格(21G X撕公爱)
518516 A7 B7 五、發明説明(9 ) 例行程序成比例。圖書館查詢系統所花用的時間隨著應用 軟體而強烈變化,但在32位元C6000數位信號處理器指令 集中有超過50%的應用軟體執行時間是用於圖書館查詢系 統。 離線二進位轉換自遷移架構接收二進位程式碼、反向組 編程式碼並將其轉成基本架構。轉換過程可用許多種方法 予以實現。轉換係以具有次管線執行模式予以簡化:此等 可視爲次管線模式中困難或可轉換性執行之例子。這使得 離線轉換可以遞增方式予以展開:如時間上之困難變化概 念,次管線模式變化中的程式碼執行部分。 雖然先前所述的(於發明背景中)國際商務機器(IBM)和惠 普(HP)以及北卡羅來納州立大學(North Carolina State University,NCSU)在介於極長指令字元世代之間支援相容 /性上的解決方案可導致能夠支援遷移架構之極長指令字元 基本架構,這些解決方案並非數位信號處理器的合適解決 方案。尤其是,如國際商務機器和北卡羅來納州立大學所 説明的動態轉換方式無法提供即時數位信號處理器應用所 需的運行時間可預測性。惠普所述的方法將具有複雜但確 定的運行時間,不過卻付出來自延遲發出指令緩衝器、延 遲暫存器樓案及複製回去單元之大幅硬體成本。 亦已發表包含複雜指令集計算(CISC)至純量式精簡指令 集計算(Rise)之轉換。相同工作之以後版本包含與運行於 基本架構上之遷移架構之軟體模擬耦接之靜態轉換。在本 發明中,遷移架構之軟體模擬之所有功能係以次管線模式 -12- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 518516 A7 ____B7_._ 五、發明説明(10 ) 中的硬體執行予以置換。 圖3描述一種根據本發明較佳具體實施例之次管線轉換 具體實施例。在此發明中,程式碼係抓取自記憶體。可將 指令記憶體實現成一種直接定址型隨機存取記憶體(RAm) 或快取記憶體。指令記憶體内的程式碼可以遷移指令集或 基本指令集的型式呈現予程式設計師。在一實現中,可預 先解碼指令記憶體内的程式碼以促進以後的指令處理。同 時自記憶體所擴取出來的一群指令係稱爲抓取封包。對指 令記憶體要求抓取封包時根據執行模式指定一種操作模式 (基本指令集或遷移指令集)予抓取封包。因而產生快速的 模式轉移。 此等來自指令記憶體的抓取封包係符合執行封包且藉由 執行單元(已發送的)予以儲存於一以兩執行模式(基本及遷 移)所共享的資料路徑中。因爲此例中抓取封包語法及執 行單元編碼在遷移與基本架構之間是不同的,這兩種執行 模式具有個別的控制邏輯。 來自發送資料路徑之指令係視執行模式而定藉由基本架 構解碼邏輯或遷移架構解碼邏輯予以解碼,其中執行模式 係受控於所解碼之指令之根抓取封包。在暴露式管線極長 指=字元指令集的例子裏,基本和遷移架構的解碼邏輯主 要是將運算程式碼(opcode)轉換成在執行硬體功能單元上 執行指定指令所需要的控制信號。由於界定於本發明中與 遷移和基本指令集(基本運算的通過時間爲遷移運算的兩 倍)以及這些指令集之暴露式管線特徵有關之關係,故+ -13 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 518516 A7 B7 五、發明説明(11 ) 用到管線深度、指令分級和指令依存度知識之指令解碼技 術並不需要。這減少了指令解碼邏輯中的硬體及複雜性。 由遷移及基本解碼管線處理的程式碼產生機器字元,此 等機器字元控制暫存器檔案和執行硬體功能單元。這些機 器丰几係經由'一多工器丁以選擇’該多工器亦可選擇 '一第 三非運算性指令選擇。來自這三種可能性之最終機器字元 之選擇係藉由受控於抓取封包的運作模式予以決定,其中 抓取封包產生機器字元和序列邏輯予次管線執行。 在本發明之第一較佳具體實施例中,所選擇的機器字元 控制一總體暫存器檔案,該總體暫存器檔案供給運算域予 所有的硬體執行單元並接受所有硬體執行單元的結果。在 兩個硬體管線時脈週期之後,所選擇的機器字元控制本地 暫存器檔案,此等本地暫存器檔案供給運算域予本地執行 '硬體功能單元或鄰近的硬體執行功能單元。最後,所選擇 的機器字元控制各種型式的執行硬體,此等執行硬體估算 運算域上的功能以產生結果。 -14- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
Claims (1)
- 518516 A8 B8 C8 D8 六、申請專利範圍 1. 一種次管線轉譯具體實施例之架構,其提供一極長指令 字元架構之遷移架構與基本架構之間的二進位相容性, 其包含: 一極長指令字元架構,其包含一基本架構和一遷移架 構並具有一基本執行模式和一遷移執行模式; 一擷取自記憶體的抓取封包,在對記憶體提出抓取封 包的要求時,該抓取封包具有一依執行模式而定的運算 模式; 一由基本與遷移兩架構所共享的資料路徑,其係用於 使該基本架構模式和遷移架構模式抓取封包符合執行封 包並用於將那些基本執行封包發送至執行硬體之適合的 基本架構解碼; 一遷移架構控制電'路,其係用於將具有一遷移執行模 式的執行封包指令發送至一遷移架構解碼; 執行硬體,其係用於在執行單元上執行執行封包指令 並且在執行之前視所要解碼之指令之抓取封包之執行模 式的需要具有一基本架構解碼和一遷移架構解碼,以分 別解碼該基本架構指令及該遷移架構指令; 經濟部智慧財產局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 一多工器,其具有至少兩個輸入及一個機器字元輸 出,其中一個輸入係該遷移架構解碼之輸出且另一輸入 係該基本架構解碼之輸出,該多工器視該抓取封包之運 算模式的需要作選擇; 機器字元,其係用於控制執行硬體單元。 2. 如申請專利範圍第1項之架構,並進一步包含輸入至該 -15- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 518516 A B c D 六、申請專利範圍 多工器的第三輸入,其中該第三輸入是一種非運算指 〇 3 ·如申請專利範圍第1項之架構,其中該機器字元控制一 總體暫存器檔案,該總體暫存器檔案將運算域供給至所 有的硬體執行單元並接收所有硬體執行單元的結果。 4. 如申請專利範圍第3項之架構,其中該機器字元控制本 地暫存器檔案,在該機器字元控制該總體暫存器檔案之 後該等本地暫存器檔案將運算域供給至本地執行硬體功 能性單元或周鄰硬體執行功能性單元。 5. 如申請專利範圍第4項之架構,其中該機器字元在控制 該本地暫存器檔案之後,控制在運算域上評估功能之各 種型式的執行硬體,以產生該等硬體執行單元的結果。 6. 如申請專利範圍第1項之架構,其中基本和遷移架構解 ^ 碼單元將運算碼轉譯成在此等執行硬體功能性單元上執 行此等詳定指令所需要的控制信號。 7. 如申請專利範圍第1項之架構,並且進一步包含該遷移 架構控制電路用於發出非運算指令,以保存遷移架構中 指令的語義。 8· —種提供介於一極長指令字元架構之遷移架構與基本架 構之間的二進位相容性之方法,包含如下步驟: 在一極長指令字元架構上分別於一基本架構和一遷移 架構執行一基本執行模式和一遷移執行模式; 提供一擷取自一記憶體的抓取封包,對記憶體提出抓 取封包的要求時,該抓取封包視執行模式的需要具有一 -16- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 518516 A BCD Γ、申請專利範圍 運算模式; , 使該基本架構模式和遷移架構模式抓取封包符合執行 封包,並藉由基本和遷移架構兩者在一共享資料路徑上 將那些基本執行封包發送至執行硬體之合適的基本架構 解碼; 在一遷移架構控制電路上將具有一遷移執行模式的執 行封包指令發送至一遷移架構解碼; 在執行硬體之執行單元上執行執行封包指令,該執行 硬體具有一基本架構解碼和一遷移架構解碼用於在執行 之前視所要解碼之指令之抓取封包之執行模式的需要分 別解碼該基本架構指令和該遷移架構指令; 視該抓取封包之運算模式的需要,在一具有一機器字 元輸出之多工器中之該基本架構解碼之輸出與該遷移架 構解碼之輸出之間作選擇; 以該機器字元控制執行硬體單元。 9. 如申請專利範圍第8項之方法,並且進一步包含於一非 運算指令及該基本架構解碼輸入之輸出與該遷移架構解 碼之輸出之間作選擇。 10. 如申請專利範圍第8項之方法,並且進一步包含以該機 器字元控制暫存器。 11. 如申請專利範圍第8項之方法,並且進一步包含以該機 器字元控制一總體暫存器檔案,該機器字元將運算域供 給至所有硬體執行單元共接收所有硬體執行單元的結 果。 -17- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 518516 A8 B8 C8 ______D8 六、申請專利範圍 12.如申請專利範圍第丨丨項之方法,並且進一步包含控制本 地暫存器檔案,該等本地暫存器檔案在該控制該總體暫 存器樓案之後,將運算域供給至本地執行硬體功能性單 元或周鄰硬體執行功能性單元。 13·如申請專利範圍第12項之方法,並且進一步包含在控制 孩本地暫存器檔案之後,控制在運算域上評估功能之各 種型式的執行硬體,以產生該等硬體執行單元的結果。 14·如申請專利範圍第8項之方法,並且進一步包含^夷本 和遷移架構解碼單元内將運算碼轉譯成在此等執行^髀 功能性單元上執行此等詳定指令所需要的控制信號。把 15.如申請專利範圍第8項之方法,並且進一牛 移架構控制電路發出非運算指令,以保存遷^ -18-
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/603,226 US6895494B1 (en) | 2000-06-26 | 2000-06-26 | Sub-pipelined and pipelined execution in a VLIW |
Publications (1)
Publication Number | Publication Date |
---|---|
TW518516B true TW518516B (en) | 2003-01-21 |
Family
ID=24414550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW090115471A TW518516B (en) | 2000-06-26 | 2001-06-26 | Sub-pipelined and pipelined execution in a VLIW |
Country Status (5)
Country | Link |
---|---|
US (1) | US6895494B1 (zh) |
EP (1) | EP1168159A1 (zh) |
JP (1) | JP2002041283A (zh) |
CN (1) | CN1175348C (zh) |
TW (1) | TW518516B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9612840B2 (en) | 2014-03-28 | 2017-04-04 | Intel Corporation | Method and apparatus for implementing a dynamic out-of-order processor pipeline |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7292586B2 (en) * | 2001-03-30 | 2007-11-06 | Nokia Inc. | Micro-programmable protocol packet parser and encapsulator |
GB2411990B (en) * | 2003-05-02 | 2005-11-09 | Transitive Ltd | Improved architecture for generating intermediate representations for program code conversion |
GB2435116B (en) * | 2006-02-10 | 2010-04-07 | Imagination Tech Ltd | Selecting between instruction sets in a microprocessors |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884057A (en) | 1994-01-11 | 1999-03-16 | Exponential Technology, Inc. | Temporal re-alignment of a floating point pipeline to an integer pipeline for emulation of a load-operate architecture on a load/store processor |
US6496922B1 (en) | 1994-10-31 | 2002-12-17 | Sun Microsystems, Inc. | Method and apparatus for multiplatform stateless instruction set architecture (ISA) using ISA tags on-the-fly instruction translation |
US5638525A (en) * | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
JP3547139B2 (ja) * | 1995-03-17 | 2004-07-28 | 株式会社 日立製作所 | プロセッサ |
US5774686A (en) * | 1995-06-07 | 1998-06-30 | Intel Corporation | Method and apparatus for providing two system architectures in a processor |
US5848288A (en) * | 1995-09-20 | 1998-12-08 | Intel Corporation | Method and apparatus for accommodating different issue width implementations of VLIW architectures |
US5961632A (en) * | 1996-07-25 | 1999-10-05 | Texas Instruments Incorporated | Microprocessor with circuits, systems, and methods for selecting alternative pipeline instruction paths based on instruction leading codes |
US7114056B2 (en) | 1998-12-03 | 2006-09-26 | Sun Microsystems, Inc. | Local and global register partitioning in a VLIW processor |
US6615338B1 (en) * | 1998-12-03 | 2003-09-02 | Sun Microsystems, Inc. | Clustered architecture in a VLIW processor |
EP1050799A1 (en) | 1999-05-03 | 2000-11-08 | STMicroelectronics S.A. | Execution of a computer program |
EP1050796A1 (en) * | 1999-05-03 | 2000-11-08 | STMicroelectronics S.A. | A decode unit and method of decoding |
US6415376B1 (en) * | 2000-06-16 | 2002-07-02 | Conexant Sytems, Inc. | Apparatus and method for issue grouping of instructions in a VLIW processor |
-
2000
- 2000-06-26 US US09/603,226 patent/US6895494B1/en not_active Expired - Lifetime
-
2001
- 2001-06-14 CN CNB011220805A patent/CN1175348C/zh not_active Expired - Lifetime
- 2001-06-25 EP EP01000251A patent/EP1168159A1/en not_active Withdrawn
- 2001-06-26 JP JP2001193066A patent/JP2002041283A/ja active Pending
- 2001-06-26 TW TW090115471A patent/TW518516B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9612840B2 (en) | 2014-03-28 | 2017-04-04 | Intel Corporation | Method and apparatus for implementing a dynamic out-of-order processor pipeline |
US10338927B2 (en) | 2014-03-28 | 2019-07-02 | Intel Corporation | Method and apparatus for implementing a dynamic out-of-order processor pipeline |
Also Published As
Publication number | Publication date |
---|---|
CN1175348C (zh) | 2004-11-10 |
US6895494B1 (en) | 2005-05-17 |
CN1365047A (zh) | 2002-08-21 |
JP2002041283A (ja) | 2002-02-08 |
EP1168159A1 (en) | 2002-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mei et al. | Design methodology for a tightly coupled VLIW/reconfigurable matrix architecture: A case study | |
US8341568B2 (en) | Systems and methods for logic verification | |
US9898292B2 (en) | Hardware instruction generation unit for specialized processors | |
Nanjundappa et al. | SCGPSim: A fast SystemC simulator on GPUs | |
US20080256330A1 (en) | Programming environment for heterogeneous processor resource integration | |
EP2315118A1 (en) | Method and apparatus for enabling parallel processing during execution of a cobol source program using two-stage compilation | |
Vinco et al. | SAGA: SystemC acceleration on GPU architectures | |
Filgueras et al. | Ompss@ zynq all-programmable soc ecosystem | |
Qin et al. | A formal concurrency model based architecture description language for synthesis of software development tools | |
Karkowski et al. | Design space exploration algorithm for heterogeneous multi-processor embedded system design | |
Su et al. | Automatic generation of fast BLAS3-GEMM: A portable compiler approach | |
US6826522B1 (en) | Methods and apparatus for improved efficiency in pipeline simulation and emulation | |
Bombieri et al. | SystemC simulation on GP-GPUs: CUDA vs. OpenCL | |
Burgio et al. | OpenMP-based synergistic parallelization and HW acceleration for on-chip shared-memory clusters | |
TW518516B (en) | Sub-pipelined and pipelined execution in a VLIW | |
Mizuno et al. | Design methodology and system for a configurable media embedded processor extensible to VLIW architecture | |
Huang et al. | ASIA: Automatic synthesis of instruction-set architectures | |
Trancoso et al. | DDMCPP: The data-driven multithreading C pre-processor | |
Sabot et al. | CMAX: A Fortran translator for the ConnectIon Machine system | |
Finlayson et al. | Improving processor efficiency by statically pipelining instructions | |
Gursoy et al. | Simulating message-driven programs | |
Brandner et al. | Automatic generation of compiler backends | |
Oh et al. | Speculative loop-pipelining in binary translation for hardware acceleration | |
Oppermann et al. | Longnail: High-Level Synthesis of Portable Custom Instruction Set Extensions for RISC-V Processors from Descriptions in the Open-Source CoreDSL Language | |
Ryan et al. | Software Re-Engineering |
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 |