巨头王炸不断,硬核解读芯片技术路线
?
上周我在博客發(fā)布了一篇《龍芯自主指令集到底強在何處》的文章,雖然這只是一篇臨時起意之作,信息有限的拙作,不過最近整個半導體行業(yè)實在風起云涌,上周四IBM推出了2nm的芯片,蘋果春季發(fā)布會上這次蘋果發(fā)布會上搭建M1的IPad Pro再度炸場、四月中旬ARM推出了新一代的ARMv9、英特爾也拿出了最的至強三代Ice Lake-SP,四月初英偉達推出號稱能將AI算力提升10倍的CPU芯片Grace,年初AMD的ZEN3系列芯片也正式亮相,接下來筆者就帶大家解讀一下半導體的巨頭們到底打的什么技術牌。
指令集-RISC vs CISC宿命的對決
我們在上一篇聊龍芯的時候,有熱心的讀者就說希望把CISC的X86指令與龍芯LoongArch進行對比,這次我們就來詳細聊一下這方面的話題,目前RISC陣營的最強處理器蘋果M1其之所以性能如此勁爆,8路的譯碼器提供了強大的助力作用。我們根據(jù)代碼來看一下這方面的情況。
Int a; Int test(void){ Return a; }上述代碼在X86的處理上,反編譯之后得到的匯編語言如下,具體反編譯的過程請大家參考《龍芯自主指令集到底強在何處》這里不加贅述了。
test o: file format elf64-x 86-64 Disassembly of section. text: 0000000000000000<test>: Int a; int test(void)( 0:55 push %rbp 1:48?89?e5? mov %rsp %rb return?a: 4:8b?05?00?00?00?00 mov 0x0(%rip),%eax #a <test+Oxa> } a: c9 leaveq b: c3????retq對應ARM平臺的匯編指令如下:
00000000 <test>:int a;int test(void){return a;}0: e52db004 push {fp} ; (str fp, [sp, #-4]!) 4: e28db000 add fp, sp, #0 8: e59f3010 ldr r3, [pc, #16] ; 20 <test+0x20> c: e5933000 ldr r3, [r3] 10: e1a00003 mov r0, r3 14: e28bd000 add sp, fp, #0 18: e49db004 pop {fp} ; (ldr fp, [sp], #4) 1c: e12fff1e bx lr 20: 00000000 .word 0x00000000?
可以看到X86的匯編語言相對比較短,因為CISC一條指令可以完成比較復雜的任務,不過本質上講這段程序在X86的執(zhí)行過程就是由push %rbp來構造棧,然后就可以把%eax賦值給結果就完成了。
但是X86這樣的做法也有著反噬,我們可以把push move這些指令左邊的數(shù)字簡單為機器指令,可以看到X86為代表的RISC是不定長的,而龍芯LA64和ARM是定長的,對比CISC的來構造直其實對應來現(xiàn)代的CPU一般都是以流水線機制運行。像AMD最新的ZEN3系列CPU,也只配備了4個譯碼器,因為不定長長所以X86的CPU必須對可能的編碼開始位置同時進行譯碼,并處理很多的錯誤,我們在前文也介紹過計算機的運行就怕分支預測,一旦預測不準,就會在流水線上產生氣泡,這所帶來的懲罰效應驚人。
多路譯碼的關鍵在于以ARM為代表的RISC指令集基本上是定長的,這也是蘋果M1能有8路譯碼器的原因,當然從結果上看ZEN3還是要比M1略強一點的,但是ZEN3的譯碼器主頻是5Ghz,而M1只有3.2Ghz,個人認為蘋果之所以沒有將M1的主頻調教的很高還是出于控制能耗原因,而不代表他不能這么做。因此從這個角度來看未來在桌面領域X86為代表的CISC恐怕前景不妙。
多方安全計算-軟硬結合才是趨勢?
?
之前筆者曾經(jīng)寫過一篇《ARM V9到底強在哪》曾經(jīng)指出過ARM V9的有一項重要的新特性就是安全計算指令集,但是當時筆者并不太看好這項技術,上周筆者的博客中《為什么谷歌被罵上熱搜一點也不冤,詳解FloC背后聯(lián)邦計算》也指出FloC其實是一種聯(lián)邦計算技術。
?
說起安全計算這項技術,他的歷史已經(jīng)非常久遠了,簡單來講安全計算可以百萬富翁問題來表述,假如兩個百萬富翁街頭邂逅,他們都想炫一下富,比比誰更有錢,但是出于隱私,都不想讓對方知道自己到底擁有多少財富,如何在不借助第三方的情況下,讓他們知道彼此之間到底誰更有錢?針對這個問題,在上世紀80年代,清華大學的姚期智院士提出了解決方案,并因此獲取了圖靈獎,從理論層面證明了多方可信計算問題的可行性。
?
其實英特爾安全計算指令集的SGX技術早在幾年前就已經(jīng)實現(xiàn)了,這是一種從硬件角度打消用戶疑慮的技術,安全計算指令集實際是給計算機加了一個安全密室,即使擁有最高權限的特權管理員也不能進入安全密室,更無法在安全密室前布放監(jiān)控。安全密室與外界的一切交互全部要經(jīng)過加密并進行完整性校驗。
但當時SGX能創(chuàng)建的內存空間只有128M,而目前的AI機器學習模型動轍要上百M,大的甚至要幾十上百個G,當時的SGX根本放不下這樣的模型,無法在多方安全計算中使用。不過這次英特爾至強三代的Ice Lake-SP和即將到來的ARM V9中都可以支持TB級的安全空間,可見安全計算也是巨頭們的一個重要發(fā)展方向。但在實踐層面多方安全計算依然困擾業(yè)界,如果兩個富翁只比一次那么一切好說,但是如果有惡意假扮者,不斷和同一個富翁A比富,那么富翁A的信息泄漏是遲早的事。
?
筆者看到目前比如像藍象智聯(lián)的GAIA CUBE等聯(lián)邦計算平臺,就有將區(qū)塊鏈技術與硬件安全計算結合的方案,避免同一用戶的信息被不斷的碰撞學習,保障數(shù)據(jù)安全性,做到最終數(shù)據(jù)可用不可見,最終打破數(shù)據(jù)孤島,發(fā)揮數(shù)據(jù)價值。軟硬結合實現(xiàn)安全聯(lián)邦計算可能是一個今后業(yè)界發(fā)展的重要趨勢之一。
?
AI算力-可變長SIMD VS 內存-顯存通道提速
我們看到最近亮相的英特爾的至強三代Ice Lake-SP和安謀的ARM v9以及英偉達的首款CPU處理器Grace,都把寶押在了AI算方面。不過顯然英偉達選擇的技術路線與英特爾以及ARM不同,雖然Grace是基于ARM的,但是黃教主的方案是打通內存與顯存之間的數(shù)據(jù)交換瓶頸。
正如我們剛才所說ARM等RISC處理器在指令預測等方面同天然比 X86 更有優(yōu)勢,能耗也比 X86 更低。當然這些都是 ARM 相對于 X86 的傳統(tǒng)優(yōu)勢,本次 Grace 最大的創(chuàng)新點在于把 CPU 與 GPU 之間的通信速度提升了近 10 倍。根據(jù)黃仁勛的說法,“這是一萬名工程人員歷經(jīng)幾年的研發(fā)成果,旨在滿足當前世界最先進應用程序的計算需求,其具備的計算性能和吞吐速率是以往任何架構所無法比擬的。”
?
CPU 和 GPU 的通信速度的重要性,也可以用蘋果 M1 的例子來加以說明,我們知道蘋果 M1 顯卡與內存加在一起只有 16 個 G,對比上一代 Mac PRO 內存128G,光是顯存都有 16G,不過搭載 M1 的入門版 Mac 在進行圖像處理等需要 CPU 與 GPU 進行協(xié)同的運算任務時,至少比上一代頂配的 Mac 性能高出近一倍。其中的秘決就是將內存與顯卡進行統(tǒng)一管理,從而大大提高了 CPU 與 GPU 的通信效率。?Grace 體系中 GPU 核心與 CPU 核心之間的通信不需要 CPU 的調度,也不需要占用數(shù)據(jù)總線的帶寬,之前 CPU 必須將數(shù)據(jù)從其內存的區(qū)域復制到 GPU 使用的區(qū)域,而在 Grace 的加持下,CPU 只需要告訴GPU在內存的某位置有 30MB 的向量數(shù)據(jù),然后就可以去做其它事了,GPU 則可以通過 Grace 復制通道迅速開始計算任務。
而ARM V9的SVE2和英特爾的至強三代的技術路線是可變長SIMD,這個我在前文《ARMv9到底強在強》中有過介紹了這里不加贅述。
同時我們也要關鍵到在Grace發(fā)布上,英偉達還拿出了很多軟件產品,比如Transformers訓練框架NVIDIA Megatron、Morpheus 數(shù)據(jù)中心安全平臺、新一代人工智能對話機器人NVIDIA Jarvis、推薦系統(tǒng)是NVIDIA Merlin、隱私保護加強的AI輔助套件NVIDIA TAO,今后軟硬結合的一體化計算框架可能也會成為趨勢。?
?
云計算的激烈爭奪
?
其實筆者在前文《英特爾火線換帥、蘋果攪動乾坤,國芯路在何方》就曾指出,在英偉達發(fā)起了收購ARM的要約之后,必然預示云計算市場將是各大巨頭重要的爭奪方向。
在云計算這種多租戶的場景下,可能有很多用戶依靠虛擬化技術使用同一CPU工作,這就要求不同用戶使用的內存要嚴格隔離,因此蘋果M1以及英偉達Grace將內存與顯存混用打通CPU與GPU的方式不利于虛擬化的加速。基于上述原因目前英偉達和蘋果M1的算力提升還暫時影響不到云計算市場,目前英特爾在云計算方面還是占據(jù)不少優(yōu)勢。據(jù)筆者了解到的情況看,在最新的至強三代Ice Lake-SP系列中中有兩款專為云計算虛擬機和容器進行優(yōu)化的型號,其中
?
P后綴:專為虛擬化層提供優(yōu)化,為虛擬機提供更高的頻率。
V后綴:代表為SaaS優(yōu)化,針對高密度、低功耗容器環(huán)境,提高編排效率。
我們看到P后綴的8358P系列其能耗指標TDP是240W,這對于風冷服務器來說壓力是不低的,不過這對于已經(jīng)大規(guī)模推廣液冷技術,能夠給服務器泡澡的阿里云來講就不是什么問題了,因此我們看到阿里云是目前使用至強三代比較多的國內云廠商之一。阿里云與英特爾同步發(fā)布的第七代ECS云產品,搭載的就是這款Ice Lack,如果筆者所料不錯的話,其小型號就應該是我們剛剛提到的8358P系列的芯片。據(jù)阿里云的介紹,第七代ECS相較于上一代整體算力提升了40%。在MySQL、Redis、Nginx等互聯(lián)網(wǎng)典型場景中,第七代ECS最大性能提升了50%。
在Ice Lack的加持下,阿里云在容器部署密度最大可以提升到6倍,存儲云盤掛載密度最高提升1倍。第七代ECS還能在3分鐘內交付50萬核VCPU,單實例10秒可拉起,要知道筆者目前所親眼見到的最快VCPU交付也只能達到每分鐘萬核的速度,這種3分鐘內交付50萬核的供給效率令人贊嘆。
站直了別趴下
以上就是筆者對于最近半導體行業(yè)最新進展的一些解讀,而個人認為龍芯通過二進制翻譯的方式使LooongArch兼容其它指令集的做法也是我國半導體企業(yè)的正確策略,目前整個行業(yè)的外部環(huán)境的確是紛亂復雜,在這種情況下我們要做的就是先別下牌桌,只要游戲還在繼續(xù)我們就有機會。
?
?
?
?
總結
以上是生活随笔為你收集整理的巨头王炸不断,硬核解读芯片技术路线的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python实战】有趣的代码百里挑一:
- 下一篇: NB物联网之天翼物联(1)——电信NB平