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