龍芯 LoongArch64 架構支援 .NET 3.1

2021-09-25 09:00:17

近日,龍芯中科其 .NET 團隊完成了 .NET 3.1-LoongArch64 平臺研發工作。

龍芯 .NET 團隊稱,為了更好地支援 LoongArch64 架構特點,他們對整個後端指令構建系統進行了創新重構設計。同時,也針對位元組碼載入、JIT 語法樹、ABI 規範、函數棧幀設計、GC、例外處理等重要模組,都做了適應 LoongArch 架構特點的優化,為龍芯後續深度參與社群打好基礎。

龍芯對外發布 .NET3.1-SDK-LoongArch64 版本的安裝包下載頁面:

在完成 .NET6-LoongArch64 研發後,龍芯團隊表示會逐步開始從 C# 語言編譯器、中間位元組碼、JIT 編譯優化技術、AOT、GC、例外處理等方面,系統地做 LoongArch64 平臺的深度適配優化,並實踐龍芯的一系列原創技術框架方案。

據介紹,龍芯自主指令系統 LoongArch 從頂層架構,到指令功能和 ABI 標準等,全部自主設計,不需要國外授權。LoongArch 吸納了現代指令系統演進的最新成果,因此它的執行效率更高,相同的原始碼編譯成 LoongArch 比編譯成龍芯此前支援的 MIPS 指令系統,動態執行指令數平均可以減少 10%-20%。

LoongArch 還融合了 X86、ARM 等國際主流指令系統的主要功能特性,並依託龍芯團隊在二進位制翻譯方面十餘年的技術積累創新,實現跨指令平臺應用相容。

目前,針對龍芯架構已經有不少應用場景。下圖是在 LoongArch64 執行 Loongnix 資訊。

下圖是在 LoongArch64 平臺執行一個使用 ASP.NET Core 開發的開源專案 FlightFinder,查詢航班資訊的截圖。

下圖是完全在龍芯平臺上,使用 ASP.NET Core 的 Blazor 前端的 ant-design-blazor 表格元件,將龍芯平臺執行的測試集結果視覺化地展示出來的一個範例程式。

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

展開閱讀全文