龙芯 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

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