CPU是承載一切軟件應用的基礎,CPU指令集是CPU微電路與操作系統和應用軟件溝通的橋梁。操作系統和應用軟件又保障著CPU和指令集生存壯大,不被同類產品輕易替代。
CPU指令集也叫“架構”,它介于軟件與CPU邏輯電路之間,是對CPU功能及調用方法的精確描述,設計基于某種指令集的CPU 就是設計邏輯電路去實現指令集規范中描述的功能,CPU的邏輯電路名叫“微架構”。編寫匯編程序以及編譯高級語言源代碼,產生的是面向某種指令集規范的二進制操作碼,每條操作碼對應指令集中的一條指令。因此系統及應用軟件針對不同指令集的版本,就只能在相同指令集的CPU上才能運行。Java/.net和腳本程序雖然不限定指令集,但它們依賴的Java/.net虛擬機和腳本解釋器,也仍然是以二進制程序的方式存在,不同指令集的CPU就需要不同版本的二進制程序。
操作系統和應用軟件以及各種硬件的驅動程序都與指令集深度捆綁,圍繞各種指令集構成相互依存的生態關系。雖然軟件可能會有多個版本去兼容不同指令集,但每種指令集的生態都各自獨立。X86和Windows、ARM和Android借助生態鏈中所有企業的合力,分別成就了桌面計算機和移動設備領域的霸主地位,掌控這兩種指令集的Intel和ARM也因此在生態中具有無上的權力,對依賴其生態的任何企業,都能夠一言決興衰、二言定存亡。
當只有CPU核心設計能力,而沒有自主指令集和自主軟件生態時
1985年時,Intel挾著它推動通過的《半導體保護法》割起了韭菜,收回了對日本企業的x86指令集授權,使日本企業對x86 CPU進行的一切推廣和改進都付諸東流,對x86生態的貢獻反而成為了打擊日本自主CPU的武器。同時美國政府也對日本半導體行業實施打壓,使日本的半導體行業一落千丈。因為日本企業并沒有對x86指令集的主導權,包括配套的硬件也只能按照Intel的標準設計和生產,一旦失去了與x86兼容的許可,就只能任由美國政府和Intel宰割。
不只是對國外,Intel對美國國內的企業也一視同仁,同樣在1985年,Intel嘗試收回對AMD的x86指令集授權,然后打了許多年官司,AMD才保住了授權。但擁有x86授權的其它企業沒有這么幸運,即使扛過了官司,也沒能抵擋住Intel的其它手段。即便是AMD也仍然時不時地被Intel借著各種專利問題敲打,直到它抓住了CPU從32位發展到64位的時機,自主設計了兼容x86的AMD64指令集并得到市場認可,才獲得了主動權。AMD通過與Intel完成各種交叉授權,擁有了平起平坐的地位,從此與Intel的競爭只是CPU性能上的競爭,擺脫了被狹制的命運。
2000年左右,我國臺灣的VIA意氣風發,它的主板芯片組全球市場占有率超過了50%,于是通過收購奄奄一息的Cyrix和Centaur獲得了x86指令集授權,開始進軍CPU市場。兼容x86指令集可以依附現成的x86生態,不存在市場壁壘,但它的美國子公司Centaur設計的CPU性能一直不高,VIA只能依靠管腳兼容與Intel中低端CPU競爭。Intel也沒有忘記時不時地敲打VIA一番,在2010年時VIA使出渾身解數,才爭取到Intel把x86指令集和相關專利授權延期到了2018年。然而Intel也給VIA作出了兩條要命的限制,一是不再授權VIA設計和生產與Intel CPU兼容的主板芯片組,二是不允許VIA的CPU與Intel的CPU管腳兼容,也就是不再可以與Intel的CPU原位替換。因此VIA失去了最核心的主板芯片組和集成GPU業務,CPU也迅速從市場消失,經營陷入困境,連帶整個臺灣的半導體行業都遭受巨大損失。
當沒有CPU核心設計能力,指令集和軟件生態也完全寄人籬下時
我國的手機及SoC企業差點經歷這樣的風險。因為國產的所謂手機CPU,實際上全都是SoC,也就是把已經設計好的芯片功能模塊集成在一塊芯片中。這些SoC中的CPU核心、GPU核心都完全來自外購,國內設計的只有通信模塊。一旦CPU、GPU模塊被終止授權,或者只是不再繼續授權新的核心設計,這些手機SoC就會沉寂消亡。
國產ARM架構桌面CPU即使是自己設計的核心(不完全確定),在軟件生態方面也仍然存在風險。因為軟件生態是指令集的外延,ARM已經把指令集版本升級到了ARMv9,ARM主流軟件生態也會逐漸向新的版本過渡。國內和企業如果堅守ARMv8,在CPU核心設計水平和生產工藝本就有差距的情況下,又缺少新指令的性能加成,就會承擔被它們所依附的軟件生態拋棄的風險。
也就是說,國內某些CPU產品的核心競爭力,是來自國外授權。有授權就有競爭力,沒有授權就會被打落凡塵。
當既有CPU核心設計能力,又有自主的指令集和軟件生態時
以Apple為例,首先它是美國公司,也就不存在被ARM中止授權的風險。Apple使用的ARM指令集實際上已經不是原版的ARM,而是添加了一些自己獨有的指令。只有Apple自己的操作系統以及基于它的操作系統的應用軟件,才會使用這些新的指令。Apple的系統和軟件并不能兼容其它的ARM處理器,它的軟件生態是獨立的,是不受Intel/Microsoft/ARM/Google等影響的。因此,其它企業只能通過商業競爭來與Apple對抗,而無法使用以“上級”的身份加以任何脅迫。更重要的是,Apple自己建立的軟件生態,不會成為競爭對手的。而國內設計ARM CPU的企業,它們為ARM生態作出的一切貢獻,都會是競爭對手用來打擊它們的武器。
Apple的生態是封閉的,龍芯的生態是開放的,這是它們最主要的區別。龍芯以往也是基于MIPS指令集擴展各種新指令,形成自己的獨立生態。現在則是連指令集也一并自主,以自主指令集構建完全自主的軟件生態。自主不是封閉,而是以自己為主導的開放,只有如此才有能力應對來自政治和商業方面的各種危險。特別是龍芯的二進制翻譯技術,當前雖然還在緊張地開發和優化,但據可信的消息,已經可以流暢地運行PhotoShop了。龍芯以二進制翻譯的方式兼容主流應用軟件,既能豐富自己的軟件生態,又不會給對手形成助力。
龍芯使用自主指令集,有國內最高水平的CPU核心設計能力,再加上已經完善到一定程度的自主的軟件生態,使龍芯在國產CPU企業中擁有最強的抗風險能力。完全自主的優勢是,即使發展到能對世界一流CPU產品構成威脅的程度,也不會受到釜底抽薪式的打擊。雖然看似發展較慢,但卻能保證自己安全地、健康地、持續地成長。
「 支持烏有之鄉!」
您的打賞將用于網站日常運行與維護。
幫助我們辦好網站,宣傳紅色文化!
歡迎掃描下方二維碼,訂閱烏有之鄉網刊微信公眾號
