胡伟武:龙芯的枪杆子已经练成,未来三年,正逢其时!
原编者按:本文为龙芯中科技术股份有限公司董事长、“龙芯之父”胡伟武在2022年11月16日于江苏南京举行的“自主芯驱动,共启新征程——2022年信息技术自主创新高峰论坛”上的演讲稿整理稿。在演讲中,胡伟武指出衡量芯片自主性有三个指标,一个是是否有自主IP核,还有就是是否是自主工艺的芯片生产,最后还有是否有基于自主指令系统的软件生态。第一个是最难的,龙芯用了20年实现了,目前龙芯CPU性能已经完成了对国际主流产品的追赶;并且龙芯还推出了自主架构LoongArch架构,龙芯CPU的自主性是国内最强的,这个一点是没有异议的。第二个,龙芯的供应链最安全,我相信这个也没有异议。关于第三点,有了自己完备的软件生态,龙芯的电脑才能真正走向千家万户。胡伟说,生态是做出来的,不是跟出来的。多年来,龙芯一直致力于建设自己的软件生态,并且不断提高兼容性,比如龙芯的二进制翻译取得了积极进展,现在有一百多个windows应用能在龙芯上跑,估计再有一年的功夫可以做到很流畅、很完备。胡伟武预计,从2022年起的2到3年时间,是龙芯把自主研发的优势转化为性价比和软件生态优势的重要转折点。龙芯是自主研发而非引进技术,所以龙芯性能最高;因为龙芯是自主研发而非引进技术,所以龙芯成本最低;因为龙芯是自主研发而非引进技术,所以龙芯所建的软件生态最好;因为龙芯是自主研发而非引进技术,所以龙芯供应稳定。胡伟武希望大家慢慢打破说龙芯是最基础,但生态和性能差一点,要在实践中两三年就能做到,因为能力已经形成了,枪杆子已经练成。本文原标题为《龙架构软件生态建设》,网题为编者所拟。
昨天,我和东南大学首席教授、江苏省集成电路学会理事长、南京集成电路培训基地主任时龙兴教授交流过,达成了两个意向,第一个我们LoongArch架构依托时教授那个平台向全球开源,第二个我知道时教授还在江北EDA平台(国产EDA工具),我希望明年能发布一个芯片,全部都是自主化,那个EDA工具跑在龙芯服务器上的,不仅要做出来,还要卖出去,所以非常感谢时教授的支持。早上在跟江苏省有关部门的几位领导聊天的时候,领导说对于芯片这个深奥的领域,我们要把一些名词及其背后的战略意义理解的比较深入,是很不容易,目前大家对龙架构还不甚了解。借此机会,我就给大家汇报一下,龙架构的软件生态建设。
刚才江苏省工业和信息化厅副厅长池宇同志讲到了信创的很多计划,信创发展过程中我们是亲历者也是推动者,主要矛盾变化经历了三个阶段,2019年以前CPU性能是主要矛盾,那时候用的是3A1000、3B15000,通用处理性能只有市场主流产品的1/10,解决操作系统与硬件结合部的稳定性问题,达到基本可用,在2017年、2018推出了3A3000,性能是3A1000的4倍。第二个阶段是2019年到2021年,操作系统是主要矛盾,这时候CPU系统又提高了双倍,有很强的服务能力,这个过程中还解决了操作系统硬件磨合的问题,为每台整机专门配备了操作系统,这个问题在第二阶段也解决了,现在信创的主要矛盾是应用生态,现在还会提高,这是永恒的主题,但应用产品大大拓展、Linux平台本身的应用兼容性问题,过去是在操作系统和硬件的结合部,现在转向了操作系统和应用的结合部。
二十大报告提出新时代的发展论是问题导向,刚才池宇同志提到的四个措施里面第一条也是坚持问题导向,我们看看信创产业面临哪些问题?一个性能问题,一个供应链问题,一个软件生态,我们信创做到了CPU和操作系统自主化,但还有比CPU和操作系统更底层的关键核心技术容易卡脖子,现在开始通过信创系统操作CPU和其他芯片,比如说ARM推出了新的架构,还没有给中国任何一家企业进行架构授权,不授权的话,未来我们的手机就跑不了V9的APP,自主IP是中间那一段,还有自主生产工艺,再往下一层把信创推下红色的那些方块,我们就到底了,这个只依赖人力资源和自然资源,不依赖别的东西,信息产业形成国内大循环有三个环节,一个是自主IP核,还有自主工艺的芯片生产,还有基于自主指令系统的软件生态,苹果由于自主研发CPU核,它的性能就是最高的。第二基于自主工艺的芯片生产,首先是慢一点,其次是没有IP,我们就要自己做,保障供应链安全。第三基于自主指令系统的软件生态,我们知道X86/ARM生态好,但有一个很大的短板,就是Linux桌面是不可用的,我们恰恰用Linux桌面做信创,我们要克服这个问题,所以我们龙芯坚持自信自立,也是我们新时代的世界观、方法论的一条,将信创的自主化延伸到自主IP、自主指令系统、自主工艺,我下面就从这几个角度跟大家报告一下。
龙芯CPU的自主性最强,这个没有异议,供应链最安全,我相信这个也没有异议,第三条就是龙芯性能肯定不如引进的,大家知道3A5000相同工艺下龙芯单核性能是最强的,开始迅速增加核数了,单核、多核都要性能领先,而且要走向开放市场竞争。软件生态更不容易引进的,因为X86和ARM已经形成生态壁垒了,我们分开来看服务器主要基于红帽Centos平台,生态壁垒不大,我们龙芯要把自主研发的优势转化为性价比和软件生态的优势,X86和ARM也是通过自主研发,它们没有引进别的方面。
首先性能问题刚才讲了,增长最快的是85年到03年性能提高50%,15年之后挤牙膏,性能提高的很慢了,龙芯在2002年推出龙芯20,性能跟人家比差20倍,去年推出的3A5000已经在灰色的那个地方了,我是讲单核的裸性能,就一个核比一个核,我们扩了第二代、第三代,这是我们的性能,桌面单核性能龙芯3A5000是最高的。我们有一个升级计划,过去二十年完成了单核性能不可,因为单核性能是最难做的,总体原则在完成单核性能补课的基础上开始玩花活,增加核数提高性能、完善SOC提高性价比,优化功耗,在2到3年内形成开放市场性价比优势。桌面CPU已经产四核3A5000的基础上大幅提高性价比,如果再提高40到60%,意味着什么呢?成本可以降低20%,另外我们要做到八核,其实桌面四核就够,但很多地方就做了八核,我希望性能和3A5000相同的同时,主版也用的差不多,32核已经研制成功了,下面还要再提升一代,提高CPU核性能,这样基准上已经到头了,这里面的瓶颈是带宽,两三年内这些都会做完,我觉得3A6000的成功标志着我们的设计能力可以和苹果他们竞争了。
下面跟大家汇报我认为性能的功课补了二十年已经不完了,肯定做到领先了,下面就往性价比上,不同层面的软件生态,一个是API,应用程序基于API编写,再翻译成CPU能识别的ISA表达形式,如果在window上面写APP,首先要问怎么写出来APP,那个东西人用起来特别方便,所以有编程环境,但计算机不认识,所以要编译成指令系统,中间就有一个桥,我们总结起来只要掌握六座桥,一个是三个虚拟机,包括GAVA、GS、.NET,一个三个编译器,包括GCC、Golang、LLVM,六座桥都会了,可以把所有的源应用做到一个不缺,龙芯恰恰是国内唯一掌握这六个桥的单位,还有应用迁移适配主要应用于API差异引起的,指令系统需要授权的,正是因为会架六座桥可以把用户写的程度都编成龙芯,所以推出了龙架构,第一有先进性,第二有自主性,第三是兼容性。什么是先进性呢?我们如果把一个源代码变成龙架构,如果有一百万条指令,X86需要105万条,效率低,我们表达能力强,但是ARM比龙芯还高一点,95万条就够,这就是指令的效率,比如说联合国的文本,如果找中文的就找最薄的那一本,因为表达效率高。就指令系统本身差一代工艺,因为指令比我多,我100万条,你120万条,现在一代工艺性能只能提升15%,所以我们和时教授明年开这个东西,先进性是没问题的,它正在成为与X86/ARM并列的顶层开源生态系统,在我们推这个之前国家有几个推出的都没有成功,一个是桥不全,我们有浏览器、有社区,第二层是操作系统,它的社区和基础应用,第三是应用软件,安卓的软件来自于国际开源社区,你要得到国际开源社区的支持,我们已经得到了广泛认可和支持,首先要有一个号,这是你的身份证,相当于七十多个开源社区接纳了龙架构,而且LA分支的维护者均是龙芯公司员工,下面.NET和ACPI国际标准唯三支持龙架构,也得到了国内基础软件企业的认可,包括欧拉、龙蜥、统信、麒麟、微信、钉钉等都支持。现在完成LoongArch基础软件体系建设,原生支持Linux全部主流开源基础软件和应用环境,在Linux平台上,X86、ARM有的,龙芯也有,但Linux只在服务器上取得成功,服务器的用户是开发者、桌面的用户是使用者,Linux直接拿桌面用是不行的,要进行系统优化。我们怎么做系统优化的?首先是信息化系统中的兼容性和应用迁移,window的浏览器和LoongArch的浏览器不兼容,现在很多信息系统都是基于IE浏览器做出来的,我们能不能把IE浏览器跑起来,还有服务器,有些地方喜欢使用.NET,所以要解决.NET应用迁移到Java平台上,还要解决编程类应用的兼容问题。龙芯一年前提出了三句口号,一个是夯实基础,操作系统和硬件的兼容,第二是Linux平台本身的兼容,还有广泛的兼容,到最后要有自主应用,我们要自主应用框架,不能没完没了的迁,所以我画了一个框架的图。
首先统一系统架构,这个我就不展开讲了,这个做完了,就像window一样,它有三个本事,是安卓不具有的,就是主板整机兼容,十年前的windows现在还可以跑,还有所有的接口都可以认,兼容性已经做完了,最近做了一个比较大的事情就是打印机驱动,刚才江苏省领导说打印机适配弄完了,我可以跟大家报告,到现在为止,现在97%、98%以上的打印机龙芯不用你迁,在X86和ARM上都没有做到,凡是windows有的驱动我们都能干。还有少量的2%、3%的问题,年底之前肯定解决,也就是说你在X86和ARM平台上肯定很多打印机认不了,在龙芯的平台上到明年开始我保证100%的打印机都能识别,如果少量识别不了的,我派技术人员帮你解决,整个体系建起来了,在Linux基础上实现了windows的打印系统。现在Linux本身的兼容性问题现在已经解决了,因为Linux开放性会引起应用兼容的问题,包括打包格式不兼容、API环境不兼容,还有内核升级引起的不兼容,所以Linux不管兼容,我们把这个问题解决了,用传统的镜像,我们做一个实验,把统信的微信迁到麒麟上,一个方法就是微信用的所有包都变成一个镜像,我最终弄起来,它的文件大小从114兆增加到一个G,我只弄了统信和麒麟差别的部分,我们弄了一整个平台,这个应用在统信上写的想在麒麟上跑没问题,最关键的是操作系统升级如果依赖开源社区管不了升级以后的兼容问题,我们也能解决,就是不断引进、不断兼容。
还有二进制翻译取得积极进展,我们现在有一百多个windows应用能在平台上跑,我估计再有一年的功夫可以做到很流畅、很完备,我们事先做了一个IE兼容,关键是windows很多插件基本上可以支持,已经做了十几个案例,所以生态做出来了。最后要形成自主编程框架,为什么自主CPU和操作系统的整机产品需要无休止的迁移适配?因为这些系统是不在我平台上写的,现有的应用都是基于别人的编程框架编出来的,自主编程框架是自主操作的重要特征,目前国产操作系统都不是真正意义上的自主操作系统,只是开源操作系统的自主发行版,APP开发者使用的自主编程框架进行编程才能彻底解决无休止的适配问题,所以龙芯在明年争取推出自主编程框架,都是在原来已有的拓展,不可能无中生有,也就是原来的还能跑,用我的还能跑的更好,我希望未来就像手机APP有苹果版和安卓版,未来电脑的系统有龙芯版和windows版,这样我们就有自己的生态了。
生态是做出来的,不是跟出来的,我自己觉得2022年龙芯桌面Linux生态已经局部超过X86和ARM,我说的是Linux桌面,刚才说浏览器能做IE兼容,打印机都能适配,还有三维地球也肯定做的最好,包括中小学编程软件、视频编辑器,我们又研发了一个,就是基础应用要研发出来,2023年希望总体超过X86核ARM,2024年希望全面超过,同时推出自主编程框架,2025年龙架构软件生态体系全面建成,X86、ARM移动终端都能应用,自主编程框架具有不可替代性。我自己觉得2022年起的2到3年是龙芯把自主研发的优势转化为性价比和软件生态优势的重要转折点,我希望今天会后的一两年内整个产业链形成这样的共识,因为龙芯是自主研发而非引进技术,所以龙芯性能最高,因为龙芯是自主研发而非引进技术,所以龙芯成本最低,因为龙芯是自主研发而非引进技术,所以龙芯生态最好,因为龙芯是自主研发而非引进技术,所以龙芯供应稳定,我希望大家慢慢打破说龙芯是最基础,但生态和性能差一点,要在实践中两三年就能做到,因为能力已经形成了,枪杆子已经练成。
谢谢大家!
2022年11月16日于江苏南京