近日,龍芯中科 .NET 團隊完成了 .NET3.1-LoongArch64 平臺研發工作,研發的成功標誌着圍繞龍芯自主指令系統 LoongArch 的生態建設成果再進一步。 |
龍芯自主指令系統 LoongArch 基於龍芯二十年的 CPU 研製和生態建設積累,LoongArch 從頂層架構,到指令功能和 ABI 標準等,全部自主設計,不需國外授權。LoongArch 吸納了現代指令系統演進的最新成果,運行效率更高,相同的源代碼編譯成 LoongArch 比編譯成龍芯此前支持的 MIPS 指令系統,動態執行指令數平均可以減少 10%-20%。LoongArch 充分考慮兼容生態的需求,融合 X86、ARM 等國際主流指令系統的主要功能特性,並依託龍芯團隊在二進制翻譯方面十餘年的技術積累創新,實現跨指令平臺應用兼容。今年 7 月,龍芯中科發佈龍芯 3A5000 處理器,該產品是首款採用 LoongArch 的處理器芯片,性能逼近國際主流水平,這標誌着自主研發 CPU 的性能完全可以超過引進技術的 CPU,龍芯中科也開啓了從技術升級邁向全面生態建設。
以 C#、F#、VB 編程語言爲代表的 .NET 一站式多平臺 & 多框架的軟件開發生態圈,可廣泛應用於各種生產環境中,其應用範圍包括網頁應用、桌面辦公系統、編程框架、數據庫、區塊鏈、機器學習等。很多應用程序都要求支持 C#、F#、VB 語言的虛擬機SDK運行環境。尤其最近兩年,其開發模式在快速擴充迭代,已經從 .NET Core 升級到 .NET 標準框架,.NET 一站式多平臺 & 多框架的軟件開發生態圈統一平臺已經形成。
隨着龍芯業務的不斷擴展,支撐以 C#、F#、VB 爲代表的 .NET 應用已經成爲實際迫切需求;同時,.NET 一站式多平臺 & 多框架的軟件開發生態圈,對圍繞龍芯平臺構建的軟件生態“第三極”也是不可缺少的平臺。
龍芯 .NET 團隊爲了更好的支持 LoongArch64 架構特點,對整個後端指令構建系統進行了創新重構設計,同時,也從字節碼加載、JIT 語法樹、ABI 規範、函數棧幀設計、GC、異常處理等重要模塊,都做了適應 LoongArch 架構特點的優化,也爲後續龍芯後續深度參與社區打好基礎。
在 2021 年下半年完成社區 .NET6-LoongArch64 研發後,龍芯團隊會逐步開始從 C# 語言編譯器、中間字節碼、JIT編譯優化技術、AOT、GC、異常處理等方面,系統的做 LoongArch64 平臺的深度適配優化,並實踐龍芯的一系列原創技術框架方案。
目前,針對龍芯架構已經有不少應用場景。下圖是在 LoongArch64 運行 Loongnix 的信息:
下圖是在 LoongArch64 平臺運行 GitHub 上一個使用 ASP.NET Core 開發的開源項目 FlightFinder,查詢航班信息的截圖。
下圖是完全在龍芯平臺上,使用 ASP.NET Core 的 Blazor 前端的 ant-design-blazor 表格組件,將龍芯平臺運行的測試集結果可視化的展示出來的一個實例程序。後續還會不斷增強功能,並對其內部機制做技術分析,保證在龍芯平臺更好的使用體驗。
未來,龍芯中科將會加快完善 .NET-LoongArch 產品生態體系,爲用戶提供優質的使用體驗。同時,將與 .NET 領域開發愛好者保持良好互動,虛心收集整理專業開發者們提出的寶貴建議,甚至一些創造性的技術特性設想。
龍芯 .NET3.1-SDK-LoongArch64 版本的安裝包下載地址如下: http://www.loongnix.cn/index.php/Dotnet