它的横空出世,结束了中国信息产业的“无芯”历史 | 张福新

来源:格致论道讲坛 #龙芯#
1.8w

编者按:本文作者张福新,首发于微信公众号格致论道讲坛(ID:SELFtalks),集微网经授权发布。

“借助别人的东西,可以快速地达到一定的发展效果,但是最终要想实现自由,还是要掌握自己的能力。”

张福新

中国科学院计算技术研究所研究员

龙芯是我国自己研发的一颗CPU芯片,2018年,我国中兴通信公司——一个年产几百亿的高科技企业被美国制裁,差点就因芯片断供而直接休克。

后来美国又制裁华为,我们都在看着一轮一轮的制裁。

直到今年美国使出大招,说我们只要用了美国技术的企业,就不能给华为服务,直接切断了华为的生产渠道。

因为台积电的生产设备里有美国技术,所以它就无法给华为生产,直接就把华为最新的mate pro变成了限量版。

通过一次次的事件,大家能够看到芯片是多么重要,芯片是扎扎实实地被卡着脖子。

CPU的研制

什么是CPU呢?

CPU应该说是芯片中的芯片,是芯片中最难做的一种芯片,它的复杂度、性能要求是最高的,它是用在我们个人电脑、服务器等最需要性能的场合的。

这就是我们做的几颗芯片的样子,它最大也只有几平方厘米,但是里面大有玄机。

一颗芯片里可以藏几十亿个晶体管,这是一个最基础的单元,它一秒钟能够进行上百亿,甚至更多的运算。

如果我们把科研比作攀登高峰,那么做芯片可以说是在爬喜马拉雅山,做CPU就是爬珠穆朗玛峰。

国产芯片的市场情况是非常堪忧的,我们可以看到,各种领域里,国产芯片的占有率很多都是零,包括个人电脑和服务器里用的CPU。

这个零,当然不代表完全没有,只是说数量太少,可以忽略不计。

比如CPU这块,我们这两年进步很大,今年有希望把这个数字改成1%,但也就是仅此而已。

这样的占有率对我们来说,会有什么样的后果呢?

我国每年在进口芯片上面,要花2000多亿美金,这是第一。

第二,因为我们无法做芯片,就占不到产业的上游,真正的IT产业里最赚钱的企业,往往都是上游这些做芯片的。

我们整个电子信息产业中,百强企业的利润加起来还不如美国一家苹果公司的利润,这就是我们为此付出的代价。

当然这个情况不是没有人看到,比如为什么华为现在被美国制裁,仍然能够挺住它的攻击?

就是因为十年前,它就已经意识到这个风险,开始启动了备胎芯片的计划,在内部悄悄地做了很多芯片。

在科学界,我们计算所的老所长李国杰院士,也是早在2000年前后,就在国家到处呼吁,说我们必须立项做CPU了。

当时专家们有很多意见,就是大家都觉得这个太难了,现在还不到时候,所以当时从国家没要到钱。

后来李所长就下定决心,从自己计算所有限的经费里挤了100万,先在所里立了一个内部课题,鼓励年轻人来做CPU,这时才有了我们龙芯课题组

真正做起龙芯来时,我们才发现,做CPU不是爬一座山,而是爬N座山,这些山大概可以分成两个群。

一群是来自CPU里的,要做一个好的芯片,做一个性能很高的、用起来很快的芯片,有非常多挑战。

但是,即使做出这样一颗芯片,要放到市场上去能用起来,就意味着外面要打通一个产业链

得有很多人愿意用龙芯,愿意给它做整机,愿意给它写软件,要有一个繁荣的产业生态,在某种意义上来说难度更大。

里面CPU的设计难在哪里呢?

主要就是大、复杂,为什么呢?

现在我们的半导体工艺发展很快,最新的工艺是5纳米,5纳米是什么概念呢?

一根头发丝是80微米左右,5纳米就意味着能在头发丝里放16000根线,它能在头发丝这么小的地方走那么多。

一颗芯片里,现在典型的能够在里面放几十亿到上百亿的晶体管,这么多资源在里面怎么指挥,怎么组织分工协调,才能让它发出最大的效力?

还有很多其他的局限性,比如并不是堆得越多越好,它在工作时是会发热的,热到一定程度,它就无法再继续工作。

而现在的芯片真正工作起来时,里边的热的密度就差不多已经相当于电炉丝的密度了。

在这种限制下,又不能无限制地堆,但是又要极限地去追求性能,极限地压榨工艺的潜力,这时就要想办法去做设计挑战。

设计又可以分成前端后端,比如这张图展示的。

做前端就是要把100亿个晶体管怎样分类组织,要放几个加法器,放几个乘法器,放几个做存储,放几个做寄存器。

它们彼此之间怎样互联互通的效率最高,最后形成一个设计,变成一个线路。

这个线路要跟具体的工艺相匹配,比如是要到台积电的7纳米工艺上去做呢,还是在中兴国际的28纳米工艺上去做。

根据不同的工艺,它有不同的物理参数、物理特点,我们要把这两个东西很好地匹配起来。

这里面这么多线,这么多晶体管,只要任何一个出错,就有可能导致整个芯片无法正常工作,所以芯片设计里有很多挑战。

龙芯横空出世

从最早开始,我的运气很好,在2000年进到计算所时,我的导师就是龙芯的总设计师——胡伟武老师

那时胡老师也还年轻,刚刚开始带学生,当时他从所里揭英雄榜,把李所长立的100万做芯片的前期研究的事承担下来了,正在筹备着做龙芯

所以我这20年,就一直在做这一件事情,从头到尾,见证了龙芯的发展过程

这张图是我们最早做的龙芯一号,2000年课题组成立时,一共就有两个老师和十几个学生,包括老师在内,没有人做过CPU,一切从零开始。

但那时大家都非常振奋,非常激动,觉得有这么一个挑战是机会难得,所以我们就没日没夜地看资料,去做各种设计讨论,然后调试测试。

有一句话说:天道酬勤。

我的印象特别深刻,因为当时我们调试一些问题时,经常会发现,如果朝九晚五,下班到点就走,好像有些问题永远也解决不了,始终没有灵感

但是如果下了狠心,说这个问题一定要解决,不解决就不回去睡觉。

这时熬上一天、两天、三天,经常在深更半夜,夜深人静时,一个灵感突然来了,问题就突破了。

所以那时,我们隔三差五地就会熬上一阵,碰到一根硬骨头,就把它熬出来,一年时间,我们就把一个原型性的芯片做出来了

于是中科院的领导非常高兴,马上就给我们追加了500万的经费,使得我们能够继续往下做。

再过了一年,2002年8月10日凌晨6点08分,这个芯片正式调试成功启动。胡老师也很高兴,登录到系统里,输入了一段话。

大概意思就是说,今天我们中国信息产业无芯的历史结束了,在场的人们见证了这个过程。然后把我们在场人的名字全部都列在那里。

现在我们回过头去看,这个芯片还是一个很粗糙的设计,但是重要的是那时能有去做这件事的勇气。

而龙芯一号出来后,大家信心大涨,我们从国家那边,从863项目又得到了支持,继续做龙芯2号

因为那时国际上已经做了几十年芯片了,我们从零开始,还有很多有差距的地方。

所以我们做了很多计划,我们把国际上先进的技术一个一个拿来研究,研究透一个做一个,就是用小步快跑的策略,做了一系列的芯片。

但是,我们一开始就碰到一个很大的挫折,就是龙芯的第一个芯片叫2A,它拿回来后是半身不遂的。

这个芯片只能在电压很小的范围内工作,高了不行,低了不行,以没达到我们的要求,就用不起来。

最后追究原因时发现,是我们对物理参数,对工艺的理解不够透彻,因为我们都是做计算机出身的,工艺更需要做微电子和做物理的人

所以我们当时从微电子所引进了黄令仪老师和他们团队,就慢慢地把这块短版补上了。

再接下去,就把一个个先进的技术往龙芯2里面堆,努力地去追赶国际先进技术前沿。

2007年,芯片863验收时,我们做出来的芯片已经比1号快了一个数量级以上,也就是10倍以上

这时国家非常重视,当时的科技部部长徐冠华专门来参加龙芯的验收会。

在龙芯2号做到一定程度时,我们觉得这个芯片已经差不多了,从很多参数来看,我们的确跟当时国际上最好的一些芯片相比,也没有很大差距了。

所以当时国家正好做了16个重大专项的部署,其中第一个,就是核高基重大专项

核高基就是核心电子元器件高端通用芯片和基础软件,就是为解决我们缺芯少魂的问题开设的。

我们从核高基那边拿到了两亿多元,看上去是一笔巨额的经费,然后就开始做龙芯3号。

当时我们对龙芯3号雄心勃勃,我们想通过多核技术,能够一下站到世界前沿。

多核是什么意思呢?

就是我们在一个芯片里,同时摆好几个CPU的核心,让它能够同时独立地做好几个不同的程序,这样能够增加程序的吞吐力。

当时主流的个人电脑还是单核或双核,但我们上来3A1000就设计了四核,3B1500设计了八个核。

但是事实证明,我们走了一个很大的弯路,因为首先,多核芯片本身的技术很复杂,一下规模大增,各种测试验证的复杂度都大了很多。

我们花了三年多的时间,才好不容易把这个芯片成功地量产。

但是这时拿到市场上一看,特别是桌面上的用户会说,感觉好像跟你三年前的龙芯2号也差不多。

然后我们一看,坏了,是我们的指标体系出了很大的问题,这就是我们做科研的一个毛病。

当时那些峰值指标确实已经是世界的领先水平了,但是,能表现出来的,在应用软件能享受到的,还是其中的一个核。

那时很多软件是为单核写的,它用不起那么多核,就像有一堆小学生,也并不能做一个大人能做的事情。

所以我们当时就没有全面地做好评估,忽略了单核这方面的提升,然后我们痛定思痛,回过头来再去提升我们的单核。

所以从3A1000到2000,我们用完全一样的工艺,只靠设计,就把它的性能提高了三四倍,到今天最新的产品,已经足足提高了15倍以上。

我们也注意到,从用户能体验到的性能,就是打开一个很复杂WORD文档,在原来3A1000的时候要33秒,到2000的时候就只要6秒了,到现在鼠标一点就可以瞬开。

这就是我们面向市场、面向用户去不断地优化后获得的一些成绩。

当然今天我们离最新的国际最先进的技术还有点距离,但是很多距离是来自于我们用的工艺。

国际上最新的已经是5纳米了,我们的3A5000用的还只是12纳米。

这是因为我国在工艺这块仍然是一个短板,我们不敢用国际上最先进的工艺,担心随时被掐。

但在这一块,应该说我们已经具备了一个很好的国际主流水平,进入了一个新的创新空间。

龙芯生态体系建设

当时很多专家认为我们做不了芯片,不是说我们做不出那么一颗东西来,而是觉得这个东西无法把外面的产业生态做起来。

什么叫做产业生态呢?

简单地说分为两个部分,一个是得有人愿意来做你的芯片,就是他用你的芯片去做机器,然后去卖给用户。

另外一方面是电脑和别的东西不同,电脑上要跑软件,上面得有丰富的软件,用户觉得东西好用,他才会买。

这两个东西都很麻烦,首先怎么解决做机器的问题。

所里2004年在江苏省建了一个龙芯产业化基地,2005年把我派过去,因为那个基地就在红色景区沙家浜旁边,所以我们叫南下沙家浜

我们到那边去做产业基地,这对我来说是一个很大的挑战。

因为我原来是天天坐在实验室里的研发人员,到那边去要负责产业化,就是脱离了自己的舒适区。

我要想办法学习,跟产业化的伙伴打交道。

我要去说服别人,展示龙芯有很多优点,让大家用,然后从别人那边收集反馈,有哪些方面不行,想办法去补。

我作为芯片设计人员,要想办法把我看到的问题反馈给芯片的改进团队,然后我们要想办法帮助下游的企业,想办法解决它的问题。

还有就是我要去招人,要去管团队,这些东西对我来说都是勉为其难,赶鸭子上架,但是既然做了,我们就一定要把它做成。

所以我咬着牙也就做下来了,具体做什么事情呢?

我们首先要在那里把要做的事情分为两步,一个就是我们把实验室的龙芯样品,变成一个可以稳定地批量生产的产品。

这一点并不容易,最早的芯片是研究所做的,很多时候研究所没有产业化的经验,想不到很多东西。

比如我们最开始拿芯片去找别人生产,别人说你给我一个手册,不好意思,手册还没写好。

或者是要相关参数,要不然没法做,那个参数还没有测出来。

当时作为自己做设计的人,我们就起到了集中的作用。

我们把产业的信息收集起来再反馈回去,要帮他们解决这个问题,从一步步把这个样品做到可以量产的产品,这里我们学习到很多东西。

但是要能够稳定可靠地做产品,还是不够,还得想办法要让人愿意买

虽然这个东西稳定归稳定,但是慢得像蜗牛一样,或者乏善可陈,那也没有人买。

所以我们要想办法去找一个市场,可以体现出这个芯片的优点,能够让用户心甘情愿地买单。

在这个过程中,要想办法更多地了解我们的芯片和实际需求的吻合程度。

我们走过一个很大的弯路,如果当时我们对产品生态的理解能够更好一点,也许就不会走那么大的弯路,不至于在单核明明还有很大提升空间的情况下,就先放着了。

从产品到商品,是产业化基地做的一个很重要的工作,想单单在产业化基地里零敲碎打地找一些人来做合作,找到几个零碎的市场站住脚是不够的。

我们经过一段时间的摸爬滚打,总结了一些经验,就是我们要与业界优秀的企业合作

现在电脑里面基本上都是美国英特尔公司的天下,所有的人都围着它转。

但是就在这个情况下,也有像苹果等公司,仍然有它的一席之地,它的MAC电脑很多人都爱用。

谷歌也在短短的几年内,做出一个自己的很大的移动生态,所有手机都用它的操作系统,它们是怎么做到的呢?

我们总结了六个字,就是要开放、兼容、优化

什么叫开放?

就像谷歌,它的很多软件都是开源的,源代码直接可以下过来,大家都可以用,包括它的移动操作系统。

当时移动的老大是诺基亚,但谷歌的东西又好用、又不要钱,直接就能用。

所以所有厂家就蜂拥而上,大家都去用它的系统,一下就把诺基亚打成了过去时。

英特尔也有很多值得学习的地方,它十年前的电脑拿到现在,来也还能跑今天的软件,今天的电脑拿到十年前的软件,装起来也还能用。

这些东西很大地减少了整个产业链的损耗,这样产业链的人就会愿意用,因为这个东西不会总是改,不会浪费很多时间。

还有更重要的苹果,它的iPad很好用,但iPad在最早开始出来时,它的芯片论运算能力,其实和英特尔当时的好芯片差距还是很大的。

但是大家感觉不到,大家的体验很好,因为它的硬件和软件高度匹配

因为我们早期性能不太够时,也不得不去做很多各种软硬件协同的优化,然后发现这里面的空间非常大。

比如最早的龙芯上网,在网页里上下拖动时,能感觉到有一点迟钝。

但是我们后来经过对软件对硬件,两个合起来做了优化后,速度提升了几十倍,用起来时,有时感觉比PC还快,这就是一个典型的例子。

围绕着这六字方针,我们足足花了20年的时间,一点点地把自己的生态从无到有建立起来,从有到越来越优化、越来越好。

前段时间,我听到一个同事在说,领了一台3A4000的笔记本拿来日常办公,都没想到有那么好用。

他说这个用起来就没觉得和原来的笔记本有什么区别,这就是我们的生态。

现在具体是什么样的状态呢?

应该说我们从0%到1%,就是这两年发生的事情,这两年整个国产的链条都发展得非常快,龙芯从端到云,有一个产业生态体系。

目前大概有超过2000家各种各样的合作伙伴,有做电脑的,有做软件的,有做各种集成服务的。

有几万个龙芯的开发人员,现在在天天做龙芯相关的开发。

我们今年已经卖了超过100万颗龙芯的芯片,这些芯片很多都用在非常重要的领域,2019年还是50万,2020年就超过100万了。

所以我们已经走上了一条发展的快车道,我们耳熟能详的整机厂,像联想、同方、方正、浪潮、曙光,这些我国最大的厂商,现在都在卖它们牌子的龙芯电脑。

所以应该说我们的产业链已经初具规模了,这也是我们努力20年的结果。

龙芯选择的是一个HARD模式,即非常难的一种模式,走的是高度自主的路线。

因为CPU有很多种做法,我们可以去买一个别人现有的设计过来,只要花钱足够,也有人能卖给你一些CPU设计。

也可以买别人CPU的指令集授权,然后自己做芯片,买别人指令集的用处就是借用别人软件的生态,即别人已经做好的软件。

指令集相当于CPU的语言,如果用这个语言,就不用再重新做一套软件了。

而我们选择了自己打造一个生态,选择自己做一个指令集。

因为我们把培育能力当做最优先的考虑,因为我们国家要做自主可控,最终还是要掌握这些东西。

借助别人的东西,可以快速地达到一定的发展效果,但是最终要想实现自由,还是要掌握自己的能力

在这一方面,我们付出了很大的代价,过了20年,才拥有一点点规模,相对于现在成熟的几千万一年的生态还是很小的。

但是应该说,我们现在已经具备了一个很好的发展条件,我们的销量每年在成倍地增长。

有一个这样的起步,相信我们会走得越来越快,越来越能展示出我们的后发优势。

因为我们自己做下来了,优势很明显。

我们在什么地方都没有黑盒子,可以非常容易地解决问题,问题在哪个地方,都可以把它抓出来解决掉,我们还可以做各种创新。

最后,分享我们计算所墙上的一句话,叫做“科研为国分忧,创新与民造福”。

我的导师的导师夏培肃院士,是整个国家计算机的创始人之一,她是做两弹一星的计算机的专家。

到我们这一代做龙芯,包括我们计算所做的其他的项目,比如曙光机等,都是这样。

我们整个所都奉行这样的价值观,我们也希望通过我们的努力,能够真正地让我们龙的传人,都很快地用上龙芯。

责编:
来源:格致论道讲坛 #龙芯#
THE END
关闭
加载

PDF 加载中...