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

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

2018-12-04
關鍵詞: CPU 軟件 API 處理器

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

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

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

1543627895922052943.jpg

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

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

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

這種異構(gòu)方案在人工智能/機器學習的設計中尤為普遍?!案鶕?jù)運算的性質(zhì),,很有必要將矩陣運算或密集型的線性代數(shù)運算放到GPU上執(zhí)行,”Arteris IP營銷副總裁Kurt Shuler說,。 “你可以設計自己專屬的ASIC進一步優(yōu)化計算性能,,也可以把一些任務負荷分配到FPGA上。當然,,你可能依然需要CPU來管理高級別的數(shù)據(jù)控制流,??傊幚砥骷臄?shù)量越來愈多,,而且變得越來越復雜,。如果你分析一下數(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警告說,。“可編程性和傳統(tǒng)邏輯都在演變?,F(xiàn)在,,各種定制邏輯器件實現(xiàn)通用功能,然后通過智能互聯(lián)技術(shù)把所有這些功能融合在一起,。而之前則是通過軟件將一些微操作組合在一起形成算法,。”

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

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

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

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

CPU的改進

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

CPU還有若干進一步改進的路徑。其中之一就是針對特定功能添加定制指令,,不過這也有一定的風險,。“如果器件可編程,,增加了指令就意味著增加了硬件的復雜性,,”GreenWaves Technologies業(yè)務開發(fā)副總裁Martin Croome警告說,。“新的指令單元里的每一個晶體管都有靜態(tài)泄露,,如果器件有低功耗指標,,情況就糟糕了,新指令單元不僅增加成本,,也提高了功耗,。你必須小心,看看增加新指令是否利大于弊,?!?/p>

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

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

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

必須根據(jù)最終產(chǎn)品的目標設計合適的處理器?!巴ㄟ^比較不同處理器的能效,,算法可以在消耗最少能量的情況下在相對簡單的處理器上執(zhí)行,”Klein補充說,?!案蟮奶幚砥骺梢愿斓赝瓿晒ぷ鳎撬鼈兊哪苄У偷枚?。此外,,在幾個小型處理器中并行運行某個算法,其能效比在一個大型處理器上運行這個算法高得多,。隨著更多簡單內(nèi)核的引入,,電壓和時鐘頻率可以進一步降低,從而進一步提高能效,?!?/p>

優(yōu)化計算引擎

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

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

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

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

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

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

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

這是一種微妙的平衡。“使用GPU的優(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說,。“但是,,當軟件工程師把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)設備的靈活性,,并且可以現(xiàn)場升級,?”Allan問道?!翱梢孕枰Y(jié)合使用軟件和智能FPGA技術(shù),,它們都是當今CPU解決方案里的技術(shù)。我們現(xiàn)在談論的是,,定義產(chǎn)品時更少依賴硬件/軟件交互,,更多依賴編譯好的邏輯器件、內(nèi)存和可編程器件,,以實現(xiàn)產(chǎn)品的靈活性,。”

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

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

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

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

最終,,需要軟件思想的革新,,推動設計人員以并行的方式實現(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)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。