<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設計應用 > 從體系結構的演變看高性能微處理器的發(fā)展趨勢

          從體系結構的演變看高性能微處理器的發(fā)展趨勢

          ——
          作者:單睿 時間:2005-08-12 來源: 收藏

          從體系結構的演變看高性能微處理器的發(fā)展趨勢
          中國科學院聲學研究所數(shù)字系統(tǒng)集成實驗室    單睿

          本文引用地址:http://www.ex-cimer.com/article/7549.htm

          微處理器體系結構
          隨著高性能計算的需求,計算機體系結構發(fā)生了很大變化。作為計算機核心部件的微處理器,其性能和復雜性(晶體管數(shù)、時鐘頻率和峰值)也按照摩爾定律增長。微處理器性能的改善在很大程度上歸功于體系結構的發(fā)展和VLSI工藝的改進。體系結構的發(fā)展主要體現(xiàn)在三個方面,即超流水、多指令發(fā)射和多指令操作。
          超流水技術主要開發(fā)時間并行性。流水線技術是RISC處理器區(qū)別于CISC處理器的重要特征。采用超流水技術,盡管可以減少關鍵路徑中每級流水的時間,但同時也引入了更多的寄存器,進而增加了面積開銷以及時鐘歪斜問題。另一方面,深度流水在指令相關和指令跳轉時會大大降低流水線的性能。
          多指令發(fā)射和多指令操作均是開發(fā)空間并行性。多指令發(fā)射面臨的首要問題是如何保持應用程序語義的正確性,MIMD、超標量和數(shù)據(jù)流技術是多指令發(fā)射的典型結構。MIMD是并行計算的重要研究領域。超標量采用時序指令流發(fā)射技術,兼容性好,硬件開銷大,功耗開銷大,是目前多數(shù)商用高端處理器采用的主流技術。數(shù)據(jù)流采用token環(huán)技術,理論上可以開發(fā)出高度指令并行性。然而,其商用開發(fā)不成功,原因是運行時間開銷大,尤其是token環(huán)匹配需要很高的時間代價。
          多指令操作是當前體系結構的重要研究方向。多指令操作包括數(shù)據(jù)并行性開發(fā)和操作并行性開發(fā)。盡管在CISC處理器中均采用過這兩種技術,但CISC給體系結構開發(fā)帶來三個負面影響:一是CISC指令不適合流水處理,二是指令差異很大造成譯碼困難,三是編譯器很難開發(fā)出有效的指令操作。與CISC處理器相反,多指令操作非常適合RISC處理器,其中SIMD和VLIW就是數(shù)據(jù)并行性和操作并行性的典型結構。
          向量處理器和SIMD處理器都是利用多個操作數(shù)來實現(xiàn)數(shù)據(jù)并行性。但二者有很大不同。向量處理器對線性向量元素順序操作,SIMD則對向量元素進行并發(fā)操作。對前者,每條指令只能作用于一個功能部件,執(zhí)行時間較長;而后者在執(zhí)行指令時可以作用于多個功能部件。向量處理器采用交叉存儲器實現(xiàn)向量的訪存操作,同時可對短向量進行有效操作,即對稀疏向量進行壓縮以獲得高性能。SIMD適合多媒體中的分組數(shù)據(jù)流,通過特定算法將長的數(shù)據(jù)流截成定長短向量序列,從而可以和向量處理器那樣實現(xiàn)對定長短向量序列的高效處理。
          VLIW是實現(xiàn)操作并行性開發(fā)的重要途徑。CISC處理器采用垂直編碼技術,而VLIW則采用水平編碼技術,指令中的每個操作域可以并發(fā)執(zhí)行。同CISC處理器相比,VLIW具有的優(yōu)點是:指令操作域定長,譯碼簡單;適合流水處理,減少CPI;編譯器需要開發(fā)程序潛在的指令級操作并行性。傳統(tǒng)VLIW的不足是指令帶寬較高,二進制目標代碼不兼容。VLIW和SIMD結構都能接受單一指令流,每條指令可以包含多個操作。但前者允許每條指令包含多個不同類型的操作,同時可以開發(fā)細粒度并行性。VLIW指令字較長,而SIMD具有很強的數(shù)據(jù)壓縮能力。事實上,VLIW和SIMD技術相結合可以獲得更高的性能加速比,且非常適合多媒體數(shù)據(jù)處理。
          從微處理器體系結構和編譯器界面劃分的角度上講,指令級體系結構可以分為順序結構、相關結構和獨立結構三類。在順序結構中,程序不包含任何指令并行信息,完全通過硬件進行調(diào)度,即硬件負責操作間的相關分析、獨立操作分析和操作調(diào)度,編譯器只負責程序代碼的重組,程序中不附加任何信息。超標量是該類結構的典型代表。在相關結構中,程序顯式指定操作的相關信息,即編譯器負責操作間的相關分析,而硬件負責獨立操作分析和調(diào)度,如數(shù)據(jù)流處理器。獨立結構完全由程序提供各個獨立操作間的信息,即編譯器負責操作間相關性分析、獨立操作間分析和指令調(diào)度,VLIW是其主要代表。

          超標量處理器架構
          現(xiàn)代超標量處理器體系結構均基于IBM360/91采用的Tomasulo和CDC6600采用的Scoreboard動態(tài)調(diào)度技術,MIPS R10000和DEC21264微處理器均基于該體系結構。典型超標量處理器通常采用如下邏輯結構實現(xiàn)動態(tài)調(diào)度:寄存器重命名邏輯、窗口喚醒邏輯、窗口選擇邏輯和數(shù)據(jù)旁路邏輯。Intel的Pentium處理器、Motorola的PowerPC 604和SPARC64則采用基于預約站的超標量體系結構。
          兩種體系結構的主要區(qū)別是:在典型超標量結構中,無論是推測還是非推測寄存器值都放在物理寄存器堆中;在預約站超標量結構中,推測數(shù)據(jù)放在重排序緩沖器中,非推測數(shù)據(jù)和已經(jīng)執(zhí)行完成提交的數(shù)據(jù)則放在寄存器文件中。在典型結構中,操作數(shù)不廣播到窗口,而只將操作數(shù)標志TAG進行廣播,操作數(shù)則送到物理寄存器文件。在預約站結構中,指令執(zhí)行結果廣播到預約站,指令發(fā)射時從預約站去取操作數(shù)。
          超標量處理器性能與IPC(Instructions Per Cycle)和時鐘頻率的乘積成正比。時鐘速率同系統(tǒng)結構的關鍵路徑時延有關,而IPC和如下因素有關:程序中潛在的指令級并行性、體系結構字長寬度、指令窗口大小和并行性開發(fā)策略。超標量處理器一般通過增加發(fā)射邏輯提高IPC,這將導致更寬的發(fā)射窗口和更復雜的發(fā)射策略。

          圖1 ZSP400 內(nèi)核超標量體系結構框圖
          眾所周知,超標量處理器是通用微處理器的主流體系結構,幾乎所有商用通用微處理器都采用超標量體系結構。而在DSP方面,LSI 邏輯公司的 ZSP200、 ZSP400、ZSP500和ZSP600均采用超標量體系結構。ZSP200采用并行MAC和ALU運算部件,2發(fā)射超標量結構;ZSP400采用雙 MAC單元、4 發(fā)射超標量處理器體系結構;ZSP500為4發(fā)射體系結構、采用增強型雙MAC和雙ALU運算單元;ZSP600采用4MAC和雙ALU運算部件,每個時鐘周期發(fā)射6條指令。圖1為ZSP400結構框圖。
          ADI公司的TigerSHARC系列采用靜態(tài)超標量體系結構。該系列采用了許多傳統(tǒng)超標量處理器的特征,如load/store結構、分之預測和互鎖寄存器堆等技術。每個時鐘周期發(fā)射4條指令。而靜態(tài)超標量的含義是指指令級并行性識別是在運行之前,即編寫程序時確定的(事實上以VLIW結構為基礎)。同時,TigerSHARC系統(tǒng)處理器采用SIMD技術,用戶可以對數(shù)據(jù)進行廣播和合并。所有寄存器均是互鎖的,支持簡單的編程模型,該模型不依賴于不同型號間的時延變化。分支目標緩沖器BTB為128位,可以有效減小循環(huán)操作和其它非順序代碼的執(zhí)行時間。圖2為TigerSHARC系列中的ADSP-TS201S結構框圖。

          圖2 ADSP-TS201S靜態(tài)超標量體系結構框圖

          超長指令字VLIW體系結構
          自從耶魯大學的J.A Fisher于1979年首次提出VLIW體系結構以來,先后
          由耶魯大學開發(fā)出基于跟蹤調(diào)度(Trace Scheduling)技術的MultiFlow處理器和Cydrome公司Bob Rau等人開發(fā)的基于巨塊調(diào)度(Superblock Scheduling)的Cydra-5處理器。但直到九十年代中期,基于VLIW結構的處理器基本上停留在實驗室原型機階段。因為VLIW本身固有的幾個關鍵問題一直沒有徹底解決,導致了其后的商用處理器體系結構從RISC轉向了超標量和超流水,而不是VLIW。盡管如此,由于VLIW結構的許多優(yōu)點仍然使許多研究機構競相對該技術進行堅持不懈地研究,并在體系結構和編譯器方面實現(xiàn)了突破,其中最重要的是解決了目標代碼兼容問題并支持推斷推測機制(盡管大部分處理器僅支持部分推斷推測機制)。這之后出現(xiàn)了Philip的Trimedia、Equator的MAP1000A媒體處理器、Chromatic的Mact、TI的TMS320C6XX、Transmeta的Crusoe以及INTEL和HP聯(lián)盟提出的IA-64體系結構(EPIC)。事實上VLIW作為下一代高性能處理器體系結構的首選技術已成共識,該體系結構和優(yōu)化編譯器形成的SIMD指令流將更加適合多媒體數(shù)據(jù)處理。
          TI的TMS320C6系列是典型的超長指令字VLIW體系結構,該系列每個指令周期可以執(zhí)行8條32位指令,C62為定點處理器,C67為浮點處理器。C62和C67系列的CPU內(nèi)核是相同的,包含32個通用寄存器、8個執(zhí)行部件。C64包含64個通用寄存器和8個執(zhí)行部件。8個執(zhí)行部件包含2個乘法器和6個ALU。支持8/16/32數(shù)據(jù)類型,所有指令均為條件執(zhí)行,減小了分支指令開銷。圖3為C62和C67系統(tǒng)框圖。

          圖3  基于VLIW體系結構的TMS320C6系統(tǒng)框圖
          中國科學院聲學研究所在“973國家重大基礎研究發(fā)展規(guī)劃”資助下研制成功國內(nèi)第一款基于多發(fā)射VLIW和SIMD技術的具有可重組結構的高性能微處理器芯片-華威處理器(SuperV)。該處理器為四發(fā)射VLIW處理器,當執(zhí)行向量處理功能時,每個周期可執(zhí)行35個操作。在執(zhí)行32位乘累加操作時可獲得2.9 GOPS 的數(shù)據(jù)處理速度;執(zhí)行16位乘累加操作時可獲得5.1 GOPS 的數(shù)據(jù)處理速度;執(zhí)行8位乘累加操作時可獲得9.3 GOPS 的數(shù)據(jù)處理速度。該處理器是目前國內(nèi)數(shù)據(jù)處理能力最強的微處理器,可以廣泛應用于信息家電、網(wǎng)絡通信、聲音圖像以及雷達聲納等信號處理領域。

          可重構處理器架構
          從二十世紀七十年代開始的第一代CISC處理器開始至今,微處理器體系結構已經(jīng)經(jīng)過了三代。然而,即使是第三代的RISC技術仍然停留在固定模式的體系架構設計。隨著ASIC和SOC技術的發(fā)展,微處理器設計進入到第四代,即后RISC和可重構處理器時代。其重要特征是系統(tǒng)架構不再采用固定模式,而是將DSP的靈活性與硬線連接的專用性相結合,使得微處理器可以針對不同的應用需求建立自己獨特的體系結構,達到性能最優(yōu)、功耗更低的目的。
          華威處理器(SuperV)體系結構不僅基于RISC、VLIW和SIMD技術,而且采用了可重構技術,使得用戶在不增加硬件開銷的情況下通過對系統(tǒng)功能部件的重構完成對不同應用的處理,不僅提高了系統(tǒng)性能,而且大大降低了系統(tǒng)的功耗。例如,在華威處理器中設計了若干32位可重構乘法器,每個可重構乘法器可以完成32位乘法、若干個16位乘法或者8位乘法。因此,華威處理器可以采用一條指令完成16個8位數(shù)據(jù)的乘(累)加操作;一條指令可以完成8個16位數(shù)據(jù)的乘(累)加操作;一條指令可以完成4個32位數(shù)據(jù)的乘加操作;一條指令可以完成4個32位數(shù)據(jù)的累加操作;一條指令可以完成16個索引、16個地址計算和16次數(shù)據(jù)加載操作;兩條指令完成16個8位數(shù)據(jù)累加操作;兩條指令可以完成8個16位數(shù)據(jù)累加操作;兩條指令可以完成對256項、8位元素的數(shù)據(jù)表進行的16路并行查找。


          Tensilica的可配置技術是可重構處理器的重要代表。例如,Vectra LX定點向量DSP引擎就是通過配置選項在Xtensa LX可配置處理器的基礎上建立起來的。即Vectra LX定點DSP引擎是Xtensa LX微處理器內(nèi)核的一種配置。該定點DSP引擎是一個3發(fā)射SIMD處理器,具有四個乘法器/累加器(四MAC),它可以處理128位的向量。128位向量可以分成8個16位或者4個32位的元素。整個Vectra LX DSP引擎是用TIE (Tensilica's Instruction Extension)語言開發(fā)的,通過修改可以適合不同的應用領域。Vectra LX DSP引擎增加了16個向量寄存器(每個寄存器160位寬)、四個128位的向量隊列寄存器、第二個load/store單元和210多條現(xiàn)有Xtensa LX處理器指令集體系結構中的通用DSP指令。Vectra LX DSP引擎如圖4所示。

          圖4 Vectra LX DSP體系結構框圖

          結語
          作為信息產(chǎn)業(yè)的核心技術,微處理器體系結構正在發(fā)生很大的變化,而這種變化無不體現(xiàn)出市場需求的強大動力?,F(xiàn)代微處理器,無論是通用微處理器還是數(shù)字信號處理器在體系結構方面正在趨于融合。通用處理器通過增加媒體處理指令來提高數(shù)據(jù)處理器能力;而數(shù)字信號處理器也借鑒了通用處理器的體系結構,使得數(shù)字信號處理器的數(shù)據(jù)處理器能力更加強大、管理更加靈活。同時,隨著嵌入式應用的需求,對功耗的要求也越來越苛刻,使得可重構處理器在未來將會起到重要的作用。由于不同的應用需求可以通過重構技術獲得所需要的微處理器系統(tǒng)架構,這將大大提高產(chǎn)品的競爭力,同時也降低了整個系統(tǒng)的功耗和成本。



          關鍵詞: 單片機

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();