天行健,國(guó)產(chǎn)CPU當(dāng)自強(qiáng)不息
CPU大致可分為嵌入式和通用型,通常意義上的“電腦”,如筆記本、臺(tái)式機(jī)、服務(wù)器使用的都是設(shè)計(jì)難度更高的通用型CPU。當(dāng)前國(guó)內(nèi)設(shè)計(jì)通用CPU的企業(yè)不少,從技術(shù)路線上看,有購(gòu)買(mǎi)IP(硅知識(shí)產(chǎn)權(quán),例如完整的CPU設(shè)計(jì))的,有購(gòu)買(mǎi)架構(gòu)(指令集)授權(quán)的,也有從指令集到芯片電路都自己設(shè)計(jì)的。購(gòu)買(mǎi)IP顯然是難度最低的方式,無(wú)論是技術(shù)難度還是市場(chǎng)推廣的難度,都與完全自主的路線不可同日而語(yǔ)。既然有輕松的方式,為何龍芯和申威還非要選擇完全自主的困難模式呢?因?yàn)樾畔⒓夹g(shù)產(chǎn)業(yè)要想不受鉗制,國(guó)產(chǎn)CPU就必須實(shí)現(xiàn)自主,要實(shí)現(xiàn)自主就只能如龍芯和申威那樣自強(qiáng)不息。
核心技術(shù)買(mǎi)不到,只買(mǎi)IP與技術(shù)自主相悖
有的人認(rèn)為購(gòu)買(mǎi)技術(shù)的路線更加國(guó)際化,而自主發(fā)展技術(shù)是閉門(mén)造車(chē)的落后體現(xiàn)。對(duì)于這個(gè)觀點(diǎn),首先需要說(shuō)明的是:在龍芯起步的時(shí)候,除了教科書(shū)上的基礎(chǔ)知識(shí)和公開(kāi)論文上一鱗半爪的描述之外,中國(guó)是買(mǎi)不到高性能通用CPU的設(shè)計(jì)資料的。直到龍芯CPU在行業(yè)應(yīng)用中展現(xiàn)出了發(fā)展壯大的潛力、申威CPU在超算上取得了矚目成就,境外的CPU企業(yè)才開(kāi)始向國(guó)內(nèi)企業(yè)出售比同期的自主CPU性能略高的通用CPU的IP。IP可分為“軟核”與“硬核”,以我的理解,大約就相當(dāng)于電路原理圖與實(shí)際電路版圖的區(qū)別。軟核就相當(dāng)于電路原理圖,是CPU的邏輯設(shè)計(jì),還需要完成元器件的選型以及布局和布線,才能變成可以實(shí)際生產(chǎn)的電路版圖,版圖也就相當(dāng)于硬核,就是物理設(shè)計(jì),也稱(chēng)為后端設(shè)計(jì)。

從歷史上看,我們自主發(fā)展的高技術(shù)只要取得初步成果,都能直接或間接地促成與境外企業(yè)的技術(shù)合作,別人提供的產(chǎn)品資料雖然已經(jīng)淘汰,但仍比自主技術(shù)先進(jìn),那么自主技術(shù)也就沒(méi)有繼續(xù)發(fā)展的必要。然后一旦自主技術(shù)失去生存的土壤,被排擠,被放棄,境外企業(yè)的技術(shù)合作也就告一段落,不會(huì)持續(xù)。如果自主技術(shù)沒(méi)有死亡,仍在堅(jiān)難地緩緩發(fā)展,那么倒是反而能促使那些與境外合作的產(chǎn)品得到不斷的技術(shù)支援,直到使用自主技術(shù)的產(chǎn)品達(dá)到了對(duì)進(jìn)口產(chǎn)品有威脅的水平,技術(shù)合作才會(huì)戛然而止。在這如同自然法則一般的運(yùn)行規(guī)律中,龍芯和申威一直都是國(guó)內(nèi)其它企業(yè)與境外CPU企業(yè)維持技術(shù)合作的幕后推手,可以說(shuō)對(duì)依賴(lài)購(gòu)買(mǎi)IP來(lái)設(shè)計(jì)產(chǎn)品的國(guó)內(nèi)CPU企業(yè)功不可沒(méi)。
軟核的設(shè)計(jì)水平?jīng)Q定了CPU的IPC,IPC可以看作1GHz的頻率下Spec2006/2017的測(cè)試成績(jī)。軟核的晶體管規(guī)模決定了CPU制程的下限,越陳舊的制程能夠在單芯片上承載的晶體管數(shù)量越少,也就是說(shuō)受限于熱量、功耗、成品率等原因,晶體管越多的設(shè)計(jì)就越需要先進(jìn)的生產(chǎn)工藝。從軟核到硬核的過(guò)程稱(chēng)為物理設(shè)計(jì),這也是CPU設(shè)計(jì)流程中非常重要的環(huán)節(jié),物理設(shè)計(jì)的水平?jīng)Q定了能否達(dá)到設(shè)計(jì)時(shí)預(yù)計(jì)的功耗和主頻等指標(biāo)。根據(jù)授權(quán)許可的不同,軟核可能允許購(gòu)買(mǎi)者修改,只是技術(shù)水平如果低于原設(shè)計(jì)者,往往只能加加緩存堆堆核心,最核心的設(shè)計(jì)根本改不了。而硬核由于布局布線都已經(jīng)完成,也不提供原始設(shè)計(jì)文檔,也就無(wú)法自行修改設(shè)計(jì)。CPU無(wú)論邏輯設(shè)計(jì)還是物理設(shè)計(jì)都可以委托給其它公司,但在當(dāng)前國(guó)際形勢(shì)下,委托設(shè)計(jì)難以保障安全。比如飛騰被美國(guó)加入制裁名單后,臺(tái)灣世芯就立即中止了給飛騰提供設(shè)計(jì)服務(wù),盡管2020年飛騰為其貢獻(xiàn)了39%的營(yíng)收,中止給飛騰的設(shè)計(jì)服務(wù)后2021預(yù)計(jì)會(huì)損失25%的收益,世芯也在所不惜。世芯2020全年?duì)I收70.79億臺(tái)幣,39%就是約6.4億人民幣。申威與飛騰同一時(shí)間被加入制裁名單,但因?yàn)樯晖?duì)CPU所有的設(shè)計(jì)流程都不假手于人,堅(jiān)持自力更生,且和龍芯一樣緊守境內(nèi)CPU生產(chǎn)工藝的上限,因此即使被制裁,也沒(méi)有太大的風(fēng)險(xiǎn)。

請(qǐng)其它公司代為設(shè)計(jì)肯定沒(méi)法提高自己的設(shè)計(jì)水平,那么購(gòu)買(mǎi)現(xiàn)成的設(shè)計(jì),能否增強(qiáng)自己的設(shè)計(jì)能力呢?如果購(gòu)買(mǎi)軟核是以推出產(chǎn)品為目的,恐怕根本不會(huì)有學(xué)習(xí)和理解的動(dòng)力,就像用開(kāi)源庫(kù)做軟件的同仁們,誰(shuí)有時(shí)間和精力去通讀開(kāi)源庫(kù)的代碼,還要細(xì)細(xì)揣摩每行代碼的作用呢?如果購(gòu)買(mǎi)的是硬核,那就相當(dāng)于軟件開(kāi)發(fā)中使用閉源的二進(jìn)制庫(kù)文件,自己從頭開(kāi)發(fā)一遍都要比反編譯所有代碼更加輕松,根本不可能作為學(xué)習(xí)的材料。如果從來(lái)沒(méi)有從0開(kāi)始設(shè)計(jì)過(guò)產(chǎn)品級(jí)CPU,從最基礎(chǔ)的問(wèn)題入門(mén),以當(dāng)今CPU的復(fù)雜程度,集成幾十億到幾百億的晶體管,我難以相信有人通過(guò)閱讀電路圖就能掌握CPU的設(shè)計(jì)能力。龍芯和申威都是從0開(kāi)始設(shè)計(jì)CPU的,其中龍芯更像一家CPU技術(shù)培訓(xùn)學(xué)校,最初項(xiàng)目組的十來(lái)個(gè)人在實(shí)踐中掌握了一定水平的CPU設(shè)計(jì)能力,然后就可以指導(dǎo)新進(jìn)的員工的學(xué)習(xí),進(jìn)行技術(shù)和經(jīng)驗(yàn)的傳承擴(kuò)散,老師再與學(xué)生共同研究探討迭代成長(zhǎng),培養(yǎng)更多的人才把技術(shù)散播四方。比如創(chuàng)建了“寒武紀(jì)”的陳云霽就是胡偉武的學(xué)生之一,25歲就擔(dān)綱8核龍芯3號(hào)(3B1500)主架構(gòu)師,之后把AI芯片作為主要的研究方向。只有自己成功解決了各種問(wèn)題,設(shè)計(jì)過(guò)程中產(chǎn)生的奇思妙想能在產(chǎn)品中應(yīng)用,才能形成正向的反饋,不斷提高設(shè)計(jì)的能力。
連古人都知道,紙上得來(lái)終覺(jué)淺,絕知此事要躬行,可現(xiàn)在仍有一些團(tuán)體為了各種目的而自欺欺人。使用x86指令集的國(guó)產(chǎn)通用CPU都是購(gòu)買(mǎi)的IP,海光從AMD購(gòu)買(mǎi)了Zen微架構(gòu)的設(shè)計(jì),兆芯的CPU核心來(lái)自VIA旗下的美國(guó)公司Centaur。雖然兆芯在宣傳中總是說(shuō)它的CPU是本土團(tuán)隊(duì)設(shè)計(jì),但《2020網(wǎng)信自主創(chuàng)新調(diào)研報(bào)告》、《中國(guó)信創(chuàng)產(chǎn)業(yè)發(fā)展白皮書(shū)(2021)》等權(quán)威的專(zhuān)業(yè)報(bào)告顯然并不認(rèn)可這些宣傳?;贏RM指令集的CPU情況要好一些,雖然手機(jī)CPU無(wú)一例外都是購(gòu)買(mǎi)的IP做集成,但桌面和服務(wù)器的CPU則不是這樣。在購(gòu)買(mǎi)指令集授權(quán)時(shí)會(huì)附帶參考的IP,但我不確定國(guó)內(nèi)的ARM桌面和服務(wù)器CPU是否是在參考IP上進(jìn)行的修改,雖然有華為工程師自曝鯤鵬920是基于A72改進(jìn),也有人說(shuō)飛騰的CPU是修改的A53的核心,但并沒(méi)有權(quán)威的證明。不過(guò)即使真是修改而來(lái),只要能在修改的過(guò)程中掌握設(shè)計(jì)能力,實(shí)現(xiàn)自主迭代,那對(duì)于國(guó)內(nèi)的CPU技術(shù)和人才積累也能有所裨益。

技術(shù)需要積累,專(zhuān)利也需要積累。在國(guó)外先行者把各種有用沒(méi)用的專(zhuān)利都申請(qǐng)了一個(gè)遍的情況下,探索出實(shí)現(xiàn)某種功能的新方法就更不容易。那么通過(guò)收購(gòu)專(zhuān)利所有權(quán)的方式可以形成專(zhuān)利圍欄、增強(qiáng)競(jìng)爭(zhēng)能力嗎?CPU設(shè)計(jì)是技術(shù)門(mén)檻極高的行業(yè),只有對(duì)CPU技術(shù)有深入研究的企業(yè)才可能產(chǎn)生有價(jià)值的專(zhuān)利技術(shù),也就是說(shuō)擁有高價(jià)值專(zhuān)利的企業(yè)本身就有較強(qiáng)的競(jìng)爭(zhēng)力。即便忽略以美國(guó)為首的國(guó)家對(duì)我國(guó)實(shí)施高技術(shù)禁運(yùn)的問(wèn)題,在整個(gè)行業(yè)中也只存在強(qiáng)勢(shì)企業(yè)收購(gòu)弱勢(shì)企業(yè)的專(zhuān)利來(lái)完善自身專(zhuān)利池的情況,而不可能把核心專(zhuān)利的所有權(quán)出售給弱勢(shì)企業(yè),削弱自己來(lái)增強(qiáng)潛在對(duì)手的實(shí)力。CPU行業(yè)中技術(shù)水平較低的企業(yè)往往需要購(gòu)買(mǎi)IP,那么擁有較強(qiáng)設(shè)計(jì)能力的CPU企業(yè)面對(duì)金主客戶購(gòu)買(mǎi)專(zhuān)利的請(qǐng)求時(shí),也就只會(huì)拋出無(wú)用的邊角料,而不可能賣(mài)掉會(huì)下金蛋的雞。例如兆芯熱衷于用國(guó)家撥款向VIA和Centaur購(gòu)買(mǎi)專(zhuān)利等各種知識(shí)產(chǎn)權(quán),既然美國(guó)不阻止,也就說(shuō)明其沒(méi)有太大價(jià)值。與兆芯相比,中資想要購(gòu)買(mǎi)瀕臨倒閉的MIPS,美國(guó)卻執(zhí)意把MIPS指令集和相關(guān)專(zhuān)利剝離,寧可爛在手里。龍芯購(gòu)買(mǎi)MIPS指令集使用權(quán)后又等了十年,卻直到擁有MIPS所有權(quán)的公司破產(chǎn)也沒(méi)能滿足心愿。因此通過(guò)購(gòu)買(mǎi)專(zhuān)利所有權(quán)來(lái)完成專(zhuān)利布局是不可能的,只有自己潛心研究,通過(guò)深入的設(shè)計(jì)實(shí)踐才能誕生出大量真正有價(jià)值的專(zhuān)利,以此增強(qiáng)自我保護(hù)和與國(guó)際巨頭對(duì)抗的能力。申威由于CPU用途的原因,專(zhuān)利注冊(cè)較少,龍芯的主要市場(chǎng)是桌面、工業(yè)計(jì)算機(jī)和服務(wù)器,注冊(cè)專(zhuān)利的避諱更少,已經(jīng)擁有七百余項(xiàng)國(guó)內(nèi)外高質(zhì)量專(zhuān)利,以及一百余項(xiàng)軟件著作權(quán)登記。專(zhuān)利的意義在于技術(shù)創(chuàng)新,有些企業(yè)把無(wú)用的發(fā)明通過(guò)更改描述信息的方式反復(fù)注冊(cè)來(lái)提高專(zhuān)利數(shù)量,根本沒(méi)有任何實(shí)質(zhì)的意義。
國(guó)產(chǎn)CPU的設(shè)計(jì)能力與Intel/AMD這樣的頂級(jí)水平還有不小的差距,境內(nèi)的芯片生產(chǎn)技術(shù)方面落后的也不只是光刻機(jī)?!皬澋莱?chē)”本身就是悖論,在同一條道路上行駛,無(wú)論直道還是彎道,超車(chē)要么得別人開(kāi)得更慢,要么得自己技術(shù)高車(chē)也好?!凹几哕?chē)好”的條件我們目前還達(dá)不到,雖然說(shuō)起來(lái)很丟臉,但自主CPU的性能逐漸接近進(jìn)口產(chǎn)品的主要原因,確實(shí)是因?yàn)楣杌鵆PU的復(fù)雜度和集成度越來(lái)越接近物理極限,前進(jìn)的道路越來(lái)越陡峭,無(wú)法再像“摩爾定律”描述的那樣每18個(gè)月就性能翻倍了。特別是最近幾年,主流CPU的單核性能提升緩慢,發(fā)展方向更傾向于堆砌更多的核心提高整體性能。而我國(guó)自主CPU則可以學(xué)習(xí)消化現(xiàn)代CPU的設(shè)計(jì)思想,以更高的速度進(jìn)步,縮小性能方面的絕對(duì)差距。從CPU核心設(shè)計(jì)能力來(lái)看,國(guó)內(nèi)與Intel/AMD最接近的是龍芯,但是受限于生產(chǎn)工藝(包含通過(guò)反復(fù)流片修改與工產(chǎn)工藝達(dá)到較高的契合度),性能仍然難以與進(jìn)口產(chǎn)品持平。

即使別人進(jìn)步速度變慢,我們?nèi)绻v足不前,差距也仍然會(huì)越來(lái)越遠(yuǎn),何況越往后越難走,我們必須堅(jiān)持追趕才能盡量齊頭并進(jìn),只有充分地準(zhǔn)備,才能在時(shí)機(jī)成熟時(shí)完成超越的目標(biāo)。如果沒(méi)有自主設(shè)計(jì)CPU的能力,也沒(méi)有形成自己的專(zhuān)利布局,當(dāng)由于國(guó)際形勢(shì)變化或者企業(yè)自身的原因,而不能購(gòu)買(mǎi)性能更高的IP時(shí),那么就會(huì)失去更新和迭代產(chǎn)品的能力。只有像龍芯和申威這樣堅(jiān)持自主創(chuàng)新,用最頭鐵的方式在國(guó)內(nèi)外同行的堵截中仍然堅(jiān)持自主,才能保證技術(shù)及經(jīng)驗(yàn)的積累和傳承,保障國(guó)產(chǎn)CPU能夠持續(xù)發(fā)展。
基于強(qiáng)勢(shì)的國(guó)外指令集設(shè)計(jì)CPU,難以與進(jìn)口產(chǎn)品競(jìng)爭(zhēng)
CPU必須與配套的硬件和軟件結(jié)合才能體現(xiàn)出價(jià)值,x86指令集能夠在桌面平臺(tái)屹立不倒,是因?yàn)樗鼡碛凶钬S富的桌面軟件。當(dāng)用戶需要的軟件只有x86版本時(shí),選擇基于x86指令集的CPU就是必然。即使軟件有多種指令集版本,但由于優(yōu)化程度的不同,在同等性能不同指令集的CPU上也會(huì)有不同使用體驗(yàn)。ARM指令集在移動(dòng)平臺(tái)風(fēng)生水起,也是因?yàn)樗谝苿?dòng)平臺(tái)上積累了豐富的應(yīng)用軟件。扎根于CPU指令集的軟件生態(tài),使CPU指令集產(chǎn)生了“不可替代”的屬性,由于ARM與x86指令集互不兼容,它們進(jìn)軍對(duì)方的領(lǐng)域時(shí),都由于軟件匱乏而進(jìn)展緩慢。當(dāng)指令集在某個(gè)領(lǐng)域的軟件生態(tài)發(fā)展到非常完善的程度,使其它指令集進(jìn)入相同市場(chǎng)難以生存時(shí),這就是一種強(qiáng)勢(shì)的指令集。
無(wú)論是x86還是ARM,指令集的掌控者都不允許指令集出現(xiàn)互不兼容的分支版本,這樣所有基于x86和ARM設(shè)計(jì)CPU的企業(yè)才能形成合力共同推動(dòng)生態(tài)發(fā)展,各種CPU只有性能差異而沒(méi)有生態(tài)差異,才能相互代替。下游企業(yè)和用戶更換CPU和配套硬件時(shí)不會(huì)增加軟件成本,在某家CPU企業(yè)出現(xiàn)變故時(shí),也能切換到其它供應(yīng)商,不會(huì)威脅到核心硬件的供應(yīng)鏈安全。國(guó)產(chǎn)x86指令集CPU依附于現(xiàn)有生態(tài)的思路,也是基于可以直接替換的“優(yōu)點(diǎn)”,然而國(guó)產(chǎn)CPU按照這樣的路線是飲鳩止渴,是用短期的投機(jī)斷送未來(lái)的發(fā)展。
在Intel的限制條款下,x86指令集授權(quán)不能擴(kuò)散,不能轉(zhuǎn)移。美國(guó)商務(wù)部的文件上寫(xiě)的是Intel把對(duì)VIA的x86指令集和相關(guān)專(zhuān)利授權(quán)延期至2018年,也不知道兆芯怎么就洗成了可以無(wú)限期使用,只是限制為截至2018年的版本。海光購(gòu)買(mǎi)了AMD淘汰的IP,但只能基于IP做集成,而沒(méi)有修改的權(quán)力,IP的修改權(quán)屬于AMD控股的合資公司。兆芯與之類(lèi)似,只有在與VIA合資的條件下才能使用VIA獲得授權(quán)的指令集和專(zhuān)利,即使兆芯能夠不依賴(lài)Centaur而自己設(shè)計(jì)CPU,指令集的狀態(tài)也已經(jīng)被封印,這還決定于VIA的合作意愿。也就是說(shuō)國(guó)產(chǎn)x86的CPU本身并不能自主發(fā)展,即使這種合作關(guān)系永遠(yuǎn)不被打破,國(guó)產(chǎn)CPU也不可能對(duì)x86指令集發(fā)展有發(fā)言權(quán)。Intel甚至不需要把國(guó)產(chǎn)的x86 CPU當(dāng)作對(duì)手,只需要正常地升級(jí)指令集,時(shí)不時(shí)地增加幾條新指令,無(wú)論是Windows還是Linux內(nèi)核都肯定會(huì)跟進(jìn)。然而國(guó)內(nèi)CPU企業(yè)如果未經(jīng)授權(quán)就跟隨Intel升級(jí),就會(huì)失去合法性。國(guó)產(chǎn)x86 CPU的性能本就與Intel/AMD相去甚遠(yuǎn),而在若干年后由于指令集陳舊,不但性能差距會(huì)更大,兼容性的問(wèn)題也會(huì)更加凸顯,如果不能兼容Windows和Linux的最新版本,依附于x86生態(tài)來(lái)發(fā)展CPU就根本不可能。到時(shí)候使用國(guó)產(chǎn)x86 CPU的用戶何去何從?是放棄對(duì)CPU性能的追求,并堅(jiān)持軟件系統(tǒng)永不升級(jí),還是更換成Intel/AMD的CPU呢?

有人說(shuō)可以像蘋(píng)果那樣,基于x86指令集發(fā)展自主生態(tài),以此來(lái)應(yīng)對(duì)x86指令集升級(jí)的問(wèn)題。甚至像AMD那樣,在計(jì)算機(jī)從32位過(guò)渡到64位的關(guān)鍵時(shí)間點(diǎn),設(shè)計(jì)出兼容32位x86指令集的AMD64,來(lái)獲得與Intel對(duì)等的權(quán)力。但我覺(jué)得這實(shí)在是異想天開(kāi),蘋(píng)果是賣(mài)的整機(jī)產(chǎn)品,它依靠的是與眾不同的操作系統(tǒng)和大量愛(ài)好者,只要它的筆記本和臺(tái)式機(jī)能夠滿足1%的電腦用戶,就是成功的商品。而我們需要做到的是保障全行業(yè)的信息、技術(shù)、生產(chǎn)、經(jīng)營(yíng)的安全,在軟件需求方面不是一個(gè)數(shù)量級(jí),少數(shù)人的“奢侈品”和全行業(yè)的“大路貨”永遠(yuǎn)是對(duì)立的關(guān)系,即使能完全復(fù)制蘋(píng)果的成功,也完成不了保障產(chǎn)業(yè)安全的目標(biāo)。至于像AMD那樣獲得與Intel對(duì)等的地位,前置條件是有足夠的市場(chǎng)占有率,有足夠的市場(chǎng)號(hào)召力,以及微軟等大量世界級(jí)軟件企業(yè)的支持,然后還需要擁有絕對(duì)優(yōu)勢(shì)的新指令集設(shè)計(jì),新設(shè)計(jì)的指令集還必須完全兼容以前的軟件生態(tài),我覺(jué)得這比蘋(píng)果模式更加困難一些。否則的話,軟件企業(yè)的產(chǎn)品既然可以兼容所有的x86指令集CPU,那就不可能違背市場(chǎng)規(guī)律,為了支持國(guó)產(chǎn)CPU而只與國(guó)產(chǎn)CPU捆綁,故意禁止自己的產(chǎn)品在Intel/AMD的CPU上運(yùn)行。即使少數(shù)的國(guó)產(chǎn)軟件有這樣的決心,對(duì)于整個(gè)軟件生態(tài)來(lái)說(shuō)也是杯水車(chē)薪,用戶仍然會(huì)選擇Intel/AMD的產(chǎn)品。因此在國(guó)產(chǎn)CPU還不夠強(qiáng)大的時(shí)候必須要制造壁壘,使國(guó)產(chǎn)CPU與進(jìn)口CPU產(chǎn)生一定程度的生態(tài)隔離,甚至是像AMD64那樣單向的兼容,才能保障自己生存的權(quán)力。
如果說(shuō)使用x86指令集的國(guó)產(chǎn)CPU在一段時(shí)間內(nèi)依賴(lài)生態(tài)優(yōu)勢(shì),在低端桌面市場(chǎng)還能有所表現(xiàn),那么使用ARM指令集的國(guó)產(chǎn)CPU在桌面和服務(wù)器平臺(tái)上則需要面對(duì)出生入死的困境。ARM軟件生態(tài)只在移動(dòng)平臺(tái)有強(qiáng)勢(shì)地位,而在服務(wù)器和桌面以及行業(yè)應(yīng)用等等生產(chǎn)力環(huán)境中幾乎是一塊白板。國(guó)產(chǎn)ARM指令集CPU必須為ARM開(kāi)疆拓土,補(bǔ)全ARM在生產(chǎn)力環(huán)境中的生態(tài)缺失,才能使CPU產(chǎn)品得到應(yīng)用和推廣。當(dāng)國(guó)內(nèi)企業(yè)為ARM建設(shè)的軟件生態(tài)初具成效時(shí),美國(guó)一紙禁令就可以讓這些使用新工藝的CPU無(wú)法生產(chǎn)。國(guó)內(nèi)企業(yè)建設(shè)ARM生態(tài)的成果就只會(huì)被進(jìn)口的ARM產(chǎn)品竊取,國(guó)產(chǎn)CPU企業(yè)享受到的實(shí)利遠(yuǎn)遠(yuǎn)低于投入時(shí)的預(yù)期。
國(guó)內(nèi)使用ARM指令集的CPU企業(yè)當(dāng)然也可以像龍芯和申威那樣,比照國(guó)內(nèi)芯片生產(chǎn)工藝的上限完全自主設(shè)計(jì)CPU,也不需要參考ARM提供的IP,但這樣也就會(huì)在性能上失去競(jìng)爭(zhēng)力。龍芯只是在CPU的通用計(jì)算性能方面的技術(shù)積累和設(shè)計(jì)經(jīng)驗(yàn)比申威更加豐富,同時(shí)期同制程的CPU產(chǎn)品的通用計(jì)算性能就比申威高出許多,申威專(zhuān)用于超算的CPU浮點(diǎn)性能超群絕倫,但并不適用于桌面和服務(wù)器。其它企業(yè)如果使用相同的陳舊工藝并自主設(shè)計(jì),那就會(huì)桌面和超算兩不討好,即使不與進(jìn)口產(chǎn)品競(jìng)爭(zhēng),只與龍芯和申威相比,性能也難以具有競(jìng)爭(zhēng)力。更何況ARMv9已經(jīng)發(fā)布,國(guó)產(chǎn)的ARM CPU比x86 CPU更早面對(duì)了指令集升級(jí)的問(wèn)題。如果不跟隨ARM的腳步,那么必然會(huì)被主流生態(tài)淘汰,跟隨的話若干年后又要再面對(duì)一次升級(jí)。購(gòu)買(mǎi)新版指令集的價(jià)格相對(duì)于CPU的整體研發(fā)成本還可接受,關(guān)鍵是ARM在生產(chǎn)力環(huán)境中的軟件生態(tài)本就匱乏,國(guó)產(chǎn)ARM CPU企業(yè)為了豐富桌面和服務(wù)器及行業(yè)應(yīng)用中的軟件生態(tài),甚至還需要從生態(tài)本就羸弱但多年深耕行業(yè)應(yīng)用的龍芯平臺(tái)移植軟件,花費(fèi)自己的資金和人力幫助ARM指令集完善生態(tài)擴(kuò)張市場(chǎng),勞心勞力卻得不到ARM另眼相看。

受到工藝制程、設(shè)計(jì)能力、指令集版本、IP購(gòu)買(mǎi)渠道等因素制約,國(guó)產(chǎn)的x86/ARM CPU極易完全被截?cái)喟l(fā)展,喪失市場(chǎng)。這些強(qiáng)勢(shì)指令集的掌控者卻不會(huì)因此產(chǎn)生任何損失,反而可以獲得更大的利益。因?yàn)榛趚86/ARM的國(guó)產(chǎn)CPU所開(kāi)拓的市場(chǎng),本質(zhì)上成為了這些指令集生態(tài)的市場(chǎng),所以進(jìn)口CPU可以完全兼容,甚至是單向兼容,隨時(shí)可以代替國(guó)產(chǎn)的CPU產(chǎn)品。感覺(jué)用卸磨殺驢和兔死狗烹都不足以形容這種狀況,本想說(shuō)“包衣奴才”但又覺(jué)不夠尊重,或許“為虎作倀”稍能貼切幾分?
國(guó)產(chǎn)CPU可以把弱勢(shì)指令集發(fā)展成強(qiáng)勢(shì)指令集
如MIPS這樣曾經(jīng)與x86正面戰(zhàn)斗過(guò)的指令集,由于經(jīng)營(yíng)策略的問(wèn)題而導(dǎo)致生態(tài)分散,最終被x86從桌面和服務(wù)器驅(qū)離。Power/Alpha/SPARC等等指令集的桌面生態(tài)幾近于無(wú),RISC-V也僅在不依賴(lài)生態(tài)統(tǒng)一的嵌入式物聯(lián)網(wǎng)有一些應(yīng)用場(chǎng)景,申威的SW64和龍芯的LoongArch出生較晚,原生生態(tài)也顯得相對(duì)稚嫩,這些都是弱勢(shì)的指令集。
龍芯起步選擇了兼容MIPS,主要因?yàn)镸IPS有較為完善的基礎(chǔ)生態(tài),對(duì)指令集的態(tài)度也相對(duì)開(kāi)放,允許設(shè)計(jì)者自行擴(kuò)展指令集。當(dāng)時(shí)MIPS在服務(wù)器和通信設(shè)備中有大量應(yīng)用,龍芯可以從這些方面切入市場(chǎng),允許自行擴(kuò)展指令集雖然致使生態(tài)支離破碎,但從另一方面來(lái)說(shuō)在龍芯弱小的時(shí)候也可以據(jù)此保護(hù)自己。自己設(shè)計(jì)一套指令集當(dāng)然更有利于自我保護(hù),凡是自己攻下的市場(chǎng),發(fā)展的生態(tài),其它CPU的軟件就難以兼容,無(wú)法輕易替代。設(shè)計(jì)指令集沒(méi)有難度,難點(diǎn)是推廣和應(yīng)用——龍芯課題組當(dāng)時(shí)的一幫新嫩確實(shí)是這么想的,和許許多多對(duì)CPU設(shè)計(jì)一知半解的愛(ài)好者想法一樣。只是短短幾年之后,龍芯的胡偉武就對(duì)MIPS指令集的一些精妙之處擊節(jié)贊嘆,打了自己的臉。就像外行說(shuō)把四個(gè)輪子和發(fā)動(dòng)機(jī)裝在架子上就是一輛車(chē),這么說(shuō)也沒(méi)錯(cuò),找根皮帶把發(fā)動(dòng)機(jī)和車(chē)軸連上肯定能跑得起來(lái),但如果真這么簡(jiǎn)單的話,國(guó)產(chǎn)汽車(chē)發(fā)展幾十年了為何仍在中低端游蕩?作為一名國(guó)產(chǎn)CPU愛(ài)好者,我必須慶幸龍芯在有了近二十年的CPU設(shè)計(jì)經(jīng)驗(yàn),以及對(duì)指令集的深入思考和大量實(shí)驗(yàn)之后,才開(kāi)始設(shè)計(jì)全新的LoongArch指令集。申威的SW64目前僅539條指令就已經(jīng)出現(xiàn)了“可用操作碼數(shù)量日益緊張”的問(wèn)題,應(yīng)該就是因?yàn)楫?dāng)初設(shè)計(jì)時(shí)缺少經(jīng)驗(yàn),目前正在嘗試進(jìn)行改進(jìn),但卻無(wú)法解決基礎(chǔ)結(jié)構(gòu)的缺陷。而LoongArch已有了兩千余條指令還仍然預(yù)留了大量的指令槽,并且相同的源碼編譯為L(zhǎng)oongArch和MIPS進(jìn)行對(duì)比測(cè)試,僅指令集本身就能帶來(lái)百分之十以上的效率提升。

龍芯之前基于MIPS指令集自主擴(kuò)展了上千條新指令,構(gòu)成了自主的LoongISA指令集,以LoongISA為基礎(chǔ)深耕行業(yè)應(yīng)用和黨政辦公,取得了很大的成效。龍芯CPU在事實(shí)上主導(dǎo)了MIPS指令集的桌面生態(tài),特別是在行業(yè)應(yīng)用中形成了局部市場(chǎng)優(yōu)勢(shì),如果不是MIPS對(duì)中資寧死不賣(mài),說(shuō)不定龍芯仍然會(huì)繼續(xù)在MIPS上打補(bǔ)丁。MIPS確實(shí)影響了龍芯的進(jìn)一步發(fā)展,除了指令集陳舊,擴(kuò)展指令槽用光等原因之外,我認(rèn)為最重要的影響是龍芯不能把LoongISA向其它的半導(dǎo)體企業(yè)授權(quán)。龍芯面對(duì)的問(wèn)題與國(guó)產(chǎn)的x86和ARM截然相反,龍芯是缺少可以替代自己的產(chǎn)品。如果基于LoongISA指令集的CPU只有龍芯一家,那么供應(yīng)鏈可能會(huì)不安全,其它半導(dǎo)體企業(yè)也沒(méi)有動(dòng)力與龍芯共同推進(jìn)生態(tài)發(fā)展。當(dāng)年IBM為了保障CPU的供應(yīng),就要求Intel把x86指令集和CPU設(shè)計(jì)授權(quán)給了很多公司,IBM的初衷是防止因意外情況導(dǎo)致CPU斷貨,結(jié)果是所有設(shè)計(jì)和生產(chǎn)x86 CPU的公司為了多賣(mài)產(chǎn)品,而全力為x86指令集開(kāi)拓市場(chǎng),創(chuàng)造應(yīng)用,成就了Intel的輝煌。龍芯要想進(jìn)一步發(fā)展,也必須聯(lián)合眾多半導(dǎo)體企業(yè)的力量,相互競(jìng)爭(zhēng),百花齊放,共同推動(dòng)軟件和硬件生態(tài)的整體發(fā)展。
龍芯的新指令集LoongArch大概在兩年前立項(xiàng),也就是2019年。2019年3月28日MIPS開(kāi)源了全新設(shè)計(jì)的R6版,然后2019年11月14日又宣布取消開(kāi)源,滿打滿算只開(kāi)源了大半年,我懷疑MIPS是不是聽(tīng)到了什么風(fēng)聲,才這么驚慌失措。那么龍芯又為什么要堅(jiān)持自主設(shè)計(jì)指令集,而不采用當(dāng)時(shí)處于開(kāi)源狀態(tài)的MIPS R6,或者換成一直處于開(kāi)源狀態(tài)的RISC-V呢?從事后諸葛的角度分析,MIPS開(kāi)源R6版本其實(shí)不懷好意,因?yàn)镽6與以前的版本不兼容,軟件生態(tài)基本為0,所以龍芯早就表明不會(huì)跟進(jìn)。RISC-V也同樣沒(méi)有桌面生態(tài),龍芯無(wú)論采用MIPS R6還是RISC-V都等同于放棄了十多年來(lái)的生態(tài)建設(shè)成果,在LoongISA中添加的上千條指令要轉(zhuǎn)移到新指令集中也需要重新設(shè)計(jì)。既然必須重新設(shè)計(jì)指令集,那么何必還要以別人的指令集為基礎(chǔ)呢?完全自主設(shè)計(jì)才擁有最高的自主權(quán),不但可以綜合各種主流指令集的優(yōu)點(diǎn),也便于以二進(jìn)制翻譯方式兼容以往的生態(tài)建設(shè)成果,對(duì)指令集的研究成果也可以更加完美地展現(xiàn)在新指令集中。更何況開(kāi)源的MIPS R6和RISC-V本身幾乎沒(méi)有生態(tài),何必非要在這樣的開(kāi)源項(xiàng)目中去追求虛無(wú)縹緲的主導(dǎo)地位?與其為受美國(guó)影響的指令集建設(shè)軟件生態(tài),還不如一開(kāi)始就以自己為主導(dǎo),以開(kāi)放的態(tài)度吸引各方力量加入,才能避免美國(guó)霸權(quán)的干擾。使用自主的指令集也不需要擔(dān)心別人的開(kāi)源項(xiàng)目發(fā)生什么變故,像開(kāi)源又閉源這樣事情可以當(dāng)成笑話來(lái)聽(tīng)。

龍芯自主設(shè)計(jì)的LoongArch指令集最主要的特點(diǎn)是充分考慮了以二進(jìn)制翻譯方式兼容其它主流指令集的二進(jìn)制程序,在操作系統(tǒng)的配合下,完整實(shí)現(xiàn)了LoongArch指令集的CPU可以直接運(yùn)行x86/ARM的應(yīng)用軟件。也就是說(shuō)即使在最極端的情況下,假如美國(guó)禁止了所有的CPU出口,龍芯的CPU也仍然能夠保障各個(gè)行業(yè)的生產(chǎn)安全。雖然這種假設(shè)成立的可能性不高,但如果真出現(xiàn)這樣的極端情況,用國(guó)產(chǎn)x86和ARM指令集的CPU來(lái)實(shí)現(xiàn)替換就只是空談。因?yàn)樵诖酥埃绹?guó)多半已經(jīng)在“法律”的規(guī)則下收回了所有授權(quán),那么同樣在“法律”的規(guī)則下我們也不能無(wú)視知識(shí)產(chǎn)權(quán)。不怕流氓耍大刀,就怕流氓講道理,指令集以及相關(guān)的其它知識(shí)產(chǎn)權(quán)是人家的,人家要收回去怎么都有道理。就像Intel當(dāng)年挾著它推動(dòng)的《半導(dǎo)體芯片保護(hù)法》收回了給日本企業(yè)的x86授權(quán)一樣,官司都沒(méi)法打,只能眼睜睜地看著日本企業(yè)為x86優(yōu)化CPU設(shè)計(jì)和建設(shè)軟硬件生態(tài)的成果被Intel無(wú)情收割。
龍芯的LoongArch指令集正在進(jìn)行嚴(yán)苛的知識(shí)產(chǎn)權(quán)分析,國(guó)內(nèi)部分的知識(shí)產(chǎn)權(quán)調(diào)查已經(jīng)完成,沒(méi)有發(fā)現(xiàn)侵權(quán)的部分。國(guó)外部分的仍在進(jìn)行但估計(jì)也不會(huì)出現(xiàn)問(wèn)題。畢竟龍芯在指令集方面已經(jīng)進(jìn)行了十多年的研究,不但對(duì)規(guī)避各種專(zhuān)利有豐富的經(jīng)驗(yàn),自已的技術(shù)創(chuàng)新也注冊(cè)了七百余項(xiàng)專(zhuān)利,只是仍然必須完成知識(shí)產(chǎn)權(quán)分析的流程,以避免意外造成的知識(shí)產(chǎn)權(quán)風(fēng)險(xiǎn)。目前LoongArch基礎(chǔ)架構(gòu)和LoongArch32精簡(jiǎn)版本的手冊(cè)已經(jīng)公開(kāi),在龍芯的官方網(wǎng)站可以隨意下載,后續(xù)還會(huì)繼續(xù)公開(kāi)其余的部分。條件成熟時(shí)還會(huì)組建LoongArch技術(shù)聯(lián)盟,把LoongArch免費(fèi)開(kāi)放,任何企業(yè)都可以設(shè)計(jì)基于LoongArch指令集的CPU。如果企業(yè)不愿意自己設(shè)計(jì),龍芯還會(huì)免費(fèi)開(kāi)放部分CPU的IP,企業(yè)可以直接使用。這樣就可以完全避免龍芯CPU沒(méi)有可替換產(chǎn)品的問(wèn)題,也可以合力建設(shè)基于LoongArch的軟件和硬件生態(tài)。龍芯推出了LoongArch32的簡(jiǎn)化版本,只有約50條指令,簡(jiǎn)化版本與RISC-V相當(dāng),同樣具有低門(mén)檻易實(shí)現(xiàn)的特點(diǎn),主要是在高校推廣用于教學(xué)和科研實(shí)驗(yàn)。

LoongArch技術(shù)聯(lián)盟的特點(diǎn)是共商、共建、共享,充分統(tǒng)籌兼容和開(kāi)放。這與Intel當(dāng)年被迫擴(kuò)散指令集和IP授權(quán)不同,也與ARM以盈利為目的出售指令集和IP授權(quán)不同,更與RISC-V混亂紛爭(zhēng)的聯(lián)盟不同,它是站在全局的高度從整體上推進(jìn)國(guó)產(chǎn)CPU的進(jìn)步,促進(jìn)國(guó)產(chǎn)CPU生態(tài)的發(fā)展,并以“不要臉”的方式強(qiáng)行吞并x86和ARM的軟件生態(tài),而Intel/AMD/ARM又無(wú)法控制和干擾基于LoongArch的國(guó)產(chǎn)CPU進(jìn)步和生態(tài)發(fā)展。如果LoongArch在一定范圍內(nèi)成為了像x86那樣的強(qiáng)勢(shì)指令集,龍芯是否會(huì)成為新的“惡龍”呢?Intel在發(fā)展壯大后就開(kāi)始卸磨殺驢,把放出去的授權(quán)又一個(gè)一個(gè)收了回去,怎么保證龍芯不會(huì)學(xué)習(xí)這樣的行為?這種擔(dān)心是不必要的,因?yàn)長(zhǎng)oongArch技術(shù)聯(lián)盟就是龍芯為自己帶上的枷鎖。有一個(gè)很重要的設(shè)想,就是“聯(lián)盟成員之間不發(fā)生指令集訴訟”,這個(gè)表述有點(diǎn)粗糙,肯定還需要與業(yè)界企業(yè)和上級(jí)主管部門(mén)研討細(xì)則,但足以說(shuō)明龍芯放棄了收回授權(quán)的權(quán)力,也放棄了像ARM那樣通過(guò)升級(jí)指令集的方式,逼迫其它企業(yè)花錢(qián)購(gòu)買(mǎi)新版指令集授權(quán)的權(quán)力。龍芯與其它企業(yè)是共生互助的關(guān)系,指令集的改版升級(jí)都會(huì)與聯(lián)盟成員協(xié)商,并接受相關(guān)部門(mén)的監(jiān)督,既能避免MIPS和RISC-V那樣的亂局,也不會(huì)成為x86和ARM那樣的一言堂。
申威也正在籌劃開(kāi)放自主設(shè)計(jì)的SW64指令集,現(xiàn)在還在聯(lián)合相關(guān)單位共同研究開(kāi)放的方法和方式。只是申威相關(guān)的信息確實(shí)難以收集整理,我無(wú)法了解它當(dāng)前的進(jìn)展,可能還需要像龍芯這樣完成知識(shí)產(chǎn)權(quán)分析,并且協(xié)調(diào)好先進(jìn)技術(shù)研究院和申泰公司兩個(gè)實(shí)體的權(quán)責(zé)關(guān)系之后,才能開(kāi)放SW64指令集吧。申威因?yàn)橹皼](méi)有重視桌面和服務(wù)器方向的發(fā)展,軟件生態(tài)方面進(jìn)展小一些,但申威的技術(shù)能力不可忽視,它和龍芯是我唯二可以確定的國(guó)內(nèi)完全自主設(shè)計(jì)通用CPU的企業(yè)。除了通用CPU,在嵌入式CPU領(lǐng)域堅(jiān)持自主設(shè)計(jì)的君正等等也是國(guó)產(chǎn)CPU的中堅(jiān)力量。這些CPU企業(yè)都當(dāng)?shù)闷鹱詮?qiáng)不息的評(píng)價(jià),龍芯和申威開(kāi)放指令集,發(fā)展自主生態(tài),促進(jìn)整個(gè)信息技術(shù)產(chǎn)業(yè)的安全和進(jìn)步,更是貫穿了我國(guó)企業(yè)厚德載物的文化思想。

自主生態(tài)建設(shè)正在加速,基礎(chǔ)軟件逐漸完善
在我國(guó)迅速崛起的時(shí)候,我國(guó)信息技術(shù)產(chǎn)業(yè)的安全也在經(jīng)受著考驗(yàn),許多高校、科研院所、超算中心、半導(dǎo)體企業(yè)等等都在被美國(guó)制裁的行列,許多基礎(chǔ)軟件被禁止使用,嚴(yán)重影響科技發(fā)展。即使各行各業(yè)使用的非科研類(lèi)軟件,只要聯(lián)網(wǎng)也都可以被隨時(shí)停止服務(wù)。按照常規(guī)的理解,停止服務(wù)只是意味著軟件不再改進(jìn)和更新,已經(jīng)購(gòu)買(mǎi)的和本身免費(fèi)的都可以繼續(xù)使用,然而美國(guó)企業(yè)顯然不這樣認(rèn)為。比如為了推廣HTML5,而強(qiáng)行停止了Flash插件的運(yùn)行,毫不在意大量構(gòu)筑在Web上且使用了Flash的業(yè)務(wù)系統(tǒng)能不能繼續(xù)運(yùn)行,它們也肯定不會(huì)承擔(dān)這些龐大的業(yè)務(wù)系統(tǒng)修改和重構(gòu)需要的開(kāi)發(fā)成本及時(shí)間成本,對(duì)經(jīng)營(yíng)造成的損失也只能各家企業(yè)和機(jī)構(gòu)自己承擔(dān)。甚至連Windows系統(tǒng)都可以強(qiáng)制升級(jí)和停止運(yùn)行,誰(shuí)能保證某日不會(huì)因?yàn)槟硞€(gè)“事故”導(dǎo)致國(guó)內(nèi)的電腦大面積癱瘓?早些年微軟對(duì)盜版的縱容,以及我國(guó)相關(guān)部門(mén)為了計(jì)算機(jī)應(yīng)用普及也對(duì)盜版睜只眼閉只眼,使許多電腦用戶養(yǎng)成了“白嫖”的習(xí)慣,造成的后果是國(guó)內(nèi)軟件行業(yè)畸形發(fā)展。基礎(chǔ)軟件因?yàn)殚_(kāi)發(fā)成本高、難度大、用戶少,在全民盜版的環(huán)境下沒(méi)法賺錢(qián)而難以發(fā)展,而各類(lèi)與生產(chǎn)力無(wú)關(guān)的軟件卻伴隨著彈窗廣告空前繁榮。目前這些情況也到了需要糾正的時(shí)候,需要一個(gè)新的利潤(rùn)點(diǎn)引導(dǎo)軟件企業(yè)們調(diào)整開(kāi)發(fā)重心,補(bǔ)齊各行各業(yè)基礎(chǔ)軟件的短板,使信息技術(shù)產(chǎn)業(yè)更加健康地發(fā)展。
因此我國(guó)有足夠的理由和決心發(fā)展自主軟件生態(tài),推廣國(guó)產(chǎn)操作系統(tǒng)和應(yīng)用軟件,并以國(guó)產(chǎn)CPU等國(guó)產(chǎn)硬件來(lái)承載自主生態(tài),為所有與國(guó)計(jì)民生相關(guān)的行業(yè),保障信息、技術(shù)、生產(chǎn)、經(jīng)營(yíng)的安全。建設(shè)自主軟件生態(tài)的第一階段是用開(kāi)源軟件和國(guó)產(chǎn)軟件滿足各行業(yè)的基本需求,同時(shí)完成部分國(guó)產(chǎn)外部設(shè)備的驅(qū)動(dòng)程序向國(guó)產(chǎn)操作系統(tǒng)和CPU移植。隨著生態(tài)完善和用戶群體的擴(kuò)大必然進(jìn)入第二個(gè)階段,從行政導(dǎo)向過(guò)渡到市場(chǎng)導(dǎo)向,繼續(xù)以國(guó)產(chǎn)軟硬件為主導(dǎo),吸引全世界的軟件開(kāi)發(fā)商主動(dòng)進(jìn)行軟件適配和遷移,完善自主生態(tài)建設(shè),形成良性循環(huán)。成長(zhǎng)為與當(dāng)前主流生態(tài)共存的另一個(gè)主流生態(tài),國(guó)產(chǎn)的硬件和軟件才能有與國(guó)外同類(lèi)正面競(jìng)爭(zhēng)的資本。
目前各種國(guó)產(chǎn)操作系統(tǒng)都是基于Linux進(jìn)行二次開(kāi)發(fā),和Android基于Linux、iOS基于BSD沒(méi)有什么不同。開(kāi)源軟件與開(kāi)源指令集不同,指令集需要由CPU來(lái)承載,指令集一旦變化就必須重新設(shè)計(jì)CPU,產(chǎn)品用戶也需要更換硬件,成本難以承受。指令集開(kāi)源但相關(guān)的專(zhuān)利可能需單獨(dú)授權(quán),又從另一方面制造了知識(shí)產(chǎn)權(quán)綁架。而開(kāi)源軟件本身就可以直接使用,更新也只限于軟件,相比硬件更新成本可以忽略,且只要遵守開(kāi)源協(xié)議就不會(huì)有知識(shí)產(chǎn)權(quán)風(fēng)險(xiǎn)。龍芯和申威使用的編譯器也是基于開(kāi)源項(xiàng)目修改,使開(kāi)源編譯器支持自主的指令集。除了GCC、LLVM、Golang等編譯器的支持,為了完善各類(lèi)應(yīng)用的基礎(chǔ)運(yùn)行環(huán)境,龍芯還自主開(kāi)發(fā)了基于LoongISA的Java虛擬機(jī),并移植到了最新的LoongArch指令集上繼續(xù)優(yōu)化兼容性和性能。還移植和完善了Qt、VScode、Electron、NodeJS、Eclipse等開(kāi)發(fā)工具,以及.net core、JavaScript解釋器、瀏覽器、虛幻4等運(yùn)行環(huán)境。如ffmpeg、x264、openH264、mplayer、zlib、GIMP等等開(kāi)源庫(kù)和軟件的移植和優(yōu)化更是不勝枚舉,目前向LoongArch完成移植的軟件包已經(jīng)超過(guò)20000個(gè),基礎(chǔ)的開(kāi)源生態(tài)環(huán)境已經(jīng)形成。
龍芯的LoongArch已經(jīng)向GNU組織申請(qǐng)到ELF Machine編號(hào)(258號(hào)),有了自己的“戶口”,不再像以前的LoongISA那樣使用MIPS的ELF Machine編號(hào)。這樣今后的Linux內(nèi)核就有了正式的LoongArch分支,各種開(kāi)源軟件的上游也可以接受針對(duì)LoongArch的補(bǔ)丁和優(yōu)化代碼。而在以前,開(kāi)源項(xiàng)目的MIPS分支往往不接受使用了龍芯擴(kuò)展指令的代碼,GCC等編譯器也沒(méi)有正式的龍芯分支,致使各種龍芯軟件的性能優(yōu)化難以達(dá)到最佳。龍芯LoongArch的ACPI中斷模型也寫(xiě)入了ACPI國(guó)際標(biāo)準(zhǔn),成為繼x86、ARM64之后第三種ACPI規(guī)范支持的CPU架構(gòu)。ACPI是高級(jí)配置與電源接口(Advanced Configuration and Power Interface),普通用戶接觸最多的是電腦休眠喚醒這樣的操作,實(shí)際上它包含了計(jì)算機(jī)電源管理的各個(gè)方面,例如低負(fù)載時(shí)降低CPU頻率、單獨(dú)調(diào)整某些功能部件的供電、筆記本電池管理等等。ACPI規(guī)范將從6.5版開(kāi)始支持龍芯中斷模型,今后支持ACPI規(guī)范的UEFI固件、Linux內(nèi)核、各種硬件都可以與龍芯CPU更加完美地配合,這也是自主生態(tài)建設(shè)的重大成果。
開(kāi)源軟件只能提供最基礎(chǔ)的軟件生態(tài)環(huán)境,各行各業(yè)的專(zhuān)用軟件就需要國(guó)產(chǎn)軟件開(kāi)發(fā)商填補(bǔ)空缺。這是一個(gè)極大的市場(chǎng),為軟件行業(yè)注入了新的活力,不用再只盯著短視頻應(yīng)用和游戲,所有公司都去競(jìng)爭(zhēng)相同利潤(rùn)點(diǎn)對(duì)整個(gè)行業(yè)是不健康的。常用的軟件如WPS、中望CAD、永中Office、福昕ODF、360全系列、各種電子簽章軟件、QQ微信等已經(jīng)完成了向國(guó)產(chǎn)操作系統(tǒng)和國(guó)產(chǎn)CPU的移植,國(guó)產(chǎn)的數(shù)據(jù)庫(kù)、中間件等等行業(yè)應(yīng)用中的基礎(chǔ)軟件,以及大量的打印機(jī)、掃描儀、制卡機(jī)、高拍儀等外部設(shè)備也完成了與國(guó)產(chǎn)操作系統(tǒng)和國(guó)產(chǎn)CPU的適配。許多軟件都支持龍芯和申威的CPU,也有x86和ARM的版本。僅在UOS的官網(wǎng)上查詢登記完成的適配列表,光是與龍芯CPU完成適配的應(yīng)用軟件和硬件驅(qū)動(dòng),就達(dá)到了6500個(gè)。龍芯還利用二進(jìn)制翻譯技術(shù),實(shí)現(xiàn)了在龍芯的系統(tǒng)上正常使用只有Windows驅(qū)動(dòng)程序的打印機(jī)。這些都還只是初步的生態(tài)建設(shè)成果,隨著用戶規(guī)模的快速擴(kuò)大,進(jìn)行移植適配以及在國(guó)產(chǎn)平臺(tái)上從頭開(kāi)發(fā)的應(yīng)用軟件必然會(huì)更多。

由于歐美國(guó)家的先發(fā)優(yōu)勢(shì),如Matlab、Mathematica、3DMAX、MAYA、PhotoShop、AfterEffects、AutoCAD、SolidWorks……這些復(fù)雜而又專(zhuān)業(yè)的軟件早已占領(lǐng)了市場(chǎng),在x86和Windows的生態(tài)中,國(guó)產(chǎn)的同類(lèi)軟件市場(chǎng)份額不足,利潤(rùn)對(duì)開(kāi)發(fā)的回饋不足,發(fā)展非常緩慢。但在國(guó)產(chǎn)平臺(tái)上卻有機(jī)會(huì)形成新的競(jìng)爭(zhēng)格局,我相信軟件行業(yè)的從業(yè)者都能夠看到這一點(diǎn),只要科研單位及高校與軟件企業(yè)合作,開(kāi)發(fā)出功能與這些軟件近似的產(chǎn)品并不困難。非常期待國(guó)內(nèi)的軟件企業(yè)不要再沉迷于制造網(wǎng)紅臉,用這些圖像處理的技術(shù),開(kāi)發(fā)類(lèi)似PhotoShop這樣的生產(chǎn)力工具才是更有意義的事情。娛樂(lè)性質(zhì)的軟件只能保持幾個(gè)月的新鮮,對(duì)生產(chǎn)力工具相同的投入?yún)s能帶來(lái)數(shù)十年的利潤(rùn)。比如國(guó)產(chǎn)EDA軟件現(xiàn)在就被推上了風(fēng)口浪尖,之前的低迷時(shí)的堅(jiān)持得到了回報(bào),近兩年市場(chǎng)的變化使華大九天等EDA軟件開(kāi)發(fā)企業(yè)迅猛發(fā)展。Matlab也被美國(guó)用于展示霸權(quán),越是基礎(chǔ)的重要工具越能被用于打壓我國(guó)科技進(jìn)步,隨著國(guó)家對(duì)此越來(lái)越重視,國(guó)內(nèi)軟件行業(yè)一定能向著更加健康的方向蓬勃發(fā)展。在自主生態(tài)成長(zhǎng)過(guò)程中,所有的參與企業(yè)都能機(jī)會(huì)發(fā)掘潛力,展現(xiàn)價(jià)值,在某個(gè)行業(yè)、某個(gè)領(lǐng)域與進(jìn)口同類(lèi)產(chǎn)品對(duì)抗,成為新的領(lǐng)頭羊。
結(jié)語(yǔ)
發(fā)展必然產(chǎn)生競(jìng)爭(zhēng),當(dāng)不存在共同利益時(shí)不可能雙贏。國(guó)產(chǎn)CPU與進(jìn)口同類(lèi)產(chǎn)品爭(zhēng)奪的是同一個(gè)市場(chǎng),國(guó)產(chǎn)CPU要么臣服,要么抗?fàn)帲瑳](méi)有第三條共存的途徑。我國(guó)有無(wú)比豐富的歷史故事,人們對(duì)《三十六計(jì)》和《孫子兵法》耳熟能詳,各家企業(yè)高管不可能看不透國(guó)外企業(yè)針對(duì)我國(guó)自主技術(shù)發(fā)展的伎倆,為了小集體的短期利益而引狼入室,只會(huì)淪為外來(lái)勢(shì)力的爪牙和附庸,葬送自家企業(yè)自主發(fā)展的能力,斷絕未來(lái)爭(zhēng)雄世界的希望。發(fā)展自主技術(shù)不是閉門(mén)造車(chē),而是追求自己為主的開(kāi)放,任何個(gè)人和組織都可以加入我國(guó)的自主軟硬件生態(tài)建設(shè),就像加入x86/ARM的軟硬件生態(tài)建設(shè)一樣。沒(méi)有任何人說(shuō)堅(jiān)持自主設(shè)計(jì)CPU的Intel/AMD是閉門(mén)造車(chē),卻總有那么一些人對(duì)內(nèi)和對(duì)外的態(tài)度截然兩樣。國(guó)產(chǎn)CPU只有自強(qiáng)不息,積累技術(shù)培養(yǎng)人才,廣泛傳播技術(shù)成果,提升國(guó)內(nèi)整體的半導(dǎo)體設(shè)計(jì)水平,再與軟件生態(tài)建設(shè)相輔相成,才能使信息技術(shù)產(chǎn)業(yè)擺脫國(guó)外產(chǎn)品的挾制,幫助國(guó)家崛起、富強(qiáng)。
天行健,君子以自強(qiáng)不息;地勢(shì)坤,君子以厚德載物。我們的文化傳承一向主張堅(jiān)韌不屈、自立自強(qiáng)。只有堅(jiān)持自我,才能包容萬(wàn)物,龍芯和申威堅(jiān)持自主設(shè)計(jì)CPU,使用自主指令集,自主生態(tài)建設(shè)就可以來(lái)者不拒。LoongArch指令集與操作系統(tǒng)相互配合,還能對(duì)x86和ARM軟件生態(tài)兼容并蓄,深刻領(lǐng)會(huì)了厚德載物的深層含義。