龙芯中科通过前期在MIPS架构的基础上研发的指令集LoongISA所积累的经验,彻底抛弃掉了MIPS自主研发设计了LoongArch,所以LoongArch本质上仍然为RISC指令集。
LoongISA(简称LISA)是龙芯中科技术有限公司注册的自主CPU指令集架构(由MIPS指令集拓展而来,采用MIPS的指令集格式)。LoongISA架构的指令集包括MIPS 部分以及龙芯中科技术有限公司自主扩展的指令集。
最新一代的龙芯3A5000就采用的是LoongArch架构,它所使用的是Linux操作系统,在此操作系统中除了运行原生的LoongArch程序,还能通过翻译的方式兼容 MIPS、x86、ARM、RISC-V 这几种指令集的Linux程序。
LoongISA兼容x86仍然是需要模拟器进行二进制翻译的,只不过由于指令和x86的对应关系是简单的一对一或者一对二的关系,可以防止模拟器产生大量多余的指令,大幅度减少性能损失,但是指令结构仍然是RISC的Load-Store+通用寄存器结构,完全可以直接乱序执行,而不像x86处理器需要复杂的译码才能乱序执行。
为提升国产处理器性能:龙芯发力自主指令系统架构 向Intel/AMD看齐
近日有消息称,龙芯不仅致力于为GCC编译器和相关GNU工具链组件提供LoongArch指令级架构(IS)支持,还制定了要为LoongArch实现LLVM主线支持的计划。
回顾2021年,该公司一直忙于推出新的MIPS CPU架构,同时致力于Linux内核移植(以及开源代码编译器 / 相关组件)。若进展顺利,国产高性能处理器也将能够迎来更好的发挥。
自去年以来,他们一直致力于LLVM支持。虽然初始目标仅与旧版本挂钩,但在那之后,团队一直在有针对性地开展LoongArch的移植重构(LLVM Git)。
期间他们还改进了测试的覆盖率和代码规范,以期在步入上游 LLVM 存储库后持续改进相关代码。过去数月,我们已经见到了与 LoongArch 相关的大量公开工作,但内部开发的工作量也不该忽略。
LoongArch是一个精简指令系统,32位长指令、32个通用寄存器、32个浮点寄存器。用户态是给编译器、程序设计者使用。核心态在内存管理、控制寄存器的数量、规格都进行了大量的创新性设计,是符合现代操作系统的设计。
我们对LoongArch的性能进行了测试,在相同IP下,一个用MIPS指令集,一个用LoongArch指令集,可以看到,动态指令数下降了15%到20%,总体性能提升了12%左右。
LoongArch指令系统能够支持二进制翻译,融合了X86、ARM、MIPS、RISC-V指令系统的主要功能特性。
自主指令系统的生态是如何构建的。龙芯中科推出了二进制翻译器,又称LAT翻译体系。最底层是LoongArch架构的芯片,再往上是操作系统,操作系统往上有几个维度:基于LoongArch的原生Linux应用,比如说本地化的办公、音视频的应用。
同时,龙芯中科推出了三个翻译器:MIPS应用往LoongArch上翻译,ARM应用往LoongArch上翻译,X86应用往LoongArch上翻译,未来希望能够做到:从MIPS翻译过来百分之百性能不损失,从ARM翻译过来90%性能不损失,从X86翻译过来做到80%的性能不损失。
除了自主性,指令集的兼容性也很重要。龙芯中科基于二十年的CPU研制和生态建设积累推出的LoongArch指令系统,充分考虑兼容生态的需求,融合X86、ARM等国际主流指令系统的主要功能特性,并依托龙芯研发团队在二进制翻译方面十余年的技术积累创新,可实现跨指令平台应用兼容,从而达到融合生态的目的。
目前,Photoshop、微信、一些游戏都可以在国产平台上很好地运行,生态是有保障的,包括一些主流的Linux应用框架都可以原生支持。国产操作系统厂商统信和麒麟也都推出了对应的国产操作系统版本。
关于LoongArch平台的AI计算,龙芯中科构建了全域异购AI硬件支撑体系,龙芯CPU+GPGPU、龙芯CPU+ASIC、龙芯CPU+FGPA分别应用于通用AI计算和专用AI计算。软件方面,龙芯中科构建多层级AI软件生态体系,包括系统支撑、计算框架、算法模型层级,AI领域有完整的解决方案。
目前围绕龙芯中科的产业合作伙伴已经有上千家,通过一系列的措施,包括标准建设、开源软件建设、解决方案提供、安全体系、产品认证、人才培养、出版书籍等,从多个维度构建LoongArch产业生态体系。
即使短时间内无法与Intel/AMD等芯片行业巨头相匹敌,LoongArch能够像俄罗斯Elbrus CPU一样成为国产佳品,也是具有相当重要的意义的。我们也期待能把龙芯引入我们的工业主板系列中,做一块“中国芯”的工业主板。