龙芯中科自主设计的LoongArch指令集发布之后,大家对自主软件生态建设存在一些疑问。龙芯的做法是不等不靠,自己完善基础软件环境,再配合合作伙伴们在基础环境上搭建上层应用。尽管LoongArch可以通过二进制翻译方式兼容基于x86和ARM等主流生态的应用软件,但龙芯中科认为基础软件必须都是LoongArch原生版本,才有利于自主生态的发展,以及LoongArch指令集的推广。
日前,在龙芯开源社区(Loongnix.cn)上,龙芯中科发布了其“龙芯浏览器”的最新版本。与以往不同的是,此次发布的浏览器提供了LoongArch、MIPS、ARM、x86四个平台的安装包,这是首个公开发布的支持LoongArch指令集的应用软件。虽然首款支持LoongArch指令的CPU龙芯3A5000尚未发布,但已有许多合作企业(整机厂商、软件企业)拿到了测试版的CPU以及LoongArch指令集手册,这次发布的LoongArch版的软件应该主要是供合作企业测试使用。而MIPS版则继续兼容以往的龙芯CPU,ARM和x86的版本也是首次出现,大概是因为龙芯CPU最早尝试在党政办公环境中应用Linux,通过长期的适配和改进,对各种Web办公系统在Linux环境中的兼容性有特有的优势,其它浏览器无法在短期内达到相同的水平。
“龙芯浏览器”是龙芯中科以chromium开源内核二次开发的浏览器软件,针对龙芯的CPU和操作系统进行了大量优化。主要基于龙芯CPU优化了JavaScript运行效率、视频解码性能、图形图像渲染性能等,并支持国家商用密码算法模块和国产安全协议模块、本地数据加密等安全特性,还针对政企办公系统的现状,反向移植了对npapi插件和flash播放的支持,这也是其它的Linux下的浏览器软件没有的特性。
“龙芯浏览器”是龙芯中科的首款“公开发布”的支持LoongArch的应用程序,而尚未公开的应用程序实际上更多。龙芯中科已经完成了基于Linux内核开发的Loongnix系统及基础软件向LoongArch指令集的迁移,其中开源软件包的迁移已经超过2万个。GCC、LLVM、Golang编译器已经完成了对LoongArch指令集的支持,龙芯自行开发及移植的Java虚拟机、JS引擎、.Net虚拟机等也完成了迁移。合作企业的UOS、麒麟操作系统也完成了对LoongArch的兼容,WPS也已经完成了迁移。
对于尚未完成迁移的龙芯原有软件生态,可以通过二进制翻译流畅运行,且几乎不损失性能。龙芯的二进制翻译还支持x86的应用程序,目前对x86应用程序的翻译运行效率超过60%,目标是80%。但龙芯中科放弃了翻译整个Windows操作系统的计划,而仅支持Windows应用程序,因为如果兼容了Windows系统,虽然在短期内会有较好的市场表现,但长期来看是不利于自主软件生态健康发展的,与龙芯保障信息技术产业安全的宗旨相悖。
龙芯中科将在今年6月发布首款支持LoongArch指令集的CPU,型号为3A5000,使用12nm制程,4核主频2.5GHz。SPEC2006_CPU(GCC编译)测试Int得分预计base成绩超过25,peak成绩超过30,与当前的3A4000相比整体性能提升约50%左右。在3A5000的发布会上,同时可能发布16芯的3C5000L,下半年则会流片完成64核的3E5000。