當前位置:
首頁 > 科技 > 圖靈獎演講2018,59頁PPT迎接晶元體系結構的新黃金時代

圖靈獎演講2018,59頁PPT迎接晶元體系結構的新黃金時代

6月4日,在今年的國際計算機體系結構大會ISCA2018的圖靈獎演講會上,ACM/IEEE邀請了2017年圖靈獎獲得者John Hennessy與David Patterson聯合進行了一場關於未來計算機體系結構發展道路探索的精彩演講。二點陣圖靈獎得主介紹了在Dennard縮放定律與摩爾定律逐漸終結過程中,計算機安全需求、領域專用語言、開源硬體、硬體敏捷開發等諸多新技術,展望了體系結構迎來了新黃金時代。

國際計算機體系結構大會ISCA是計算機體系結構領域的頂級會議,也是計算機領域有名的難會之一。在2008年該會第一次在北京召開之前,我國在該會議上發表過不到5篇論文。該會也是我們控制計算實驗室瞄準的主要會議之一,2000年在會議上取得突破,後續在該會議上連續發表過2篇論文,並在體系結構另一個頂級會議HPCA上發表過多篇論文。

本次圖靈獎演講會上,兩點陣圖靈獎得主首先回顧了微處理器與指令集架構(ISA)的發展歷程,並由此分析目前體系結構的挑戰並以此探討該領域未來新機遇。

一、計算架構的歷程

從大型機,小型機到微處理器,RISC與CISC、VLIW的角力。

20世紀60年代早期,IBM的4種系列機型,每種都有獨立的指令集架構、I/O二級存儲系統、組裝、編譯器等,儘管這些機型在商業、科學、實時領域的市場均不錯,但卻遇到了嚴重的機型不兼容問題,這意味著公司需針對各系列的機型均投入相當大的成本。因此,IBM決定統一所有機型的指令集。

之前,英國科學家Maurice Wilkes(1967年圖靈獎獲得者,第一台實際運行的存儲程序計算機EDSAC的提出者)提出微程序的概念和設計控制單元,解決了計算的控制難題。從1964年起IBM延續該設計思路,隨後其設計的微控制單元在多方面性能均有提升,直到現在,微控制理念在主流處理器中仍一直沿用,公司在Fred Brooks(1999年圖靈獎獲得者)等人的努力下也因此獲得了更好的發展,領導了計算機行業多年。

由於邏輯運算、RAM與ROM均以晶體管實現,半導體RAM與ROM具有類似的速度,摩爾定律以及RAM對微程序的重寫能力,促使了複雜指令集(CISC)的誕生。同時,微程序設計在學術界非常流行,最著名的可寫控制存儲計算機是1973年由Chuck Thacker(2009年圖靈獎獲得者)領導設計的Xerox Alto,Xerox Alto是第一台現代個人計算機,首次使用了圖形用戶界面以及具有乙太網功能,其像素轉換與乙太網控制器採用了微編碼技術。

由於半導體技術推動,微程序設計在70年代發展迅速,期間出現了經典的Intel i432、8086以及8088處理器。8086採用16比特架構,可兼容8bit處理器8080。在8080後,Intel還研發過i432處理器,當時(1975)被認為是最具雄心的微處理器,它拋棄了繼承x86的技術路線,基於32位功能,面向對象架構,擁有以Ada編寫的自定義操作系統,然而該處理器存在一些性能、複雜性以及可用性上的問題,商業上失敗告終。IBM在1981在其個人計算機(PC)採用了Intel 8088處理器,儘管該PC出色的銷量導致了Intel 8086 「一夜成名」,但PC軟體的兼容性也使得8086系列看清了未來發展方向。

直到20世紀80年代,計算機行業逐漸從組成轉向高級語言編程發展,編譯器越來越重要。John Cocke與其在IBM的團隊致力於流水線處理器開發,通過引入IBM內部的高級編譯器,利用簡單的寄存器對寄存器控制與讀寫命令,其運行速度相比已存的編譯器快3倍。

DEC公司的研究人員發現,在VAX11/180中,其指令平均執行時間(CPI)較長,微程序的60%由20%指令組成,但其執行時間約只佔0.2%,同時,複雜指令集擴展也導致了微程序出現諸多漏洞。這些問題引發了Patterson對新指令集的思考,並創建了新的精簡指令集RISC。

基於RISC的架構利用SRAM作為用戶可見指令緩存,利用簡單的ISA可實現硬體流水線,具備更好的晶元可集成度,其寄存器分配方案有利於存取ISAs,因此,在伯克利分校與斯坦福大學努力下,誕生了一系列基於RISC架構的處理器。

早在1991年,研究者證明,儘管CISC在運行中執行較少的指令,但其指令的平均執行周期較長,而RISC則在相同的硬體配置下比CISC的執行速度快4倍。在隨後的PC 時代,許多硬體將x86指令轉換為內部RISC指令,在MPU內使用RISC技術,這一策略使得x86指令集繼續主導了伺服器與PC領域,然而,後PC時代直到現在,已超過99%的處理器均使用RISC,其中大部分要歸功於ARM。

Intel自1994年起與惠普聯合開發了一種針對Intel IA-64架構的純64位微處理器Itanium /Itanium 2,其指令集是EPIC(二進位對象代碼兼容的VLIW指令集),具有明確的並行指令計算,當時被認為是一個趨勢,很多企業(包括Microsoft, SGI, Hitachi, Bull, …)也嘗試放棄RISC而轉向Itanium。

然而,「EPIC Failure」!由於編譯器難以處理代碼中的複雜依賴關係(指針),代碼尺寸爆炸問題以及不可預知的分支與緩存未命中,儘管採用了亂序技術緩解了緩存延遲,但EPIC仍然失敗了。專家們也指出Itanium產品的延遲和表現不佳,因此被晶元行業稱為「Itanic」,如同Titanic。

「The Itanium approach … was supposed to be so terrific, until it turned out that the wished-for compilers were basically impossi- ble to write.」——Donald Knuth, Stanford

總結歷史我們發現,CISC與VLIW分別在30和15年內未出現過新的通用ISA。儘管VLIWs在嵌入式DSP市場比較出色,但其在通用架構的競技場中已敗下陣來。如今在ISAs上我們達成了共識,RISC最終被大家認可是最普適的指令集!

二、當前架構的挑戰

Dennard縮放定律與摩爾定律的終結、硬體增強安全

能耗成為架構設計的關鍵約束條件。Dennard縮放定律表示:晶體管面積的縮小使得其所消耗的電壓以及電流會以差不多相同的比例縮小。但在晶體管越來越小時,量子隧穿效應開始介入,晶體管開始出現漏電現象,使得晶體管在更小的工藝時靜態功耗反而增大,這導致了Dennard縮放定律終結。

晶體管尺寸縮小速度放緩,摩爾定律即將迎來終結。摩爾定律表示:在成本不變的情況下,集成電路上可容納的晶體管數目按照一定時間呈指數級增長。不過後來隨著硅工藝發展趨於其物理瓶頸,摩爾定律開始滯緩,從1965年的一年翻一倍,1975年改為2年翻一倍,1997年又改為18個月翻一倍,最終,摩爾本人在2003年指出:摩爾定律還能堅持十年。

此外,提升晶元頻率等措施將進一步加大晶元的散熱問題,同時指令級並行方面也出現了較大的局限性和低效性,單核性能已難以進一步擴展。因此學者們轉向多核架構的研究,開始了多核時代。然而,隨著晶元集成度增大,為了在現有的散熱技術上保證晶元不至於過熱或功耗過大,多核晶元中有一部分和其餘部分不能同時使用,出現了暗硅現象(不能同時使用的部分),Amdahl定律使得設計高性能的多核架構越來越難。

隨著時間推移,單核速度性能提升的比例由上世紀80年代的每年22%降低至現在的3%,處理器性能提升速度逐年放緩,甚至接近停滯。而DRAM容量擴充速度也由上世紀70年代開始的平均每年1.5倍降低至現在的1.1倍,針對DRAM的摩爾定律也開始逐漸失效。

當前,技術似乎已經達到了其極限,而能耗卻增長迅速,能耗已作為最主要的晶元設計限制條件,體現了現有技術對晶體管的利用低效。所以,如何提高現有技術對晶體管的利用率將是一條重要的思路。

安全問題一直為人們關注,過去人們想到很多方法維持系統安全,但多數不好用或開銷過大而逐漸被淘汰。早期人們發現提出了硬體抵抗攻擊的方案,但其驗證難度較大,且還面臨著內核與微內核規模爆炸問題,這些方案逐漸被人們放棄。當前幾乎所有的軟體都必須構建安全系統,但仍存在軟體缺陷,所以硬體必須對安全領域有所作為。

因此由安全問題也帶了對指令集架構ISA的新定義:

「What the machine language programmer must know to properly write a correct but timing-independent program.」

怎樣才能使機器語言程序員寫出正確的,且沒有時間依賴性的程序?現在的體系結構面臨著大量的「幽靈」猜測(時序攻擊,大於10kb/s),將來也會有更多的微架構式攻擊,我們是通過資源隔離還是關閉多線程以保證安全?這需要新的體系架構具備防止時序泄露的能力。

所以,由於當前摩爾定律減緩,Dennard定律也被終結,微體系結構指令層並行,多核等技術的低能效,計算機安全狀態也讓人尷尬,而又似乎不太可能用純軟體方法保證其安全,這些挑戰將推動體系結構如何發展?

三、體系結構新機遇

專用軟硬體協同設計、架構開源、敏捷硬體開發。

當摩爾定律放緩時,我們將如何加快處理速度?

以軟體為中心的方法儘管在編程方面比較方便,但在執行上非常低效;而以硬體為中心的方法只剩下了專用架構,儘管只能完成少量的任務,但執行非常高效!因此,專用軟硬體協同設計將成為不二之選。假定以Python執行矩陣乘法運行速度為1,通過專用硬體的加速比可達到62806,可見專用加速架構存在巨大的機遇。

專用架構的設計:將硬體架構進行定製並使其具備特定領域應用特徵,使該領域的一系列應用任務都能高效執行。相比通用架構,專用架構的設計需要設計者對專用領域知識更加了解。當前比較流行的專用架構包括:機器學習領域的神經網路處理器,圖形圖像、虛擬現實領域的圖像處理器(GPUs),可編程網路交換機及介面等。

專用架構採用單指令多數據流(SIMD)、用戶控制與緩存技術,使其在並行性以及帶寬利用率上相比通用架構更加高效,通過結合專用領域的編程語言,可在應用任務上獲得高水平的加速效果。此外,專用架構可利用低精度的浮點或定點數運算,如將32bit或64bit的數據轉化為8bit或16bit定點數據,可在精度允許範圍內大幅降低硬體運算開銷。

領域專用語言如OpenGL,TensorFlow等可對專用架構所需的常用操作進行總結,如矩陣、向量或稀疏向量的操作。然而,如果領域專用語言(DSL)程序與專用架構保持獨立性,將導致編譯上的困難。因此,針對通用應用任務,可以利用高級語言及其編譯器實現在通用架構(如RISC)執行,而針對領域專用應用任務,則實現領域專用軟硬體協同設計並以高級編譯技術進行優化與匹配。

有趣的是,由於機器學習的火熱,該領域發表論文的數量也呈摩爾定律上升!

在機器學習領域,比較有代表性的專用架構中,Google設計的張量處理器(TPU v1,耗時36個月,數十億),可用於神經網路運算、神經機器翻譯、AlphaGo匹配等諸多任務,該專用處理器架構內部含有可完成65536(256x256)8bit規模乘累加單元的矩陣運算模塊,4MB片上累加存儲以及24MB單獨緩存,其片上存儲相比GPU多3.5倍,此外還包含了兩個2GMHz左右的DDR3 DRAM通道,8GB片外DRAM存儲,700M時鐘頻率,峰值操作可達到92T/s,其運算速率相比GPU快25倍以上,比CPU快100以上。

我們需要明白所研製的晶元的應用是什麼,標準是什麼,一套合理的測試基準(Benchmark),用以評估機器學習不同架構的晶元性能,同時能給機器學習晶元領域研究人員帶來激勵。不管是機器學習或其他領域,成套Benchmark的構建不可或缺。

機會有很多!但體系結構設計也需要新方法,我們需要重新垂直組建計算機架構團隊,他們需要掌握包括應用、DLSs以及相關編譯技術、體系結構原理、技術實現等。John總結到:「Everything old is new again!」過去舊的技術重新變成新的了!

David Patterson:操作系統及其編譯器均可開放,為什麼架構就不能呢?David回顧了RISC-V架構的設計歷程,並講述了由於RISC-V及其擴展版本的簡潔、模塊化、開放性、可擴展等諸多特點,為專用架構的靈活設計與開發提供了條件,有望成為開源硬體基礎。

而在深度學習加速器領域,英偉達開放了其神經網路加速架構NVDLA,其配套工具及說明均可在GitHub上獲得,具有可拓展及靈活性等優點,而該加速架構所使用的主處理器則可採用RISC-V核。由於FPGAs的可塑性、RISC-V以及其軟體的開放,開發者可在線快速開發與驗證。

架構免費開源將使任何人都可以低門檻接觸並參與開發,並可自由擴展以支持專用架構,更多的人或團隊參與開源的處理器設計,將加速領域創新,形成更有競爭力的市場。

「就像Linux對處理器的開放程度那樣,希望將來能創建對所有計算裝置都開放的工業級ISAs。」

硬體敏捷設計,只需要很小的團隊花較短的時間即可實現原型迭代。在敏捷硬體設計過程中,設計者可通過軟體以高級語言對開發者的創新架構進行描述與模擬;然而所設計的模型在軟體中並不能運行數十億或更多的周期,開發者需藉助FPGA工具進行驗證,雲FPGA的開放,使開發者無需購買驗證硬體即可實現FPGA驗證。經過前述步驟的迭代過程,即可準備流片,由於摩爾定律遲緩,當前的流片成本也逐漸降低,減輕了團隊流片的成本壓力。這種敏捷開發在伯克利試驗過,一個團隊在短短5年時間裡即可製造10次晶元,使團隊積累了豐富的晶元設計經驗。

隨著Dennard縮放定律與摩爾定律的終結,體系結構開始著重於提高性能,降低成本及功耗,計算機安全機制亟待革新,領域專用語言DSL催生了專用架構的產生,免費/開放的架構資源與開發套件,以及雲FPGAs的開放使任何人都可定製硬體,硬體敏捷開發等諸多條件促成了體系結構的新黃金時代!

來源:計算所控制計算實驗室


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器人大講堂 的精彩文章:

國產機械臂「魔術師」何方神聖?受總理和首相點贊,做每個人都能用得起的機械臂
人工智慧商業落地優必選高居榜首,解讀服務機器人如何重塑全定製場景體驗

TAG:機器人大講堂 |