在4月19日结束的第四届关键信息基础设施自主安全创新论坛上,龙芯中科董事长胡伟武对龙芯的自主指令系统架构LoongArch进行了深度解析,介绍了LoongArch的发展过程、自主与兼容性以及未来的计划。
自主指令架构的必要性
目前国内市场的CPU既有自主研发的、引进Arm等技术以及合资公司开发的,这其中龙芯的CPU产品自主性最强,但仍然面临着指令集架构和生产工艺受制于人的“卡脖子”问题。
龙芯中科认为自主体系建设包括三个环节,基于自主IP核的芯片设计、基于自主指令系统的软件生态和基于自主材料设备的生产工艺。而龙芯此前在自主IP核的芯片设计上取得了不菲的成绩,多款CPU已经完成了性能补课,逼近了市场主流的CPU。如今LoongArch的面世就是在CPU应用上做出的又一大努力。
LoongArch的兼容性
胡伟武还提到,指令系统是信创产业绕不过去的话题,我国不可能基于国外的指令系统建设自主信息产业生态。兼容指令系统虽然可以直接利用x86和Arm的现成软件生态,但因为x86不授权,而Arm的授权又存在严格限制,均会会阻碍自主基础软件的发展。
因此龙芯对LoongArch的定位是一个考虑兼容需求的自主指令系统,纪要摒弃过时技术做到当代指令集的先进性,又要兼容x86、MIPS和Arm指令系统的主要特点,同时在指令槽上留有余地,方便指令系统的未来持续演进。
LongISA与LongArch架构的对比 / 龙芯中科
过去的LoongISA指令集由MIPS拓展而来,MIPS上的通用软件生态也有龙芯的建设和维护。但龙芯随后发现MIPS的发展空间有限,便开发了近2000条指令的龙芯自主架构LoongArch。在相同的微结构和硬件下进行测试,LoongArch的动态指令数与MIPS相比减少了15%到20%,大幅提高了性能。
LoongArch通过对二进制翻译的支持,融合了x86、Arm、MIPS和RISC-V指令系统的主要功能,比如x86和Arm的EFLAG值模拟、RISC-V中丰富的同步指令等。借助高效的翻译引擎,龙芯引擎仅在翻译x86应用上实现了大于60%的性能,在翻译安卓Arm应用上,已经可以流畅运行移动版WPS和美图秀秀等应用。
龙芯二进制翻译系统LAT的设计目标为“十九八”,即翻译MIPS Linux应用做到目标效率100%,翻译Arm Android应用做到90%的效率,而x86的Linux/Windows应用动态翻译做到80%的效率(5%误差)。
LoongArch未来计划
龙芯已经委托第三方机构对LoongArch做知识产权的分析,目前已经完成国内部分,预计今年完成国际部分。未来龙芯还将组建LoongArch技术联盟,在联盟内免费开放LoongArch,以及部分Cortex A53以下性能的处理器IP核。同时龙芯将对LoongArch做简化处理,形成百条指令的小系统在高校范围内推广,取代RISC-V。
龙芯也会持续改进LoongArch二进制翻译的硬件支持和软件优化,力求借助二进制翻译在2025年消除各大指令系统之间的壁垒。龙芯还提到,2020年起流片的龙芯CPU均支持LoongArch,不再像过去一样支持已经趋于弱势的MIPS。
小结
LoongArch的出现无疑是国内自主指令集迈出的一大步,与去年“十九八七”的预定目标相比,龙芯今年再一次将目标提升至“十九八”。作为仍在不断完善的翻译系统,相信LoongArch未来必将彻底打破不同指令系统间的隔阂。
优秀的翻译系统对于软件生态来说至关重要,就拿苹果的macOS来说,M1芯片的Macbook通过Rosetta 2对过去x86的软件进行了转译,从而流畅运行兼容软件,这也省去了不少编译和二次开发工作。LoongArch与龙芯自主的IP核已经为自主体系的建设打通了两环,剩下的就是靠国内的生产工艺攻关了,龙芯自己用到的最高规格工艺已经达到12nm,未来想要进一步实现性能突破,先进工艺同样是不可或缺的。
本文由电子发烧友原创,转载请注明以上来源。如需入群交流,请添加微信elecfans999,投稿爆料采访需求,请发邮箱huangjingjing@elecfans.com。
全部0条评论
快来发表一下你的评论吧 !