《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 業(yè)界動態(tài) > CPU性能提升乏力影響行業(yè)發(fā)展,,未來怎么辦

CPU性能提升乏力影響行業(yè)發(fā)展,,未來怎么辦

2018-12-04
關(guān)鍵詞: CPU 軟件 API 處理器

雖然CPU仍然在不斷發(fā)展,,但是它的性能已經(jīng)不再僅僅受限于單個處理器類型或制造工藝上了,。

和過去相比,,CPU性能提升的步伐明顯放緩了,,接下來怎么辦,,成為橫亙在整個行業(yè)面前的大問題,。

自2010年開始,,單個CPU內(nèi)核的處理能力就逐漸停止了增長的腳步,,發(fā)熱和噪聲等和功耗相關(guān)的問題迫使處理器公司另辟蹊徑,不再汲汲于推高時鐘頻率,,轉(zhuǎn)而在CPU中集成更多內(nèi)核,。多核設(shè)計的引入,,下一代制造工藝對功耗和性能的改進,推動著處理器性能繼續(xù)跟隨著工藝升級的步伐大幅提升,。但是現(xiàn)在,,制造工藝升級對性能的提升幅度也大不如前,再加上許多公司已經(jīng)完全停止了在更先進工藝節(jié)點上的努力,,CPU性能的提升再次遇到了瓶頸,。

1543627895922052943.jpg

CPU性能提升乏力的嚴峻現(xiàn)實影響到了多個行業(yè)的發(fā)展。軟件開發(fā)人員已經(jīng)習(xí)慣了并理所當(dāng)然地預(yù)計計算和內(nèi)存資源將會不斷增長,,但是現(xiàn)在,,CPU性能提升的速度大不如前了。正是在摩爾定律的加持下,,軟件可編程能力和豐富的功能集合才得以出現(xiàn)并發(fā)揮重要作用,,也給硬件工程師和軟件工程師提供了一種緩沖。

“由于摩爾定律,,計算能力的增長和加速在部分程度上應(yīng)該歸功于英特爾等公司不斷前進到下一代工藝節(jié)點上,從而使得計算引擎本身的優(yōu)化不再那么重要了,,”Microchip旗下美高森美戰(zhàn)略營銷高級總監(jiān)Nilam Ruparelia說,。“再加上軟件技術(shù)本身的進步,,使得軟件生產(chǎn)力提高的速度大大超過了摩爾定律,。如果能夠讓編程變得輕松容易,就會有更多的人從事編程,。通過軟件完成各種事務(wù)的能力也已經(jīng)大大增強,。”

工藝的升級越來越難了,。Flex Logix首席執(zhí)行官Geoff Tate表示,,“處理器已經(jīng)不再是執(zhí)行計算任務(wù)的唯一解決方案了??纯磾?shù)據(jù)中心吧,,之前,這里面唯一的處理器件只有x86,,但是現(xiàn)在,,各種配置的FPGA和GPU處理器的身影幾乎無處不在?!?/p>

這種異構(gòu)方案在人工智能/機器學(xué)習(xí)的設(shè)計中尤為普遍,。“根據(jù)運算的性質(zhì),,很有必要將矩陣運算或密集型的線性代數(shù)運算放到GPU上執(zhí)行,,”Arteris IP營銷副總裁Kurt Shuler說,。 “你可以設(shè)計自己專屬的ASIC進一步優(yōu)化計算性能,也可以把一些任務(wù)負荷分配到FPGA上,。當(dāng)然,,你可能依然需要CPU來管理高級別的數(shù)據(jù)控制流??傊?,處理器件的數(shù)量越來愈多,而且變得越來越復(fù)雜,。如果你分析一下數(shù)據(jù)中心就會發(fā)現(xiàn),,它們變得越來越異構(gòu)化了?!?/p>

之所以出現(xiàn)這種轉(zhuǎn)變,,是因為物理規(guī)律的限制?!拔覀冊赗ISC和CISC架構(gòu)上已經(jīng)做到頭了,,”西門子旗下Mentor的Questa產(chǎn)品經(jīng)理Gordon Allan警告說?!翱删幊绦院蛡鹘y(tǒng)邏輯都在演變?,F(xiàn)在,各種定制邏輯器件實現(xiàn)通用功能,,然后通過智能互聯(lián)技術(shù)把所有這些功能融合在一起,。而之前則是通過軟件將一些微操作組合在一起形成算法?!?/p>

這當(dāng)然不意味著CPU會消亡或者停止演進,,只不過CPU架構(gòu)師的工作變得更加困難了?!巴ㄓ肅PU架構(gòu)和微架構(gòu)依然會繼續(xù)發(fā)展,,而且足以高效地勝任大多數(shù)任務(wù),并將設(shè)計,、生態(tài)建設(shè)和復(fù)雜性維持在可持續(xù)的水平上,。”Arm嵌入式和汽車業(yè)務(wù)線戰(zhàn)略副總裁Tim Whitfield表示,。

影響架構(gòu)改變的最大障礙之一是可編程能力,。“可編程能力的大小,,甚至沒有可編程能力也不會對整體效率帶來多大影響,,”Mentor的HLS平臺項目主管Russell Klein說。 “傳統(tǒng)的CPU,、DSP,、多核CPU和FPGA都是可編程的,,但具有截然不同的效率和不同的編程難度??删幊棠芰υ谝欢ǔ潭壬辖档土诵?,但是影響效率的主要因素卻在于并行計算能力。DSP具有執(zhí)行特定任務(wù)的能力,,其效率高過CPU,。GPU也有一些特定于專業(yè)領(lǐng)域的計算單元,而且引入了并行計算,。FPGA和ASIC的并行計算能力更為出色,。”

硬件器件的異化比較容易,,擺脫舊有的軟件范式卻非常艱難,。“業(yè)界將應(yīng)用程序進行更改,,以適應(yīng)更廣泛的芯片類型,。”Allan說,?!斑@導(dǎo)致了新的軟件生態(tài)系統(tǒng)和新API的出現(xiàn),但是它們都只不過是在原有軟件上構(gòu)建了更多的層而已,。這樣做,都是為了試圖讓一個觸及性能極限和低功耗極限的處理器繼續(xù)工作而已?,F(xiàn)在我們需要一些新的方法,。”

“在這種情況下,,人們應(yīng)該把注意力從在軟件開發(fā)上進行修補轉(zhuǎn)移到新型硬件上,,只有適當(dāng)?shù)挠布拍軐崿F(xiàn)真正的節(jié)能?!盡enta業(yè)務(wù)開發(fā)總經(jīng)理兼副總裁Yoan Dupret說,。“這將最終催生具有高度靈活性的異構(gòu)芯片,。Tsugio Makimoto博士之前就曾經(jīng)預(yù)測過,,今天我們正在進入“高度靈活的超級整合”時代?!?/p>

CPU的改進

對于那些認為CPU已經(jīng)走入死胡同的說法,,我想引用馬克吐溫先生的話回懟一下:“說我已經(jīng)死了的報道太夸張了?!?/p>

CPU還有若干進一步改進的路徑,。其中之一就是針對特定功能添加定制指令,,不過這也有一定的風(fēng)險?!叭绻骷删幊?,增加了指令就意味著增加了硬件的復(fù)雜性,”GreenWaves Technologies業(yè)務(wù)開發(fā)副總裁Martin Croome警告說,?!靶碌闹噶顔卧锏拿恳粋€晶體管都有靜態(tài)泄露,如果器件有低功耗指標,,情況就糟糕了,,新指令單元不僅增加成本,也提高了功耗,。你必須小心,,看看增加新指令是否利大于弊?!?/p>

在CPU的發(fā)展歷史中,,新的指令單元不斷被增加進來?!半S著制造工藝的發(fā)展,,處理器設(shè)計人員可以使用的晶體管越來越多,于是他們增加了越來越多的功能,,以加速運行在其上的單線程程序,。”Mentor的Klein說道,?!八麄兲砑恿烁鞣N指令單元,比如預(yù)測執(zhí)行,、分支預(yù)測,、寄存器別名等等,但是,,添加新指令單元的得失對比使得這條路子越走越窄了,。”

在大多數(shù)情況下,,能力整合可以帶來一定的好處,。“在處理器件的發(fā)展歷史中,,我們多次看到通用CPU集成各種加速器的情形,。”Arm的Whitfield解釋道,“通常,,我們會對架構(gòu)和微體系架構(gòu)進行調(diào)整,,將加速度集成到通用CPU中,這方面的例子包括浮點和加密加速器,?!?/p>

還有一條路徑:做減法?!拔覀冋J為RISC-V這種新的方案更好,,它可以幫助我們在一定程度上克服摩爾定律的放緩,”美高森美的Ruparelia說,?!耙环N全新的、優(yōu)化的架構(gòu)給我們提供了更多的方法,,以克服摩爾定律放緩帶來的挑戰(zhàn),。如果硅片工藝的進化停止了,就像發(fā)條被擰到了最緊一樣,,你必須優(yōu)化所有的層面-CPU,、特定域的架構(gòu)、工具鏈,,甚至編譯器也要針對特定應(yīng)用進行優(yōu)化,。”

必須根據(jù)最終產(chǎn)品的目標設(shè)計合適的處理器,?!巴ㄟ^比較不同處理器的能效,算法可以在消耗最少能量的情況下在相對簡單的處理器上執(zhí)行,,”Klein補充說,。“更大的處理器可以更快地完成工作,,但是它們的能效低得多。此外,,在幾個小型處理器中并行運行某個算法,,其能效比在一個大型處理器上運行這個算法高得多。隨著更多簡單內(nèi)核的引入,,電壓和時鐘頻率可以進一步降低,,從而進一步提高能效?!?/p>

優(yōu)化計算引擎

針對特定任務(wù)打造內(nèi)核是一項成功的策略,。“可編程DSP是分擔(dān)CPU密集計算應(yīng)用的理想選擇,,”Cadence的Tensilica IP產(chǎn)品管理,、營銷和業(yè)務(wù)開發(fā)高級主管Lazaar Louis說,。“DSP靈活,、可編程,,而且支持Open VX和Open CL等開放式、跨平臺的加速標準,,可輕松將應(yīng)用程序移植到DSP,。對于某些常見應(yīng)用,DSP還可以與專用硬件加速器配合使用,,不僅可以發(fā)揮加速器的更高功效,,還可以結(jié)合DSP的可編程能力,從而滿足應(yīng)用在產(chǎn)品生命周期中不斷變化的需求,?!?/p>

許多架構(gòu)都因為沒有提供強大的軟件開發(fā)環(huán)境而失敗了?!癎PU是一個通過打造成本可持續(xù)的獨立開發(fā)環(huán)境和軟件生態(tài)系統(tǒng)而大獲成功的典型例子,。”Whitfield說,?!坝械臋C器學(xué)習(xí)算法看起來需要一些專業(yè)的加速器,它們將作為一種粗粒度的加速引擎和通用CPU一起使用,?!?/p>

GPU的成功之路非常有意思?!癎PU是一種針對特定域的架構(gòu),,剛開始主要面向游戲,現(xiàn)在又被用到區(qū)塊鏈和神經(jīng)網(wǎng)絡(luò)上,,”Ruparelia指出,。“GPU有一些傳統(tǒng)CPU上很難實現(xiàn)的功能,,針對特定域優(yōu)化的體系結(jié)構(gòu)能夠?qū)崿F(xiàn)更高的單元計算性能和軟件生產(chǎn)力,。神經(jīng)網(wǎng)絡(luò)是一個典型的例子,和一個專門針對它設(shè)計的可編程平臺相比,,如果你在CPU上運行它,,將花費10倍之多的運行時間和功耗?!?/p>

但是GPU并沒有針對神經(jīng)網(wǎng)絡(luò)進行專門優(yōu)化,。“在卷積神經(jīng)網(wǎng)絡(luò)中,80%的時間都消耗在卷積運算上,,”GreenWaves的Croome說,。 “卷積有各種形式,運算量也各有大小,。涉及到的概念有填充,、膨脹、步幅以及濾波器的大小等,。卷積有許多參數(shù),,如果你試圖構(gòu)建一個可以在硬件中完成所有卷積運算的系統(tǒng),這個系統(tǒng)將使用大量當(dāng)前已知的硬件,。你必須使用最常見的卷積參數(shù),,并構(gòu)建一些能夠保持足夠靈活性的東西?!?/p>

那么,,是不是有人可以為定制加速器提供完整的軟件開發(fā)環(huán)境呢?

“我們正在編寫優(yōu)化的內(nèi)核,,并給一些矢量化的運算進行了手工編碼,,”Croome繼續(xù)說道?!拔覀兪褂昧藰藴实南蛄坎僮?,但是即便如此,你寫代碼時,,當(dāng)涉及到寄存器加載操作時,,也需要考慮如何優(yōu)化編碼,以便編譯器能夠以一種特定的方式定位到它,?!?/p>

這就是加速器的編碼開始變得困難的地方。Synopsys解決方案事業(yè)部產(chǎn)品營銷經(jīng)理Gordon Cooper說:“使用一組GPU或CPU訓(xùn)練神經(jīng)網(wǎng)絡(luò),,然后在GPU上運行該神經(jīng)網(wǎng)絡(luò)非常容易,。人們可以通過Caffe或TensorFlow做到這一點。但是,,當(dāng)我們使用專用硬件滿足嵌入式系統(tǒng)的要求,,比如低功耗、小尺寸時,,GPU只能保證性能,,卻無法保證能效,。使用異構(gòu)方案的缺點是,,無論是加速器還是專用處理器,都有各自不同的工具鏈或者多個工具鏈,你需要學(xué)習(xí)并管理好它們,,這可不像給GPU編程那么簡單,。”

這是一種微妙的平衡,?!笆褂肎PU的優(yōu)勢是很靈活,但是無法保證功耗和尺寸,,另一方面,,沒有編程環(huán)境,或者很難使用,,一樣會讓你舉步維艱,,”Cooper補充道?!霸诩铀倨魃献兂捎肋h不會像為CPU編寫代碼那樣簡單,。你可以參照DSP世界的編程進行優(yōu)化,先用C語言編程,,然后優(yōu)化內(nèi)部的循環(huán)體,。這是一種平衡?!?/p>

改換硬件

長期以來,,F(xiàn)PGA都自我標榜為可編程的硬件?!坝布TL工程師可以將FPGA用作可編程平臺,,這沒有任何問題,”Rupatelia說,?!暗牵?dāng)軟件工程師把FPGA作為一種可編程平臺時,,麻煩就來了,。這個挑戰(zhàn)已經(jīng)存在很長時間了?!?/p>

今天,,F(xiàn)PGA也被嵌入到了ASIC中?!癳FPGA IP是異構(gòu)方案的一種元素,,怎么個用法取決于架構(gòu)定義和代碼的劃分,”Menta的Dupret說,。 “HLS工具可以為此提供幫助,,但最終的目標是為異構(gòu)體系結(jié)構(gòu)自動化地進行代碼劃分,。我們現(xiàn)在還沒有實現(xiàn)這個目標,但我們確信這是行業(yè)發(fā)展的方向,?!?/p>

這也很可能成為物聯(lián)網(wǎng)硬件開發(fā)的重要一環(huán)?!拔覀?nèi)绾未_保物聯(lián)網(wǎng)設(shè)備的靈活性,,并且可以現(xiàn)場升級?”Allan問道,?!翱梢孕枰Y(jié)合使用軟件和智能FPGA技術(shù),它們都是當(dāng)今CPU解決方案里的技術(shù),。我們現(xiàn)在談?wù)摰氖?,定義產(chǎn)品時更少依賴硬件/軟件交互,更多依賴編譯好的邏輯器件,、內(nèi)存和可編程器件,,以實現(xiàn)產(chǎn)品的靈活性?!?/p>

這可能意味著改變對軟件的傳統(tǒng)看法,。Ruparelia指出:“當(dāng)今的FPGA工具鏈依然不支持軟件工程師在不了解FPGA的情況下直接使用它,這方面的進展甚微,。不過,,現(xiàn)在可以更加容易地針對特定領(lǐng)域或特定應(yīng)用進行編程了。我們正在研究神經(jīng)網(wǎng)絡(luò)上使用的非常具體的中間件,,它們抽象出了FPGA的復(fù)雜性,,并保留了足夠的靈活性,可供上層軟件調(diào)用,?!?/p>

除了處理單元,內(nèi)存架構(gòu)也存在進一步改進的壓力,?!坝布铀倨髡诓渴鸶嗫捎脙?nèi)存,”Shuler說,?!靶酒紻RAM或HBM2的通信越少,效率就越高,。我們該怎樣把所有數(shù)據(jù)都保存在處理單元中,,并在處理單元之間交互?處理器單元有時會有自己的暫存存儲器,,有時會連接到網(wǎng)格里的存儲器中,,那樣的話,,存儲器就被分割開來,在整個架構(gòu)中散落地?zé)o處不在,。”

“我們結(jié)合芯片和處理器開發(fā)了多級緩存架構(gòu),,將內(nèi)容可尋址內(nèi)存作為控制優(yōu)化的關(guān)鍵技術(shù),,”Allan解釋道?!叭缓笪覀冮_始研究一致緩存架構(gòu),,其中,多個處理器圍繞在共享內(nèi)存空間周圍,,互相協(xié)作?,F(xiàn)在,我們在計算器件中引入了神經(jīng)網(wǎng)絡(luò),,內(nèi)存也是一個關(guān)鍵因素,。內(nèi)存技術(shù)將繼續(xù)演進,我們會發(fā)現(xiàn)新的方案不斷出現(xiàn),。HLS將發(fā)展為允許定制內(nèi)存架構(gòu),,以幫助加速特定算法。在這個領(lǐng)域有許多創(chuàng)新,,可以將算法輸入到HLS流中,,并使用智能內(nèi)存技術(shù)優(yōu)化解決方案?!?/p>

和通用CPU形態(tài)相差最遠的是專用硬件解決方案,。“這是一種單線程編程模型,,存在實打?qū)嵉南拗?,”Klein指出?!皩⒁粋€算法從CPU上轉(zhuǎn)移到?jīng)]有引入任何并行性的定制硬件上固然也可以提高效率,,但是達不到人們的預(yù)期。進一步提升效率的關(guān)鍵在于找出并利用算法里的并行性,?!?/p>

最終,需要軟件思想的革新,,推動設(shè)計人員以并行的方式實現(xiàn)各種算法,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]