新聞中心

EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 從體系結(jié)構(gòu)的演變看高性能微處理器的發(fā)展趨勢(shì)

從體系結(jié)構(gòu)的演變看高性能微處理器的發(fā)展趨勢(shì)

——
作者:?jiǎn)晤?/span> 時(shí)間:2005-08-12 來(lái)源: 收藏

從體系結(jié)構(gòu)的演變看高性能微處理器的發(fā)展趨勢(shì)
中國(guó)科學(xué)院聲學(xué)研究所數(shù)字系統(tǒng)集成實(shí)驗(yàn)室    單睿

本文引用地址:http://m.butianyuan.cn/article/7549.htm

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

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

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

圖2 ADSP-TS201S靜態(tài)超標(biāo)量體系結(jié)構(gòu)框圖

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

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

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


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

圖4 Vectra LX DSP體系結(jié)構(gòu)框圖

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



關(guān)鍵詞: 單片機(jī)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉