我国每年要花费2000多亿美金用于进口芯片 , 然而龙芯一号的诞生 , 结束了中国信息产业无芯的历史 。 从3A1000到2000 , 我们用完全一样的工艺 , 只靠设计 , 将它的性能足足提高了15倍以上 。 原来需要33秒才能打开的文件 , 如今鼠标一点就能够瞬开 。 我们面向市场和用户 , 不断地进行优化 , 从无到有建立起龙芯生态体系 。 CPU的设计难在哪里?龙芯是如何发展的?什么是龙芯的产业生态体系?
出品:格致论道讲坛
以下内容为中国科学院计算技术研究所研究员张福新演讲实录:
龙芯是我国自己研发的一颗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年 , 才拥有一点点规模 , 相对于现在成熟的几千万一年的生态还是很小的 。
但是应该说 , 我们现在已经具备了一个很好的发展条件 , 我们的销量每年在成倍地增长 。
有一个这样的起步 , 相信我们会走得越来越快 , 越来越能展示出我们的后发优势 。
因为我们自己做下来了 , 优势很明显 。
我们在什么地方都没有黑盒子 , 可以非常容易地解决问题 , 问题在哪个地方 , 都可以把它抓出来解决掉 , 我们还可以做各种创新 。
最后 , 分享我们计算所墙上的一句话 , 叫做“科研为国分忧 , 创新与民造福” 。
我的导师的导师夏培肃院士 , 是整个国家计算机的创始人之一 , 她是做两弹一星的计算机的专家 。
到我们这一代做龙芯 , 包括我们计算所做的其他的项目 , 比如曙光机等 , 都是这样 。
我们整个所都奉行这样的价值观 , 我们也希望通过我们的努力 , 能够真正地让我们龙的传人 , 都很快地用上龙芯 。
“格致论道” , 原称“SELF格致论道” , 是中国科学院全力推出的科学文化讲坛 , 由中国科学院计算机网络信息中心和中国科学院科学传播局联合主办 , 中国科普博览承办 。 致力于非凡思想的跨界传播 , 旨在以“格物致知”的精神探讨科技、教育、生活、未来的发展 。 获取更多信息 。 本文出品自“格致论道讲坛”公众号(SELFtalks) , 转载请注明公众号出处 , 未经授权不得转载 。
推荐阅读
- 中国电子|国产电脑+国产系统:龙芯 3A 5000 运行统信 UOS 上机演示
- 技术|16核龙芯3C5000服务器CPU完成研制:基于自主LoongArch指令系统
- 硬件|龙芯完成3C5000研制性能接近市场主流水平
- 技术|阿里云盘等5家企业完成限速解除,乐视宣布涨薪,龙芯被要求停止销售MIPS技术产品,虎牙被抬员工一审胜诉,这就是今天的其他大新闻!
- 生产|国内首例,浙江移动完成“龙芯 5000 + 统信 UOS”在生产环境投产
- 硬件|龙芯5000处理器+统信UOS系统首次在生产环境投产
- 最新消息|上市前遭遇狙击 龙芯中科被芯联芯要求停止销售MIPS技术产品
- 硬件|龙芯发力自主指令系统架构 向Intel/AMD看齐
- 硬件|掌握自主指令集架构CPU 龙芯中科科创板IPO成功过会
- 红星|起底横空出世的“元未来家族” :以贩卖单价9.9元的“元宇宙令牌”盈利