龍芯中(zhōng)科(kē)通過前期在MIPS架構的基礎上研發的指令集LoongISA所積累的經驗,徹底抛棄掉了MIPS自主研發設計了LoongArch,所以LoongArch本質(zhì)上仍然為(wèi)RISC指令集。
LoongISA(簡稱LISA)是龍芯中(zhōng)科(kē)技(jì )術有限公司注冊的自主CPU指令集架構(由MIPS指令集拓展而來,采用(yòng)MIPS的指令集格式)。LoongISA架構的指令集包括MIPS 部分(fēn)以及龍芯中(zhōng)科(kē)技(jì )術有限公司自主擴展的指令集。
最新(xīn)一代的龍芯3A5000就采用(yòng)的是LoongArch架構,它所使用(yòng)的是Linux操作(zuò)系統,在此操作(zuò)系統中(zhōng)除了運行原生的LoongArch程序,還能(néng)通過翻譯的方式兼容 MIPS、x86、ARM、RISC-V 這幾種指令集的Linux程序。
LoongISA兼容x86仍然是需要模拟器進行二進制翻譯的,隻不過由于指令和x86的對應關系是簡單的一對一或者一對二的關系,可(kě)以防止模拟器産(chǎn)生大量多(duō)餘的指令,大幅度減少性能(néng)損失,但是指令結構仍然是RISC的Load-Store+通用(yòng)寄存器結構,完全可(kě)以直接亂序執行,而不像x86處理(lǐ)器需要複雜的譯碼才能(néng)亂序執行。
為(wèi)提升國(guó)産(chǎn)處理(lǐ)器性能(néng):龍芯發力自主指令系統架構 向Intel/AMD看齊
近日有消息稱,龍芯不僅緻力于為(wèi)GCC編譯器和相關GNU工具鏈組件提供LoongArch指令級架構(IS)支持,還制定了要為(wèi)LoongArch實現LLVM主線(xiàn)支持的計劃。
回顧2021年,該公司一直忙于推出新(xīn)的MIPS CPU架構,同時緻力于Linux内核移植(以及開源代碼編譯器 / 相關組件)。若進展順利,國(guó)産(chǎn)高性能(néng)處理(lǐ)器也将能(néng)夠迎來更好的發揮。
自去年以來,他(tā)們一直緻力于LLVM支持。雖然初始目标僅與舊版本挂鈎,但在那之後,團隊一直在有針對性地開展LoongArch的移植重構(LLVM Git)。
期間他(tā)們還改進了測試的覆蓋率和代碼規範,以期在步入上遊 LLVM 存儲庫後持續改進相關代碼。過去數月,我們已經見到了與 LoongArch 相關的大量公開工作(zuò),但内部開發的工作(zuò)量也不該忽略。
LoongArch是一個精(jīng)簡指令系統,32位長(cháng)指令、32個通用(yòng)寄存器、32個浮點寄存器。用(yòng)戶态是給編譯器、程序設計者使用(yòng)。核心态在内存管理(lǐ)、控制寄存器的數量、規格都進行了大量的創新(xīn)性設計,是符合現代操作(zuò)系統的設計。
我們對LoongArch的性能(néng)進行了測試,在相同IP下,一個用(yòng)MIPS指令集,一個用(yòng)LoongArch指令集,可(kě)以看到,動态指令數下降了15%到20%,總體(tǐ)性能(néng)提升了12%左右。
LoongArch指令系統能(néng)夠支持二進制翻譯,融合了X86、ARM、MIPS、RISC-V指令系統的主要功能(néng)特性。
自主指令系統的生态是如何構建的。龍芯中(zhōng)科(kē)推出了二進制翻譯器,又(yòu)稱LAT翻譯體(tǐ)系。最底層是LoongArch架構的芯片,再往上是操作(zuò)系統,操作(zuò)系統往上有幾個維度:基于LoongArch的原生Linux應用(yòng),比如說本地化的辦(bàn)公、音視頻的應用(yòng)。
同時,龍芯中(zhōng)科(kē)推出了三個翻譯器:MIPS應用(yòng)往LoongArch上翻譯,ARM應用(yòng)往LoongArch上翻譯,X86應用(yòng)往LoongArch上翻譯,未來希望能(néng)夠做到:從MIPS翻譯過來百分(fēn)之百性能(néng)不損失,從ARM翻譯過來90%性能(néng)不損失,從X86翻譯過來做到80%的性能(néng)不損失。
除了自主性,指令集的兼容性也很(hěn)重要。龍芯中(zhōng)科(kē)基于二十年的CPU研制和生态建設積累推出的LoongArch指令系統,充分(fēn)考慮兼容生态的需求,融合X86、ARM等國(guó)際主流指令系統的主要功能(néng)特性,并依托龍芯研發團隊在二進制翻譯方面十餘年的技(jì )術積累創新(xīn),可(kě)實現跨指令平台應用(yòng)兼容,從而達到融合生态的目的。
目前,Photoshop、微信、一些遊戲都可(kě)以在國(guó)産(chǎn)平台上很(hěn)好地運行,生态是有保障的,包括一些主流的Linux應用(yòng)框架都可(kě)以原生支持。國(guó)産(chǎn)操作(zuò)系統廠商(shāng)統信和麒麟也都推出了對應的國(guó)産(chǎn)操作(zuò)系統版本。
關于LoongArch平台的AI計算,龍芯中(zhōng)科(kē)構建了全域異購(gòu)AI硬件支撐體(tǐ)系,龍芯CPU+GPGPU、龍芯CPU+ASIC、龍芯CPU+FGPA分(fēn)别應用(yòng)于通用(yòng)AI計算和專用(yòng)AI計算。軟件方面,龍芯中(zhōng)科(kē)構建多(duō)層級AI軟件生态體(tǐ)系,包括系統支撐、計算框架、算法模型層級,AI領域有完整的解決方案。
目前圍繞龍芯中(zhōng)科(kē)的産(chǎn)業合作(zuò)夥伴已經有上千家,通過一系列的措施,包括标準建設、開源軟件建設、解決方案提供、安(ān)全體(tǐ)系、産(chǎn)品認證、人才培養、出版書籍等,從多(duō)個維度構建LoongArch産(chǎn)業生态體(tǐ)系。
即使短時間内無法與Intel/AMD等芯片行業巨頭相匹敵,LoongArch能(néng)夠像俄羅斯Elbrus CPU一樣成為(wèi)國(guó)産(chǎn)佳品,也是具有相當重要的意義的。我們也期待能(néng)把龍芯引入我們的工業主闆系列中(zhōng),做一塊“中(zhōng)國(guó)芯”的工業主闆。