首頁 > 文章 > 經濟 > 產業研究

龍芯LoongArch架構的生存和對抗

鐵流 · 2022-08-07 · 來源:新鐵流
收藏( 評論() 字體: / /

  通用CPU要想在主流市場上有生存和對抗的能力,有兩個必須跨越的門檻,一是產品性能,二是軟件生態。在桌面計算機和服務器領域,x86架構(指令集)已經稱霸了幾十年,使人們產生了一種錯覺:CPU的競爭只是Intel和AMD的CPU產品的性能競爭。直到近些年,隨著智能手機的蓬勃發展,大家才發覺原來還有一種架構(指令集)叫ARM。因為軟件生態相互獨立,x86進軍移動領域鎩羽而歸,ARM想在桌面和服務器市場上有所建樹也困難重重。

  完全由國內科研人員自主設計的龍芯CPU,如今最新型號3A5000的性能已邁進了主流的門檻,但是它使用的架構(指令集)既不是x86也不是arm,而是自主設計的LoongArch,軟件生態又怎樣滿足各行各業形式多樣的需求呢?龍芯以前基于MIPS架構(指令集)擴展了LoongISA,以此為基礎發展自主生態,在與國計民生相關的行業中有廣泛的應用,今年4月15日又發布了完全自主設計的LoongArch架構,龍芯要讓LoongArch生存壯大、并有與其它架構對抗的能力,軟件生態的門檻也必須跨越過去。

圖片

  通用計算機發展以來,基于不同的設計思想,誕生過許多各有特色的CPU架構。“架構”在大多數時候與“指令集”是同義詞,它專指CPU指令系統的行為規范,也約定了軟件調用CPU物理電路功能時使用的控制信號。而CPU核心的電路設計稱為“微架構”或“微結構”,只是這些詞語被許多企業和媒體有意無意地混淆了。龍芯曾與MIPS有很深的糾葛,從起步開始,就一直在基于MIPS架構設計自己的CPU,以前使用的LoongISA架構也是以MIPS為基礎擴展而來?,F在由于各種原因,MIPS架構成為龍芯進一步發展的制約因素,因此龍芯決然把全線產品轉向自主的LoongArch架構??吹烬埿緸楸U螸oongArch架構成功而實施的種種舉措,我覺得龍芯可能細致研究過MIPS的興衰歷程,以史為鑒,興利除弊。對于MIPS的歷史,我認為可以用十六個字來簡述:“始于微末,成于天時,衰于割裂,亡于自囚”。

一、教訓:MIPS架構的興衰史

  上世紀七八十年代,一些學者認為往CPU中不斷添加各種指令是在錯誤的方向上越陷越深,每一條新指令都需要大量的晶體管去實現功能,許多指令的功能有重合的部分,也使編譯器和程序員在選擇指令時無所適從。他們提出了一種新的思路,最主要的特征是:

  把各種指令功能盡可能的拆解為最小單元,把相同的單元合并為一條指令,所有的復雜功能都可以使用這些簡單指令組合實現;

  固定指令長度,統一指令編碼格式,只有加載、存儲指令可以讀寫內存;

  進一步分解指令執行的每一個步驟,便于實現指令流水線設計,盡量使每一條指令都只消耗一個時鐘周期,而傳統指令系統無法實現流水線。

  基于這些思路設計的指令系統都被稱為“精簡指令集(RISC)”,傳統的指令系統就自然地得到了“復雜指令集(CISC)”名稱。RISC的每一項重要特點都與傳統的指令系統背道而馳,以至于沒有哪家公司愿意進行實踐,而一些學術項目也沒能成功展現RISC的優點。直到斯坦福大學的幾名老師帶著研究生們成立了MIPS項目組,完成了基于RISC設計思想的MIPS指令集設計,并完成了用于驗證的CPU設計和流片,然后在1983年的ISSCC大會上引起了業界嘩然。這款CPU的主頻只有同期主流商業CPU的一半,晶體管數量也只有幾分之一,但卻把來自工業界的對手完全擊敗,展現了RISC設計思想的非凡優勢。

  在當時集成電路中晶體管的單位成本還很高,MIPS架構指令少,就意味著設計成本和生產成本都能減少,但又能實現比傳統架構更高的性能,因此迅速獲得了學術界和工業界的廣泛關注,也成為了被寫進教科書的經典設計。1984年MIPS公司成立,但只是一家很小的創業公司,它無力自己生產芯片,只能通過把設計授權給其它半導體企業來獲利。那時候把CPU核心設計成獨立IP(作為功能模塊存在的芯片核心設計)的技術還不成熟,出售的要么是難以修改的完整CPU設計,要么是非常寬松的架構授權。MIPS允許其它公司基于MIPS架構自行設計CPU,并允許以ASE(應用特定指令集擴展)和UDI(用戶定義接口)這兩種方式擴展指令集。由于MIPS表現出的性能和成本優勢,DEC和SGI等公司均大量地使用基于MIPS架構的CPU產品,MIPS在市場競爭中呈良好的上升勢頭。

  隨著MIPS授權企業的增加,在發展的過程中,幾乎每個獲得架構授權的公司都會在CPU中加入自己的獨特設計以提高在某些應用中的性能,配套的板卡更是五花八門,操作系統和應用軟件的兼容性受到了挑戰。而Intel與微軟的聯盟則依靠良好的向前兼容性特性迅速積累了大量的應用軟件,整體上看MIPS的CPU市場占有率仍在上升,但MIPS的業務軟件卻進入了衰退期。

  在1991年大約20個公司成立了ACE聯盟,希望定義統一的規范和標準,使操作系統和應用軟件能夠運行在它們的任何一款計算機上??墒荕IPS公司自身的實力不足以主導規范定義,每家企業都希望采用自己的標準,在大家的爭吵中規范定義的工作進展緩慢。沒有主導者的聯盟,除了吵架似乎沒有什么其它事可以干,直到MIPS徹底倒閉,這個聯盟也沒有完成規范的制定。目前受到關注的RISC-V我覺得與MIPS有許多相似之處,擁有授權的各家企業都在UDI中擴展自己的指令,但誰都不愿意讓步致使大家都不能并入主線,RISC-V的設計者曾經也設計了MIPS,大概是對MIPS執念太深,仍然保留了這個深坑。

  那時老牌的半導體企業們基于RISC思想設計的CPU和架構,也紛紛投入了使用,ARM也開始嶄露頭角,給MIPS公司來了巨大的壓力。在DEC決定拋棄MIPS架構,未來轉用自己的Alpha處理器之后,MIPS公司的處境更是雪上加霜。之后SGI成為了MIPS的最大客戶,為了拯救MIPS而在1992年完成了對MIPS公司的收購,成為它的CPU設計小組,這是MIPS公司第一次易手,之后MIPS就進入了顛沛流離的模式。

  九十年代中期,Intel在P6的設計中采用了RISC的思路,CPU后端使用類RISC流水線的設計,在CISC指令集解碼的階段轉換為RISC類的指令,并引入了亂序多發射技術,多管齊下使CPU性能與MIPS當時的旗艦R10000相比不再有明顯的劣勢。隨著先進的微結構和物理設計、工藝實現帶來的改進,指令集的劣勢被逐漸掩蓋,加上Intel在軟件生態方面的優勢,市場占有率逐年上漲。SGI在與Intel的競爭中業務下降,因營收減少而削減了MIPS新CPU的研發資金。1998年SGI面臨現金流問題,于是決定裁掉CPU設計小組,將它恢復為獨立的MIPS Technologies公司。壯士斷腕的同時,SGI又作了一個更加錯誤的決定,就是宣布今后使用Intel的IA-64體系結構。

圖片

  從MIPS被SGI拋棄以后,除了龍芯CPU之外,再也沒有其它的高性能MIPS桌面/服務器CPU問世。

  2013年MIPS又被Imagination并購成為其子公司,當時僅花了6000萬美元。同年,MIPS公司發布了MIPS R5版,次年又發布了與以往版本不兼容的MIPS R6版。

  2017年時一家中國公司Canyon Bridge收購了Imagination,但是美國政府反對MIPS被出售,因此MIPS被剝離后單獨出售給了Tallwood,以6500萬美元成交。這一次中資企業對MIPS收購失敗,也令龍芯更加警惕。MIPS當時最有價值的是MIPS系列架構的所有權,至于MIPS手中的那些IP(芯片核心設計),性能已經落后于龍芯的自主設計,但只要這個線頭可以牽制中國自主技術的發展,美國就會把它牢牢攥在手里。

  2018年MIPS又被Wave Computing收購,成為其獨立經營的子公司。

  2019年3月底,為了扭轉MIPS乏人問津的局面,MIPS開源了R6版,除了指令集,還有免費的IP和相關工具。可當時已經領導了MIPS桌面生態的龍芯卻公開宣布不會跟進MIPS R6,給了MIPS最后一擊,然后MIPS R6的開源計劃僅持續了半年多點就草草取消。從時間推斷,龍芯當時可能正在預備或已經開始LoongArch的設計,無論今后是繼續發展LoongISA還是切換到LoongArch,削弱MIPS的影響力肯定符合龍芯自身的利益。

  2020年Wave Computing破產,然后重組后更名為MIPS,但以后將使用RISC-V架構,MIPS架構被它的所有權人徹底拋棄。

  其實,從SGI削減MIPS的研發投入開始,到后來被數次轉賣,MIPS都一直缺少足夠的研發投入,沒有設計新的優秀CPU,也就沒有機會誕生有價值的新專利,隨著舊專利的過期,還剩下的也就一個MIPS系列架構的所有權,以及不多的仍在使用MIPS架構的客戶而已。如果不是美國政府對MIPS的囚禁,MIPS架構本來應該有機會在中國獲得新生。

二、抉擇:龍芯也拋棄了MIPS架構

  龍芯CPU早已經是全世界性能最高的兼容MIPS指令集的通用CPU,當然這也有MIPS公司本身發展停滯的原因。仍在基于MIPS架構設計產品的客戶已經罕有,而龍芯注冊的CPU技術相關專利數量穩定增長,已經形成可以自我保護的知識產權圍欄。龍芯基于MIPS擴展而來的LoongISA架構也有了大量的應用場景。龍芯軟件生態也在逐漸完善,近10年來龍芯CPU在各種行業中的應用軟件,絕大部分來自國內軟件企業,以及龍芯自己移植和開發的基礎環境,并不屬于MIPS生態,龍芯同樣是MIPS生態的割裂者之一。雖然發展良好,但在2019年的時候,龍芯仍然立項開始設計完全自主的新指令集,實現從指令系統到CPU設計都完全自主,也就是現在大家知道的LoongArch架構。龍芯設計LoongArch的原因,我推測主要有以下幾點:

  MIPS R3/R5指令集已經跟不上時代的步伐,其最新的MIPS R6也是重新設計,不能兼容以往的應用程序。如果龍芯跟進MIPS R6,那么以往通過指令實驗得到的成果可能就沒有用武之地,龍芯注冊的大量與指令和微架構相關的專利也可能難以用于MIPS R6指令集。既然自己有能力量身打造一套更加優秀的新指令集,那么就沒有必要再去使用別人的設計,畢竟自己無法完全掌握MIPS的發展,完全自主的架構對于發展自主軟件生態更有意義。

  徹底解除MIPS在市場推廣方面對龍芯的干擾。無論MIPS多么弱小,只要龍芯使用了它的指令集,總是或多或少地會受到牽制。由于沒有MIPS架構的所有權,龍芯就不能把自己擴展的LoongISA架構授權給其它企業,甚至公開指令集手冊也會涉嫌侵犯著作權,自主的LoongISA架構無法得到有效的推廣,嚴重影響了龍芯的市場擴張。只有指令集也完全自主,才有開放和自由的權力,否則只要發展到了一定程度,如果別人無法嵌制,就可能通過種種手段惡心你。

  中美關系有惡化趨勢,美國對中國科技領域的打擊逐漸加強。使用自主指令集,就消除了易受打擊的隱患,因為美國的制裁只能針對使用美國技術的企業,或者通過其盟友施加影響,并沒有任何理由限制完全自主的架構。即使遭受制裁,也不可能使龍芯陷入休克狀態。龍芯CPU的架構和微架構均為自主設計,也可以增強合作企業的信心,對龍芯的發展有利無害。

  加速自身和行業發展壯大,自主設計的LoongArch架構和相關IP可以向其它半導體企業廣泛授權,共建自主生態。可以向高校廣泛授權,培養設計人才。通過模塊化的指令集設計,比MIPS更加適合嵌入式CPU使用,增強市場競爭能力。培養后備人才和加強嵌入式方向的推廣合作,能夠提高國內半導體行業的整體實力。IP免費授權可以使合作伙伴的研發成本顯著降低,增強合作伙伴的產品競爭力,大家抱團也可以整體加強生存和對抗的能力。

三、新生:LoongArch的后發優勢

  隨著生產工藝進步,CPU中晶體管的單位成本降到極低,英特爾向x86架構中加入了大量的向量、加解密等專用指令,使應用性能數倍提高,證明了CISC并不像RISC的極端支持者所說的那樣一無是處。而MIPS架構在發展過程中,也增加了各種功能的新指令,不再如誕生時那樣精簡,借鑒了CISC的思路。特別是2013年MIPS R5版中加入了SIMD指令,意味著CISC與RISC之爭落下帷幕,兩者殊途同歸,熔為一爐。

  當前的主流指令集,無論ARM還是x86又或者MIPS,無一例外都是從幾十條指令起步,逐漸擴充到了上千條指令的規模。因為計算機硬件和軟件技術在迅速發展,計算機的應用范圍也也快速擴大,CPU的指令集也就必須與時俱進。比如80年代電腦內存的常用單位是K,20年前的常用單位是M(1024K),10年前常用單位就變成了G(1024M)。在設計指令時無法預見到未來的變化,當時設計的部分指令就無法適應新的情況,就需要設計新的指令加入到指令集中。當人們開始使用計算機處理圖像和聲音信息時,就出現了“多媒體擴展指令”用于加速多媒體數據的處理,數據加密的應用流行后,指令集中又出現了加解密的專用指令。但林林總總的新指令被創造出來后,功能相似的舊指令也不能刪除,因為需要保持軟件兼容性。于是各種成熟指令集的歷史包袱越來越沉重,為了能夠擺脫歷史包袱,Intel設計了不兼容x86的IA-64,MIPS設計了不兼容以前版本的MIPS R6,但都以失敗告終。

  龍芯的LoongArch架構也遵循了RISC的基本設計思想,對CISC也沒有成見,吸收了各種流行指令集設計思路的精華,與龍芯20年來對指令集的理解相結合,完全基于最前沿的CPU和操作系統技術及理論,重新規劃了所有指令的功能構成,使LoongArch成為了當前最先進的指令集之一。龍芯總結了各種應用領域對CPU功能的需求,LoongArch架構的指令功能設計面面俱到,基礎指令和各種擴展指令總計約2000條,整個指令集設計成熟度極高。因為是全新的設計,又一開始就設計得非常完善,所以未來很多年都不用擔心出現歷史包袱的問題,將會長時間地保持穩定狀態。

  龍芯在多年的CPU設計實踐中積累了大量的專利技術,專利數量在國內集成電路企業中名列前茅。并且,龍芯中科在指令系統和微結構設計方面的專利均屬于保護龍芯核心技術且具備較高技術價值、市場價值和法律價值的專利。針對基于LoongArch打造的龍芯3A5000處理器,所布局的專利申請已達到幾百項,已申請專利技術內容涉及指令系統、微結構設計、測試、驗證等多個方面。在LoongArch指令系統的知識產權保護方面,除了針對指令系統相關技術進行專利布局外,龍芯中科還委托國內知名知識產權評估機構,將LoongArch與ALPHA、ARM、MIPS、POWER、RISC-V、X86等國際上主要指令系統有關資料和幾萬件專利進行深入對比分析,最終確認LoongArch基礎架構對上述國際主要指令系統中國專利沒有侵權風險。對LoongArch擴展指令以及國外的知識產權的評估還在進行中,應該也快要完成了。

圖片

  有些人認為CPU的指令集并不是指令越多越好,這種觀點不能說是錯誤的,但卻是不全面的。在不同的應用場景中,對指令集有不同的需求,對于桌面電腦和服務器來說,由于可能使用的軟件類型復雜多樣,需要CPU在各種應用中都有合理的性能表現,那么就必須存在大量的指令去滿足各種需求。而在用途單一甚至不追求性能的場景中,可能成本和功耗才更加重要,這種時候CPU的指令越少,設計成本和生產成本也就也低。因此不同的領域對指令集有不同的要求,是不能一概而論的。

  為了滿足各種應用環境的需要,LoongArch借鑒了RISC-V的模塊化的設計方案,這種設計的優點是可以針對CPU的用途,對指令集進行剪裁。例如電子門鎖、儀表等等嵌入式設備中,可以使用LoongArch精簡版中最基礎的50條指令就能構成完整的指令系統。指令數量少,CPU微結構中使用的晶體管就少,設計難度、研發成本、生產成本、產品功耗等都可以壓制到極低的水平。與RISC-V不同的是,LoongArch的精簡版是對完整指令集的剪裁,而RISC-V還需要繼續添加各種擴展指令,才能成為成熟的指令集,目前的RISC-V還不能應用到復雜多變的桌面和服務器環境中。

圖片

  IA-64和MIPS R6失敗的主要原因是生態真空,MIPS是無力推動新的生態建設,而Intel則是因為無法承受破釜沉舟的代價,在x86如火如荼的時候,不可能全面轉向到IA-64。LoongArch沒有Intel的負擔,也不像MIPS晚期那樣孤立無助,全面轉向LoongArch沒有太大壓力。何況龍芯還在LoongArch中設計了“二進制翻譯指令擴展”,與操作系統結合可以完美地兼容運行以往的MIPS/LoongISA應用程序,完全避免了生態真空的窘境。

  更重要的一點是,龍芯的軟件生態,除了操作系統等基礎環境之外,各種常用軟件實際上都來自于國內軟件廠商。目前所知的情況是,很多軟件正在進行或已經完成了向LoongArch架構的遷移,即使沒有二進制翻譯,當前的基于LoongArch的龍芯生態也和以前相差無幾。最差的情況下,也可以把LoongArch的第一款桌面產品3A5000視為對3A4000的常規升級,轉向新的指令集并沒有影響到原本的軟件生態規模,至少LoongArch架構和龍芯的生存不會出現任何問題。

四、基礎:避免生態割裂的措施

  MIPS衰亡的主因,就是生態割裂。不同的CPU、不同的主板,操作系統和軟件都可能不能通用,可能必須為每一款電腦單獨做適配,每一家公司都在做自己的生態積累,無法形成合力。ARM也同樣向其它公司授權架構和IP,但卻沒有出現應用軟件兼容性的問題,是因為不允許其它公司修改和擴展它的指令集。只不過ARM也和MIPS一樣沒有定義統一的硬件規范,導致操作系統仍然必須針對不同的硬件進行適配,否則就不能正常使用。

  龍芯如果只是自己使用LoongArch指令集,那么肯定不會造成割裂,但能滿足各種應用需求的龐大的軟件生態需要群策群力,對于嵌入式CPU市場上與ARM和RISC-V的全面對抗,也超越了龍芯的能力。因此龍芯將聯合產業鏈伙伴建立開放指令系統聯盟,在聯盟成員內免費共享LoongArch架構,并免費提供高性能的IP核。在開放的情況下,要如何避免生態割裂呢?龍芯總結了歷史上的經驗教訓,計劃并已經完成了多種舉措:

  保持指令集的統一。從龍芯LoongArch的相關資料上來看,龍芯沒有設計類似MIPS的UDI那樣的用戶擴展部分。而是采用與ARM相似的方式,如果聯盟的成員建議增加某些指令功能,那么就由大家協商是否加入下一版的指令集中。RISC-V的聯盟早先與MIPS的ACE聯盟相似,成員都希望自己的規范成為標準,而在Intel收購了SiFive之后,很可能出現一家獨大的局面,其它成員喪失發言權。LoongArch聯盟為了避免類似的情形,整個聯盟的運作會接受有關部門的監管,保障聯盟的決議和行動符合規范且有序進行。

  制定硬件規范的標準。龍芯制定了自己的UEFI固件規范,凡是遵守規范設計的主板,就不會存在操作系統無法安裝或啟動的問題。龍芯LoongArch架構的中斷模型已經得到ACPI支持,成為國際標準之一。ACPI支持的另外兩種架構是x86和ARM64,LoongArch是第三種,而MIPS由于一直沒有形成統一的規范,RISC-V也還不夠成熟,ACPI的標準暫時與它們無關。今后凡是符合ACPI規范的硬件,在龍芯電腦上與電源管理相關的功能就可以正常使用,不需要操作系統單獨添加支持。休眠喚醒、電池節能等都能有統一的控制方式,不必每種操作系統、每款主板都單獨適配。

  使用統一的Linux核心。龍芯已經為LoongArch架構向GNU組織注冊了ELF machine,值為258,這意味著Linux主線和各種開源軟件的上游都可以接受針對LoongArch的優化代碼。而在以前,LoongISA因為缺少這個獨立身份標識,如果提交的補丁與MIPS不兼容是會被拒絕的,只有龍芯和龍夢提供的Linux核心才有對LoongISA架構的優化,各種基礎庫以及編譯器則只有龍芯官方提供的才有足夠的優化。如果用戶使用沒有相關優化的軟件,CPU的性能就無法發揮,無論軟件使用體驗還是性能測試成績都和真實水平相差極大。今后不會再出現這種情況了,從上游開始就提供了對LoongArch的優化,龍芯不但可以自己維護基于LoongArch的Linux核心和基礎環境,社區開發者也同樣可以提交針對LoongArch的各種補丁程序,修改bug、優化性能。

  不同用途的CPU使用不同的指令集版本。LoongArch是模塊化設計,并分為三個版本,分別是LoongArch64、LoongArch32、LoongArcn32精簡版。在追求超低功耗和成本的應用中,可以使用僅50條指令的精簡版;對性能有一定要求的設備可以使用32位或64版,且可以只保留基礎指令集,不需要實現向量、虛擬化、二進制翻譯等擴展指令;桌面和服務器則使用完整的LoongArch64版本??雌饋磉@樣的設計與指令集統一背道而馳,實際上則不是這樣,因為LoongArch64完全兼容LoongArch32及精簡版的應用程序,LoongArch32也能完全兼容32位的精簡版。也就是說桌面和服務器可以兼容其它設備的應用程序,而智能冰箱本身也不會有看電影跑虛擬機的需求,分層次的設計解決了成本和性能的沖突,又不會造成生態碎片化,是很聰明的折衷方案。

五、成長:完善生態和產品,加速向主流市場邁進

  龍芯使用的Linux核心和各種基礎庫一直是由龍芯自己維護,包括Java虛擬機、.net core、瀏覽器/JavaScript等支撐應用運行的基礎環境,全都是由龍芯自己開發或移植。龍芯最初選擇MIPS是因為它有基礎的軟件生態,但是沒落的MIPS無力跟進軟件技術的發展,迫使龍芯進化出了底層核心軟件的開發和維護能力。因為掌握了能力,龍芯再把這些原本在LoongISA上進行的工作遷移到LoongArch也輕而易舉,已經有上萬個開源軟件包完成了遷移。被龍芯稱為“3+3”的三大編譯器(GCC、LLVM、Golang)和三大虛擬機(Java、JS、.net)也完成了移植,正在持續進行性能優化。

  龍芯最初低估了國內軟件廠商的熱情,擔心新推出的基于LoongArch的3A5000沒有軟件可用,就著力于提升翻譯LoongISA軟件的效率,如今看來似乎成了屠龍之技。因為基礎環境和開源軟件都完成了移植,成為了LoongArch的原生版本。而在行業應用方面,因為行業軟件一般都是由國內的軟件廠商開發,向LoongArch的移植工作也在有條不紊地進行,LoongArch的原生生態已經不輸于原本的LoongISA,針對MIPS/LoongISA的二進制翻譯能力提前結束了使命。

  對x86的Linux和Windows應用程序的二進制翻譯,功能已經基本跑通,成功地在3A5000上運行了PhotoShop,這是一個里程碑似的成就。翻譯運行的效率還需要持續地改進,目前只有30~70%,預計年底能夠達到80%效率的預定目標。今后還會逐步增加對ARM和RISC-V應用程序的翻譯運行功能,預計翻譯效率達到90%左右。

  但是二進制翻譯始終會存在性能損失,現有技術條件下也不可能完全解決兼容性問題,能帶來最佳的用戶體驗的仍然是原生的應用軟件。一種全新架構的推廣和市場擴張,必然需要大量的應用軟件支持,這能夠為沉寂的桌面/服務器軟件行業注入新的活力。CPU與軟件相輔相成,兩者彼此需要,一些全新開發的或用戶較少的應用軟件如果能在初期就在新的平臺上站穩腳跟,隨著新平臺的用戶規模擴大,甚至能使這些軟件擁有挑戰老牌同類軟件的能力。比如WPS在國產系統中幾乎成為了所有用戶的首選,但在Windows系統中卻仍然難以動搖Office的地位。國產CPU、國產操作系統、國產應用軟件三者的緊密結合,能夠推動國內整個IT行業共同進步。

圖片

UOS 龍芯版中的軟件(部分)

  龍芯中科是一家CPU設計企業,建設軟件生態是推廣自主CPU的手段,設計出性能更高、自主程度更高的CPU及配套的硬件產品才是目的。

  CPU方面,龍芯產品實現了從嵌入式到桌面/服務器的全方位覆蓋,還包括多種特種芯片。最新的桌面CPU型號是3A5000,使用境內的12nm工藝生產,集成4個核心,主頻2.5GHz。依靠優秀的核心設計能力,其單核性能在國產CPU中達到了最高,整體性能大致有Intel/AMD當前的低壓版4核CPU的水平。另外還有16核的3C5000及3C5000L服務器CPU,因成本原因暫不適合作為桌面CPU銷售,估計實際性能與當前主流的8核i7接近。今年下半年還會完成64核的產品,性能可以對標Intel當前服務器CPU的中端型號。龍芯的CPU支持多路互聯,整機可以達到256個核心,可以部分代替Intel的服務器產品。

圖片

3C5000L四路服務器主板(央視畫面截圖)

  與CPU配套的芯片組產品,除了自主設計的7A1000之外,升級版本7A2000也即將完成。7A2000支持DDR4 3200,集成了GPU,對于辦公主機和非游戲/設計用途可以省下顯卡的成本。7A2000芯片組很有可能與3A5000 CPU同時發布,3A5000的整機成本也很可能低于上一代3A4000整機,進一步接近市場主流價位。仍然在設計中的3A6000系列CPU將成為龍芯正式進軍主流市場的產品,龍芯還在試驗中的獨立顯卡將來也會成為國產GPU產品的一員。

  除了國內,龍芯的產品也在跟隨一帶一路向國外推廣,目前進展尚未公開,但肯定已經有了一定的銷量。再過幾天3A5000就會正式發布,這款產品的市場表現應該能超過上一代3A4000。除了信創市場和行業應用之外,也一定會有規模更大的普通市場試水,以及面向國外的出貨量。

  六、培養:龍芯LoongArch面向校園和社會的推廣

  20年前中科院計算所打算研發CPU時,找不到有現代CPU設計經驗的人。讓胡偉武擔綱Godson-1的設計任務,我猜可能是因為他在上大學時解鎖了手搓CPU的成就,用分離元件焊出了一塊與8086(Intel早期的16位CPU產品)等效的電路板。因為起步時人才匱乏、資料匱乏,龍芯就特別注重CPU設計人才的培養。20年來不但龍芯自身向國內各大半導體企業輸送了大量的芯片設計人才,還特別注重與高校合作培養后備力量。

  龍芯編寫了面向本科和研究生的《計算機體系結構》教材,并設計了多款用于CPU實驗的教學及實驗工具,積極推動高校計算機教學從“用”到“造”的轉變。龍芯已連續舉辦多屆以CPU設計為主的“龍芯杯”大賽,引導學生們學習和實踐CPU設計。近日公開的由中科院牽頭的基于RISC-V架構的“香山”開源CPU,其設計人員就有部分是“龍芯杯”歷屆獲獎選手。在LoongArch推出后,龍芯為進一步加強對高校計算機體系結構教學和實驗的支持,已經啟動了“LoongArch高校開源計劃”以及“百城千校”計劃。“高校開源”側重于CPU設計,“百城千校”主要是培養軟件人才。

  RISC-V之所以在一些高校受到寵愛,主要是因為它的最小集指令數量很少,學生學習難度小、進行CPU設計實踐的門檻較低,因而很大程度上替代了傳統的MIPS和ARM。龍芯的LoongArch32精簡版也有同樣的特點,僅50條指令就能構成完整的指令系統,非常適合教學和實驗。為了讓學生對CPU設計有直觀的了解,龍芯還提供了開源IP供學生學習和參考,并提供了CPU測試和驗證工具包,學生可以方便地檢驗CPU設計的正確性,降低了找尋設計錯誤的難度和時間開銷。

  為了改變中小學的計算機課成為Windows應用培訓的現狀,龍芯編寫出版了面向中小學的信息課教材,邀請中小學校長參觀龍芯總部,了解龍芯CPU在各行業中的應用。還面向中小學教師開展國產操作系統的使用培訓,并推廣龍芯的數字化教學系統。與廠商合作開發基于龍芯嵌入式CPU的智能機器人玩具,吸引孩子們從小關注國產CPU。

  面向軟件企業的技術培訓也一直在分期分批地進行,主動去全國各大城輪流開展基于國產計算機平臺的軟件開發和移植技術講座,并解答各種技術問題,取得了很大的成效。現在龍芯平臺來自國內軟件廠商開發和移植的應用軟件已能基本滿足許多行業的應用需求,軟件的數量和類型也在迅速擴充。

圖片

與龍芯相關的部分書籍

七、未來:徹底打破指令集藩籬

  現在流行的指令集不算多,但對軟件開發人員和用戶已經造成了很大的困擾。本來Java和.net的目標是為了解決軟件跨架構的問題,但并不是所有平臺都有足夠完善的Java和.net虛擬機支持,并且軟件虛擬機始終難以滿足對效率有苛刻要求的應用程序,因此實際上大多數軟件項目仍然離不開編譯型的開發語言和工具。對于開發人員而言,當開發環境和運行環境不是相同的平臺時,軟件的測試和調試就會比較繁瑣。每次修改代碼后,編譯完成還需要導出甚至安裝,會嚴重降低開發效率。購置與運行環境相同架構的設備用于測試,也提高了跨平臺應用開發的門檻和成本。甚至當交叉配置的環境無法成功配置的時候,還必須把運行環境配置成開發環境,在真機上進行開發和調試,又進一步增加了開發工作的復雜程度。

  龍芯有一個設想,就是在龍芯電腦上進行任何架構的應用軟件的開發及調試,在龍芯電腦上也可以運行任何架構的應用軟件。龍芯的二進制翻譯技術令這個設想具有了成為現實的可能,雖然現在距離實現這個目標還有比較遙遠的路程。我個人認為這個目標是完全可以實現的,只要龍芯電腦成為軟件開發者的寵兒,龍芯的軟件生態問題就會得到徹底的解決。我作為一名軟件開發者,對此保持重度期待!

  如果能夠實現在龍芯電腦上高效而簡單地運行任何架構的應用程序,對于電腦用戶來說,也不必再區分下載的是安卓的APK,還是Windows的EXE,Linux軟件也不需要再區分CPU架構。那時用戶對于架構的概念,又會像桌面電腦只有x86可選時那樣變得模糊。現在有些產品已經有了這樣的雛形,未來的計算機可能真會發展成這種形態。

  對未來可以無限暢想,現實情況是龍芯只要在常規市場上大量鋪開,就必然出現與進口同類產品對抗的局面。對抗不是消滅對手,而是在保障自己生存的情況下與對手共存,為市場增加一個新的選項。龍芯消滅不了x86和ARM,國外企業也消滅不了龍芯,但是龍芯想要進一步發展,產品就必須走出信創市場。龍芯為推廣自主CPU和自主架構腳踏實地步步為營,在研發投入不到主流CPU零頭的情況下努力提升產品性能,在銷量與主流產品相差甚遠時盡力降低成本,這都是為必然出現的高烈度市場搏殺做出的準備。按照龍芯現在的發展勢頭,我相信再過一兩年,龍芯的性能和成本就能與市場主流產品持平,然后成為部分個人用戶的新選擇。

「 支持烏有之鄉!」

烏有之鄉 WYZXWK.COM

您的打賞將用于網站日常運行與維護。
幫助我們辦好網站,宣傳紅色文化!

注:配圖來自網絡無版權標志圖像,侵刪!
聲明:文章僅代表作者個人觀點,不代表本站觀點——烏有之鄉 責任編輯:曉林

歡迎掃描下方二維碼,訂閱烏有之鄉網刊微信公眾號

收藏

心情表態

今日頭條

點擊排行

  • 兩日熱點
  • 一周熱點
  • 一月熱點
  • 心情
  1. 孔慶東|做毛主席的好戰士,敢于戰斗,善于戰斗——紀念毛主席誕辰131年韶山講話
  2. 兩個草包經濟學家:向松祚、許小年
  3. 從歷史工人運動到當下工人運動的謀略——(一)歷史工人運動
  4. 如何看待某車企“中國工人”在巴西“被指處于類似奴役式環境”
  5. 該來的還是來了,潤美殖人被遣返,資產被沒收,美吹群秒變美帝批判大會
  6. “深水區”背后的階級較量,撕裂利益集團!
  7. 到底誰“封建”?
  8. 瘋狂從老百姓口袋里掏錢,發現的時候已經怨聲載道了!
  9. “中國人喜歡解放軍嗎?”國外社媒上的國人留言,差點給我看哭了
  10. 烏克蘭逃兵
  1. 陳中華:如果全面私有化,就沒革命的必要
  2. 到底誰不實事求是?——讀《關于建國以來黨的若干歷史問題的決議》與《毛澤東年譜》有感
  3. 歷史上不讓老百姓說話的朝代,大多離滅亡就不遠了
  4. 與否毛者的一段對話
  5. 元龍:1966-1976,文人敵視,世界朝圣!
  6. 群眾眼睛亮了,心里明白了,誰不高興了?
  7. 孔慶東|做毛主席的好戰士,敢于戰斗,善于戰斗——紀念毛主席誕辰131年韶山講話
  8. 社會亂糟糟的,老百姓只是活著
  9. 我國的社會已經有了很大的問題:內卷,失業,學歷貶值…
  10. 不能將小崗村和井岡山相提并論!
  1. 北京景山紅歌會隆重紀念毛主席逝世48周年
  2. 元龍:不換思想就換人?貪官頻出亂乾坤!
  3. 遼寧王忠新:必須直面“先富論”的“十大痛點”
  4. 劉教授的問題在哪
  5. 季羨林到底是什么樣的人
  6. 歷數阿薩德罪狀,觸目驚心!
  7. 十一屆三中全會公報認為“顛倒歷史”的“右傾翻案風”,是否存在?
  8. 歐洲金靴|《我是刑警》是一部紀錄片
  9. 我們還等什么?
  10. 只有李先念有理由有資格這樣發問!
  1. 元龍:1966-1976,文人敵視,世界朝圣!
  2. 劍云撥霧|韓國人民正在創造人類歷史
  3. 到底誰不實事求是?——讀《關于建國以來黨的若干歷史問題的決議》與《毛澤東年譜》有感
  4. 果斷反擊巴西意在震懾全球南方國家
  5. 重慶龍門浩寒風中的農民工:他們活該被剝削受凍、小心翼翼不好意思嗎?
  6. 機關事業單位老人、中人、新人養老金并軌差距究竟有多大?
亚洲Av一级在线播放,欧美三级黄色片不卡在线播放,日韩乱码人妻无码中文,国产精品一级二级三级
亚洲视频手机在线观看 | 日韩中文无线码免费观看 | 亚洲一区二区麻豆AV | 日本三级欧美三级人妇视频 | 综合久久资源一本 | 在线天天看片免费 |