日前,龙芯发布自主指令系统(LoongArch),在海内CPU公司争相引进X86、ARM、Power、SPARC、RISC-V等指令集的环境下,龙芯推出自主指令系统架构显得非常特立独行。
过去这些年,海内CPU公司引进英特尔、AMD、IBM、ARM、VIA、高通等公司的CPU,但始终没能建立起自己的Wintel,缘故原由就在于始终保持着一种跟随心态,缺少独立自主的决心和毅力。随着国际大环境风云变幻,特殊是经由特朗普和拜登的教诲,构建自主可控的信息技能体系和家当生态已成为共识,龙芯在此时发布自主指令系统架构可谓是恰逢其时。
龙芯自主指令系统是全新指令集
CPU指令系统是打算机的软硬件界面,是CPU所实行的软件指令的二进制编码格式规范。
目前,国际上曾经具有一定影响力的指令集有X86、MIPS、ARM、Power、Alpha、SPARC、RISC-V等,这些指令集都是舶来品,真正由海内自主研发的只有LoongArch和SW64。SW64是申威CPU的指令集,由海内单位自主研发,神威太湖之光超算的芯片SW26010便是基于SW64设计的。过去,龙芯基于MIPS指令集添加指令发展出LoongISA,本次的龙芯自主指令系统则与MIPS完备没有关系,是完备自主研发的全新指令集。
MIPS是环球第一种商用的RISC指令集,由于“历史悠久”,指令系统中有部分不适应当前软硬件设计技能发展趋势的迂腐内容,龙芯摒弃了传统指令系统中令人诟病的部分,吸纳了近年来指令系统设计领域诸多前辈的技能发展成果。例如单条指令支持的立即数从MIPS的最大16位扩展到最大24位,分支跳转偏移也从64K扩展到1M字节,以及寻址空间从固定分段改变为单一平面等,有效减少了编译结果的目标指令条数和访存次数,提高了效能。
由于LoongArch指令设计上更加优化,在把源码编译为目标程序后的指令数量上乃至比x86略有上风。在Coremark的测试中,程序运行过程中实行的指令总数LoongArch为MIPS的83%,相称于运行效率提高了20%。在类型更加多样的测试中,综合测试结果,LoongArch均匀比MIPS快12%,解释全新设计的LoongArch是成功的,可以为CPU带来大幅的性能提升。
其余,LoongArch设计时充分考虑兼容生态需求,领悟了各国际主流指令系统的紧张功能特性,操作系统中除了运行原生的 LoongArch程序,还能通过翻译的办法兼容MIPS、x86、ARM、RISC-V 这几种指令集的 Linux 程序。根据官方公布的PPT,在翻译X86时,运行效率可以达到80%。
2020年,龙芯委托海内第三方有名知识产权评估机构对龙芯根本架构进行深入细致的知识产权评估,将LoongArch与ALPHA、ARM、MIPS、POWER、RISC-V、X86等国际上紧张指令系统有关资料和几万件专利进行深入比拟剖析。2021年1月,针对被评估的根本架构版本该评估机构认为:
1)LoongArch在指令系统设计、指令格式、指令编码、寻址模式等方面进行了自主设计。(2)LoongArch指令系统手册在章节构造、指令解释构造和指令内容表达方面与上述国际上紧张指令系统存在明显差异。(3)未创造LoongArch根本架构对上述国际紧张指令系统中国专利的侵权风险。
自主CPU的两个维度:自主指令系统、自主完成前端后端设计
一贯以来,不论是与外商合伙的国产CPU,还是购买外商技能授权的国产CPU,以及把外商CPU和自己的ASIC封装在一起的国产CPU均号称符合自主要素,宣扬自主研发向政府要政策、要市场。地方政府基于局部利益、短期利益纷纭给这些所谓的国产CPU开绿灯、送政策。然而,在巨额资金的投入下,这些技能引进CPU不仅没能着花结果,反而出了不少幺蛾子,乃至折戟沉沙。之以是涌现这些情形,关键还是对自主CPU的定义模糊,地方政府胡乱花钱,盲目引进技能。
铁流认为,自主CPU必须是基于自主指令,自主完成CPU设计。
首先看自主指令系统。过去,一些海内厂商流传宣传自己得到了ARM v8授权,一些ARM CPU的支持者因此就称国产ARM CPU符合自主哀求。半个月前,ARM发布了其下一代芯片架构ARM v9,并声称是10年来最主要的创新,是未来3000亿ARM芯片的根本。在ARM v9发布后,海内购买ARM v8授权的ARM CPU厂商何去何从便是一个问题了。
诚然,关于某些海内厂商能够连续购买ARM v9指令集授权的宣布充斥网络,但只要查一下新闻源头可以创造源头是2019年的一篇外媒宣布,海内媒体是拿2019年的宣布拼接套娃,就ARM官网上关于发布ARM v9的网页看,文末的互助伙伴有谷歌、英伟达、恩智浦、富士通、红帽等国外企业,也有台积电、联发科、OPPO、VIVO、小米等中国企业,然而,一些海内厂商并不在互助伙伴名单内。
退一步说,即便这次侥幸买到了ARM v9授权,那么,将来ARM发布V10、V11、V12......海内ARM CPU企业是不是还要连续买V10、V11、V12授权......如果是这种“买无止境”,那么,国产ARM CPU所标榜的“自主”又从何谈起呢?
因此,自主CPU必须基于自主指令系统,基于ARM授权开拓的CPU根基不牢,是在沙滩上建屋子,自主性无从谈起。
其次是自主设计。这里的自主设计包含自主完成前端设计和后端设计。芯片设计到流片,基本分两大部分,前端和后端。
前端是RTL design ,根据design specification,做设计,形成verilog 代码,然后用eda tool做 functional verification,反复做迭代修正,直到通过考验。后端设计分两部分,logic design 和physical design。logic design 接管前真个Verilog 文件,用synthesis 工具 天生门级网表,然后再用eda 工具做logic equivalence check,迭代直到通过。physical design 接管门级网表用place&route 软件天生physical layout,并用tools 对layout进行physical verification,包括RC extraction 和 post-layout verification 等等,迭代直到通过。通过后天生GDSII,发送代工厂流片,叫tape-out。
当下,从国外购买各种IP和设计外包是行业常态,比如华为麒麟芯片、紫光虎贲芯片的CPU核、GPU核基本从ARM、Imagination等外商购买,又比如飞腾把后端设计外包给世芯。
之以是涌现购买IP和设计外包的情形,根源还是自己根本不牢,技能不踏实,又不愿意一步一个脚印提升技能水平,想要尽快出成绩。而技能提升正好是须要循规蹈矩的,前端设计一代产品更新源代码更换一样平常不会超过25%,必须一代一代逐代演进。后端设计中的定制模块设计,常日先流一次片,用于验证功能,没有问题,再当做一个模块或者IP集成到芯片中,担保不随意马虎出错,因此,后端须要履历丰富的人,这都是拿钱和流片,以及时间去学习积累出来的,而海内一些CPU公司为了捉住国家政策红利,自然会选择购买IP或外包设计尽快出成绩。
在采取外购的IP,或将设计外包之后,一方面会带来自身技能底子不踏实的问题,一个最明显的征象便是后继乏力,发展后劲不敷,比如在CPU的IPC提升上,技能引进CPU明显不如龙芯,于是只能靠采取更前辈的台积电工艺来提升性能。另一个是一定带来巨大政治风险,一旦遭遇制裁,后果不堪设想。最近,飞腾被美国列入实体清单,而飞腾的后端设计正好外包给了世芯,由于世芯在中国台湾岛内上市,且飞腾是世芯的第一大客户,去年占其古迹比重约39%,世芯在第一韶光召开了在线解释会。根据世芯官方,飞腾被列入实体清单后,为该公司供应末了阶段设计的世芯后续出货将受阻,而飞腾委托世芯设计及量产制造的尖端制程芯片,已被台积电停息接单,并待后续调查状况后再行决定。
结语
一种指令系统承载了一个软件生态,如X86指令系统和Windows操作系统形成的Wintel体系,以及ARM指令系统和Android操作系统形成的AA体系。为了可以对接X86和ARM生态,兆芯通过合伙的办法使其在中国大陆市场可以发卖X86芯片,华为、飞腾、华芯通利用购买指令集授权的办法得到ARM授权,但事实证明,华为、飞腾、华芯通的道路行不通。在ARM的地基上,建不起自主技能体系的高楼大厦。国外CPU厂商以指令系统作为掌握生态的手段,须要得到“授权”才能研制与之相兼容的CPU。采取授权指令系统可以研制产品,但不可能形成自主家当生态,就像中国人可以用英文写小说,但不可能基于英文形成中华民族文化。
指令系统是软件生态的出发点,只有从指令系统的根源上实现自主,才能冲破软件生态发展受制于人的锁链。龙芯自主指令系统的推出是龙芯谋划已久的成果,绝非某些厂商用来应对危急公关的“按揭开源”产品。由于3A5000便是基于LoongArch设计,且已经有样片,将在2021年投放市场,从确定新指令集到基于新指令集设计一款CPU,再到完成流片,须要漫长的周期。从龙芯最初基于MIPS添加指令,到发展出基于MIPS的LoongISA,再到最新的LoongArch,龙芯的目的是非常明确的,也是显而易见的,那便是尽统统可能节制主导权,武断不移走自主之路。
必须解释的是,龙芯和华为、飞腾一样,在当下都很难顶住美国禁令。
诚然,华为和飞腾ARM芯片绝版的最紧张缘故原由是失落去台积电流片渠道,但两者在设计上都依赖外洋技能输入,华为的鲲鹏芯片设计很大程度上得益于华为开设在美国的研究所,而飞腾在后端设计上则外包给世芯,这都是非常危险的,由于美国可以轻易中止技能输入。可以说,华为和飞腾在ARM授权、CPU设计、CPU制造三个环节都被卡脖子。
龙芯虽然已经实现了自主指令系统和CPU自主设计,不须要从国外研究所获取技能,也不须要把后端设计外包给世芯这样的境外厂商,但在流片渠道上同样薄弱。由于在半导体设备、材料、EDA等多方面受制于人,海内尚无法做到百口当链,而美国的实体清单正好是“100-1=0”。
当下,最要不得的便是海军自嗨、厉害体、沸腾体。铁流以前反对颅内充血,反对沸腾体,还被责怪“站不起来”。
搞笑的是,铁流过去主见低调循规蹈矩自主指令集、自主设备、自主材料、自主制造培植百口当链的不雅观点时,那些责怪铁流“站不起来”的人群又责怪铁流这种事情不现实,应该“融入国际主流”。
铁流不禁要问,究竟是谁站不起来!
一些人必须战胜“奴才”心态,在评价国产CPU时,应该看国产CPU本身行弗成,而不能比谁的“洋爹”发展的好来论英雄。
实践证明,“融入国际主流”并非善策。特朗普和拜登已经用行动解释了统统。当下,龙芯已经基于LoongArch设计出了3A5000,而且基于12nm工艺的3A5000在最关键的单核性能上超越了基于7nm的鲲鹏CPU,这是一个里程碑,是自主技能采取相对掉队工艺超越引进技能的里程碑。
在龙芯已经在设计环节实现自主的情形下,希望海内原材料厂商、设备厂商、制造厂商、EDA厂商能够给力,希望软件厂商能够积极移植适配运用软件,终极实现打通芯片设计、制造、封装、测试、原材料、EDA,以及OS、中间件、数据库、运用软件全链条。
本文系不雅观察者网独家稿件,文章内容纯属作者个人不雅观点,不代表平台不雅观点,未经授权,不得转载,否则将深究法律任务。关注不雅观察者网微信guanchacn,逐日阅读意见意义文章。