李文韜
(同濟(jì)大學(xué) 軟件學(xué)院,上海 201804)
在近30年的桌面系統(tǒng)體系結(jié)構(gòu)的變遷中,除了CPU以外,桌面系統(tǒng)的其他部件的功能也在不斷增強(qiáng)。1985年的Amiga機(jī)器由于結(jié)合工作站CPU和視頻游戲處理芯片而在DOS時代實(shí)現(xiàn)了GUI多用戶界面。雖然Amiga公司1994年破產(chǎn),但 Amiga機(jī)器也創(chuàng)下了百萬臺的銷量。
縱觀歷史,計算機(jī)界似乎總是在不停的重復(fù)著從前進(jìn)到回退再前進(jìn)的道路。
在處理器體系結(jié)構(gòu)中的上一次回歸是RISC。當(dāng)VAX開啟了變長指令,多尋址模式等CISC技術(shù)之后,處理器設(shè)計變得越來越復(fù)雜,純粹的 CISC很難設(shè)計,也難以實(shí)現(xiàn);這時提倡精簡的RISC替代了VAX處理器體系結(jié)構(gòu)稱主流技術(shù)。在1980~1990年代,RISC思想幾乎遍布所有廠商的處理器。即使CISC風(fēng)格的Intel和AMD處理器也借鑒了RISC的經(jīng)驗(yàn),處理器并不直接執(zhí)行復(fù)雜而功能強(qiáng)大的 x86指令級,而將其轉(zhuǎn)換為數(shù)條簡單的內(nèi)部微碼,甚至通過解釋執(zhí)行的方法在一個RISC風(fēng)格的核心上運(yùn)行。RISC只針對最常用的簡單指令設(shè)計并優(yōu)化,提供大尺寸的寄存器堆,并使用超標(biāo)量多發(fā)射技術(shù),進(jìn)一步結(jié)合亂序執(zhí)行以減少處理器中的暫停。
但是,今天的RISC已經(jīng)背離它的宗旨越來越遠(yuǎn)了。為了獲取更高的性能,RISC處理器(包括 CISC on RISC的x86處理器)的發(fā)射寬度越來越大,流水線越來越深,分支預(yù)測算法層次越來越多,寄存器數(shù)目也不斷增加,更值得注意的是指令集不斷被擴(kuò)展。比較一下 PA-RISC,Alpha21264-EV8,SPARC IV,PowerPC G4,Power4這些最新 RISC的代表和 Pentium III/IV以及 Althron,將可發(fā)現(xiàn)RISC處理器并不比CISC簡單多少,而且Intel總能設(shè)計出比RISC主頻更高的CISC處理器。
在去除工藝上的差異之后,大部分RISC在Die面積、晶體管數(shù)目和最大功耗上都超過了同期的 CISC處理器。RISC處理器的大量硅片面積被不斷增大的 Cache、集成的存儲控制接口所占用,當(dāng)然這也使得RISC處理器在Spec FP性能上一直領(lǐng)先于x86系列。但是x86處理器在工作頻率上卻遠(yuǎn)遠(yuǎn)超出了所有的RISC,而一般的常識卻是簡單的RISC更容易實(shí)現(xiàn)高主頻。在多發(fā)射超標(biāo)量和存儲接口的上的重點(diǎn)設(shè)計制約了RISC處理器的主頻提升。對更高性能的渴望讓RISC變得越來越龐大、復(fù)雜,如今新處理器設(shè)計獲得的性能回報變得越來越少,而復(fù)雜度卻在急速增長。處理器技術(shù)又一次接近了發(fā)展瓶頸,新的技術(shù)回歸過程開始啟動,所不同的是這次回歸的是向量并行技術(shù),而Cell是這一過程的先行者。
當(dāng)桌面系統(tǒng)的網(wǎng)絡(luò),圖形等部分也已經(jīng)復(fù)雜到用專門的處理器進(jìn)行處理時。為了降低生產(chǎn)成本,并最大限度利用集成度提高和芯片內(nèi)部互連的優(yōu)勢,STI選擇了Cell結(jié)構(gòu),將多個處理器和存儲,I/O控制邏輯整合到一個Cell芯片中。
2005國際固態(tài)電路年會ISSCC上最重要的一件事情莫過于,2月7號STI聯(lián)盟第一次公開發(fā)布Cell處理器的細(xì)節(jié)。在ISSCC2005會議上共有5篇論文與Cell處理器相關(guān),涉及Cell處理器的總體結(jié)構(gòu),流處理單元,電路設(shè)計,存儲和I/O。從Cell展現(xiàn)的性能和微體系結(jié)構(gòu)上看,無論最終是否在市場上獲得成功,它都是主流處理器設(shè)計的一個巨大飛躍。正如IBM的設(shè)計目標(biāo)“supercomputer on desktop”所闡述的,Cell結(jié)合了多核心,多線程,Superscalar,功耗控制,高速存儲接口和I/O等所有處理器和體系結(jié)構(gòu)設(shè)計中頂尖的技術(shù),以及IBM最新的90納米銅互連SOI生產(chǎn)工藝[1]。從Cell上可以看到曾經(jīng)流行的向量處理方法再次回歸,這次向量并行技術(shù)給微處理器設(shè)計帶來的前所未有的飛躍。
一個單獨(dú)的CELL芯片的組成包括[2]:1個POWER處理器單元(PPE);8個協(xié)同處理器單元(SPEs);單元相互連接總線(EIB);2個Rambus XDR內(nèi)存控制器;Rambus Flex IO接口。其中,按分裂不同,可以將SPE分解成SXU、LS、SMF或者SPU、SMF。
在ISSCC2005上公布的第一款Cell性能指標(biāo)包括:占用圓片Die面積 221mm2;晶體管數(shù)目234M;90納米8層銅互連低 K介質(zhì) SOI制造工藝,1.3V工作電壓下主頻為4.6GHz,預(yù)測功耗在50到80W之間,使用散熱器時的工作溫度為 85攝氏度;外部I/O互連通訊主頻為6.4GHz,I/O與存儲總帶寬超過100GB/s;9個核心同時運(yùn)行10個線程;內(nèi)部使用4X128位的環(huán)狀總線互連,96Bytes/Cycle;單精度浮點(diǎn)性能超過256GFlops,雙精度浮點(diǎn)超過25GFlops。
由于Intel和AMD推動x86體系結(jié)構(gòu),不斷推出高性能和大量廉價的處理器x86在每一場對決中均獲勝出。當(dāng)x86和高速的RISC競爭時,它利用了和RISC相似的技術(shù)拉近了速度差距,并使得RISC已經(jīng)沒有明顯的優(yōu)勢。三個曾經(jīng)顯赫的RISC處理器系列(Alpha MIPS PA-RISC)已經(jīng)成為歷史。即使Intel自己的Itanium也快被Opteron掃出中低端服務(wù)器市場。Sun也受到了打擊,已經(jīng)宣布取消下一代Ultra SPARC產(chǎn)品線,轉(zhuǎn)向全新的設(shè)計(MAJC?)并且開始銷售威脅自己低端產(chǎn)品的Opteron服務(wù)器。Power似乎還在掙扎,但這也是因?yàn)镮BM有足夠的資源支持他,并保持其競爭力,并且在Power面向的高端市場(Apple MAC)上x86還缺乏號召力。
對于Intel和AMD而言,Cell是一個完全不同的競爭者。主頻的差距如此巨大,除了對x86結(jié)構(gòu)大修之外別無他法來趕上性能差距。x86并非沒有任何觸動,但是不論Intel或者AMD都沒有足夠新穎的改變以跟上Cell。有傳聞?wù)fIntel現(xiàn)在得到了許多NVidia的專利許可[Intel + NVidia]并考慮在一個芯片上集成一打處理器核心。但是如果 Intel在一個芯片上集成超過2個P4處理器,在成本上將不會有任何優(yōu)勢。最大的可能就是x86復(fù)制Cell的設(shè)計,用多個簡單的核心來加速應(yīng)用并控制成本。
但是與PC處理器競爭并不是簡單的性能問題。PC用了5年時間來趕超Amiga的硬件系統(tǒng),用了10年時間才用上與之類似的操作系統(tǒng)。相同的例子也發(fā)生在Apple的Mac平臺上。性能的優(yōu)勢并不足以對PC處理器產(chǎn)生威脅,即使及其巨大的性能領(lǐng)先,關(guān)鍵的問題在軟件。Cell可以運(yùn)行多個相同的操作系統(tǒng),Linux+特殊的翻譯軟件,它可以用難以察覺區(qū)別的方式模擬PC,軟件和價格也將不會成為問題。
在PC市場上真正有能力對Cell性能構(gòu)成威脅的不是通用CPU,而是GPU。但即使面對最先進(jìn)的GPU,Cell在主頻,性能,和通訊帶寬上仍有巨大優(yōu)勢,幾乎所有GPU可以加速的應(yīng)用都適用于Cell,并且Cell更加通用。
服務(wù)器市場上兼容性和軟件基礎(chǔ)的因素要少。很多應(yīng)用是可以向量化。后臺數(shù)據(jù)庫處理是服務(wù)器領(lǐng)域最常見的應(yīng)用,現(xiàn)在的研究表明這類應(yīng)用可以通過GPU加速,那么相同的方法也可以在Cell上使用。
然而服務(wù)器中有xml這種難以從SPE并行向量結(jié)構(gòu)中獲益的應(yīng)用。實(shí)際上這類應(yīng)用大多是存儲I/O密集型的,特殊的存儲結(jié)構(gòu)或許可以對提高性能有所幫助。單純的高性能處理器都無法提高這類應(yīng)用的效率。有很多應(yīng)用不能從Cell中獲得更高效率,將Sun服務(wù)器上的EDA應(yīng)用移植到Cell上也幾乎不可能,因此Cell在服務(wù)器市場上的作為目前看來還只能依靠IBM對自己服務(wù)器結(jié)構(gòu)的升級決策。
如果服務(wù)器需要的是上佳的分布式處理能力和靈活的擴(kuò)展性,Cell無疑是最好選擇,但是應(yīng)用是困擾其在服務(wù)器上廣泛應(yīng)用的最大問題。
Cell的設(shè)計風(fēng)格容易讓人聯(lián)想起Cray的超級計算系統(tǒng)。無論是熟悉的向量處理方式還是在設(shè)計過程中對性能孜孜不倦的追求。如果純粹計算峰值性能,要進(jìn)入目前的Top500行列只需要8顆Cell芯片,也就是說如果有能力讓兩個PS3協(xié)同工作,任何人都可以進(jìn)入Top500。560個 Cell芯片就可以獲得第一的排名。
另外的超級計算應(yīng)用需要大量的內(nèi)部通訊,因此在 PC集群上運(yùn)行效果不佳。Top500上沒有將這部分評價單獨(dú)出來,但確實(shí)有這樣一個利用大機(jī)柜系統(tǒng),曾一度被Cray統(tǒng)治,PC集群尚不得門而入的領(lǐng)域。Cell具有高速的通訊連接,這使得他非常適合于這類領(lǐng)域,雖然大量Cell的協(xié)同工作還需進(jìn)一步的工程工作,但從 Cell的第一份專利開始多Cell多級互連就是最重要的內(nèi)容之一。Cell不僅僅會取代PC集群,在集群失敗的領(lǐng)域也可一展身手。
在設(shè)計Cell這樣的系統(tǒng)時往往有很多折中,幾乎在所有的場合Cell的設(shè)計者都沒有選擇折中而是直接選擇了性能,即使這會使得程序員的工作變得復(fù)雜。這也讓人聯(lián)想到Cray。從60年代到90年代IBM和Cray之間爭相建造最快的計算機(jī)。Cray每次都獲得了完美的勝利,他將性能邊界提高到這樣的水平:最后能擊敗Cray設(shè)計的只能是下一代Cray設(shè)計。IBM制造了靈活的商用機(jī)器,Cray選擇更少的靈活性和特性,大部分設(shè)計都在追求無止境的速度?,F(xiàn)在Cell在延續(xù)曾經(jīng)的對手Cray所選擇的道路,雖然Cell沒有使用砷化鎵工藝,也沒有使用液態(tài)氮冷卻系統(tǒng)。
Cell進(jìn)入高性能嵌入式領(lǐng)域或許只是時間問題,對于更廣闊的其他嵌入式應(yīng)用而言,功耗是制約Cell使用的最大問題。即將使用的65納米生產(chǎn)工藝可以部分解決這一問題。并且Cell本身包括10個溫度探測器和控制電路,在無需如此巨大的SPE處理能力時可以關(guān)閉數(shù)個SPE內(nèi)核以降低功耗。Cell在開始設(shè)計時就說明了單個芯片中的SPE數(shù)目是可選擇的。有很多公司使用 IBM的硅處理技術(shù),如果有合適的許可證制度Samsung, Chartered,Infineon甚至AMD都會需要并生產(chǎn) Cell。不同廠商生產(chǎn)的 Cell芯片內(nèi)部的 SPE數(shù)目和性能可能并不相同,但這并不阻礙軟件Cell在分布式計算環(huán)境中在不同廠商的Cell芯片上運(yùn)行。這似乎是一個看似大同的Cell芯片社會。
4.1.1 對并行應(yīng)用的支持
作為一個側(cè)重向量結(jié)構(gòu)設(shè)計的芯片,向量并行是最合適的應(yīng)用。科學(xué)計算,物理和生物模擬這些以往在向量并行超級計算機(jī)中廣泛使用的計算模式都可以從 Cell體系結(jié)構(gòu)中受益。而STI聲稱Cell真是一個“桌面超級計算機(jī)”的設(shè)計方案。對于傳統(tǒng)不可向量化的應(yīng)用而言,單顆Cell芯片的性能至少和兩個甚至更多PowerPC 970或者P4 3.6G處理器相當(dāng)。對于可向量化的應(yīng)用而言唯一潛在的問題就是相對受限的內(nèi)存容量。Cell芯片本身有很大的尋址能力,但是目前的XDR存儲方案只支持 256MB RAM的直接連接。即使這樣,Cell還是可以通過I/O單元形成Stream Processing來獲得不錯的性能。
現(xiàn)在的 GPU已經(jīng)在開始處理科學(xué)計算中的部分問題了。同時對于通用或者桌面應(yīng)用領(lǐng)域,GPU也開始逐步分擔(dān)CPU的繁重計算任務(wù)。這是完全合理的,很早以前NVidia的GPU在流水線數(shù)量,深度和功能單元和晶體管數(shù)目上已經(jīng)超過了Intel的x86處理器。計算機(jī)中的3D圖形芯片在很多性能上早已超過通用處理器。
Cell的結(jié)構(gòu)和運(yùn)行方式和GPU很接近,目前GPU在高性能和通用領(lǐng)域的進(jìn)展幾乎無一例外的都可以完全套用到Cell上,并且Cell具有更好的通用性,更好的移植環(huán)境和更高更均衡的性能支持。
而從設(shè)計一開始Cell就面向了更加通用的領(lǐng)域,而GPU一直專門正對圖形處理。對于開發(fā)者而言改寫那些非3D的應(yīng)用程序在Cell上要更容易寫。并且Cell有快速的內(nèi)部總線供主處理核心和向量處理核心通訊使用,這和目前 GPU的使用方式有本質(zhì)的區(qū)別。
4.1.2 對并行應(yīng)用的支持桌面應(yīng)用
除了那些目前GPU已經(jīng)可以加速的桌面應(yīng)用之外,兼容PowerPC的PPE核心為Cell提供的廣闊的應(yīng)用前景。桌面應(yīng)用的一個重要問題就是需要一個合適的操作系統(tǒng)。很難相信Microsoft會樂意為Cell芯片開發(fā)一個Windows版本。IBM聲稱在基于Cell的工作站上已經(jīng)可以同時運(yùn)行多個操作系統(tǒng),包括目前流行的 Linux。Linux是一個強(qiáng)壯的操作系統(tǒng),并且是目前流行的話題,但它尚不足以成為一個消費(fèi)型的操作系統(tǒng)。另外兩個可能在 Cell上運(yùn)行的操作系統(tǒng)是OS X和AIX,而Apple的OS X正是一個成熟的消費(fèi)型操作系統(tǒng)。經(jīng)過多年的發(fā)展OS X已經(jīng)成為一個易用,界面優(yōu)化,功能強(qiáng)大的桌面型操作系統(tǒng),雖然由于Apple不打算向Mac之外的機(jī)器提供License和軟件支持,其市場份額一直局限在專用領(lǐng)域。但Cell出現(xiàn)的時機(jī)可能為OS X再次進(jìn)入廣大的桌面市場提供了機(jī)會。
4.1.3 對并行應(yīng)用的支持在分布式計算領(lǐng)域
Cell是一個高性能分布式計算體系結(jié)構(gòu)。它由硬件和軟件Cell構(gòu)成,軟件Cell包括數(shù)據(jù)和程序,它們被送往硬件Cell進(jìn)行計算并返回結(jié)果,機(jī)間耦合度強(qiáng),屬于異構(gòu)性多處理機(jī)系統(tǒng)[3]。Cell被設(shè)計以適合從 PDA到服務(wù)器的全部工作,可以用完全不同的系統(tǒng)構(gòu)建一個adhoc Cell計算機(jī)。一個Cell系統(tǒng)中的單一計算處理單元甚至單獨(dú)的一個Cell都是高性能的處理器。Cell在某些指定的應(yīng)用上能夠接近理論最大性能。預(yù)期低廉的價格,極高的性能和廣泛的使用使得Cell使構(gòu)造分布式計算環(huán)境的良好選擇。
4.1.4 CELL在嵌入式領(lǐng)域的應(yīng)用
STI的另外一個成員Toshiba計劃在自己的HDTV中使用Cell芯片,這為Cell芯片開辟了廣闊的嵌入式應(yīng)用市場。注意到 IBM一直將Real Time和Security作為Cell的設(shè)計目標(biāo)之一,而這兩點(diǎn)是目前嵌入式市場最迫切的要求。
視頻和音頻是兩個可以不斷吞噬處理能力的領(lǐng)域。GPU已經(jīng)被廣泛用于加速音頻處理,而Cell比GPU更加通用、性能更高。音頻總是被分成多個通道分別處理之后在混音,許多操作都可以被向量化。未來的 HDTV這樣的嵌入式往往需要一個高性能的處理器加上一個專用的 DSP芯片來完成視頻/音頻解碼、糾錯、信號分離等任務(wù),開發(fā)一個專用芯片代價極高并且昂貴。Cell的強(qiáng)大性能意味著無需開發(fā)專用芯片,單一Cell芯片就足以完成所有的任務(wù)。Cell在高性能嵌入式市場上也有良好的前景。
4.1.5 游戲市場
Cell的第一個商業(yè)領(lǐng)域就是游戲市場,SCEI最新的PS3已經(jīng)在2005年3月進(jìn)行過內(nèi)部展示。Sony(SCEI)聲稱其主要的游戲軟件開發(fā)商已經(jīng)獲得了基于Cell的PS3開發(fā)系統(tǒng),包括PS原型,基于Cell的開發(fā)工作站和專門針對 Cell優(yōu)化的開發(fā)環(huán)境和 OpenGL庫。Cell的設(shè)計師緊盯 raw computing power而不是圖形能力(PS3上將使用NVidia的圖形處理芯片),由于到硬件功能被轉(zhuǎn)移到軟件上使得開者有更多的靈活性?,F(xiàn)在的問題是使用了4個Cell芯片互連結(jié)構(gòu)和NVidia最新圖形芯片的PS3是否能成為第一個實(shí)現(xiàn)實(shí)時光影跟蹤的游戲終端。
處理器的設(shè)計、開發(fā)和制造有巨大的成本開銷,市場份額的大小往往是處理器成敗的關(guān)鍵因素。
雖然一直被吹噓為PlayStation 3的主要技術(shù),Cell的設(shè)計目標(biāo)顯然要更加宏大。作為巨大的電子制造商,Sony和Toshiba購買各式各樣不同的組件,開發(fā)Cell的一個主要目標(biāo)就是這兩家公司希望在構(gòu)建自己產(chǎn)品的時候降低開銷。諸如Blu-ray,HDTV和HD Camcorders以及PS3這樣的下一代消費(fèi)類電子產(chǎn)品需要新的芯片來提供所需的高級計算能力。Cell將應(yīng)用在全部這些需求中且可能用得更廣,IBM將會用Cell來構(gòu)建服務(wù)器,同時Cell可以銷售給第三方制造商。
對于首先使用Cell的PlayStation,一年內(nèi)因?yàn)镻S3而銷售的Cell芯片就有8000萬顆。雖然還不足以超過x86芯片在PC市場上的銷售量,但對于一個處理器而言這已經(jīng)是一個相當(dāng)好的起步了。更值得注意的是Toshiba在其HDTV中使用Cell芯片,同時宣布Cell將被STI聯(lián)盟之外的公司用于類似的設(shè)計。與全球巨大的TV市場相比,PC的銷量就不足為奇了。H.264標(biāo)準(zhǔn)下的HDTV需要極大的處理能力。和傳統(tǒng)的定制芯片比較起來通用處理器要低效很多,雖然專用芯片開發(fā)起來相當(dāng)復(fù)雜,昂貴,但是巨大的需求量可以降低價格并且可以使功耗降到最小。然后Cell的加入將使一切改變,一顆通用目的的向量處理器將同時具有充足的處理性能和低廉的價格,開發(fā)簡單并且有通用的特征。
IBM已經(jīng)制造了基于Cell芯片的工作站,并且預(yù)期用Cell處理器板構(gòu)造的超級計算機(jī)在一個 Rack上可以達(dá)到16Pflops的性能。64個Rack機(jī)架就可以達(dá)到TFLOPS[4]。雖然目前基于Cell的工作站只被SCEI用于PS3的開發(fā)。未來IBM沒有任何理由不用Cell替代 PowerPC和Power處理器來生產(chǎn)他們原本Power構(gòu)架下的工作站和服務(wù)器。
另一個更雄心勃勃的可能市場是PC。雖然STI在Cell設(shè)計中并沒有表現(xiàn)出對 PC市場的關(guān)注,幾乎每一個關(guān)注Cell芯片的人都忍不住預(yù)測 Cell對PC市場的沖擊。Linux的出現(xiàn)已經(jīng)使得Windows不再是PC操作系統(tǒng)和軟件的唯一選擇,并且Linux的跨平臺特性使得應(yīng)用移植到不同體系結(jié)構(gòu)下相對簡單。Cell能否在給 x86處理器帶來類似的沖擊呢?就性能、功耗和成本而言,x86已經(jīng)沒有任何優(yōu)勢。如果Cell能夠獲得價格較低的消費(fèi)級操作系統(tǒng)支持,用虛擬化或者二進(jìn)制翻譯技術(shù)來面對以往 Wintel聯(lián)盟克敵制勝的巨大軟件應(yīng)用基礎(chǔ),它將會在PC市場上有所作為。