TW518516B - Sub-pipelined and pipelined execution in a VLIW - Google Patents

Sub-pipelined and pipelined execution in a VLIW Download PDF

Info

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
Application number
TW090115471A
Other languages
English (en)
Inventor
Donald E Steiss
Laurence Ray Simar Jr
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of TW518516B publication Critical patent/TW518516B/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/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • 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/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • 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/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction 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)

  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-
TW090115471A 2000-06-26 2001-06-26 Sub-pipelined and pipelined execution in a VLIW TW518516B (en)

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)

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

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

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

Cited By (2)

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