龙芯自主指令集LoongArch为什么是全新指令集,和MIPS不同在哪儿?| 辟谣
龙科多工作室
编辑于 2023年10月31日 04:30

公号和视频做过好几次龙芯,结果后台收到不少留言,提了不少问题:性能赶上来了,商业化生态如何推广建立呢?龙芯指令集生态建设方面是落后于RISC-V? 也发现有些小伙伴对龙芯自主指令集LoongArch不大了解,引用外面一些有误的分析。

龙科多这个周末码了一些文字,打算回应下大家的问题。今天的内容先回应下当前个别对龙芯自主指令集LoongArch的质疑声音,相关质疑是站不住脚的,根本不存在所谓盗版MIPS指令集。

LoongArch非常年轻,是2020年才推出来的。相比一下,指令集开源的RISC-V,近些年也比较火热,2010年就创立了。LoongArch虽然年轻,背后却是有着近20年CPU研发经验的龙芯公司,此外,也不是一般意义上的精简指令集,而是既包括基础架构部分,也包括向量指令、虚拟化、二进制翻译等扩展部分,近2000条指令。

LoongArch指令集,还摒弃传统指令系统中陈旧落伍的内容,吸纳近年来指令集设计领域诸多先进的技术发展成果。比如说,重新设计的指令格式,可以包含更多的指令槽,有利于以后持续技术演进。再比如说,充分考虑生态现状,通过二进制翻译的方式,兼容ARM、X86架构,可以将后面两类处理器上的二进制程序翻译到龙芯上运行。

圈内人都知道,龙芯创始人胡伟武非常强调技术独立性,他说:用自主研发指令系统做芯片,虽然从0到1的过程艰难,但能实现真正自主可控。不过,这两年,一直有人在怀疑loongArch自主性,认为是龙芯盗版、魔改的MIPS指令集。其实这种质疑也拿不出什么有说服力的理由,无非就是揪着一点不放,即龙芯过去一直是基于MIPS授权开发处理器。

这里,龙科多要解释一下,无论是专业机构评估,还是技术细节分析来看,LoongArch都是一套全新指令集。从2020年第二季度开始,龙芯与第三方合作,将loongArch与国际上主要指令集进行了深入对比,包括几万件专利分析,未发现对国际上主要指令系统中国专利有侵权风险。工信部给出的评估是,LoongArch指令系统手册,在章节结构、指令说明结构、指令内容表达方面,与国际主要指令系统存在明显区别。

技术上看,与MIPS相比,LoongArch重新设计后,可用的指令格式多达10种,包含3种无立即数格式和7种有立即数格式。比如说,单条指令支持的立即数从MIPS的最大16位,扩展到最大24位;分支跳转偏移也从64K扩展到1M字节;寻址空间从固定分段改变为单一平面;

这些技术细节听起来很绕,总结成一句话,效能大大提高。例如,在Coremark测试中,程序运行过程中执行的指令总数,LoongArch为MIPS的83%,相当于运行效率提高了20%。LoongArch指令集计算CRC32的速度则是MIPS的4倍。

不过,就如龙科多之前多次提到的,开发一套指令集并不难,难的是建立一套完整的生态。最新的龙芯3A6000,在单核性能上已经能与对标10代酷睿。但如果龙芯无法在商业生态上有所突破,不能把技术优势转化为商业优势,面对“氪金”的友商,面对商业热度高涨的ARM、RISC-V,在市场竞争中恐怕会长期处于劣势。

明天的内容,我们接续聊龙芯如何推广建设生态。