自主指令架构取代Arm和x86,LoongArch的未来“野心”

描述

在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。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分