複製鏈接
請複製以下鏈接發送給好友

超長指令字

鎖定
超長指令字是微處理器設計領域中的一種越來越流行的技術。
超長指令字處理器採用多個獨立的功能部件,但它並不是將多條指令流出到各個功能單元,而是將多條指令的操作打包,形成一條非常長的指令,超長指令字由此得名。選擇同時可流出的多條指令的任務由編譯器完成,而在超標量機器中此功能是由硬件完成的,所以超長指令字機器可以節省大量硬件。 [1] 
中文名
超長指令字
外文名
Very Long Instruction Word
簡    稱
VLIW
提出時間
1983年

目錄

超長指令字發展

1980年代,迅速發展的RISC處理器廣泛採用超標量超流水線等指令級並行處理技術。由於相關性問題的存在,儘管這兩種技術都採用了硬件邏輯電路來解決和處理相關性問題,但指令序列並不能夠充分流水化,使處理器不能充分實現指令級並行處理,影響了計算機性能的提高。
1983年,美國Yale大學教授J Fisher提出了超長指令字(Very Long Instruction Word,VLIW)體系結構。VLIW處理器指令字較長,一般為128位,甚至上千位。VLIW處理器指令字被劃分成多個獨立控制字段,且具有固定格式。指令字中的每個控制字段可直接獨立控制相應的功能部件。也就是説,一個控制字段就相當於其他處理器中的一條指令。 [2] 

超長指令字原理

VLlW處理器的一個超長指令字包含多個操作字段,每個字段可與相應的功能部件對應。這些操作字段包括可並行執行的多個運算器控制指令字段、若干個存儲器控制指令字段和其他操作控制字段。各運算部件和共享的大容量寄存器堆直接相連,以便提供運算所需要的操作數或存放運算結果,對數據的讀/寫操作也可以通過存儲器指令字段對指定存儲模塊中的存儲單元進行。運行時不需要用軟件或硬件來檢測其並行性,而直接由超長指令字來控制機器中多個相互獨立的功能部件並行操作。雖然這種字段控制方式的思路來自於微程序控制器的水平微指令方式,但微指令只對一個運算部件進行控制,而VLIW是對多個功能部件並行控制。
實際上,VLIW的實現是由編譯器將多條可以發送的標準指令捆綁在一條超長指令字中。基於多個可以同時執行的功能部件的支持,處理器在一個時鐘週期內可以發射超長指令字中的多條指令,實現多條指令的並行執行。由於VLlW指令中的字段數是固定的,因此要提高VLIW處理器同時發射指令的條數,就需要重新設計VLlW指令格式,增加有關功能部件,並重新設計編譯系統。這與同樣具有多發射指令的超標量處理器不同。超標量處理器具有多條指令執行流水線,指令的並行性由處理模塊硬件來檢驗,無須編譯保證。增加處理模塊的個數有可能提高超標量處理器同時發射指令的條數。 [3] 

超長指令字結構格式

每個VLIW的指令可能包括兩個整數操作、兩個浮點操作、兩個訪存操作和一個分支操作。每條指令對應於每個功能單元有幾個域,每個功能單元可能佔用16到24位,從而指令長度達到112到168位。為了充分利用功能單元,要求代碼序列必須有較大的並行度來有效填充操作槽。通過循環展開和使用全局的調度技術來對基本塊進行調度可獲得較高的並行度。除了通過循環展開消除分支轉移的開銷,全局調度策略可將指令跨轉移點移動。
超長指令字也有助於開發程序中的指令級並行性。一個超長指令字包含了多條基本指令(primitive instructions),它們被髮送到不同的VLIW入口中並行執行。但是這個能力不是在執行時由硬件負責,而是由編譯器賦予的。編譯器在生成的目標代碼中把彼此獨立的基本指令分到一個組裏,以並行執行。由於超長指令字處理器不需要動態調度,也不需要進行重定向操作,所以它的控制邏輯相當簡單。 [4] 

超長指令字特點

VLIW方式具有下述主要特徵:
(1)依靠編譯組裝超長指令。VLIW方式是在編譯時發現和利用程序的並行運算可能性。編譯從原程序中抽出可能的並行運算組裝成一條超長指令,可以得到接近VLIW處理器中並行運算器數目的並行度。但要是程序並行度低,會造成VLlW指令中的運算器控制字段部分空閒,降低了指令字段的利用率。因此,VLIW方式的並行度依賴於編譯的並行化能力及程序本身的並行化程度。
(2)硬件結構簡單。由於指令的並行調度由編譯完成,運行時不需要檢驗,因此VLIW方式簡化了控制電路,使得它的結構簡單,芯片製造成本低,能耗小。
(3)需要較大的指令帶寬和較大的存儲空間,這是超長指令字整體傳輸的要求。
(4)雖然經過編譯處理,但由於程序在動態執行時不可避免的轉移等操作,超長指令字指令仍可能在並行執行時出現相關,導致代碼空間和執行速度上的雙重損失。
(5)適合於細粒度的並行處理。VLlW方式可用指令字段直接控制運算部件在指令級進行細粒度並行處理,它有多條總線與運算器相連,指令字段可直接控制其數據鏈路,因此通信開銷小,適合於面向低級運算的細粒度並行處理。
(6)指令系統的非兼容性。VLlW方式的指令格式與硬件密切相關,一旦定型後很難改變,使其指令系統不僅與傳統的通用處理器結構完全不兼容,就是和同類型而並行性不同的VLlW處理器也不兼容。因此,儘管VLIW思想提供了簡化處理器設計的途徑,但難以成為處理器的主流,只能輔助超標量、超流水線等處理方式的應用。 [3] 
參考資料
  • 1.    馬禮主編.高等學校計算機專業教材 計算機組成原理與系統結構:人民郵電出版社,2004年07月
  • 2.    劉瑞挺,張寧林等編著.計算機新導論:清華大學出版社,2013.09
  • 3.    徐潔主編.計算機系統結構:中國鐵道出版社,2012.01
  • 4.    張民選,王永文編著.高性能微處理器:技術與結構:國防科技大學出版社,2004.3