龍芯胡偉武:克服奴才心态,做自己的CPU指令系統!LoongArch将與X86/Arm并駕齊驅

 信創資(zī)訊     |      2022-06-07 15:50:00    |      中(zhōng)芯教育

圖片


2022年6月6日,由工(gōng)業和信息化部網絡安全産業發展中(zhōng)心指導,北(běi)京經開(kāi)區國家信創園和龍芯中(zhōng)科聯合主辦的“2022年LoongArch生(shēng)态發展暨通明湖創新應用論壇”在線上召開(kāi)。會上,龍芯重磅發布了龍芯3C5000服務器處理器,并聯合生(shēng)态夥伴共同發布新一(yī)代國産服務器基礎軟硬件平台。


克服奴才心态,做自己的指令系統



近年來,在國家的重視和支持之下(xià),國産CPU也迎來了快速的發展。華爲、飛騰、海光、兆芯、龍芯和申威等則是目前國内爲數不多的國産CPU廠商(shāng)。但不論是出于自主可控、商(shāng)業化還是生(shēng)态方面的考慮,華爲、飛騰、海光、兆芯、龍芯和申威一(yī)開(kāi)始都是選擇的是利用此前已有的相對成熟的CPU指令集架構。

比如華爲、飛騰都選擇的是基于Arm公司的ARMv8指令集架構授權來開(kāi)發自己的CPU;海光、兆芯則分(fēn)别是通過與AMD和威盛成立合資(zī)公司,來獲得x86指令集授權開(kāi)發自己的CPU;龍芯最初是基于MIPS指令,申威則是基于ALPHA指令集。

時至今日,x86和Arm指令集架構仍是最爲主流的兩大(dà)指令集架構,而MIPS、ALPHA、SPARC、POWER等指令集架構都已經走向衰落。此外(wài),也有正在興起的新的指令集架構,比如大(dà)家熟悉的開(kāi)源的RISC-V,目前國内也有非常多的芯片廠商(shāng)在基于RISC-V指令集架構開(kāi)發自己的CPU。選擇已有的開(kāi)源的或者可開(kāi)放(fàng)授權的CPU指令集架構,則意味着無需從頭做起,在可以滿足一(yī)定的國産自主可控要求的基礎上,可以利用已有的軟硬件生(shēng)态,快速得以發展。

不過,在龍芯中(zhōng)科董事長胡偉武看來,不論是x86、Arm、RISC-V,還是龍芯此前采用的MISP指令集架構,都外(wài)國的指令集架構,特别是在美國對華貿易戰、科技戰背景之下(xià),都存在着不可控的風險。尤其是對于自主可控要求更高的信創産業來說,如果采用基于國外(wài)指令集架構的CPU,仍然難以改變核心技術受制于人的局面。

比如,近年來由于美國方面對于國産芯片産業的打壓,華爲、飛騰、海光、申威等國産CPU廠商(shāng)均已被美國商(shāng)務部列入了實體(tǐ)清單,這也使得他們獲取新的指令集架構的授權受到了限制。比如Arm最新的ARMv9架構,國内廠商(shāng)到目前爲止沒有一(yī)家獲得授權。


“指令系統、基礎工(gōng)業(工(gōng)藝材料和設備)是信息産業的兩個最重要基石。基于國外(wài)指令系統的信息産業支撐不了中(zhōng)華民族偉大(dà)複興。我(wǒ)們中(zhōng)國人可以用英文來寫文章,但不可能基于英文來發展我(wǒ)們自己的民族文化。同樣,我(wǒ)們中(zhōng)國人也可以用國外(wài)的指令系統做産品,但是我(wǒ)們不能指望用國外(wài)的指令系統來做自己的生(shēng)态。”胡偉武坦言,龍芯這麽多年的發展曆程就是一(yī)個鮮活的例子,“做跟班是可以的,想超越是不行的。龍芯CPU曾經在MIPS架構裏邊性能是最高的,在軟件生(shēng)态方面,龍芯也是慢(màn)慢(màn)成爲MIPS領域的主導者,但是MISP覺得龍芯要超過他們則是不允許的。丫鬟拿了一(yī)輩子鑰匙,也還是丫鬟。所以,我(wǒ)們需要克服奴才心态,做自己的指令系統。”


圖片

龍芯中(zhōng)科董事長 胡偉武



胡偉武進一(yī)步指出:“我(wǒ)經常在市場上聽(tīng)見有人說龍芯的搞自主指令集架構芯片不行,不如x86和Arm。說x86、Arm指令集架構,才是市場主流,龍芯的怎麽可能幹的過x86和arm?這就是一(yī)種奴才心态,我(wǒ)們要克服這種奴才心态。”

圖片


LoongArch正成爲與X86/Arm并列的頂層開(kāi)源生(shēng)态系統

其實CPU指令系統的是否需要自主研發,這在多年前就有讨論,至今至少已經有長達15年了。自主研發有自主研發的好處,但是最大(dà)的難題在于生(shēng)态的建設。而選擇采用或兼容國外(wài)指令集的優勢則是能夠直接共享現有的國外(wài)指令集的軟硬件生(shēng)态。而龍芯在做了20年之後的選擇是,在自主的同時去(qù)兼容。

2021年4月,龍芯正式發布了自主指令系統架構LoongArch,在做到了完全的自主可控,擁有完全的自主知(zhī)識産權的同時,龍芯的LoongArch指令集還實現兼容多種國際主流的指令系統。

圖片

胡偉武表示,要做到既完全自主又(yòu)兼容,需要“2+3+3+2”的十大(dà)基礎軟件能力。即,兩大(dà)核心軟件:BIOS和操作系統内核(含驅動和虛拟化);三大(dà)編譯器:GCC、LLVM、GOLANG;三大(dà)虛拟機:Java、JavaScript、.NET;兩大(dà)二進制翻譯系統:x86和Arm。“我(wǒ)們不光要縱向構建自己的軟件生(shēng)态,橫向還能接入x86和Arm。”


“LoongArch指令系統正在與x86、Arm一(yī)樣成爲一(yī)個國際主流的指令系統,它以後還會開(kāi)源,但它跟RISC-V不一(yī)樣,RISC-V的開(kāi)源是美國人主導的,而我(wǒ)們LoongArch的開(kāi)源是我(wǒ)們中(zhōng)國人自己的開(kāi)源指令系統。雖然過去(qù)我(wǒ)們國内曾經有過一(yī)些自主研發的指令系統都沒成功,但是我(wǒ)相信我(wǒ)們的LoongArch是可以成功的。”胡偉武說道。




圖片



據介紹,LoongArch架構已得到國際開(kāi)源軟件界廣泛認可與支持,并已向GNU組織申請到ELF Machine編号(258号),即LoongArch的“身份證";Linux内核社區版本也将持續支持龍芯系列CPU和橋片。Binutils、GDB等基礎工(gōng)具已實現對LoongArch的原生(shēng)支持,ACPI國際标準中(zhōng)納入了對LoongArch架構特性的支持;GCC已實現與LoongArch架構的原生(shēng)支持,LLVM、GO已經初步實現對LoongArch架構的原生(shēng)社區支持;龍芯與.Net、V8、 Mozilla等社區緊密合作,基于LoongArch架構實現了Java、Javascript、 . Net等三大(dà)虛拟機運行環境。

龍芯3C5000服務器處理器發布:16核心性能媲美Arm 64核處理器

2021年7月,龍芯正式發布了首款基于自主研發的指令系統LoongArch的處理器芯片龍芯3A5000,性能實現大(dà)幅跨越,代表了我(wǒ)國自主CPU設計領域的最新裏程碑成果。

作爲首款基于LoongArch指令集系統的龍芯3A5000處理器,主頻(pín)爲2.3GHz-2.5GHz,包含4個處理器核心。每個處理器核心采用64位超标量GS464V自主微結構,包含4個定點單元、2個256位向量運算單元和2個訪存單元。龍芯3A5000集成了2個支持ECC校驗的64位DDR4-3200控制器,4個支持多處理器數據一(yī)緻性的HyperTransport 3.0控制器。龍芯3A5000支持主要模塊時鍾動态關閉,主要時鍾域動态變頻(pín)以及主要電(diàn)壓域動态調壓等精細化功耗管理功能。


根據龍芯中(zhōng)科公布的國内第三方測試機構的測試結果顯示,龍芯3A5000處理器在GCC編譯環境下(xià)運行SPEC CPU2006的定點、浮點單核Base分(fēn)值均達到26分(fēn)以上,四核分(fēn)值達到80分(fēn)以上。基于國産操作系統的龍芯3A5000桌面系統的Unixbench單線程分(fēn)值達1700分(fēn)以上,四線程分(fēn)值達到4200分(fēn)以上。上述測試分(fēn)值已經逼近市場主流桌面CPU水平,在國内桌面CPU中(zhōng)處于領先地位。


較上一(yī)代龍芯3A4000處理器,龍芯3A5000處理器在保持引腳兼容的基礎上,性能提升50%以上,功耗降低30%以上。


據龍芯中(zhōng)科副總裁 張戈介紹,此次發布的龍芯3C5000系列是龍芯面向服務器領域傾力打造的高性能通用處理器,采用全新的龍芯LoongArch自主指令系統,具備超強算力性能卓越的特點,可滿足通用計算大(dà)型數據中(zhōng)心雲計算中(zhōng)心的計算需求。


圖片

龍芯中(zhōng)科副總裁 張戈


在芯片設計方面,龍芯3C5000通過封裝集成了四個3A5000矽片,形成16核處理器,重點優化多核多路互聯效率。單芯片unixbench分(fēn)值9500以上,雙精度計算能力達560GFlops,16核處理器峰值性能與典型Arm 64核處理器的峰值性能相當,并支持最高16路互連,搭配新一(yī)代龍芯7A2000橋片,PCIe吞吐帶寬比上一(yī)代提升400%以上。可滿足通用計算、大(dà)型數據中(zhōng)心、雲計算中(zhōng)心的計算需求。


圖片



此外(wài),龍芯3C5000通過芯片級安全機制可爲等保2.0、可信計算、國密算法替代、網絡安全漏洞防護等提供CPU級内生(shēng)支持。


龍芯現階段的主要矛盾:應用生(shēng)态


縱觀龍芯CPU的發展曆程,胡偉武認爲,可以分(fēn)爲三個階段:


在2019年之前,龍芯面臨的主要矛盾是CPU性能不足。比如,在2013- 2015年龍芯第一(yī)代産品(3A1000、3B1500) 通用處理性能隻有市場主流産品的1/10,随後在2016-2018年推出的第二代産品(3A2000、 3A3000) ,3A3000性能是3A1000的4倍,解決了操作系統與硬件結合部的穩定性問題,達到基本可用。


圖片


在2019-2021年,龍芯推出了第三代産品(3A4000、3A5000、3C5000) ,尤其是自主LoongArch指令集的3A5000性能達到了3A3000的3倍,相比上一(yī)代的3A4000性能也提升了50%以上,功耗降低30%以上,逼近市場主流産品水平,達到了好用的程度。


但是,配套的國産操作系統成爲了龍芯當時面臨的主要矛盾。當時國内衆多“小(xiǎo)而散”的國産操作系統開(kāi)發團隊逐漸整合成了統信、麒麟兩大(dà)國産操作系統團隊,各自已有2000-3000人的規模。在這過程中(zhōng),龍芯需要解決操作系統與硬件結合部的兼容性問題,消除操作系統和硬件的組合“爆炸”。


“我(wǒ)們曾經有一(yī)個時期,每個整一(yī)個操作系統對每款整機都有适配,現在我(wǒ)們一(yī)個操作系統,不管誰的整機,比如隻要龍芯CPU裝上就能跑。”胡偉武說道。


随着自主LoongArch指令集的3A5000系列的推出,接下(xià)來,龍芯還将會推出第四代産品(3A6000、3A7000) ,屆時将達到市場主流産品水平。


據胡偉武透露,3A6000将會采用與3A5000相同的制裁工(gōng)藝(應該是12nm),将主要通過設計優化來提高性能。基于仿真結果,3A6000處理器單核SPEC CPU 2006定點/浮點base分(fēn)值(GCC)從26/28分(fēn)提高到35/45分(fēn),雙DDR4的Stream帶寬(峰值51. 2GBps)也将從25GBps提高到38GBps。


圖片



随着龍芯CPU性能的不斷提高,2022年起龍芯技術平台的主要矛盾也開(kāi)始轉向應用生(shēng)态。龍芯基礎軟件工(gōng)作重點也從操作系統與硬件結合部轉向操作系統與應用結合部。


三大(dà)舉措,構建LoongArch應用生(shēng)态


對此,龍芯采取了三大(dà)舉措:一(yī)個是夯實基礎;二是廣泛兼容,不光Linux内部的兼容,還要跟x86和Arm兼容;三是開(kāi)發自主應用,形成自主編程框架和編程語言。


爲此,龍芯除了持續與統信、麒麟等國産操作系統廠商(shāng)合作之外(wài),還面向信息化應用和工(gōng)控及終端應用分(fēn)别推出了龍芯基礎版操作系統Loongnix和龍芯基礎版操作系統LoongOS。


龍芯還完成了LoongArch基礎軟件體(tǐ)系(LBF)的建設,已經可以實現原生(shēng)支持Linux全部主流基礎軟件和應用環境。也就是說,在Linux平台上,x86、Arm有的,龍芯也有。


圖片


當然,Linux平台的開(kāi)放(fàng)性也引發了很多應用兼容性問題,包括打包格式不兼容,API環境不兼容,内核升級引起不兼容等等。爲了解決這一(yī)問題,龍芯推出了龍芯應用兼容框架(LCF)實現跨Linux版本應用兼容。


而爲了兼容各種x86、Arm應用,龍芯也推出了自研的x86架構翻譯系統(LATX)和Arm架構翻譯系統。胡偉武表示,這裏邊需要用到很多核心技術:首先LoongArch指令一(yī)定要加入一(yī)些x86和Arm功能的指令,這樣翻譯才會高效;其次,要做一(yī)個從x86架構到LoongArch架構的高效的二進制翻譯器;第三還要模拟出Windows環境來。


據介紹,目前龍芯在兼容x86/Windows應用方面,正按照“3+10+X”的節奏在推進。“3”指的是Windows打印機(Linux平台很多打印機驅動都沒有)、IE兼容的浏覽器、.NET虛拟機;“10”指的是10個常見的基礎應用。

圖片

胡偉武表示:“按照3+10+X的節奏,我(wǒ)們第一(yī)要把兼容性做好,第二是要把性能優化好,最後再把整個普通通用的平台做好。我(wǒ)覺得也許今年3+10可以做好,明年我(wǒ)們再把X也做好。”


此外(wài),爲了解決Linux及Windows生(shēng)态當中(zhōng)一(yī)些用戶經常遇到的浏覽器問題,龍芯還推出了自主開(kāi)發的兼容IE的龍芯浏覽器。比如,基于IE/Windows系統開(kāi)發的大(dà)量曆史應用(各類網頁元素及插件)無法在當前的Chrome等浏覽器上運行,像很多用戶登錄網銀都會遇到類似的問題。而龍芯浏覽器通過插件兼容技術、二進制翻譯、網頁元素兼容轉碼等關鍵技術,實現了對IE應于的兼容。


圖片


胡偉武自豪的表示:“我(wǒ)相信全球的Linux平台,隻有龍芯浏覽器能夠順利的登錄咱們的各家網銀。所以我(wǒ)經常說生(shēng)态是做出來的,不是跟出來的,不是說我(wǒ)跟x86兼容,我(wǒ)的生(shēng)态就肯定好,因爲人家的生(shēng)态也不一(yī)定好。”


最後,對于目前國内信創領域出現的,自主CPU和操作系統的整機産品需要無休止的遷移适配問題,龍芯也正在推動自主編程框架和編程語言的建立。


胡偉武指出,自主CPU和國産操作系統的整機産品需要無休止的遷移适配,是因爲運行在上面的應用都是基于國外(wài)的編程框架寫出來的。而Windows、安卓、iOS平台則不存在适配問題,因爲他們有自己的編程框架。


胡偉武強調,自主指令系統+自主編程框架是自主軟件生(shēng)态的底座。自主編程框架是自主操作系統的重要特征。目前的國産操作系統都不是真正意義上的自主操作系統,隻是開(kāi)源操作系統的自主發行版。APP開(kāi)發者使用自主編程框架進行編程才能徹底解決無休止的适配問題。


爲了解決這一(yī)問題,龍芯計劃推出自主龍芯自主編程框架LDF (Loongson appl ication Development Framework) 。據介紹,目前龍芯正在調研Windows、 IOS、 Android編程框架的特征,形成龍芯自主編程框架,争取2023/2024年推出。


圖片


“龍芯經過20年的發展,到2021年自主CPU和OS基本完成補課,自主CPU的應用軟件生(shēng)态正變得越來越好。龍芯将在‘十四五’期間努力完成‘三個轉變’:從技術‘補課’到生(shēng)态建設的轉變;從政策性市場到開(kāi)放(fàng)市場的轉變;從跟随性發展的‘必然王國到自主發展的自由王國的轉變。”胡偉武最後總結說到。


編輯:芯智訊-浪客劍



分(fēn)享上面的二維碼給朋友,即可直達此頁!