丟掉幻想!龍芯中科將出LoongArch自主指令集,深度兼容主流體系

2020-12-04 DeepTech深科技

8 月 13 日,在每兩年一度的全國計算機體系結構學術年會(ACA2020)上,龍芯中科董事長、中科院計算技術研究所研究員胡偉武作了名為《指令系統的自主與兼容》的特邀報告。

在報告中,他透露了龍芯的新動向——研發既 「自主」 又「兼容」的 LoongArch 指令集。如果最終達成目標,這將是一個自帶 「完整」 生態,且中國人能牢牢掌握的體系。

關於該事件的討論一度登上知乎熱榜,一位資深業內人士告訴 DeepTech :「LoongArch 的計劃已經提了很長時間,由於近期『斷供』問題形勢嚴峻才特別凸顯。其實業內一直想推出中國自有指令集系統,但奈何各方利益交錯,長期達不成共識,目前或許是一個契機。」

自主研發 VS 選邊站隊

美國驢象兩黨,在很多方面都意見相左,但在對待中國的態度上卻少有地達成一致。可以預見,未來,不管川普連任與否,都不能幻想美國人的對華政策有較大變化。

目前,「構建獨立於 Wintel 體系(Windows+Intel)和 AA 體系(ARM+Android)的安全可控的信息技術體系和產業生態」已經成為國家戰略。

要達成這一目的,「晶片」的問題是無法繞過的。而晶片難題又分為兩個小點:一是 CPU 的指令集架構,一是生產的工藝製程。本文不談工藝問題,只談前者。

指令集架構,又稱指令集或指令集體系,是計算機軟體運行的基礎設施。指令集的指令轉換成機器碼之後即直接與 CPU 發生交互,是比彙編語言更加底層的封裝。

該指令含義為:將地址 2 的值與常量相加,然後寫入到地址 1

目前,仍然活躍在商業領域的指令集分成兩大類:以 ARM、RISC-V 及 MIPS 為代表的精簡指令集(RISC),以 X86 為代表的複雜指令集(CISC)。這裡的精簡和複雜可以簡單理解為所包含指令數目的多少。

使用 X86 架構的廠商是大名鼎鼎的 Intel 和 AMD,該架構為 Intel 首創,由於歷史原因形成了現在的兩強局面。值得注意的是,X86 架構基本不再對外授權。

ARM 指令集的產品眾多,由於其在功耗方面的優勢,幾乎所有的智慧型手機(蘋果、安卓)、平板、便攜智能設備,都要向 ARM 購買授權,在商業上 ARM 是成功的。目前 ARM 隸屬於日本的軟銀,不過已有傳聞 NVIDIA 將收購 ARM,屆時 ARM 將歸屬美國。

RISC-V 比較特殊,屬於開源(僅ISA)指令集架構,也就是說 RISC-V 指令集可以自由地用於任何目的,允許任何人設計、製造和銷售 RISC-V 晶片和軟體,而不必向任何公司支付專利費用。

中國,是最追捧 RISC-V 的國家,沒有之一。

追捧到什麼程度呢?RISC-V 官網顯示,其首席會員一共十名,其中中國公司、組織佔了八席,他們分別是:阿里巴巴、晶心科技(臺灣省)、華為、中國科學院計算技術研究所、中國科學院軟體研究所、RIOS(清華 - 伯克利深圳研究院)、中興微電子和賽昉科技(SiFive 中國)。

RISC-V 首席會員

雖然 RISC-V 屬於全球性非盈利組織,理論上不會出現被 「卡脖子」 的情況,但該組織的核心管理者基本是美國人,且目前碎片化嚴重,很多有用高效的指令無法加入到主分支之中。總之,中國想要在這個體系掌握主導權,目前看來暫無可能。

最後,終於要說到龍芯使用的 MIPS。

它依舊屬於一家美國公司,龍芯是其最大客戶。該公司因戰略誤判,逐漸衰落,後幾經輾轉,被多次收購,開發人員也流失嚴重,目前已經無力進行新產品的開發迭代。不誇張地說,如果沒有龍芯,MIPS 已死。但就是這樣一家公司,龍芯想要收購接盤,也一直沒能得到美國政府的批准。

綜上,X86 不授權,ARM 嚴格授權,中國此前一直把寶押在 RISC-V 和 MIPS 上。

胡偉武說道,自主和兼容這兩條路線已經爭論了 15 年,兼容的好處是自帶生態,但劣勢是處處受制於人,並且會嚴重阻礙以 「作業系統」 為代表的基礎軟體軟體發展。他認為,我們不可能基於國外的指令系統建立自主生態。

「龍芯曾經選擇 MIPS 授權,覺得比較開放,還可以自主加指令,所以走了好多年。本以為可以通過比較弱勢的 MIPS 或者基於開源的 RISC-V 來構建自己的生態,但最近發生的很多事情,讓我們認識到,即使對方再弱小,也會在商業上對我們造成很大的幹擾。」

所以,擺在龍芯面前的恐怕只剩下建立自己的指令集這一條路了。

兼容並濟,海納百川

完全自主,說起來容易,做起來難;做出一款能用產品容易,但做出一款大家都用的產品難。有沒有可能既獨立自主,又能兼顧現在的主流生態呢?

胡偉武的答案是「有」。就是研發兼容各大指令集架構的自主指令集架構。

胡偉武表示,這條路是完全可行的。

首先,基礎軟體方面,BIOS(PMON/UEFI)、內核(Linux/VxWorks)的遷移,工作量不大;彙編器及編譯器(GCC、LLVM、GOLANG)的工作量是可控的;整個作業系統重新遷移和編譯工作量也不大,直接把 MIPS 彙編語言編譯成自主指令系統即可。

其次,動態翻譯虛擬機方面,Java、JavaScript、.NET 三大虛擬機,龍芯均可獨自完成遷移,完成之後可以直接運行各自的應用程式而無須修改。

最後,二進位翻譯方面,主要針對 X86、ARM 及 MIPS。QEUM 已經可以實現,關鍵在於提高其運行效率。

目前,龍芯已經完成了自主指令集的規劃,包含基礎指令 337 條、虛擬機拓展指令 10 條、二進位翻譯擴展指令 176 條、128 位向量擴展 1024 條、256 位向量擴展 1018 條,合計 2565 條。值得注意的是,因增加二進位翻譯指令而導致的 CPU 面積和延遲開銷幾乎可以忽略不計。

胡偉武解釋道,二進位翻譯硬體支持主要涉及定點運算和訪存地址計算,統計數據表明,硬體的開銷面積大概增加了 1% 到 2%,而延遲方面的開銷幾乎沒有。

在報告中,胡偉武給這一系列的操作稱之為「體系結構翻譯」,並作了生動類比。

語言文化 & 計算機體系結構

他說,我們現在所要達到的效果是語言級翻譯,實現難度根據架構而有所不同。

舉個例子,將繁體中文翻譯成簡體中文非常簡單,將法文翻譯成英文也比較簡單,但要把英文翻譯成中文相對困難。

技術的發展給二進位翻譯帶來了新的機遇。第一,硬體資源得到了極大的豐富。電晶體、CPU 性能都出現了過剩的情況。第二,虛擬機技術快速發展。二進位翻譯本質上是一種跨指令系統的虛擬機,支持虛擬機的很多基礎設施,在二進位翻譯體系可以復用。

也許有人會問,二進位翻譯固然可以兼容現有的指令集,但會不會存在法律問題呢?

胡偉武認為,目前國際上的確存在不同看法,但美國等發達國家法律普遍認為不構成侵權。歷史上,IBM、HP、Intel、Appel、Transmeta、QualComm、NVIDIA 都採用過這個技術來協助推新架構,並且 Transmeta 曾打贏了與 Intel 官司。

在基本謀定了方案之後,龍芯已經開始行動,並已經取得了初步成果。

龍芯的二進位翻譯系統名為 LAT(Loongson Architecture Translator)。胡偉武為這個系統定了一個 「十九八七」 的預定目標。

LAT「十九八七」規劃

胡偉武曬出了一張圖表,這張表的唯一變量只有指令體系架構,微結構一模一樣。

可以看到,僅更換為 LoongArch 指令架構,處理器的定點性能就提升了 16.6%,浮點性能提升了 9.4%。

LoongArch VS MIPS(SPEC CPU2000 Train 運行時間 FPGA 20MHz)

在 Linux 進程級 MIPS 二進位翻譯方面,胡偉武拿出一份專門為本次報告臨時跑出的結果,他表示很多軟體庫還沒有完善,優化工作也沒有完成。但從結果來看,一兩個月能達到這個效果,完成 100% 的預定目標應該不成問題。

Linux 進程級 MIPS 二進位翻譯效果(SPEC CPU2000 Train 運行時間 FPGA 20MHz)

Linux 進程級 X86 二進位翻譯效果,同樣是未完善的數據,可以看到定點性能達到原生的 44.4%,浮點性能達到原生的 58.5%。雖然,相較 QEMU 這個成績已經非常不錯,但離預定目標的 80% 仍有很大差距。

Linux 進程級 X86 二進位翻譯效果(SPEC CPU2000 Ref 運行時間 龍芯 3A4000 1.8GHz)

在報告中,胡偉武匯報了目前 LoongArch 指令系統的工作進度。

他表示,目前已完成龍芯 GS132、GS264、GS464 三大系列 IP 核指令系統修改。基於 LoongArch 的某龍芯 CPU 已於 2020Q2 交付流片,預計 2020Q4 樣片。

基礎軟體 OS 方面,已經完成 BIOS、編譯器的內核改造,可以在 FPGA 平臺上運行 SPEC CPU 等複雜應用;正在開展完整作業系統編譯工作;正在開展 Java、JavaScript、.NET 虛擬機遷移工作。

二進位翻譯系統 LAT 已基本完成開發,開始調試優化。MIPS 和 X86 用戶態二進位翻譯持續改進中;X86 系統二進位翻譯已經基本跑通,最難的地址翻譯已經調通。

以上工作爭取在 2020 年底前完成。

報告的末尾,他描繪了 LoongArch 的未來規劃。

1. 對 LoongArch 指令系統進行智慧財產權分析。已委託第三方機構進行,預計 2020 年底完成國內部分,2021 年完成國際部分。

2. 組建自主指令系統聯盟。龍芯將把 LoongArch 免費開放,並開放 Cortex-A53 以下性能處理器 IP 核,條件是聯盟內企業彼此間不能發生指令系統訴訟,期望最終能夠形成對第三方的 CPU 防禦聯盟。同時,還將嘗試在高校推廣百條指令左右的 LoongArch 小系統。

此外,龍芯也將持續改進二進位翻譯的硬體支持和軟體優化,爭取在 2025 年消除指令系統間的壁壘,達到 「天下大同」 的境界。

胡偉武出席龍芯中科捐贈儀式(來源:中國科學技術大學)

最後,胡偉武總結道,二進位翻譯能解決兼容性問題,但要認清它在戰略上屬於「過渡方案」,它更多地是為新架構鋪路,新架構失敗了它會消亡,新架構成功了它也會消亡。

知乎網友 maomaobear 表示了對翻譯後程序運行效率的擔心:「微軟的 X86 轉 ARM,英特爾的 ARM 轉 X86,效率都很低,就蘋果做的看起來高一點。」

龍芯內部人士對此回應:「龍芯做指令集研發快 20 年了,能推出完全自主指令集架構,是積累出來的,不是拍腦袋,寫論文出來的。」

後來者的宿命

其實,我們不必為 「卡脖子」 感到悲憤。

在電子計算機領域,包括我國在內的絕大多數國家都是「後來者」,縱觀其發展史,幾乎可以算是一部美國的國內產業史。

第一臺真正意義的電子計算機是美國人於 1937 年發明的;「現代計算機之父」馮 · 諾依曼是美國人;集成電路是美國人做出來的;第一款微處理器是 Intel 推出的;網際網路是美國人建立的;第一臺桌面電腦、作業系統、滑鼠、鍵盤、硬碟等也均由美國人首創……

在這個過程中,美國湧現出了一大批名垂青史的名字。無數的學者、商人、官員和工程師,讓美國成為了先行者。擁有了絕對優勢的同時,也為後來者們設立了諸多障礙。

這些障礙,我們有的已經跨了過去,比如鋰電池隔膜、比如通訊領域的 5G、比如北鬥全球定位系統;有的正在跨越,比如本文的 CPU 指令系統。

不過,我們不必急躁,也無須驚慌。我們不是落後於一朝一夕,也不可能一朝一夕便能趕上。

相關焦點

  • 龍芯對外公開的LoongArch指令集真的會讓我國晶片獨立自主嗎
    對外公開也是一種策略,當我們在糾結到底有沒有自主指令集的時候,當我們被ARM和RISC-V、X86等指令集的成功所影響,卻沒有自己的指令集的時候,我們確實很擔心,到底在晶片設計領域,我們如何一步步的突破。
  • 中科院計算所「神計妙算」走進龍芯中科,體驗自主晶片的魅力
    關注「龍芯」,探索自立自強中國芯日前,中科院計算所「神計妙算」欄目走進龍芯中科公司,近距離感受龍芯CPU前沿科技,為大眾普及晶片知識,點亮中國自主技術的科學之光。來自龍芯中科的符興建,透過鏡頭用通俗易懂的語言為觀眾介紹了LS3A4000處理器晶片是如何誕生,並以橋片為例向大家展示了CPU的內部結構。隨後,在他的帶領下,主持人走進龍芯晶片測試車間,並在測試現場詳細了解了晶片生產以後如何進行測試和質量檢測。他們又說了什麼呢?
  • 龍芯3A5000成功流片明年可量產 和蘋果M1晶片比性能有多大差距?
    近期,國產晶片產業又迎來重磅消息,龍芯3A5000晶片已經於10月完成了流片,不出意外的明年可以量產。新晶片相比上一代的龍芯3A4000性能提升不少,這使得國產自主研發CPU的性能再向前邁進了一大步。龍芯3A5000相關參數對比:目前從已知的公開消息來看,龍芯3A5000晶片採用自研的loongarch指令集架構,12nm工藝,4核晶片主頻為2.5GHz,單核SPEC06跑分大於30分。
  • 龍芯3A出貨30萬?龍芯的一小步,是中國晶片自主的一大步
    近日,中科院院長白春禮表示,目前龍芯3A處理器銷量已經超過了30萬顆,並成功的應用在了10顆北鬥衛星之上。這一消息出爐,讓網友們興奮不已,畢竟在當前這個形勢之下,國產替代潮已經不可阻擋,所以任何中國芯取得的好成績,都是值得大家慶祝的。
  • 國產計算機基礎軟硬體行業深度報告:重構中國IT產業生態
    不同的指令集無法兼容,若過分強調指令集的自主發展,之後還要面臨重新搭建生態系統的挑戰,考慮到 Wintel 和 AA 成熟生態在市場的領先地位,競爭難度非常大。因此指令集授權+自主研發 CPU 的模式是一種可行的自主可控路徑。
  • 捷宇科技攜手龍芯中科,共創我國自主信息化發展的新篇章
    公司擁有4家全資子公司,員工人數超180名,專業研發人員超60名,獲得超百項的技術專利,產品和軟體擁有完全自主智慧財產權。龍芯中科技術有限公司由中國科學院和北京市政府共同牽頭出資成立,面向國家信息化建設的需求,面向國際信息技術前沿,以創新發展為主題,以產業發展為主線,以體系建設為目標,堅持自主創新,掌握計算機軟硬體的核心技術,為國家安全戰略需求提供自主、安全、可靠的處理器,為信息產業及工業信息化的創新發展提供高性能、低成本、低功耗的處理器。
  • 全面支持IT國產化 富士施樂55款機型獲中標麒麟、龍芯、兆芯兼容認證
    全面支持IT國產化 富士施樂55款機型獲中標麒麟、龍芯、兆芯兼容認證 全面支持IT國產化 富士施樂55款機型獲中標麒麟、龍芯、兆芯兼容認證 2020-04-23 16:53:22  來源:
  • 飛騰和龍芯CPU單顆出貨突破百萬!國產CPU生態建設到哪一步了?
    雖然眾多國產CPU公司不像英特爾和AMD等晶片巨頭早在50年前就已經開始在半導體行業中摸索前行,但發展至今也有20多年的歷史沉積,開發出較為完成的產品線,近幾年正加速布局生態,並取得一定進展。同樣,自主與安全性強也是龍芯的主要特點,據廣東龍芯中科電子科技有限公司總經理江山介紹,龍芯目前廣泛應用的一代桌面處理器3A3000/3A4000和伺服器處理器3B3000/3B4000擁有自主指令集LoongISA,所有IP模塊都是自主設計,擁有片內安全機制,內置國密,可信性高。「去年我們的市場佔有率是10%,今年達到了40%。」
  • 龍芯中科完成了第一階段的Loongbian作業系統
    7 月 15 日消息 根據龍芯中科的消息,龍芯中科嵌入式事業部完成了第一階段的 Loongbian 作業系統,從而讓龍芯 2K1000 平臺滿足 HMI 類應用對顯示性能、計算性能以及瀏覽器等組件的性能要求。
  • 從inside到outside,逐步構建自主創新的信息技術體系
    本次會議將以「應用驅動、協同創新,自主創新發展的源泉和動力」為主題,針對自主創新計算機發展及相關信息系統應用推廣中的問題、難點等,開展學術研討、技術交流,提出建議和對策,促進各界團結合作,開創技術應用新局面。工信部等單位領導蒞臨大會。工信部信息化和軟體服務業司副司長董大健、指揮與控制學會副秘書長劉玉超、中國電子商會技術委員會理事長馮燕春,在開幕式上致辭。
  • 國產龍芯3A4000,相當於2015年AMD推出的28nm挖掘機部件
    UCAS在今年的入學錄取通知書上貼有龍芯計算機晶片,以顯示該學院對自主開發技術的野心,有人稱其為「 最堅決的入學通知書」。計算機用戶熟悉美國矽業巨頭英特爾,它的Core-i系列核心處理單元(CPU)是同類產品中最著名的品牌。
  • 一大波基於龍芯3A4000/7A1000晶片的新品發布
    12月24日,龍芯中科技術有限公司在北京國家會議中心舉辦了以「新時代,芯生態」為主題的2019龍芯新產品發布暨用戶大會,在本次發布會上,龍芯攜手業內1200餘家合作夥伴共同打造龍芯自主產業鏈,不斷豐富擴大龍芯生態。龍芯的重要合作夥伴在發布會上發布了數十款基於龍芯平臺的最新產品。
  • 國產最強電腦龍芯3A5000、最強伺服器CPU即將同步發布,屬於純國產
    近日龍芯宣布計劃在今年底推出龍芯3A5000/3C5000處理器晶片(分別為PC和伺服器用,最大16核心),採用中芯國際12nm製程,預計這款CPU將首次達到與國際競爭性能上同臺競技,無論在性能上還是在統一聯盟UOS搭建的作業系統上,都將達到基本可用的狀態。基本的辦公軟體、外部設備都能夠找到相應的支持。
  • 比亞迪推龍芯3A4000筆記本電腦:搭國產獨顯、OS
    >   從龍芯中科官方獲悉, 近日,比亞迪電子推出了龍芯3A4000獨顯筆記本電腦 ,從自主設計,到自主配置,在自主創新上亮點十足。  就像比亞迪汽車擁有標誌性的Dragon Face設計理念一樣, 比亞迪龍芯筆記本在外觀設計上主打中國紅格調,將中國紅融入進黑色機身,相得益彰 。