欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

20年“炼出”国内首个自主CPU指令集架构 龙芯凭什么?

程序员文章站 2022-05-06 16:45:06
美国对中国芯片行业的卡脖子,让我们意识到在别人的墙基上砌房子,再大再漂亮也可能经不起风雨,甚至会不堪一击。也让国内芯片行业吵了几十年的“引进吸收”还是“自主研发&r...

美国对中国芯片行业的卡脖子,让我们意识到在别人的墙基上砌房子,再大再漂亮也可能经不起风雨,甚至会不堪一击。

也让国内芯片行业吵了几十年的“引进吸收”还是“自主研发”明确了方向,五中全会首次明确提出,要把科技自强自立作为国家发展战略的支撑。

作为芯片产业最重要的芯片之一,cpu实现国产自主可控对支撑国家信息产业发展和保证信息安全都至关重要。

2021年4月15日,坚持了20年自主研发的龙芯中科技术股份有限公司正式推出龙芯自主指令系统架构loongarch,实现了历史性的突破,让中国的芯片从必然王国走到*王国。

完全自主在国内多次被“打假”后,龙芯自主指令系统架构(loongarch)能否经得起检验?在强大的wintel(windows+intel)和aa(android+arm)格局下,龙芯建立全球cpu的第三套生态有没有机会成功?中国核心技术的发展,为什么不应幻想弯道超车?

20年“炼出”国内首个自主CPU指令集架构 龙芯凭什么?

从mips到完全自主可控loongarch

龙芯中科2010年脱胎于中科院计算所,很长一段时间,龙芯都是国内为数不多坚持cpu自研,走芯片自主可控路线的少数派。

公司创立的前五年,龙芯主攻工控市场,2015年龙芯cpu出货几万颗,从无到万颗用了五年。这并没有动摇龙芯坚持自主可控的决心。

“十三五”期间,龙芯一方面继续深耕工控市场,一方面开始进军电子政务市场,出货量不断增加,2019年出货几十万颗,从几万颗到几十万颗的出货量用了四年。

2020年,龙芯自主cpu的出货量又提升了一个数量级,达到了百万级。龙芯中科董事长兼龙芯cpu首席科学家胡伟武告诉雷锋网:“龙芯经过过去20年完成了技术补课,cpu不断迭代,我觉得2022年我们的cpu能够稳定在每年几百万片的出货量,我们也将逐步走向开放市场。”

20年“炼出”国内首个自主CPU指令集架构 龙芯凭什么?
龙芯中科董事长兼龙芯cpu首席科学家胡伟武

完成技术补课准备走向开放市场的龙芯在2018年左右发现,mips已经不是他们最好的选择。

“龙芯过去基于mips指令系统研制cpu并发展软件生态,经过20年的努力,不管是软件生态还是cpu核,龙芯的设计都超过mips公司。mips社区大概三分之二的维护工作都是龙芯在做,像浏览器、java、媒体播放器等,mips公司主要是维护cpu内核和基础编译器。另外,mips有些技术特征很老了,mips顶层的64个指令槽基本上用完了,要加指令也比较难加了,像延迟槽也成为一个设计负担。”胡伟武说。

这是龙芯放弃mips的内因,外因是mips的所有权一直在变化。

“那时候我想明白了一个道理,采用授权指令系统可以研制产品,但不可能形成自主产业生态,就像中国人可以用英文写文章,但不可能基于英文形成民族文化。。于是在内因和外因的共同作用下,我们决定自主开发一套指令集架构。”胡伟武表示。

为了loongarch能够长远发展,龙芯中科高度重视与龙芯架构相关的知识产权,委托了国内第三方知识产权机构对龙芯基础架构进行了深入细致的知识产权评估,将loongarch与alpha、arm、mips、power、risc-v、x86等国际上主要指令系统有关资料和几万件专利进行深入对比分析。

今年1月第三方机构得到了三个评估结果:

loongarch在指令系统设计、指令格式、指令编码、寻址模式等方面进行了自主设计。

loongarch指令系统手册在章节结构、指令说明结构和指令内容表达方面与上述国际上主要指令系统存在明显区别。

loongarch基础架构未发现对上述国际上主要指令系统中国专利的侵权风险。

接下来,龙芯中科和第三方知识产权评估机构还会进行*专利分析和进一步的知识产权评估,并根据评估情况逐步发布完整的loongarch指令系统手册。

20年“炼出”国内首个自主CPU指令集架构 龙芯凭什么?
2030年基本建成全球第三套cpu生态体系

龙芯能推出自主cpu指令集系统的9个能力

cpu指令系统是计算机的软硬件界面,是cpu所执行的软件指令的二进制编码格式规范。

胡伟武说:“过去把指令系统和cpu芯片联系起来比较多,其实指令系统更多关系到的是软件生态,比如x86支撑windows生态、arm支撑android生态。只要把软件想清楚了,cpu换指令系统并不难。”

推出一个指令系统不难,难的是生态的构建,这是芯片业界的共识。胡伟武说,“我们敢于构建新的指令系统的生态,是因为过去20年的积累让我们掌握了9个能力。”

这9个能力每三个分为一类,第一类是3个基础编译器,包括gcc、llvm、golang;第二类是三个虚拟机,包含java虚拟机、javascript虚拟机、.net虚拟机;第三类是二进制翻译系统,包括x86、arm和mips指令系统的翻译。

编译器是将c语言这类高级语言编为机器标码,因为有开源,许多经验丰富的团队都能开发编译器。

“更上一层就是虚拟机,全球一大半的服务器都跑在java上,.net与java一样,一个属于微软体系,一个属于linux体系。javascript是浏览器的核心引擎。因此虚拟机也很重要。”

胡伟武解释,“目前很多应用软件都构建在上述三个虚拟机上,龙芯自主指令系统只要支持上述三个虚拟机,那一半以上的已有应用软件就可以不用迁移直接运行。要掌握生态的主导权,关键就在于虚拟机的能力。”

二进制翻译的能力,是考虑到自主和兼容,为生态发展提供的基础能力。“loongarch的基础指令有300多条,为了二进制翻译,兼容x86、arm以及mips,我们又增加了近200条指令。”

胡伟武进一步表示,“loongarch通过软硬结合,提升了兼容其他指令系统应用的二进制翻译效率,这方面我们有十几年的积累。我们希望,到2025年前后,在龙芯的loongarch平台上可以不运行windows但能运行windows应用,不运行android但能运行android应用。”

不仅如此,loongarch还抛弃了mips的很多历史负担,结合新的应用特点增加了一些新的功能,这样仅指令系统就能带来10%-20%的性能提升,硬件要实现这样的提升需要大概两代。

雷锋网(公众号:雷锋网)了解到,属于risc(精简指令集)的loongarch总共有近2000条指令,包含基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,具有完全自主、技术先进、兼容生态的三个特点。

20年“炼出”国内首个自主CPU指令集架构 龙芯凭什么?

有组织的开放建设生态

“兼容其它指令系统只是建设生态的辅助性手段,我们的目标是打造全球第三套cpu生态体系,为人民做龙芯。”胡伟武说:“全球的it产业被wintel体系和aa体系制约,只要硅谷的企业产品升级,中国和其它国家的企业就得跟着升级,我们没有产业发展的主导权。”

回看intel和arm的成功,上世纪九十年代,小企业intel做芯片,把基础软件平台开放给生态合作伙伴来做,打败了封闭的大企业ibm。进入新世纪以来,比intel更加开放的arm只提供ip,也取得了巨大的成功。

胡伟武说loongarch的生态是要有组织的开放,建立生态。“要建设好一个生态首先要开放,组建联盟吸引生态合作伙伴。其次还要兼容,无组织的开放会造成严重碎片化,生态没办法发展起来,要找到开放和兼容的平衡点。最后还需要系统优化,可以实现数量级的体验提升。”

那谁会加入龙芯的cpu生态?胡伟武认为非常明确的至少有两类公司,一类是针对特定应用做soc的公司,这些公司只要加入龙芯生态联盟就可以使用loongarch指令系统,并且能够免费使用像arm cortex a53和a57性能级别的龙芯cpu ip核,用于各种soc设计,这也是龙芯已有的客户。

另一类是整机和解决方案公司,龙芯有信心loongarch芯片性能不会比其它指令系统的cpu弱,随着性能的提升,总体性价比也会更高。

“我们基于loongarch除了发展面向桌面、服务器应用的通用信息系统平台,还可以做出新的平台,比如我们可以建设一个面向制造业的平台,在该平台上把各种装备和设备app化,如高铁app,飞机app等。”胡伟武说。

也就是说,无论是收复失地还是开疆拓土,龙芯开放生态都能吸引参与者。

目前,首款支持loongarch的龙芯cpu 3a5000处理器芯片已经流片成功,14nm的loongarch cpu比arm 7nm的cpu性能更强,已经接近市场主流产品水平。

“loongarch的技术和工程的路已经走通,今年下半年我们工作的重点就会转向生态建设,我预计2025年龙芯的cpu出货量将达到千万级,生态建设也将迈出一大步。”胡伟武表示,“在国内建设新的cpu生态,没有人和我竞争,快慢由我。保守估计,到2030年我们应该可以初步建成基于loongarch的生态体系。”

坚定自主路线,坚持30年建设自主生态

“发展核心技术不要幻想‘弯道超车’,像芯片这样的高复杂系统能力建设需要以30年为周期,不能经常‘翻烧饼’,别人*时我们自己研制,别人放开了我们又放弃自主。龙芯已经干了20年了,相信再有10年,我们能初步建成第三套体系。”胡伟武强调。

五中全会首次明确科技自立自强作为国家发展的战略支撑,这可以视作芯片行业发展的转折点。在中美摩擦越来越多的背景下,支持芯片自主研发的人也越来越多。

但要实现完全自主可控,三个环节都要做好。第一个环节是ip核以及eda工具的芯片研发,龙芯cpu芯片的ip核主要自主研发,过去二十年积累了自主研发的cpu、gpu、内存控制器、高速接口控制器、工业接口控制器等上百种ip核,但eda工具的卡脖子问题想要解决依旧需要时间。

第二个环节就是基于自主指令系统的软件生态,龙芯的loongarch可以建设cpu的第三套生态。

第三个环节是基于自主材料设备的生产工艺。“大趋势是,7nm之后的工艺是小众工艺,工控cpu 28nm足够了,桌面cpu 14nm就足够了,服务器cpu 7nm足够了。我们国家发展集成电路产业不应该总盯着7nm、5nm甚至3nm,先实现28nm和14nm的全自主,有了扎实的基础迭代起来不会慢。”

胡伟武认为,“材料的自主可控会容易一些,设备稍微难一些。总体而言,十四五期间我们可以初步缓解集成电路材料和设备受制于人问题,要实现根本缓解则需要两个五年时间。”

龙芯如今的成绩已经证明了坚定自主研发不仅是可行的路线,而且是正确的路线。我们总在说要弯道超车,但目前看来我们没有一次成功。it产业核心技术就像盖楼,每层楼两大核心技术。第一层楼是cpu和操作系统,第二层楼是网络技术和图形技术,第三层楼是虚拟化技术和智能化技术。我们不可能不盖前两层直接盖第三层。

因为后来者一旦有超越已有生态控制者的趋势,就会受到各种阻碍。并且使用别人的授权,还可能受到非常严苛的审计,这是许多公司还未意识到的风险。

走自主研发的道路,在技术发展的初期一定会有巨大的技术和生态挑战,但我们的优势在于有广阔的市场和优秀的制度,在市场带技术的模式下,最终肯定能发展起来。

龙芯在工控和电子政务的成功就是最好的例子,这也是龙芯能在2015年实现盈亏平衡,并在“十三五”期间实现cpu单核通用处理性能提高十倍、销售收入提高十倍的“双十倍”跨越,在2021年推出自主指令系统架构底气所在。

坚定目标,保持耐心,相信中国的cpu生态在所有参与者的共同努力下能够实现安全的自主可控,与x86和arm生态在全球三足鼎立,你中有我,我中有你共同向前发展。

- the end -