<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動態(tài) > CPU性能提升乏力影響行業(yè)發(fā)展,未來怎么辦

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

          作者: 時間:2018-12-03 來源:與非網(wǎng) 收藏
          編者按:和過去相比,CPU性能提升的步伐明顯放緩了,接下來怎么辦,成為橫亙在整個行業(yè)面前的大問題。

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

          本文引用地址:http://www.ex-cimer.com/article/201812/395137.htm

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

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

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

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

            

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


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

            這種異構(gòu)方案在人工智能/機器學習的設(shè)計中尤為普遍?!案鶕?jù)運算的性質(zhì),很有必要將矩陣運算或密集型的線性代數(shù)運算放到GPU上執(zhí)行,”Arteris IP營銷副總裁Kurt Shuler說。 “你可以設(shè)計自己專屬的ASIC進一步優(yōu)化計算性能,也可以把一些任務(wù)負荷分配到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警告說?!翱删幊绦院蛡鹘y(tǒng)邏輯都在演變?,F(xiàn)在,各種定制邏輯器件實現(xiàn)通用功能,然后通過智能互聯(lián)技術(shù)把所有這些功能融合在一起。而之前則是通過軟件將一些微操作組合在一起形成算法?!?/p>

            這當然不意味著CPU會消亡或者停止演進,只不過CPU架構(gòu)師的工作變得更加困難了?!巴ㄓ肅PU架構(gòu)和微架構(gòu)依然會繼續(xù)發(fā)展,而且足以高效地勝任大多數(shù)任務(wù),并將設(shè)計、生態(tài)建設(shè)和復雜性維持在可持續(xù)的水平上?!盇rm嵌入式和汽車業(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的并行計算能力更為出色?!?/p>

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

            “在這種情況下,人們應(yīng)該把注意力從在軟件開發(fā)上進行修補轉(zhuǎn)移到新型硬件上,只有適當?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)死了的報道太夸張了。”

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

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

            在大多數(shù)情況下,能力整合可以帶來一定的好處?!霸谔幚砥骷陌l(fā)展歷史中,我們多次看到通用CPU集成各種加速器的情形?!盇rm的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)核是一項成功的策略?!翱删幊藾SP是分擔CPU密集計算應(yīng)用的理想選擇,”Cadence的Tensilica IP產(chǎn)品管理、營銷和業(yè)務(wù)開發(fā)高級主管Lazaar Louis說?!癉SP靈活、可編程,而且支持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)而大獲成功的典型例子?!盬hitfield說?!坝械臋C器學習算法看起來需要一些專業(yè)的加速器,它們將作為一種粗粒度的加速引擎和通用CPU一起使用?!?/p>

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

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

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

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

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

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

            改換硬件

            長期以來,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)設(shè)備的靈活性,并且可以現(xiàn)場升級?”Allan問道。“可以需要結(jié)合使用軟件和智能FPGA技術(shù),它們都是當今CPU解決方案里的技術(shù)。我們現(xiàn)在談?wù)摰氖?,定義產(chǎn)品時更少依賴硬件/軟件交互,更多依賴編譯好的邏輯器件、內(nèi)存和可編程器件,以實現(xiàn)產(chǎn)品的靈活性?!?/p>

            這可能意味著改變對軟件的傳統(tǒng)看法。Ruparelia指出:“當今的FPGA工具鏈依然不支持軟件工程師在不了解FPGA的情況下直接使用它,這方面的進展甚微。不過,現(xiàn)在可以更加容易地針對特定領(lǐng)域或特定應(yīng)用進行編程了。我們正在研究神經(jīng)網(wǎng)絡(luò)上使用的非常具體的中間件,它們抽象出了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)化的關(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ū)嵉南拗疲盞lein指出?!皩⒁粋€算法從CPU上轉(zhuǎn)移到?jīng)]有引入任何并行性的定制硬件上固然也可以提高效率,但是達不到人們的預(yù)期。進一步提升效率的關(guān)鍵在于找出并利用算法里的并行性?!?/p>

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



          關(guān)鍵詞: CPU 摩爾定律

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();