軟體定義一切,也包括“成敗”。過去40年,處理器晶片呈現出“否定之否定”的螺旋式發展道路:自研-放棄自研-自研。最近5年,越來越多的整機和平台廠商,重新加入自研的“晶片戰爭”,並且顯現出一個新趨勢——以CPU為中心的同構計算系統,轉變成CPU聯合xPU的異構計算。“晶片戰爭”中的選手要直面幾個問題:其xPU架構創新有多少,持續創新空間有多大、應用規模能否攤薄硬體、生態的創新成本。剛剛公布的“十五五”規劃建議稿也提到,加快科技高水平自立自強,全面增強自主創新能力,大力實施“卡脖子”迭代攻關,聚焦半導體等關鍵技術環節。那麼,接下來的五年、十年,對於國產“算力晶片”來說,突破口在那裡?我們認為是指令系統結構(指令集架構)的統一。系統結構的一致性,更能推動架構層面的創新,比如把RISC-V作為統一指令系統,所有CPU/GPU/xPU都基於RISC-V及其擴展來開發,在擴大規模效應的同時,高效利用研發資源。指令集相當於軟硬體“連接器”,按標準編寫軟體,即可向硬體發出計算指令。經濟規模與生態成本,決定架構的“生與死”電腦差不多經歷了八十多年的歷史,早期特點是集中式處理,少數專業人員通過終端裝置才能訪問到昂貴的計算資源。20世紀80年代後以微處理器為基礎的PC和電腦網路出現,計算模式從集中式轉化為分佈式。後來又有了智慧型手機和雲端運算系統,計算模式進化為集中式的雲中心和“泛在分佈”的智能終端構成的複雜體系,且雲中心本身又是一個巨大的分佈式系統。計算進化到今天,最為核心的CPU,以兩種主導式的指令集為代表:PC和伺服器領域是x86架構,智慧型手機領域是ARM架構。x86等架構及相應特徵x86和ARM佔主導,是市場洗牌的結果。時間往回倒退,過去40年業內出現了許多有特色的架構和產品,但大部分都逐漸凋零了。例如:英特爾開發的RISC架構i860/i960、摩托羅推出的68000以及跟IBM、Apple聯合開發的PowerPC架構等等。指令集架構,從幾十款到幾款,快速收斂的原因各有不同。x86戰勝RISC,靠的是不斷向高端RISC“抄作業”,同時根據新應用需求不斷增加指令子集,拓展新功能;PC與伺服器的CPU同為x86架構,晶片出貨量大,分攤了伺服器CPU的研發成本,也是x86從競爭中脫穎而出的客觀條件。RISC CPU的失意,表面上是巨額的軟硬體投入成本,根源則是無法顛覆已有軟硬體生態系統——大量已存在的標準或事實標準的介面,如指令架構系統,這種生態的統治力,英特爾、惠普曾這類聯合體也無法撼動。回想起1990年代超算領域,如nCUBE,KSR、Thinking Machine等創業公司,既自研CPU,又開發MPP超算系統,在系統架構上提出了很多引人入勝的新方案。尤其是KSR,提出了名為Allcache的純快取儲存架構(COMA),實現了第一個基於純快取的平行超算系統,其CPU只跑20MHz,功耗、散熱等效率遠遠高於同期的英特爾486,後者主頻達到了50MHz。最終,各種創新性的架構都“輸給了”x86。不是說這些架構沒有創新性,根本上在於架構創新敵不過經濟規律。所以,在文章開頭,我們就呼籲,未來五年、十年,中國的算力晶片應該統一指令集架構。架構創新難,生態建構更難:壁壘在軟體與協同英特爾於2000年左右推出Pentium 4處理器,時脈頻率已達到4GHz。25年後的今天,很多產品時脈頻率還停留在這個水平。這是因為進入奈米工藝後,摩爾定律逐漸失效,電晶體開關速度放緩。現在,業界依賴電晶體數量的累積來提升性能,其基本的思路是平行,如增加資料位寬、增加功能部件、增加處理器核的數量等等。但增加了這麼多的部件,如何控制與管理?就要看電腦體系結構。電腦體系結構既是硬體與軟體的介面介面,也決定了硬體與軟體的分工,根據硬體與軟體分工的不同邏輯,大致可分為三種類型:激進的結構(完全動態最佳化):類似上文提到的純快取儲存架構,強調軟體在動態分析和最佳化方面能力有限,因此在硬體上做儘可能多的動態最佳化, 但這樣往往導致硬體過分複雜、功耗過高;保守的結構(靜態最佳化):硬體僅提供必需的設施, 如大量的暫存器或SRAM,依賴軟體來實現高性能,這種方案的好處是硬體簡化了,缺點是程式設計不便、性能沒有保障;折中的結構(動靜態相結合的最佳化):硬體做一些動態的最佳化, 如快取記憶體,軟體也仍有最佳化的餘地,通過軟硬體協同解決性能和程式設計問題。由於需要運行作業系統、編譯器及各種複雜控制應用,涉及的序列因素比較多,高端CPU經常採用激進的結構,但由於結構異常複雜,導致正確性難以驗證,研發工作量極大。隨著熔斷、幽靈等硬體漏洞的出現,這類結構也易受瞬態執行攻擊的問題也暴露出來。目前業界更傾向於基於這種結構——增加處理器核的數量,來提升性能,比如代表算力的xPU晶片,就是典型的眾核(Many Core)結構。這種架構可以匹配圖像處理、神經網路等天然依賴平行計算的特點,只要硬體提供足夠的運算部件、儲存單元、互連機制,並由軟體程序把平行性表達出來,就可以在平行硬體上高速地執行。輝達PASCAL和TURING架構GPU,擁有大量CUDA計算核心英特爾Xeon Phi,Google TPU等,都是專門設計的眾核加速器,而更流行的GPGPU則陰差陽錯的成為眾核加速器——一開始只用於圖形渲染,非專門為AI設計。不管是TPU還是GPGPU,眾核結構xPU的“算力晶片”大規模應用,首先要解決的還是生態系統問題——在處理器上運行的各類軟體的總和,包括各種應用軟體,及支撐應用軟體開發運行的系統軟體、中介軟體、庫函數等。在這方面,使用者之所以喜歡使用輝達的產品,就是因為CUDA擁有成熟的平行軟體生態。前面提到英特爾和惠普的合作項目。雙方於1994年,聯合開發了不與x86相容的EPIC架構的IA-64安騰處理器,前後花了十餘年時間,耗資巨大,終究未能成功。關鍵就在於經過40多年演進的x86架構,形成了任何處理器架構都無法比擬和複製的產業生態環境。英特爾、惠普的新架構、新產品,解決不了新的生態問題。這裡面還有一個洞察——Gartner分析了從2009到2018年的企業軟體市場,十年間,x86軟體的市場份額持續上升,到2018年,全球投入在x86軟體(含企業應用軟體、基礎設施軟體、垂直專用軟體)開發上的費用高達600億美元,IDC 2019年同期的資料表明,全球伺服器硬體的總收入也就800億美元。也就是說,軟體開發的費用遠遠高於硬體,新搞一個處理器架構已經很費錢了,基本不會有人給更多投資去開發配套的軟體。基於這一點,可以預判,未來很長一段時間,伺服器市場上x86 CPU仍居主導地位。有人也許要問,ARM-64的機會在那裡?它的核心看點在於打破英特爾在x86伺服器市場一家獨大的格局,因為英特爾的CPU毛利太高了,誰都想去分一杯羹,正如AI晶片廠商想去分輝達的蛋糕一樣。最終,ARM伺服器未來能夠取得成功,幾個原因可能是決定性的:一是掌控了全端技術(應用)的大廠放棄x86,如蘋果、亞馬遜,它們的生態遷移完全可控,產量或毛利率也是可控的二是端雲融合,ARM在終端的優勢瀰漫到雲端,如Android Cloud,ARM伺服器更適合支援Android Apps,應用可在雲和端間隨便遷移。還有雲遊戲在雲端也不需要依賴虛擬機器。x86的故事仍在繼續,ARM攻勢迅猛,開放原始碼的RISC-V則還需要努力。關於RISC-V,業內有很多討論,既有ARM“價格貴”的問題,也有開放性、可研究性的問題,但主要還是商業化的困境。近年來,RISC-V應用較多且相對成功的,都是軟體比較簡單的場景,即以微控製器(MCU)為代表的嵌入式領域,如希捷、西數等企業的儲存類產品。而以物聯網為代表的嵌入式場景,其需求非常碎片化,RISC-V雖然可以針對應用特點自訂對指令集的擴展,但這樣分門別類地定製晶片,就失去了積體電路產業的規模效應。軟體、應用之外,RISC-V的硬體生態也還不成熟——有競爭優勢的高性價比處理器核的種類少,也缺乏支援多核互連的高性能片上網路(NOC),尤其是片上網路,業內都還在用ARM方案,不過ARM不會單獨向RISC-V項目授權片上網路IP,而要搭售ARM CPU核心,成本又被拉上來了。一些觀點認為,隨著JAVA、Python等跨平台的語言/工具越來越流行,通過虛擬機器技術實現應用的跨平台遷移,還可以用模擬的方法用一種指令集模擬另一種指令集,寄希望於指令集架構重要性變低,進而重構x86、ARM的“壟斷”格局。不過,這也存在另一些相反的事實,例如英特爾一直在持續地擴展其指令集,增加新指令(子集),如近年看到的SGX、AVX512、AI擴展指令集等,說明硬體指令的直接支援對性能、能效比至關重要。又如,由於業界的各類基礎軟體和應用軟體,主要都是針對英特爾CPU最佳化的,即使同樣是x86的AMD CPU,能流暢支援的軟體配置種類就少得多。所以,阿里的公有雲平台只用英特爾的CPU產品,它們可以自如地支援各種老舊的OS類型、版本、配置。從這個角度來看,RISC-V進入以電腦為代表的通用平台,還有一段曠日持久的路程要走。統一指令集:中國算力晶片規模化的關鍵路徑近年來,系統和平台廠商又開始研發計算晶片了:美國有蘋果公司、Google、亞馬遜、微軟,中國公司也很多。所有自研的場景當中,雲廠自研晶片的模式是行得通的,因為企業盈利的基礎在於增值服務,不在硬體。雲廠商由於掌控全端軟硬體,生態移植的困難也較小,且因為自身規模大,可以負擔晶片研發的費用。不過,現階段多數企業自研還是用於內部,因此外部客戶仍然需要獨立的晶片供應商。眾多自研晶片的系統廠商當中,蘋果公司是一個非常成功的案例,基本實現了核心產品線處理器的全線自研——手機為A系列、平板和PC為M系列、手錶為W系列、耳機為H系列。蘋果自研晶片矩陣,資料更新至2025年9月“產品定價高”可以作為評判蘋果自研成功與否的一個表面指標。和公版的ARM CPU核相比,蘋果公司自研的CPU性能高、成本也高,但配合自研的系統軟體,整體達到最佳化的使用者體驗,同時加上行銷體系的助力,形成“高大上”的形象,就可以賣出高價錢。只不過,很多失敗的項目,只看到了蘋果公司“自研晶片”的表面指標,“自研晶片”,如果只是為了“使用晶片”,或者只是聚焦在紙面參數上,而忽略掉軟體的差異化、生態能力提升,進而共同推動使用者體驗的最佳化,未必有價值。軟體定義一切,也包括“成敗”。無論CPU還是GPGPU,都需要在軟體生態上,與現有成熟產品形成差異化,實現附加值提升,但這不等於一切都需要重構和創新,比如指令系統——指令系統越多,軟體生態方面就需要投入越多,“統一”起來困難重重。前面提過,軟體方面的投入比硬體研發的投入還要大,而軟體掉隊的負面現象,目前大量出現在當前的領域專用架構(DSA)和其它xPU研發領域。比如很多國產智算中心,投資規模很大,但受配套軟體不全等問題限制,實際利用率並不高,這其實就是軟體跟不上硬體“步伐”帶來的後遺症。回想架構之爭的年代,諸神混戰,最後也只有少數幾個架構活了下來。實際上,體系結構創新,未必一定要新架構,也可以在現有的指令系統框架內實現,RISC-V恰好在這方面具備很好的支撐。例如,國外Tenstorrent等企業基於RISC-V指令集,擴展支援AI的子指令集,進而開發了基於RISC-V的AI加速計算方案。又如,國內外不少大學和科研機構都在RISC-V上擴展了密碼學相關的子指令集,並在此基礎上實現了對後量子密碼的支援等等。所以,我們呼籲:把RISC-V作為統一指令系統,所有CPU/GPU/xPU都基於RISC-V及其擴展來開發,避免重複勞動和研發資源的無謂浪費。 (半導體產業縱橫)