高端處理器芯片的技術(shù)趨勢與可持續(xù)發(fā)展
作者/ 唐志敏 中科院計算技術(shù)研究所
本文引用地址:http://m.butianyuan.cn/article/201703/345935.htm摘要:本文介紹了高端處理器芯片的市場需求,分析了當(dāng)下所面臨的挑戰(zhàn)和機遇,以及處理器架構(gòu)的發(fā)展和未來方向。
隨著集成電路工藝的不斷提升,如今,逼近極限的集成電路工藝大大增加了高端芯片本身的研發(fā)成本。同時,從整個傳感器網(wǎng)絡(luò)到云數(shù)據(jù)中心的新應(yīng)用模式對計算機系統(tǒng)提出了很多新的要求。要應(yīng)對這種新局面,就需要通過深入理解應(yīng)用的本質(zhì)需求,設(shè)計可持續(xù)發(fā)展的計算系統(tǒng)結(jié)構(gòu)。
高端處理器芯片需要高性價比和低能耗
目前的市場對高端處理器主要有兩方面需求。
第一方面就是要有較好的性價比。就當(dāng)下市場來看,不斷降低成本的需求仍然存在,但是也出現(xiàn)了成本增長的新因素。對很多應(yīng)用來說,性能不再是最核心的瓶頸,用戶體驗成為新的關(guān)注點。例如現(xiàn)在的交通系統(tǒng),已經(jīng)有汽車、火車和飛機,雖然更快一些會更好,但已經(jīng)不是整個系統(tǒng)競爭力提升的決定因素,更多在于用戶體驗和競爭力方面的考量。隨之而來的是性能本身也出現(xiàn)了一些新的形式,傳統(tǒng)意義上的計算速度和事務(wù)處理速度已經(jīng)不能體現(xiàn)系統(tǒng)的整體性能,現(xiàn)在還要加入服務(wù)速度,即單位時間內(nèi)服務(wù)的請求數(shù)。
另一方面則是低能耗。從需求方面來說,低能耗已經(jīng)成為一種新的趨勢。如今,計算系統(tǒng)已經(jīng)出現(xiàn)兩極分化,即云端和終端。云端規(guī)模太大,散熱和耗電都會成為很大的負擔(dān),因而數(shù)據(jù)中心的利用率成為關(guān)注點。對終端方面來說,電池壽命是主要限制,待機時間成為關(guān)鍵影響因素。
實際上,計算系統(tǒng)更多的能耗不是在計算方面,而是在通訊方面。一項研究表明,在一項Linpack計算中發(fā)現(xiàn),平均每個浮點運算在FPU里消耗10pJ能量,而在訪存通路上耗能475pJ。因而,計算本身消耗的能量并不多,在訪存路徑中消耗的能量反而更多。在物聯(lián)網(wǎng)、傳感器領(lǐng)域中,很多數(shù)據(jù)傳送依賴于無線通信,這將使計算和無線射頻通信消耗的能量差距更大。
通過新結(jié)構(gòu)和新算法解決低功耗
為了解決能耗方面的問題,我們除了有效利用訪問的局部性,采用多級緩存外,還有很多其他方法。
需求的變化使得計算系統(tǒng)的結(jié)構(gòu)也會有相應(yīng)變化,眾核并行結(jié)構(gòu)是當(dāng)下降低能耗的一種新結(jié)構(gòu)。同時,要求軟件棧采用扁平化結(jié)構(gòu),即軟件棧不要太深,因為軟件棧的不同層次之間,都是數(shù)據(jù)拷貝和傳送,軟件棧越深,耗電就會越多。另外,面向應(yīng)用特性也可以做一些定制結(jié)構(gòu)。
探索提高新興應(yīng)用性能的結(jié)構(gòu)也是降低功耗的一種解決方法。例如,現(xiàn)在比較熱門的人工智能,面向人工智能方面的應(yīng)用有一些新的結(jié)構(gòu),例如加速方案,比用傳統(tǒng)的通用處理方案效果更好。
適應(yīng)新需求的新算法是解決低功耗的另一種嘗試方法。算法復(fù)雜度的研究已經(jīng)很多了,傳統(tǒng)上人們只考慮算法的計算復(fù)雜度,而現(xiàn)在還需要考慮訪存復(fù)雜度和通信復(fù)雜度。傳統(tǒng)上會認為計算量越少越好,現(xiàn)在可能會考慮“計算多一點,通信少一點”,以計算的增長為代價換取通信的減少,更能節(jié)省能耗。
制約新結(jié)構(gòu)產(chǎn)生的因素
有兩個重要因素制約了對新結(jié)構(gòu)的探索,即已有的軟硬件生態(tài)系統(tǒng)和開發(fā)成本?,F(xiàn)存的大量工業(yè)標準和事實標準構(gòu)成了成熟的軟硬件的生態(tài)系統(tǒng),一旦新的結(jié)構(gòu)不適應(yīng)這種軟件生態(tài),就很難生存下去,而重新開發(fā)一個新的生態(tài),比開發(fā)一種新結(jié)構(gòu)更為困難。這在很大程度上制約了開發(fā)者對新結(jié)構(gòu)的探索。而開發(fā)新結(jié)構(gòu)的成本也會很高,一個新結(jié)構(gòu)需要一個新的芯片支撐,現(xiàn)在的極限工藝條件下,一次性工程開發(fā)的投入越來越高,開發(fā)一款新的芯片投入已經(jīng)在億美元的量級上。據(jù)IDC服務(wù)器市場架構(gòu)分析,在2015年第一季度,X86服務(wù)器系統(tǒng)占整個市場99.26%份額,非X86系統(tǒng)只占0.74%。而在非X86市場中power占比較大,還有其他的EPIC、Sparc、CISC以及RISC等,如圖1。
突破指令集的禁錮
指令系統(tǒng)是一把雙刃劍。由于兼容性好,指令集不變,軟件就不用改。壞處就是制約了技術(shù)本身的創(chuàng)新,積累的大量軟件成為體系結(jié)構(gòu)革新的包袱。以X86為例,其條件碼會影響流水線效率,變長指令則會影響指令譯碼和發(fā)射效率,復(fù)雜指令也會影響指令執(zhí)行效率。
由于當(dāng)下市場的商業(yè)價值高于技術(shù)革新,舊的指令集的商業(yè)價值戰(zhàn)勝了技術(shù)革新的很多方面。在技術(shù)上,RISC比CISC好,而現(xiàn)在在市場上卻越來越少了,基本上只剩下一個ARM;之前有一個EPIC看起來也比CISC好,現(xiàn)在也已經(jīng)推出歷史舞臺。這是一個商業(yè)和技術(shù)博弈的結(jié)果,相對于技術(shù),商業(yè)起著更重要的作用。
與主流的指令集的兼容是比較重要的,因為要利用已有的軟性生態(tài)。即使是傳統(tǒng)的指令集其實也是一直在不斷地與時俱進,根據(jù)新的應(yīng)用需求不斷發(fā)展的。以X86(傳統(tǒng)的指令集)來說,從最早70年代末,80年代初就有了,但是一直在不斷地擴展,增加了SIMD多媒體、SIMD向量計算,指令系統(tǒng)支持虛擬化、加解密運算,各種安全保護機制不斷地發(fā)展。
另一方面,指令系統(tǒng)結(jié)構(gòu)仍有不斷創(chuàng)新的空間。隨著Internet的發(fā)展,出現(xiàn)了很多跨平臺的語言,例如JAVA等語言,對ISA(指令集平臺)的依賴性相對較小。
通用結(jié)構(gòu)和專用結(jié)構(gòu)
物聯(lián)網(wǎng)是一個巨大的市場,但是物聯(lián)網(wǎng)的需求是非常碎片化的。因而,物聯(lián)網(wǎng)的市場雖然非常大,但是不可能有一種架構(gòu)包涵天下,可能有多種不同的架構(gòu),而每個架構(gòu)/產(chǎn)品形式的量不一定那么大。
從學(xué)術(shù)角度/技術(shù)角度來看,通用結(jié)構(gòu)是樣樣都能做,通用計算機是適用于科學(xué)與工程計算、數(shù)據(jù)處理、事務(wù)處理、過程控制等各種應(yīng)用,可高效率地運行SPEC CPU基準程序或包括其它各類應(yīng)用負荷特征的基準程序。專用結(jié)構(gòu)是針對某類算法而設(shè)計的,是從算法到架構(gòu)映射出的特定結(jié)構(gòu),例如神經(jīng)網(wǎng)絡(luò)、流處理器等。包括現(xiàn)在的GPU,雖然在圖形方面比較通用一些,但是在計算方面還是有一定的專用性。
通用結(jié)構(gòu)的優(yōu)勢在于可以基于最先進的工藝來做,穩(wěn)定可靠,成本相對較低,有成熟的生態(tài)系統(tǒng)和解決方案,可以大批量生產(chǎn)。但是通用結(jié)構(gòu)對許多應(yīng)用并不是最優(yōu)的,它適合所用的應(yīng)用,但只是對各種應(yīng)用都不會太差。因而會導(dǎo)致資源過度浪費、延遲增大、能耗增加等因素。例如從云計算來看,一個通用的CPU中只有30%的面積是經(jīng)常用到的。
專用結(jié)構(gòu)針對應(yīng)用算法進行了優(yōu)化設(shè)計,效率高、省資源、能耗低。專用架構(gòu)要開發(fā)者自己做,增加了大量的設(shè)計和驗證工作,上市時間不確定,穩(wěn)定性和可靠性也可能有問題。由于巨大的NRE(Non-Recurring Engineering,一次性工程費用)難以被小批量產(chǎn)品所分攤,成本也會較高。
未來處理器架構(gòu)
未來的通用處理器的設(shè)計空間是跨越通用和專用的鴻溝,實現(xiàn)通用、高效、低功耗、低成本的處理芯片??梢杂么罅亢唵蔚暮舜嫔倭繌?fù)雜的核,這樣雖然會降低能耗,但是比較專用;增加動態(tài)特性,每個核支持多個硬件線程,片上能夠容納大量的線程進行運算,這對開發(fā)并行性,容忍訪存延遲有好處;另外,通過一個核上有多個線程,多個核上有更多線程,用動態(tài)方式調(diào)度核內(nèi)、核間線程,這樣的結(jié)構(gòu)會更通用。就需求來看,終極目標是開發(fā)一種普適的架構(gòu),同時支持數(shù)據(jù)并行和線性并行,可以滿足從云到端的各類數(shù)據(jù)需求,包括云計算、服務(wù)器及移動終端。
(注:本文根據(jù)“2016中國集成電路產(chǎn)業(yè)促進大會”的高端芯片發(fā)展論壇中演講改編。)
參考文獻:
[1]王瑩,葉雷.2015:物聯(lián)網(wǎng)引領(lǐng)芯片廠商創(chuàng)新[J].電子產(chǎn)品世界,2015(1):11-19.
[2]迎九.用芯片開啟產(chǎn)業(yè)物聯(lián)網(wǎng)的產(chǎn)業(yè)升級[J].電子產(chǎn)品世界,2015(9):1-3.
[3]迎九.FD-SOI與FinFET互補,是中國芯片業(yè)彎道超車機會[J].電子產(chǎn)品世界,2016(4):5-6.
[4]Peter Greenhalgh.ARM的A/R/M設(shè)計目標:適合的處理器來執(zhí)行對應(yīng)的任務(wù)[J].電子產(chǎn)品世界,2016(8):30-33.
本文來源于《電子產(chǎn)品世界》2017年第4期第27頁,歡迎您寫論文時引用,并注明出處。
評論