无论是出于国家战略安全的考虑,还是产业升级的需要,国产CPU的研发和应用都要提升到一个全新的高度。凭借这些年来逐步积累的经验,持续加大的研发投入和很大的工艺提升空间,国产CPU已经在缩小与国际水平的差距。同时,AI、5G、物联网等新技术也带来新的计算需求,促使国产CPU进入快速发展阶段。

 

在这个崛起的过程中,还有一个必须要攻克的关隘,那就是指令集架构。不能自主掌控指令集架构,国产CPU就不能实现真正意义上的飞跃。近日,龙芯自主指令系统架构(Loongson Architecture,以下简称龙芯架构或LoongArch)的基础架构通过国内第三方知名知识产权评估机构的评估,并在2021年信息技术应用创新论坛主论坛上正式对外发布,标志着国产CPU已经跨入了一个新时代。

 

 

掌握主动权从IP核做起

当前,要构建独立于WIntel体系和AA体系的安全可控的信息技术体系和产业生态,必须要解决三大环节的问题。

 

首先是基于自主IP核的芯片设计。因为一个芯片的性能、成本、功耗还有安全性,主要是由里面的IP决定,而不是由芯片本身决定。作为国产CPU代表的龙芯,其主要的IP内核都是自己研发设计的,从而能做到对芯片性能的全面掌控。

 

二是基于自主指令系统的软件生态。指令系统是整个CPU的中枢,具体是指一种类型CPU中用来计算和控制计算机系统的一套指令的集合。指令系统主要规定了指令格式、寻址访存、数据类型、寄存器等,是承载软件生态的基础,比如X86承载计算机生态,ARM承载手机生态。

 

因为位于整个芯片“食物链”的最顶端,全球只有Intel、ARM等少数几家指令系统架构供应商,它们的下游是数千家芯片设计公司。所以,无论从国家竞争力、国家安全、经济发展等哪一方面看,研发自主指令系统对建立自主的芯片行业标准和生态都具有重大的战略意义。而基于自研的指令系统,龙芯可以构筑一个自主可控的生态系统。

 

三是基于自主材料设备的生产工艺,特别是CPU的生产工艺。

 

在过去20年的开发过程中,龙芯已经积累了有上百种IP,包括最核心的GPU都可以做到自主研发。以SPEC CPU2006定点分值来算,市场主流产品的跑分是20到40之间,龙芯最新的3A5000已经可以达到30分。这就证明了基于自主IP核研发的国产CPU,经过多次迭代,性能是可以逼近、达到世界主流水平的。

 

“在别人的墙基上砌房子,再大再漂亮也可能经不起风雨,甚至会不堪一击”,而指令系统就是信息产业的墙基,基于国外授权的指令系统难以建设自主的信息技术体系和产业生态,这是业内已经形成的一致看法。

 

现在,基于自主开发的龙芯CPU的IP核心,再加上使用成熟的制程工艺,可以从根本上杜绝国产CPU被卡脖子的风险。

 

属于国人的龙芯架构

龙芯架构是龙芯中科基于二十年的CPU研制和生态积累所推出的,包括基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,近2000条指令。

 

 

完全自主、技术先进、兼容生态是龙芯架构的三大特点。

 

首先,从整个架构的顶层规划,到各部分的功能定义,再到细节上每条指令的编码、名称、含义,在架构上进行自主重新设计,龙芯架构具有充分的自主性。

 

其次,摒弃了传统指令系统中部分不适应当前软硬件设计技术发展趋势的陈旧内容,吸纳了近年来指令系统设计领域诸多先进的技术发展成果。同原有兼容指令系统相比,不仅在硬件方面更易于高性能低功耗设计,而且在软件方面更易于编译优化和操作系统、虚拟机的开发。

 

第三,在设计时充分考虑兼容生态需求,融合了各国际主流指令系统的主要功能特性,同时依托龙芯团队在二进制翻译方面十余年的技术积累创新,不仅能够确保现有龙芯电脑上应用二进制的无损迁移,而且能够实现多种国际主流指令系统的高效二进制翻译。

 

指令系统既自主又兼容是可以的,但需要对计算机系统的融会贯通。这里可以总结为3+3+3的9个能力。第一个3是3个基础编译器:GCC、LLVM、GOLANG;第二个3是3个虚拟机:Java虚拟机,JavaScript虚拟机和.NET虚拟机;第三个3是3个二进制翻译系统,也就是对MIPS、X86和ARM系统的翻译。通过多年积累,龙芯已经掌握了上述3+3+3的能力,可以实现对计算机系统的融会贯通。

 

此外,龙芯中科还专门委托国内第三方知名知识产权评估机构对龙芯基础架构进行深入细致的知识产权评估。从2020年二季度开始,双方投入上百人月,将LoongArch与ALPHA、ARM、MIPS、POWER、RISC-V、X86等国际上主要指令系统有关资料和几万件专利进行深入对比分析。

 

2021年1月,针对被评估的基础架构版本该评估机构认为:(1)LoongArch在指令系统设计、指令格式、指令编码、寻址模式等方面进行了自主设计。(2)LoongArch指令系统手册在章节结构、指令说明结构和指令内容表达方面与上述国际上主要指令系统存在明显区别。(3)未发现LoongArch基础架构对上述国际主要指令系统中国专利的侵权风险。

 

构筑强大生态

生态是CPU成败的一个关键。传统PC市场上,英特尔引领X86 CPU的发展并领导着一批 PC 硬件和制造企业为其适配;在移动终端市场,ARM架构则主导着整个产业的走向。

 

在国内,物联网市场正蓬勃发展,众多传统产业也面临智能化革新之机遇,国产CPU要发挥引领者的作用,必须要建立一个良好的生态。

 

本次发布的龙芯架构中,很重要的一点就是具有高效的二进制翻译。通过以兼容方式保留现有生态,鼓励合作企业把软件编译为龙芯架构,就可以得到更高性能的原生程序。龙芯中科将持续改进龙芯架构的二进制翻译的硬件支持和软件优化,争取在2025年消除指令系统间的壁垒。

 

为了让国产软件在国产CPU平台上运行的更好,龙芯中科还提供了Loongnix操作系统,支持下游的OS企业和整机企业完成统信、麒麟,WPS等基础软件的迁移。

 

在IP建设方面,龙芯中科也做了很多细致的工作。比如,龙芯中科已经在一定范围内发布龙芯架构的基础架构指令系统手册。待完成评估后,龙芯中科将在更大范围内发布更完整的龙芯指令系统手册。同时,龙芯中科还在建立龙芯架构的上游社区分支。

 

最重要的是,龙芯中科还将联合产业链伙伴在适当的时间建立开放指令系统联盟,在联盟成员内免费共享龙芯架构及有关龙芯IP核。据悉,龙芯是国内目前唯一一家,能够对外授权指令集和IP的通用CPU企业。

 

在2020年,龙芯中科发起成立了“龙芯生态适配服务产业联盟”,在过去的一年中,联盟充分发挥产业协同优势,推动联盟成员资源共享以及生态适配、帮助提高联盟技术人员适配能力、联合打造行业生态解决方案。

 

截止目前,龙芯中科已在全国成立了八个子公司,并与70余家公司共同组建龙芯生态适配服务产业联盟,实现资源互动。相信随着龙芯架构的发布,整个龙芯CPU生态将会得到更长足的发展,而国产CPU行业也将走上一条独立自主之路。