龍芯 LoongArch64 架構提供對 .NET 3.1 的支持

近日,龍芯中科 .NET 團隊完成了 .NET3.1-LoongArch64 平臺研發工作,研發的成功標誌着圍繞龍芯自主指令系統 LoongArch 的生態建設成果再進一步。

龍芯自主指令系統 LoongArch 基於龍芯二十年的 CPU 研製和生態建設積累,LoongArch 從頂層架構,到指令功能和 ABI 標準等,全部自主設計,不需國外授權。LoongArch 吸納了現代指令系統演進的最新成果,運行效率更高,相同的源代碼編譯成 LoongArch 比編譯成龍芯此前支持的 MIPS 指令系統,動態執行指令數平均可以減少 10%-20%。LoongArch 充分考慮兼容生態的需求,融合 X86、ARM 等國際主流指令系統的主要功能特性,並依託龍芯團隊在二進制翻譯方面十餘年的技術積累創新,實現跨指令平臺應用兼容。今年 7 月,龍芯中科發佈龍芯 3A5000 處理器,該產品是首款採用 LoongArch 的處理器芯片,性能逼近國際主流水平,這標誌着自主研發 CPU 的性能完全可以超過引進技術的 CPU,龍芯中科也開啓了從技術升級邁向全面生態建設。

.NET 對 LoongArch 生態建設意義重大

 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編譯優化技術、AOTGC、異常處理等方面,系統的做 LoongArch64 平臺的深度適配優化,並實踐龍芯的一系列原創技術框架方案。

多個應用場景已落地,未來與開發者緊密合作

目前,針對龍芯架構已經有不少應用場景。下圖是在 LoongArch64 運行 Loongnix 的信息:
龍芯 LoongArch64 架構提供對 .NET 3.1 的支持龍芯 LoongArch64 架構提供對 .NET 3.1 的支持

龍芯 LoongArch64 架構提供對 .NET 3.1 的支持龍芯 LoongArch64 架構提供對 .NET 3.1 的支持

下圖是在 LoongArch64 平臺運行 GitHub 上一個使用 ASP.NET Core 開發的開源項目 FlightFinder,查詢航班信息的截圖。

龍芯 LoongArch64 架構提供對 .NET 3.1 的支持龍芯 LoongArch64 架構提供對 .NET 3.1 的支持

下圖是完全在龍芯平臺上,使用 ASP.NET Core 的 Blazor 前端的 ant-design-blazor 表格組件,將龍芯平臺運行的測試集結果可視化的展示出來的一個實例程序。後續還會不斷增強功能,並對其內部機制做技術分析,保證在龍芯平臺更好的使用體驗。

龍芯 LoongArch64 架構提供對 .NET 3.1 的支持龍芯 LoongArch64 架構提供對 .NET 3.1 的支持

未來,龍芯中科將會加快完善 .NET-LoongArch 產品生態體系,爲用戶提供優質的使用體驗。同時,將與 .NET 領域開發愛好者保持良好互動,虛心收集整理專業開發者們提出的寶貴建議,甚至一些創造性的技術特性設想。

龍芯 .NET3.1-SDK-LoongArch64 版本的安裝包下載地址如下: http://www.loongnix.cn/index.php/Dotnet

 

原文來自:https://linux.cn/article-13815-1.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章