龙芯中科成功发布新一代自主指令集 我国芯片系统架构开启新纪元
2021/4/28 16:07:38
近期,龙芯中科发布了新一代自主指令系统架构——龙芯架构(Loong Arch)。据了解,该系统架构已经通过国内第三方知名知识产权评估机构的评估。支持该架构的龙芯3A5000处理器芯片已经流片成功。基于新架构的完整操作系统也已经在3A5000计算机上稳定运行。龙芯中科指令集的开发成功为我国系统架构开启了新的纪元,对于产业生态体系的建设和完善产生巨大的助力。
不能在别人的地基上砌房子
在半导体芯片领域,指令系统是一切软硬件生态的起点。其中,ARM和X86最为人们所熟知,它们分别隶属于RISC精简指令集和CISC复杂指令集。随着物联网、5G、AI新兴领域的兴起,RISC-V和MIPS两大精简指令集架构也频繁地出现在人们的视野内。
近年来,尽管本土芯片都在各自领域取得了不俗的成绩,但其底层的指令集根基往往掌握在别人手里。例如,华为麒麟采用的是ARM架构、兆芯所采用的是X86架构、申威采用的是Alpha架构、龙芯所采用的是MIPS架构。这导致了芯片和指令集之间,往往是“一荣俱荣,一损俱损”。MIPS最初开发的目的是面向注重速度和性能的高性能计算,在功耗和面积上有所欠缺,商业化后存在一定不足,一度导致采用MIPS架构的龙芯芯片发展滞后。
“若想寻求长远发展,我们不能基于国外指令系统建设自主的信息生态体系。这就好比,我们不能在别人的地基上砌房子,那样的房子,就算建好了,也没有自主权。”龙芯中科技术有限公司董事长、中国科学院计算技术研究所研究员胡伟武说道。
因此,发展本土自主可控的指令集,成为了半导体产业关注的焦点,也是打破核心技术垄断的关键。赛迪智库分析师钟新龙认为,此次龙芯推出自主指令架构,最大的突破在于摆脱了MIPS的束缚。如今,MIPS已不适应现代CPU高性能设计,以及高性能操作系统的架构体系,因此,若想更好地对CPU性能进行提升,需要对指令集系统进行一个较大的调整和性能的提升。据悉,此次发布的龙芯架构,在仿真测试中,仅仅在CPU译码部分,就比MIPS的性能增加了16%。
兼容并济是市场竞争关键
尽管打造一套本土自主可控的指令集异常关键,然而,若想在ARM、X86、RISC-V以及MIPS所垄断的市场中寻找生存机遇,如何能够兼容不同的指令集也是最为关键的一环。胡伟武表示,如果把C语言、JAVA语言等直接翻译成新的指令系统,不仅会降低效率,还会使产品性能大幅降低。
此次新推出的龙芯架构最大的特点不仅仅在于自主性,而是在具备自主性的同时,也可以兼容其他主流指令集。这是本次发布指令集的一大突破。胡伟武表示,此次推出的龙芯架构包括基础架构部分,以及向量扩展LSX、高级向量扩展LASX、虚拟化LVZ、二进制翻译LBT等扩展部分,总共接近2000条指令,同时不包含龙芯此前使用的MIPS指令系统。
可见,此次推出的龙芯架构从整个架构的顶层规划,到各部分的功能定义,再到细节上每条指令的编码、名称、含义,在架构上进行了自主重新设计,具有充分的自主性,同时也能兼容多种主流指令系统。
据胡伟武介绍,若想做到指令集既自主又兼容,需要满足三点基本要求:第一,先进性,需要企业不断吸收近年来指令集发展的先进技术成果,并适度摒弃一些“过时”的技术特征。第二,兼容性,需要融合X86、MIPS、ARM指令系统的主要特点,高效支持二进制翻译。第三,扩展性,指令槽需要留有余地,有利于日后的持续演进。
建立既自主又兼容的指令集并非易事。尽管本土指令集需要本着“不能在别人的地基上砌房子”的初心,但是也需要保证在拥自己的“地基”后,让更多人来“砌房子”。兼容并济,海纳百川,是本土指令集立足于市场,参与竞争的关键一环。
消除指令系统间的壁垒
在打造既兼容又自主的系统生态过程中,消除指令系统壁垒是本土指令集顺利发展的又一大因素。胡伟武表示,目前,本土指令集的自主性相对还处于过渡性的阶段。本土指令集需要发展自己的应用,建立自主生态;与此同时,需要先消除指令系统间的壁垒。而消除的关键在于二进制的翻译。
据悉,二进制翻译本质上是一种跨指令系统的虚拟机,支持虚拟机的很多基础设施在二进制翻译体系中可以复用。然而,它的技术挑战也非常大,实现精确翻译的复杂度高且工作量大,并且不易控制。
“二进制翻译不仅需要翻译指令,还需要翻译整个体系结构。与此同时,不同体系的语义会产生一定的鸿沟,除指令集以外,像ABI、函数库、操作系统、工具链以及应用层等,体系结构都有些许差异,都会给翻译造成一定困难。就好比我们的语言,最基本的字、单词、发音都是统一的,但若汇编成成语、书籍、歌曲等,需要不同的字词结构组合,且相互之间难以直接关联,对于系统架构来说也是如此。”胡伟武说道。
因此,胡伟武认为,在未来,国产指令集在消除指令壁垒的过程中,可以尝试通过硬件支持不断深入消除壁垒。例如,晶体管、CPU等性能的提升。此外,也可以采用一些特殊的二进制翻译方式来缩小鸿沟,而这也是行业内普遍采用的手段之一。
“以语言翻译为例,若是从繁体中文翻译成简体中文,这个翻译非常简单,但是如何把英文翻成中文,这个就相对较难。因此,可以选择语义鸿沟较小的架构来作为过渡,例如,X86和MIPS语义鸿沟确实比较大,二者之间相当于英文和中文之间的翻译,难度较高,但是X86与龙芯之间的语义鸿沟较小,有2/3的指令翻译相当于从繁体中文翻译成简体中文。虽然最终目标是建立自己的生态体系,但是在发展过程中,可以借助其他指令集来进行过渡。这样不仅可以减少客户因更换指令集而带来的负担,同时也能以最快的速度有效减少指令壁垒。”胡伟武说道。
可见,设计出新的自主指令集只是万里长征的第一步,未来需要不断完善软硬件生态,消除指令系统壁垒,让原始的系统、办公、娱乐和游戏程序都能正常地运行在新的指令集之上。否则,指令集和相关芯片只能成为空中楼阁,无法真正落地。
打造CPU世界的第三极 龙芯自主指令架构诞生
无论是出于国家战略安全的考虑,还是产业升级的需要,国产CPU的研发和应用都要提升到一个全新的高度。凭借这些年来逐步积累的经验,持续加大的研发投入和很大的工艺提升空间,国产CPU已经在缩小与国际水平的差距。同时,AI、5G、物联网等新技术也带来新的计算需求,促使国产CPU进入快速发展阶段。
在这个崛起的过程中,还有一个必须要攻克的关隘,那就是指令集架构。不能自主掌控指令集架构,国产CPU就不能实现真正意义上的飞跃。近日,龙芯自主指令系统架构(LoongsonArchitecture,以下简称龙芯架构或LoongArch)的基础架构通过国内第三方知名知识产权评估机构的评估,并在2021年信息技术应用创新论坛主论坛上正式对外发布,标志着国产CPU已经跨入了一个新时代。
掌握主动权从IP核做起
当前,要构建独立于WIntel体系和AA体系的安全可控的信息技术体系和产业生态,必须要解决三大环节的问题。
首先是基于自主IP核的芯片设计。因为一个芯片的性能、成本、功耗还有安全性,主要是由里面的IP决定,而不是由芯片本身决定。作为国产CPU代表的龙芯,其主要的IP内核都是自己研发设计的,从而能做到对芯片性能的全面掌控。
二是基于自主指令系统的软件生态。指令系统是整个CPU的中枢,具体是指一种类型CPU中用来计算和控制计算机系统的一套指令的集合。指令系统主要规定了指令格式、寻址访存、数据类型、寄存器等,是承载软件生态的基础,比如X86承载计算机生态,ARM承载手机生态。
因为位于整个芯片“食物链”的最顶端,全球只有Intel、ARM等少数几家指令系统架构供应商,它们的下游是数千家芯片设计公司。所以,无论从国家竞争力、国家安全、经济发展等哪一方面看,研发自主指令系统对建立自主的芯片行业标准和生态都具有重大的战略意义。而基于自研的指令系统,龙芯可以构筑一个自主可控的生态系统。
三是基于自主材料设备的生产工艺,特别是CPU的生产工艺。
在过去20年的开发过程中,龙芯已经积累了有上百种IP,包括最核心的GPU都可以做到自主研发。以SPECCPU2006定点分值来算,市场主流产品的跑分是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市场上,英特尔引领X86CPU的发展并领导着一批PC硬件和制造企业为其适配;在移动终端市场,ARM架构则主导着整个产业的走向。
在国内,物联网市场正蓬勃发展,众多传统产业也面临智能化革新之机遇,国产CPU要发挥引领者的作用,必须要建立一个良好的生态。
本次发布的龙芯架构中,很重要的一点就是具有高效的二进制翻译。通过以兼容方式保留现有生态,鼓励合作企业把软件编译为龙芯架构,就可以得到更高性能的原生程序。龙芯中科将持续改进龙芯架构的二进制翻译的硬件支持和软件优化,争取在2025年消除指令系统间的壁垒。
为了让国产软件在国产CPU平台上运行的更好,龙芯中科还提供了Loongnix操作系统,支持下游的OS企业和整机企业完成统信、麒麟,WPS等基础软件的迁移。
在IP建设方面,龙芯中科也做了很多细致的工作。比如,龙芯中科已经在一定范围内发布龙芯架构的基础架构指令系统手册。待完成评估后,龙芯中科将在更大范围内发布更完整的龙芯指令系统手册。同时,龙芯中科还在建立龙芯架构的上游社区分支。
最重要的是,龙芯中科还将联合产业链伙伴在适当的时间建立开放指令系统联盟,在联盟成员内免费共享龙芯架构及有关龙芯IP核。据悉,龙芯是国内目前唯一一家,能够对外授权指令集和IP的通用CPU企业。
在2020年,龙芯中科发起成立了“龙芯生态适配服务产业联盟”,在过去的一年中,联盟充分发挥产业协同优势,推动联盟成员资源共享以及生态适配、帮助提高联盟技术人员适配能力、联合打造行业生态解决方案。
截止目前,龙芯中科已在全国成立了八个子公司,并与70余家公司共同组建龙芯生态适配服务产业联盟,实现资源互动。相信随着龙芯架构的发布,整个龙芯CPU生态将会得到更长足的发展,而国产CPU行业也将走上一条独立自主之路。
声明:本网站部分文章转载自网络,转发仅为更大范围传播。 转载文章版权归原作者所有,如有异议,请联系我们修改或删除。联系邮箱:viviz@actintl.com.hk, 电话:0755-25988573