HOT CHIPS是高性能芯片大會,是每年芯片領域最盛大的峰會之一。與國際固態(tài)半導體會議ISSCC不同,HOT CHIPS更偏重于商業(yè)芯片而不是學術項目,因此每年都會看到全球的半導體行業(yè)巨頭展出最尖端的芯片。今年是第三十屆HOT CHIPS會議,本文將為大家?guī)頃h上的最新趨勢解讀。有趣的是,今年的芯片主題集中在高性能計算和IoT,恰好是芯片光譜的兩端。在高性能計算領域,我們看到異構計算正在占據主流;在IoT領域,安全則成了關注點。
異構計算:Xilinx、 Intel、AMD、Nvidia紛紛秀肌肉
在詳細介紹Xilinx、Intel、AMD、Nvidia等展出的芯片之前,我們先來梳理一下什么是異構計算。事實上,“異構計算”的反面是“通用計算”。通用計算是用一種通用芯片架構處理絕大多數問題,而異構計算則主張使用不同的芯片架構處理不同的應用。如果我們回顧半導體行業(yè)快速發(fā)展的這幾十年,尤其是上世紀九十年代到本世紀第一個十年,我們會發(fā)現這是通用計算發(fā)展的黃金時代——處理器芯片隨著半導體工藝的進步而快速提升性能,因此普遍的看法是只要把處理器做好就行,如果這一代處理器沒法解決算力問題,等到半導體工藝進步到了下一代就一定能解決。這種用一種處理器來解決所有問題的思路就是通用計算。
雖然通用計算在摩爾定律快速發(fā)展的時代獨占鰲頭,但是異構計算其實并沒有走遠。大家熟悉的智能手機SoC就是異構計算的典型例子:在智能手機SoC中,我們除了ARM核處理常用計算以外,還有.H265解碼器處理視頻解碼,ISP執(zhí)行白平衡等攝像頭相關算法,DSP用來處理傳感器相關的計算等等。為什么手機SoC要用異構計算而不是用一個處理器解決所有問題?關鍵的原因在于手機的電池有限,對于SoC能效比的要求很高,因此需要不同的應用使用專用的模塊以提升能效比。
這里我們可以看到異構計算的一個特點就是其能效比很高,因為專事專辦,把處理任務交給專用模塊處理,效率當然高;當然異構計算也是要付出代價的,因為每一塊模塊單元都要占據芯片面積,這就提高了芯片的成本,同時很多模塊在大部分時間事實上是閑置的(比如如果你的手機從來不看視頻那么.H265加速模塊很有可能就是處于閑置狀態(tài)),這從某種意義上來說就造成了浪費。
移動SoC是異構計算的典型例子
在摩爾定律快要遇到瓶頸的今天,異構計算又回到了人們的視野中。異構計算的能效比是重要的考量——之前按照摩爾定律發(fā)展,芯片的功耗密度每一代都會大幅提高,以至于按照這樣的趨勢有人預測高性能處理器芯片溫度將會在十年內接近火箭噴射口的溫度。當然隨著設計和工藝的優(yōu)化,處理器的溫度并沒有到這么夸張,但是處理器芯片能效比較差卻是個不爭的事實,目前數據中心的維護成本中有30%以上是用于芯片散熱,因此使用能效比較好的異構計算范式也就在情理之中。
事實上,異構計算流行還有一個更重要的原因,就是人們發(fā)現處理器芯片性能從半導體工藝特征尺寸縮小中已經難以獲得好處——根據高通透露的消息,從10nm工藝到7nm工藝,晶體管雖然集成密度可以提高,但是性能幾乎沒有改善!但是我們的芯片性能一定還是要隨著時間推移而進化的,因此辦法就是不再走傳統的靠半導體工藝改善芯片性能的老路,而是把更多的精力放在優(yōu)化芯片設計上。異構計算就是芯片設計架構優(yōu)化的一個典型思路,使用專用的模塊處理專門任務,其性能自然也能獲得提升。
異構計算的呈現形式也是多種多樣的。一種方法當然就是在一塊芯片上集成多個模塊成為片上系統SoC。之前我們看到SoC主要是在移動領域,因為如前所述移動市場是較早大規(guī)模采用異構計算的領域;如今我們會看到越來越多的高性能計算芯片也開始使用SoC了。此外,另一種方式是使用高級封裝異質集成技術把不同模塊集成到一個封裝(而不是同一塊芯片)上。
使用異質集成技術對于異構計算有獨特的好處,例如一個異構計算系統中的模擬信號處理部分可以使用成熟工藝降低成本同時也降低漏電流,另一方面數字計算部分則可以用高級制程提高計算速度,最后再用異質集成技術把兩部分芯片封裝到一起,實現了性能和成本的同時最優(yōu)化。
回到HOT CHIPS,如前所述,異構計算成了高性能芯片最大的熱點。異構計算最積極的提倡者可謂是Xilinx。Xilinx在本次HOT CHIPS上有兩個演講,與異構計算相關的主要是其最新的7nm芯片項目Everest 。
在Everest方面,這個Xilinx的重頭芯片不再是單純的FPGA,而是一款SoC。上面除了IO接口之外,用于處理任務的主要分為三部分:通用處理器,可編程引擎和可編程邏輯FPGA。通用處理器就是CPU,用于處理常規(guī)計算部分;可編程邏輯FPGA模塊則可以根據用戶需求配置成專用處理模塊,從而實現相應的計算加速。事實上,通用處理器加FPGA的架構Xilinx在之前的Zynq系列和MPSoC中已經引入并獲得了業(yè)界的肯定。這次的新要素則是可編程引擎部分。這部分可編程引擎實際上是一組矢量處理器單元組成的處理器陣列,并且通過互聯連接到了一起,用于處理高算力應用。因此,在實際應用中,Everest的通用處理器可以用于運行操作系統,并擔任控制器的角色;在遇到需要高算力的常規(guī)算法(如經典的圖像處理算法等)時,可編程引擎可以完成計算;在遇到其他特殊的計算(如神經網絡,深度學習)需要定制化邏輯才能滿足需求時,可編程邏輯FPGA則可以完成處理。這樣的設計,充分體現了異構計算的精神。
半導體巨頭Intel也不甘落后,在GPU領域展示了其在半導體工藝領域的深厚積累,使用EMIB異質集成技術在一塊封裝里集成了兩塊芯片,從而完成異構計算。EMIB技術即Embedded Muitl-Die Interconnect Bridge (嵌入式多晶片互聯橋接)。最傳統的異質集成技術在封裝的基底上走線來連接兩塊芯片,但是由于封裝的基底走線的密度有限,造成了芯片間互聯的總線寬度不能太寬,從而影響了系統的性能。另一個方法是TSMC等使用的2.5D方法(例如InFO),
首先在封裝的基底上先做一塊硅載片(silicon interposer),然后把芯片再固定在硅載片上,由于硅載片上的走線密度可以很高,因此異質集成系統的性能得到了保障,其缺點是硅載片的成本較高。而Intel的EMIB則是更進一步,不是做一大塊硅載片并把芯片放在上面,而只是在兩塊芯片互聯走線的地方把原來的基底部分換成能實現高密度走線的silicon bridge,從而大大降低了成本。
在這次Intel的GPU中,同一個封裝里就用EMIB技術封裝了兩塊圖像處理芯片,一塊高性能芯片用于計算能力需求強較高的場合(如游戲),另一塊能效比高用于在常規(guī)場景中應用從而達到節(jié)能提升電池壽命的目的,這樣的設計也很好地體現了異構計算的精神。
AMD和Nvidia則在演講中宣傳了自己的SoC。AMD的SoC是Accelerated Processing Unit(加速處理器,APU),在一塊芯片上集成了Zen CPU和Vega GPU,并且使用高速互聯Infinity Fabric實現數據互聯。Nvidia的SoC則是用于自動駕駛的Xavier,這塊SoC上除了基于ARM架構的RISC CPU和基于Volta架構的GPU之外,還包括了用于立體視覺和光流處理的PVA模塊,用于深度學習推理加速的DLA模塊,用于攝像頭圖像處理的ISP以及視頻編解碼模塊。這已經遠遠不止是一塊GPU,而是一個典型的異構計算芯片SoC了。
物聯網安全:硬件安全必不可少
除了超高性能計算芯片之外,另一個本次HOT CHIPS的熱點則是物聯網。在物聯網時代,人們生活中的絕大部分物體都會通過物聯網聯入網絡,一方面從網絡中獲取指令從而給社會帶來更大的自動化,另一部分通過將收集到的數據傳遞到數據中心,則可以讓數據挖掘算法更好地分析大數據并且為用戶提供個性化的服務。
然而,從物聯網的兩大愿景中,我們同樣也可以看到物聯網安全的至關重要。一方面,物聯網會從遠端收集指令,一旦被破解,那么黑客就可以遠端操縱我們生活中幾乎每一個物件,其破壞力驚人;另一方面,如果物聯網傳遞的數據如果被黑客惡意攔截,那么無論是用戶隱私還是關鍵信息(如重要密碼等)被盜都會給用戶造成損失。物聯網安全問題已經離我們并不遙遠,之前MIRAI攻擊讓黑客得以能夠操縱大量的物聯網設備實施DDOS攻擊,給我們敲響了警鐘。
本次HOT CHIPS上,微軟和谷歌都帶來了基于芯片的物聯網安全解決方案。那么,芯片如何實現安全呢?我們不妨來分析一下物聯網系統的安全加密過程。舉例來說,我們認為官方發(fā)布的應用軟件是安全的,而來自不明渠道的應用軟件可能是危險的,那么如何區(qū)分來自官方的軟件和來自不明渠道的軟件呢?標準的做法就是數字簽名,官方的數字簽名可以保證其他人無法冒用,所以物聯網設備在安裝軟件的時候只要能驗證軟件附帶的數字簽名是否是官方的即可。
然而,黑客還是有可乘之機,因為傳統的數字簽名驗證流程并非完美,如果數字簽名驗證流程只是在軟件層面執(zhí)行,例如密鑰的存儲放在軟件層面,那么黑客還是有可能能夠侵入這個簽名驗證流程,通過漏洞把存儲的密鑰或者驗證代碼改成自己的版本,就能繞過數字簽名流程了。這里可以看到,物聯網的安全有一層層的依賴性,如同洋蔥一樣:軟件安全性依賴于數字簽名,而數字簽名的安全性又依賴于數字簽名驗證流程。一旦最核心的安全層被入侵,那么物聯網的安全性就無從談起了,這個最核心的安全就是所謂的root of security。
現在看來,最安全的root of security是硬件芯片級安全方案,即把關鍵的安全驗證代碼和密鑰在芯片設計的時候就固化在芯片里,那么黑客目前來看就沒有辦法可以侵入root of security了。
微軟和谷歌帶來的方案就是這樣。微軟的方案是Sphere MCU,是一款為智能物聯網終端設備量身打造的MCU。在MCU中,除了處理器和存儲器之外,還包含了Pluton Engine。Pluton Engine本身包含了密鑰驗證加速引擎,硬件隨機數生成器以及密鑰存儲等模塊,在實現安全root of trust的同時,也幫助整個系統加速了安全驗證的計算流程。
谷歌則為我們帶來了Titan。與微軟在終端做MCU的安全不同,谷歌則是瞄準了云端的安全。Titan目前的應用場景在云端服務器,在服務器的啟動、Firmware等做root of trust。谷歌的Titan是一塊單獨的芯片,其中也包含了MCU,從而為云端的安全保駕護航。這次的HOT CHIPS,谷歌除了Titan之外還有一個關于終端照片處理加速芯片Pixel Visual Core的演講,可見谷歌在芯片和硬件領域已經有了大量的布局。