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

CPU性能提升乏力影響行業發展,未來怎么辦

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

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

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

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

1543627895922052943.jpg

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

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

工藝的升級越來越難了。Flex Logix首席執行官Geoff Tate表示,“處理器已經不再是執行計算任務的唯一解決方案了。看看數據中心吧,之前,這里面唯一的處理器件只有x86,但是現在,各種配置的FPGA和GPU處理器的身影幾乎無處不在。”

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

之所以出現這種轉變,是因為物理規律的限制。“我們在RISC和CISC架構上已經做到頭了,”西門子旗下Mentor的Questa產品經理Gordon Allan警告說。“可編程性和傳統邏輯都在演變。現在,各種定制邏輯器件實現通用功能,然后通過智能互聯技術把所有這些功能融合在一起。而之前則是通過軟件將一些微操作組合在一起形成算法。”

這當然不意味著CPU會消亡或者停止演進,只不過CPU架構師的工作變得更加困難了。“通用CPU架構和微架構依然會繼續發展,而且足以高效地勝任大多數任務,并將設計、生態建設和復雜性維持在可持續的水平上。”Arm嵌入式和汽車業務線戰略副總裁Tim Whitfield表示。

影響架構改變的最大障礙之一是可編程能力。“可編程能力的大小,甚至沒有可編程能力也不會對整體效率帶來多大影響,”Mentor的HLS平臺項目主管Russell Klein說。 “傳統的CPU、DSP、多核CPU和FPGA都是可編程的,但具有截然不同的效率和不同的編程難度。可編程能力在一定程度上降低了效率,但是影響效率的主要因素卻在于并行計算能力。DSP具有執行特定任務的能力,其效率高過CPU。GPU也有一些特定于專業領域的計算單元,而且引入了并行計算。FPGA和ASIC的并行計算能力更為出色。”

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

“在這種情況下,人們應該把注意力從在軟件開發上進行修補轉移到新型硬件上,只有適當的硬件才能實現真正的節能。”Menta業務開發總經理兼副總裁Yoan Dupret說。“這將最終催生具有高度靈活性的異構芯片。Tsugio Makimoto博士之前就曾經預測過,今天我們正在進入“高度靈活的超級整合”時代。”

CPU的改進

對于那些認為CPU已經走入死胡同的說法,我想引用馬克吐溫先生的話回懟一下:“說我已經死了的報道太夸張了。”

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

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

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

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

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

優化計算引擎

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

許多架構都因為沒有提供強大的軟件開發環境而失敗了。“GPU是一個通過打造成本可持續的獨立開發環境和軟件生態系統而大獲成功的典型例子。”Whitfield說。“有的機器學習算法看起來需要一些專業的加速器,它們將作為一種粗粒度的加速引擎和通用CPU一起使用。”

GPU的成功之路非常有意思。“GPU是一種針對特定域的架構,剛開始主要面向游戲,現在又被用到區塊鏈和神經網絡上,”Ruparelia指出。“GPU有一些傳統CPU上很難實現的功能,針對特定域優化的體系結構能夠實現更高的單元計算性能和軟件生產力。神經網絡是一個典型的例子,和一個專門針對它設計的可編程平臺相比,如果你在CPU上運行它,將花費10倍之多的運行時間和功耗。”

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

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

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

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

這是一種微妙的平衡。“使用GPU的優勢是很靈活,但是無法保證功耗和尺寸,另一方面,沒有編程環境,或者很難使用,一樣會讓你舉步維艱,”Cooper補充道。“在加速器上變成永遠不會像為CPU編寫代碼那樣簡單。你可以參照DSP世界的編程進行優化,先用C語言編程,然后優化內部的循環體。這是一種平衡。”

改換硬件

長期以來,FPGA都自我標榜為可編程的硬件。“硬件RTL工程師可以將FPGA用作可編程平臺,這沒有任何問題,”Rupatelia說。“但是,當軟件工程師把FPGA作為一種可編程平臺時,麻煩就來了。這個挑戰已經存在很長時間了。”

今天,FPGA也被嵌入到了ASIC中。“eFPGA IP是異構方案的一種元素,怎么個用法取決于架構定義和代碼的劃分,”Menta的Dupret說。 “HLS工具可以為此提供幫助,但最終的目標是為異構體系結構自動化地進行代碼劃分。我們現在還沒有實現這個目標,但我們確信這是行業發展的方向。”

這也很可能成為物聯網硬件開發的重要一環。“我們如何確保物聯網設備的靈活性,并且可以現場升級?”Allan問道。“可以需要結合使用軟件和智能FPGA技術,它們都是當今CPU解決方案里的技術。我們現在談論的是,定義產品時更少依賴硬件/軟件交互,更多依賴編譯好的邏輯器件、內存和可編程器件,以實現產品的靈活性。”

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

除了處理單元,內存架構也存在進一步改進的壓力。“硬件加速器正在部署更多可用內存,”Shuler說。“芯片到DRAM或HBM2的通信越少,效率就越高。我們該怎樣把所有數據都保存在處理單元中,并在處理單元之間交互?處理器單元有時會有自己的暫存存儲器,有時會連接到網格里的存儲器中,那樣的話,存儲器就被分割開來,在整個架構中散落地無處不在。”

“我們結合芯片和處理器開發了多級緩存架構,將內容可尋址內存作為控制優化的關鍵技術,”Allan解釋道。“然后我們開始研究一致緩存架構,其中,多個處理器圍繞在共享內存空間周圍,互相協作。現在,我們在計算器件中引入了神經網絡,內存也是一個關鍵因素。內存技術將繼續演進,我們會發現新的方案不斷出現。HLS將發展為允許定制內存架構,以幫助加速特定算法。在這個領域有許多創新,可以將算法輸入到HLS流中,并使用智能內存技術優化解決方案。”

和通用CPU形態相差最遠的是專用硬件解決方案。“這是一種單線程編程模型,存在實打實的限制,”Klein指出。“將一個算法從CPU上轉移到沒有引入任何并行性的定制硬件上固然也可以提高效率,但是達不到人們的預期。進一步提升效率的關鍵在于找出并利用算法里的并行性。”

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


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日韩精品亚洲专区在线观看 | 久久综合香蕉 | 日本v片免费一区二区三区 日本www色视频 | 曰曰摸天天摸人人看久久久 | 中文字幕视频在线 | 国内精品卡一卡二卡三 | 亚洲国产日韩在线观看 | 天天干天天干天天天天天天爽 | 欧美视频一区二区三区 | 国产精品h片在线播放 | 一级特黄aa大片一又好看 | 精品国产免费一区二区三区 | 就操视频| 免费视频久久久 | www.一级片| 日韩日韩 | 亚欧有色在线观看免费版高清 | 日本一本一道久久香蕉免费 | 韩国伦理剧在线观看 | 欧美.亚洲.日本一区二区三区 | 五月网婷婷 | 亚洲欧洲色天使日韩精品 | 在线看欧美成人中文字幕视频 | 久久精品五月天 | 精品免费视在线观看 | 在线观看国产精品日本不卡网 | 午夜一级毛片 | 国产无遮挡色视频免费视频 | 午夜小视频在线 | 久久精品国产曰本波多野结衣 | 美女日批在线观看 | 91精品视频在线观看免费 | 婷婷免费高清视频在线观看 | 国产精品一区高清在线观看 | 国产精品入口麻豆高清在线 | 日韩高清在线日韩大片观看网址 | 免费观看三级毛片 | 大又黄又粗又爽妇女毛片 | 色综合在 | 五月婷婷中文 | 成人免费网站视频ww |