0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

龍芯研發(fā)出 “自主” 又“兼容”的 LoongArch 指令集

hl5C_deeptechch ? 來源:DeepTech深科技 ? 作者:DeepTech深科技 ? 2020-09-08 15:14 ? 次閱讀

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

在報告中,他透露了龍芯的新動向——研發(fā)既 “自主” 又“兼容”的 LoongArch 指令集。如果最終達(dá)成目標(biāo),這將是一個自帶 “完整” 生態(tài),且中國人能牢牢掌握的體系。

關(guān)于該事件的討論一度登上知乎熱榜,一位資深業(yè)內(nèi)人士告訴 DeepTech :“LoongArch 的計劃已經(jīng)提了很長時間,由于近期‘?dāng)喙瘑栴}形勢嚴(yán)峻才特別凸顯。其實業(yè)內(nèi)一直想推出中國自有指令集系統(tǒng),但奈何各方利益交錯,長期達(dá)不成共識,目前或許是一個契機。”

自主研發(fā) VS 選邊站隊

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

目前,“構(gòu)建獨立于Wintel 體系(Windows+Intel)和AA 體系(ARM+Android)的安全可控的信息技術(shù)體系和產(chǎn)業(yè)生態(tài)”已經(jīng)成為國家戰(zhàn)略。

要達(dá)成這一目的,“芯片”的問題是無法繞過的。而芯片難題又分為兩個小點:一是 CPU 的指令集架構(gòu),一是生產(chǎn)的工藝制程。本文不談工藝問題,只談前者。

指令集架構(gòu),又稱指令集或指令集體系,是計算機軟件運行的基礎(chǔ)設(shè)施。指令集的指令轉(zhuǎn)換成機器碼之后即直接與 CPU 發(fā)生交互,是比匯編語言更加底層的封裝。

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

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

使用 X86 架構(gòu)的廠商是大名鼎鼎的 Intel 和 AMD,該架構(gòu)為 Intel 首創(chuàng),由于歷史原因形成了現(xiàn)在的兩強局面。值得注意的是,X86 架構(gòu)基本不再對外授權(quán)。

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

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

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

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

圖 | RISC-V 首席會員

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

最后,終于要說到龍芯使用的 MIPS。

它依舊屬于一家美國公司,龍芯是其最大客戶。該公司因戰(zhàn)略誤判,逐漸衰落,后幾經(jīng)輾轉(zhuǎn),被多次收購,開發(fā)人員也流失嚴(yán)重,目前已經(jīng)無力進(jìn)行新產(chǎn)品的開發(fā)迭代。不夸張地說,如果沒有龍芯,MIPS 已死。但就是這樣一家公司,龍芯想要收購接盤,也一直沒能得到美國政府的批準(zhǔn)。

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

胡偉武說道,自主和兼容這兩條路線已經(jīng)爭論了 15 年,兼容的好處是自帶生態(tài),但劣勢是處處受制于人,并且會嚴(yán)重阻礙以 “操作系統(tǒng)” 為代表的基礎(chǔ)軟件軟件發(fā)展。他認(rèn)為,我們不可能基于國外的指令系統(tǒng)建立自主生態(tài)。

“龍芯曾經(jīng)選擇 MIPS 授權(quán),覺得比較開放,還可以自主加指令,所以走了好多年。本以為可以通過比較弱勢的 MIPS 或者基于開源的 RISC-V 來構(gòu)建自己的生態(tài),但最近發(fā)生的很多事情,讓我們認(rèn)識到,即使對方再弱小,也會在商業(yè)上對我們造成很大的干擾。”

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

兼容并濟,海納百川

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

胡偉武的答案是“有”。就是研發(fā)兼容各大指令集架構(gòu)的自主指令集架構(gòu)。

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

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

其次,動態(tài)翻譯虛擬機方面,Java、JavaScript、.NET 三大虛擬機,龍芯均可獨自完成遷移,完成之后可以直接運行各自的應(yīng)用程序而無須修改。

最后,二進(jìn)制翻譯方面,主要針對 X86、ARM 及 MIPS。QEUM 已經(jīng)可以實現(xiàn),關(guān)鍵在于提高其運行效率。

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

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

在報告中,胡偉武給這一系列的操作稱之為“體系結(jié)構(gòu)翻譯”,并作了生動類比。

圖 | 語言文化 & 計算機體系結(jié)構(gòu)

他說,我們現(xiàn)在所要達(dá)到的效果是語言級翻譯,實現(xiàn)難度根據(jù)架構(gòu)而有所不同。

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

技術(shù)的發(fā)展給二進(jìn)制翻譯帶來了新的機遇。第一,硬件資源得到了極大的豐富。晶體管、CPU 性能都出現(xiàn)了過剩的情況。第二,虛擬機技術(shù)快速發(fā)展。二進(jìn)制翻譯本質(zhì)上是一種跨指令系統(tǒng)的虛擬機,支持虛擬機的很多基礎(chǔ)設(shè)施,在二進(jìn)制翻譯體系可以復(fù)用。

也許有人會問,二進(jìn)制翻譯固然可以兼容現(xiàn)有的指令集,但會不會存在法律問題呢?

胡偉武認(rèn)為,目前國際上的確存在不同看法,但美國等發(fā)達(dá)國家法律普遍認(rèn)為不構(gòu)成侵權(quán)。歷史上,IBM、HP、Intel、Appel、Transmeta、QualComm、NVIDIA 都采用過這個技術(shù)來協(xié)助推新架構(gòu),并且 Transmeta 曾打贏了與 Intel 官司。

在基本謀定了方案之后,龍芯已經(jīng)開始行動,并已經(jīng)取得了初步成果。

龍芯的二進(jìn)制翻譯系統(tǒng)名為LAT(Loongson Architecture Translator)。胡偉武為這個系統(tǒng)定了一個 “十九八七” 的預(yù)定目標(biāo)。

圖 | LAT“十九八七”規(guī)劃

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

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

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

在 Linux 進(jìn)程級 MIPS 二進(jìn)制翻譯方面,胡偉武拿出一份專門為本次報告臨時跑出的結(jié)果,他表示很多軟件庫還沒有完善,優(yōu)化工作也沒有完成。但從結(jié)果來看,一兩個月能達(dá)到這個效果,完成 100% 的預(yù)定目標(biāo)應(yīng)該不成問題。

圖 | Linux 進(jìn)程級 MIPS 二進(jìn)制翻譯效果(SPEC CPU2000 Train 運行時間 FPGA 20MHz)

Linux 進(jìn)程級 X86 二進(jìn)制翻譯效果,同樣是未完善的數(shù)據(jù),可以看到定點性能達(dá)到原生的 44.4%,浮點性能達(dá)到原生的 58.5%。雖然,相較 QEMU 這個成績已經(jīng)非常不錯,但離預(yù)定目標(biāo)的 80% 仍有很大差距。

圖 | Linux 進(jìn)程級 X86 二進(jìn)制翻譯效果(SPEC CPU2000 Ref 運行時間 龍芯 3A4000 1.8GHz)

在報告中,胡偉武匯報了目前 LoongArch 指令系統(tǒng)的工作進(jìn)度。

他表示,目前已完成龍芯 GS132、GS264、GS464 三大系列 IP 核指令系統(tǒng)修改?;?LoongArch 的某龍芯 CPU 已于 2020Q2 交付流片,預(yù)計 2020Q4 樣片。

基礎(chǔ)軟件 OS 方面,已經(jīng)完成 BIOS、編譯器的內(nèi)核改造,可以在 FPGA 平臺上運行 SPEC CPU 等復(fù)雜應(yīng)用;正在開展完整操作系統(tǒng)編譯工作;正在開展 Java、JavaScript、.NET 虛擬機遷移工作。

二進(jìn)制翻譯系統(tǒng) LAT 已基本完成開發(fā),開始調(diào)試優(yōu)化。MIPS 和 X86 用戶態(tài)二進(jìn)制翻譯持續(xù)改進(jìn)中;X86 系統(tǒng)二進(jìn)制翻譯已經(jīng)基本跑通,最難的地址翻譯已經(jīng)調(diào)通。

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

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

1. 對 LoongArch 指令系統(tǒng)進(jìn)行知識產(chǎn)權(quán)分析。已委托第三方機構(gòu)進(jìn)行,預(yù)計 2020 年底完成國內(nèi)部分,2021 年完成國際部分。

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

此外,龍芯也將持續(xù)改進(jìn)二進(jìn)制翻譯的硬件支持和軟件優(yōu)化,爭取在 2025 年消除指令系統(tǒng)間的壁壘,達(dá)到 “天下大同” 的境界。

最后,胡偉武總結(jié)道,二進(jìn)制翻譯能解決兼容性問題,但要認(rèn)清它在戰(zhàn)略上屬于“過渡方案”,它更多地是為新架構(gòu)鋪路,新架構(gòu)失敗了它會消亡,新架構(gòu)成功了它也會消亡。

知乎網(wǎng)友 maomaobear 表示了對翻譯后程序運行效率的擔(dān)心:“微軟的 X86 轉(zhuǎn) ARM,英特爾的 ARM 轉(zhuǎn) X86,效率都很低,就蘋果做的看起來高一點?!?/p>

龍芯內(nèi)部人士對此回應(yīng):“龍芯做指令集研發(fā)快 20 年了,能推出完全自主指令集架構(gòu),是積累出來的,不是拍腦袋,寫論文出來的?!?/p>

后來者的宿命

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

在電子計算機領(lǐng)域,包括我國在內(nèi)的絕大多數(shù)國家都是“后來者”,縱觀其發(fā)展史,幾乎可以算是一部美國的國內(nèi)產(chǎn)業(yè)史。

第一臺真正意義的電子計算機是美國人于 1937 年發(fā)明的;“現(xiàn)代計算機之父”馮 · 諾依曼是美國人;集成電路是美國人做出來的;第一款微處理器是 Intel 推出的;互聯(lián)網(wǎng)是美國人建立的;第一臺桌面電腦、操作系統(tǒng)、鼠標(biāo)、鍵盤、硬盤等也均由美國人首創(chuàng)……

在這個過程中,美國涌現(xiàn)出了一大批名垂青史的名字。無數(shù)的學(xué)者、商人、官員和工程師,讓美國成為了先行者。擁有了絕對優(yōu)勢的同時,也為后來者們設(shè)立了諸多障礙。

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

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

原文標(biāo)題:丟掉幻想!龍芯中科將推出LoongArch自主指令集,深度兼容Windows、Linux、Android程序

文章出處:【微信公眾號:DeepTech深科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 龍芯
    +關(guān)注

    關(guān)注

    3

    文章

    324

    瀏覽量

    31074

原文標(biāo)題:丟掉幻想!龍芯中科將推出LoongArch自主指令集,深度兼容Windows、Linux、Android程序

文章出處:【微信號:deeptechchina,微信公眾號:deeptechchina】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    RISC-V指令集的特點總結(jié)

    開源 定義:RISC-V 是完全開源的指令集架構(gòu)(ISA),意味著任何人都可以查看、使用、修改以及分發(fā)其設(shè)計,而無需支付版權(quán)費用。 優(yōu)勢:這種開源特性促進(jìn)了全球性的創(chuàng)新和合作。 社區(qū)化 定義
    發(fā)表于 08-30 22:05

    RISCV的主流指令集有哪些?

    如題,就像X86中指令集有MMX,SSE,SSE2等,就像ARM指令集有ARM和Thumb等,但是總是感覺RISCV特別亂,可能是廠商比較多的緣故吧,我知道的有WCH的青稞RISC-V,玄鐵
    發(fā)表于 08-29 13:49

    復(fù)雜指令集和精簡指令集有什么區(qū)別

    復(fù)雜指令集(CISC,Complex Instruction Set Computer)和精簡指令集(RISC,Reduced Instruction Set Computer)是微處理器設(shè)計中
    的頭像 發(fā)表于 08-22 11:00 ?914次閱讀

    微處理器的指令集架構(gòu)介紹

    和執(zhí)行。指令集架構(gòu)不僅影響微處理器的性能,還決定了其兼容性、可編程性和應(yīng)用場景。以下是對微處理器指令集架構(gòu)的詳細(xì)探討,內(nèi)容將圍繞其定義、主要類型、設(shè)計原則、應(yīng)用場景及未來發(fā)展等方面展開。
    的頭像 發(fā)表于 08-22 10:53 ?456次閱讀

    “超新芯”賦能水表行業(yè),國產(chǎn)替代與計量升級 ——龍芯1D超聲波流量測計量芯片介紹

    簡化超聲波流量測量系統(tǒng)的軟硬件設(shè)計。主要內(nèi)部資源及技術(shù)參數(shù),如圖2所示。 圖 2 龍芯1D技術(shù)參數(shù)3、龍芯1D芯片技術(shù)特點(1)安全可靠完全自主設(shè)計:采用 LoongArch
    發(fā)表于 08-14 10:46

    CISC(復(fù)雜指令集)與RISC(精簡指令集)的區(qū)別  

    Instruction Set Computers,復(fù)雜指令集計算)和RISC(Reduced Instruction Set Computers)是兩大類 主流的CPU指令集類型,其中CISC以Intel,AMD
    發(fā)表于 07-30 17:21

    AT指令集下怎么實現(xiàn)域名訪問呢?

    AT指令集下,怎么實現(xiàn)域名訪問呢?我在指令集中沒有看到相關(guān)指令
    發(fā)表于 07-17 07:10

    龍芯中科推出基于龍芯2K0300處理器的觸控一體機

    近日,中國自主芯片制造商龍芯中科成功發(fā)布了全新的觸控一體機,這款設(shè)備搭載了高性能的龍芯2K0300嵌入式處理器。該處理器基于完全自主LoongAr
    的頭像 發(fā)表于 05-13 09:39 ?543次閱讀

    RISC-V開源指令集全面指南與解析

    它應(yīng)該是穩(wěn)定的,基礎(chǔ)的指令集架構(gòu)不應(yīng)該改變。更重要的是,它不能像以前的專有指令集架構(gòu)一樣被棄用,例如AMD Am29000、Digital Alpha、Digital VAX、Hewlett
    的頭像 發(fā)表于 03-13 09:41 ?548次閱讀
    RISC-V開源<b class='flag-5'>指令集</b>全面指南與解析

    什么是RISC-V?RISC-V指令集的優(yōu)勢

    CPU 支持的所有指令指令的字節(jié)級編碼就是這個 CPU 的指令集架構(gòu)(Instruction Set Architecture,ISA),指令集在計算機軟件和硬件之間搭起了一座橋梁。
    發(fā)表于 03-05 10:31 ?594次閱讀
    什么是RISC-V?RISC-V<b class='flag-5'>指令集</b>的優(yōu)勢

    risc-v標(biāo)準(zhǔn)指令集如何擴展?

    想問問具體要怎么實現(xiàn)標(biāo)準(zhǔn)指令集的擴展呢?需要修改哪些硬件??? 每一種指令集擴展是相似的嗎?還是需要不一樣的步驟呢(比如V擴展、K擴展)?
    發(fā)表于 01-21 22:19

    翼輝信息已正式加入對申威SW64自主指令集架構(gòu)的支持

    近日,翼輝信息發(fā)布了最新的 SylixOS V3.4.0 操作系統(tǒng)。在 SylixOS V3.4.0 中,已正式加入了對申威 SW64 自主指令集架構(gòu)的支持。
    的頭像 發(fā)表于 12-28 11:45 ?3231次閱讀
    翼輝信息已正式加入對申威SW64<b class='flag-5'>自主</b><b class='flag-5'>指令集</b>架構(gòu)的支持

    現(xiàn)代處理器的主要指令集架構(gòu)

    ? ?現(xiàn)代處理器的主要指令集架構(gòu)(ISA)包括:x86指令集架構(gòu)、RISC指令集架構(gòu)。
    的頭像 發(fā)表于 12-11 09:55 ?3238次閱讀
    現(xiàn)代處理器的主要<b class='flag-5'>指令集</b>架構(gòu)

    單片機架構(gòu)和指令集的知識

    指令集,就是CPU中用來計算和控制計算機系統(tǒng)的一套指令的集合。而指令集的先進(jìn)與否,也關(guān)系到CPU的性能發(fā)揮,它也是CPU性能體現(xiàn)的一個重要標(biāo)志。
    發(fā)表于 12-02 09:51 ?858次閱讀
    單片機架構(gòu)和<b class='flag-5'>指令集</b>的知識

    瑞薩推出首款基于RISC-V指令集架構(gòu)的處理器內(nèi)核

    嵌入式硬件專家瑞薩電子宣布推出首款基于免費開放的 RISC-V 指令集架構(gòu) (ISA) 的完全自主研發(fā)的處理器內(nèi)核。
    的頭像 發(fā)表于 12-01 17:28 ?1277次閱讀
    瑞薩推出首款基于RISC-V<b class='flag-5'>指令集</b>架構(gòu)的處理器內(nèi)核