包雲崗:國產芯片為何要通過國際標準認證?
【文/包雲崗】
近日,看到兩條新聞:阿里的倚天710服務器芯片通過PCIe5.0標準認證,龍芯LoongArch進入UEFI和ACPI規範。

阿里宣佈倚天710服務器芯片通過PCIe5.0標準認證(圖源:”阿里雲基礎設施“微信公眾號截圖)

龍芯LoongArch進入UFFI和ACPI規範(圖源:UEFI社區微信公眾號截圖)
有人提出一些問題——為何國產芯片要去通過這些國際標準認證?為何像LoongArch這樣的自研指令集也要兼容英特爾主導的國際標準?(英特爾在PCIe和UEFI規範的發展過程中都起到了主導作用,UEFI本身就是英特爾在1998 年啓動的“Intel Boot Initiative(IBI)”項目的副產品)
這些問題正好和孫凝暉院士主持的一個關於處理器生態軟課題研究內容相關。這裏我就借用該課題的一些結論對上述問題進行剖析與解讀,不當之處請大家多指正。
一、阿里與龍芯為何要兼容國際標準規範?
一台計算機如何運行,是由一組標準規範所定義。例如,在手機上觸摸屏幕訪問一個網站的操作,會涉及到上百個標準規範,包括硬件標準規範(如ISA、DDR、PCIe、 AXI、WiFi等)、軟件標準規範(如ABI、Syscall、API、TCP/IP、SQL等)和數據格式標準(如IEEE 754、JPEG、H.264、HTML、XML、JSON等) 。這些標準規範緊密耦合、交互協同,有機組成一個文本概念層面的技術體系網絡。
只有通過工程開發將這些標準規範具體實現為各種源代碼或物理載體,並相互適配形成一個具體實現層面的技術體系網絡,才能構成真正工作的物理計算機。

處理器生態示意圖(圖源:包雲崗)
二、指令集在處理器生態起什麼作用?
處理器指令集(ISA)是一種標準規範,一般以文本手冊形式呈現。從標準規範角度來看,指令集就是整個技術體系網絡中的一個節點,它必須要和其他節點協同工作。
因此,處理器芯片生態的核心技術要素在於通過高質量實現將指令集標準轉變為處理器微架構設計與RTL源代碼,並與其他標準規範的源代碼適配,實現協同工作。
根據梅特卡夫定律,當一個網絡內的節點數越多,則該網絡的價值也越大。對於一個處理器指令集,其對應RTL源代碼能兼容的標準越多(點越多),實現的質量越高(邊權重越大),則性能越好、用户體驗越好,處理器生態也將會越好。
三、X86和ARM為何成為主流處理器生態?
如今X86和ARM成為兩大主流處理器生態,關鍵原因並不是Intel、AMD、ARM這些國際處理器頭部企業掌控着X86和ARM指令集規範的制定權(反例:IBM掌控PowerPC指令集、SUN掌控SPARC指令集、DEC掌控Alpha指令集),更為關鍵的是它們投入大力研發經費在其他標準規範的源代碼實現上,使其更好地兼容X86和ARM處理器,例如Intel在PCIe、Ethernet、SATA等標準規範和Linux等開源軟件上有大量投入。
四、生態的商業壁壘如何形成?
如前所述,處理器生態可視為一個網絡,並且網絡的節點之間通過大量的認證形成了商業壁壘。今天,一項技術要進入主流市場,需要通過這些認證。
即使是一些開源技術也同樣需要面對這個問題。例如,在Linux開源社區,Red Hat和SUSE這兩家商業上很成功,很重要的一點是這兩家企業已經積累了上萬個認證——SUSE/RedHat 通過與上下游企業交叉認證,包括聯想、浪潮等硬件廠商,以及Oracle等各類應用廠商。這些認證形成了很高的准入門檻。
例如Oracle數據庫只對SUSE/RedHat的Linux發行版進行認證,這也意味着每個Oracle產品新版本,他們會在這兩個Linux上進行評測,出現問題會主動修改。但是他們不會在Ubuntu上測試,這就會導致Oracle在Ubuntu上的穩定性不如SUSE和RedHat。

每個Oracle產品新版本都會在Red Hat和SUSE的Linux上進行評測(圖源:包雲崗)
綜上,我們可以總結處理器生態的幾個關鍵詞——標準規範、高質量實現、技術體系網絡、認證。
本文系觀察者網獨家稿件,文章內容純屬作者個人觀點,不代表平台觀點,未經授權,不得轉載,否則將追究法律責任。關注觀察者網微信guanchacn,每日閲讀趣味文章。