样一种观点:我们现在落后这么多,别人不比我们笨,如果大家都一样一周五天一天8小时上班,恐怕很难赶上人家,唯有像当年搞“两弹一星”一样拼命,至少得累死一批人。唯有这样,我们才能不受欺负。

为了让研制出来的第一块CPU“龙芯1号”顺利长大,龙芯项目组内部甚至给这块芯片取了一个极具中国特色的小名——“狗剩1号”,希望名字贱一点容易养活。而“狗剩”的音译“Godson”也顺理成章地成为了龙芯最初的英文译名。

2002年8月10日,清晨6点08分。在龙芯FPGA样板点亮的一年以后,流片成功的“龙芯1号”CPU终于正式面世了。在中科院计算所北楼105房间里,那块搭载着“狗剩1号”CPU的计算机屏幕上,“login:”的字样如约而至,标志着第一块国产CPU的成功。

团队的欢呼声几乎冲破了天际,胡伟武迫不及待地抱起了键盘,用vi编辑下了龙芯1号产生的第一个文件。在那块窄小的屏幕上,他写道:

“The historical time of 6:08 on 2002.8.10 ends an era while begins a new one.”

(2002年8月10日,6点08分,一个崭新的时代开始了。)

震惊全国的“汉芯造假”

2002年,在“龙芯1号”项目跑通了之后,胡伟武带着团队乘胜追击,“龙芯2B”于2003年流片成功。

然而,在短暂的胜利之后,迎接龙芯团队的却不是鲜花与掌声,而是一段荆棘遍布的旅程。

2004年底,“龙芯2C”虽然流片成功,却因没有达到国家“863课题”合同要求的300分而没有完成验收,压在胡伟武身上的担子陡然重了起来。

上文提到,2000年底,国家将发展集成电路列入了“十五计划”纲要里,“863课题”中也对龙芯定下了“主频1GHz、SPEC CPU2000分值达到500分”的目标。

眼见着2005年“十五计划”收官在即,龙芯团队只剩下一年的时间。龙芯2C连300分都没有完成,下一代的“龙芯2E”要完成500分,谈何容易?

然而,这担子不抗不行。胡伟武深知,倘若“十五”的任务完不成,那“十一五”国家是不是还支持自主CPU研发,谁都不知道。

2005年11月底,“龙芯2E”正式交付流片,2006年3月流片成功,通过编译优化“勉勉强强”、“硬着头皮”达到了500技术指标。

然而不幸的是,恰逢其时,震惊全国的“汉芯造假事件”爆发。

在2000~2005这五年时间里,中国掀起了一场轰轰烈烈的“全民造芯”运动,各大“国产处理器”层出不穷,汉芯、龙芯、以及上文提到的飞腾、申威等都是出自这一时期。

热潮之下,免不了投机取巧、浑水摸鱼之徒。

当时,「汉芯」团队的负责人陈进通过从美国购买芯片,再雇人将芯片表面的原有LOGO用砂纸磨掉,然后加上「汉芯」的LOGO,摇身一变成为拥有“自主知识产权”的集成电路“重大突破”。汉芯项目也成功通过层层验收,成为国家级重点科技攻关项目。

消息一出,全民哗然。

当时的市场并不理解“自主可控”的重要意义,在“造不如买、买不如租”的思想指导下,耗资巨大的CPU自主研发项目本就争议缠身,汉芯事件一曝光,龙芯、飞腾、申威统统被拉下了水,质疑之声不绝于耳。

在“十五计划”的863课题结束后,“十一五”的“核高基”课题(核心电子器件、高端通用芯片和基础软件产品重大专项)却迟迟启动不了。

海外的CPU研发进程一天都没有停止,我们本已落后不少,如今再一耽搁,只怕追赶起来更为困难。

幸运的是,当时的中科院领导顶住了压力,紧急拨给了龙芯团队所急需的500万元的前期研发经费,督促龙芯加快“龙芯3号”的研发。

在“龙芯3号”的第一款芯片“龙芯3A1000”完成设计,却因缺少流片费用而无法投产时,科技部高新司冯记春在863计划内紧急安排了2000万经费,全力支持龙芯的研发。

当时的中科院计算所所长李国杰甚至在会议上当众表态,“胡伟武,你不能以任何经费的理由放缓龙芯3号的研制,计算所就是砸锅卖铁也要支持龙芯的研发。”

一直到2010年,“十五计划”结束的5年之后,龙芯团队才收到了第一笔“核高基”的课题经费。而在此之前,龙芯课题组已经预支了计算所近8000万元的研发经费。

顺便一提,2010年,英特尔全年研发费用为65.7亿美元。

龙芯的十年研发,却还抵不上英特尔一个月的研发费用。

卡住脖子的不是芯片,而是操作系统

从2006年开始,市面上陆续出现了使用“龙芯2E”、“龙芯2F”的电脑,它们大多是袖珍主机或者一体机,由中科院和江苏梦兰合资的龙梦公司生产,运行Linux操作系统,价格低廉。

比如,搭载“龙芯2F”的福珑2F迷你电脑,售价仅为人民币1800元,远低于市场同类产品。

2007年的龙芯电脑,图源:人民日报

然而,在Windows系统独霸天下的电脑市场,运行Linux系统的龙芯电脑始终难以打进主流市场。

芯片与操作系统是强绑定的,如果芯片是一片土地,那么操作系统就像一棵大树,我们所使用的视频、文字、浏览器等应用就像是大树上的果子。

正如橘生淮北,同样的树木移植到另一片土地上就会无法生长,同样的操作系统也无法跨芯片使用,更别谈那些长在树上的“果子”了。

因此,在微软Windows与英特尔芯片结成强绑定的这几十年里,这棵树苗已经长成了枝繁叶茂、荫蔽四方的庞然大物,树枝上结满了各式各样的“果子”,从Word文档、PPT幻灯片、到迅雷下载、暴风影音、QQ、Photoshop……

终端用户不关心芯片、也不关心操作系统,他们需要的只是树上的果子。

只要微软一天不给龙芯授权,龙芯的电脑就一天不能用Windows系统,也就无法面向最广大的消费用户。

“走!下海去”

“龙芯在科学院里面已经做得很好了,不能再好了,要想更好,就必须下海办企业。”

——这是原国家外专局局长马俊如时常对胡伟武说的话。

一直以来,龙芯都只是中科院里的一个课题组项目,既不自负盈亏,也无真正的生存压力。

学院研究环境给予了龙芯宽松的成长空间,让尚处襁褓中的国产CPU有了喘息之机。

可随着龙芯项目的进一步成长,商业化、市场化的需求日益迫切——正如一条逐渐成长的大鱼,已无法在窄小的鱼缸中继续生活。

2009年,“龙芯3号”的第一款龙芯3A1000正式投产,这款芯片采用65nm制程,是我国第一个四核CPU芯片,也是唯一能支持多路服务器的自主CPU,它标志着龙芯CPU商用步伐的又一重要里程碑。

在此鼓舞之下,2010年初,龙芯团队下定决心,技术骨干们集体从中科院计算所辞职“下海”,将「龙芯」从课题组转化为公司形式,变成了如今人们所熟知的「龙芯中科」。

这本该是令人兴奋而惊喜的好消息,然而,谁都没有想到,龙芯史上最深的一个“坑”、最残酷的一次挑战、最惨痛的一个教训,竟然来得那么快。

由于刚刚转向公司管理,龙芯团队原有的“作坊式”的设计流程被打破,专业的公司化工作流程却没有建立起来,各方人员手忙脚乱,失误频频。

2010年6月,龙芯3B1000送去流片,却因一个极其简单的低级错误而导致流片失败,送回来的样片连系统都无法正常启动。

这是龙芯历史上第一次出现这样简单的工作失误,却不是最后一次。与龙芯3B1000同一时期流片的龙芯1A、龙芯2I等芯片,全部都出现了类似的低级失误,致使大量流片费用全都打了水漂——对于一家自负盈亏的企业来说,这样的打击无疑是巨大的。

然而,管理上残留的“学院派”并不是把龙芯逼上绝路的罪魁祸首。

真正把龙芯逼到绝境的,是脱离用户需求,产品方向走上了“学院派”。

在“十一五”期间,多核CPU成为了国际学术界的热点研究方向。受学院派思想主导的龙芯团队脱离了市场需求,在龙芯3B芯片的设计之初就把研发重心放在了多核上,而且盲目追求“核数做得比国外还多”。

2013年,一波三折的“龙芯3B”终于正式面世,龙芯团队磕磕绊绊地拿出了当时国际上最高峰值浮点运算速度(160GFLOPS)的芯片产品,其论文不仅被Hotchips、ISSCC这些顶级国际芯片会议录用,还在学术界引起了巨大的反响。

然而,由于过度追求多核、浮点峰值性能这些单一性能指标,“龙芯3B”的通用处理性能严重不足,和2006年的“龙芯2E”相比只提高了30%-50%。

可这7年之间,英特尔等市场主流的CPU的单核通用处理性能却足足提高了500%以上。

7年前,“龙芯2E”的性能还只是和国外领先水平差了1-2倍;可7年之后,“龙芯3B”的性能足足差了一个数量级,追赶无望。

技术上的差距体现在市场上就是不好用,甚至是不能用。由于“纯国产”CPU无法满足通用处理器的性能要求,从2013年开始,国家的“核高基”计划陆续放弃了CPU自主研发路线,转而开始扶持起了“CPU技术引进”型企业。

广阔的中国市场打开,迎面涌来的是海量商机。IBM、AMD、英特尔、威盛、ARM等一大批海外巨头全都坐不住了,纷纷来到中国寻求合资与技术授权,「芯片合资潮」瞬间模式横扫了国内市场。

此时的龙芯虽然已经转型成为一家自负盈亏的企业,却依旧主打的是“国产替代”市场,在涉及国家安全的通用PC和服务器市场实现自主可控,主要靠国家支持进行研发。

对于龙芯来说,“核高基”放弃了自主CPU的支持无异于釜底抽薪,把困难重重的「龙芯中科」逼上了绝路。

在事后谈起这段日子时,胡伟武回忆道,“‘十五’期间负责863计划的科技部高新司领导在龙芯2C没有达到预期技术指标,龙芯2E立项专家提出19条反对意见的情况下作为非共识项目支持龙芯2E的研发,给了我们一次改进的机会。”

“而这次,机会没有了,需要我们自己想办法。”

痛定思痛,知耻后勇。2013年5月,龙芯迅速调整产品方向,暂停了已经完成主要设计的16核“龙芯3C”,开始回头重启四核“龙芯3A2000”的研发,放弃高性能机专用CPU的研制,重点把双核、四核处理器做精做透。

与此同时,龙芯将聚焦点从科研挪开,回到产业,回到商业落地,针对宇航、石油、流量表等特定产业、特定应用研制基于“龙芯1号”的专用芯片。由于专用芯片产业链短,能够让龙芯形成技术优势,并快速形成销售。

为了省下流片的费用,当时龙芯中科还承接了一个“基于40nm工艺的高可靠嵌入式CPU研制”项目,用实验中的技术免费流片。

而在最困难的时候,龙芯甚至还不得不向“娘家”中科院计算所借了500万元,以缓解研发的燃眉之急。

功夫不负有心人,在熬过了整整一年多的至暗时刻后,从2014年下半年开始,龙芯的一系列调整开始有了回报。

2014年,龙芯中科全年营收同比增长51%;2015年再增57%,并顺利跨过了盈亏平衡的门槛,摘掉了“国家补贴”的帽子,能够通过市场销售养活产品和研发团队。

2016年底,具有里程碑意义的“龙芯3A3000”也正式研发成功,这款芯片跟2013年的“龙芯3B”相比,不仅通用处理性能飙升了5倍以上,更是在不少领域超过了同类型的四核“合资CPU”。

2016年10月7日,当胡伟武走出人民大会堂,回忆起过去这十年风雨时,他感慨万千:

“当十年前我开始龙芯3号研制时,完全没有想到龙芯3号系列CPU发展道路之曲折,奋斗之艰辛,付出之巨大。”

所幸,一切都是值得的。2019年全年,龙芯CPU出货量超过50万片。而到了2020年前九个月,这个数字飙升到了200万。

侵权风波

其实龙芯从诞生之初,便时常被负面消息缠绕着。而其中影响最大、持续时间最长、最饱受争议的,就是龙芯和MIPS之间的恩恩怨怨。

弄清楚MIPS之前,首先要弄清楚什么是“指令集”。

指令集是一套软件,位于芯片和操作系统之间。芯片使用的是“硬件语言”、操作系统使用的是“软件语言”,指令集的作用可以理解为二者之间的“翻译官”。

指令集和芯片、操作系统都是强绑定的,英特尔的x86指令集与Windows系统绑定、ARM的指令集与安卓系统绑定。

而指令集就像一门语言,有自己的单词、句子、语法规则。英特尔和ARM的指令集就像是「英语」,现在全球都在使用这门语言,用的人多了自然就强大起来。你现在手机、电脑上的所有应用,都是在这个语言体系里长出来的。

理论上任何人都坐在家里都可以设计出一门自己的语言——就像《星际迷航》《魔戒》等文学作品里,作者也会为克林贡人、精灵、矮人设计它们自己的语言。但这些编出来的语言并不会有人去大规模使用。

这就是龙芯在2000年项目最开始之时遇到的第一个问题。

龙芯的指令集,要用哪一个?

20年前的芯片市场,可比现在热闹多了。当时,英特尔还是高性能计算领域的后起之秀,其x86虽然势头正猛,却离今天垄断全球的霸主地位相差甚远。

市场上各类架构百花齐放,不仅有英特尔的x86,还有IBM的Power指令集、DEC的Alpha指令集、SUN的SPARC指令集等等。当时,连苹果都来凑了个热闹,拉上IBM、摩托罗拉一起搞了个PowerPC架构(芯征程 | 苹果造芯30年)。

由于每种指令集都注册了技术专利,没有得到授权无法直接使用。尤其是x86指令集,英特尔已经将围绕x86的所有专利全都注册了个遍,围得像个铁桶,完全无法切入。

几经商议之下,龙芯最后将目标投向了既能用在机顶盒、桌面电脑,又能用在高性能服务器里的MIPS指令集,采用了“MIPS兼容”的模式:

1、超过专利保护期的MIPS指令集已经公开,可以直接使用;

2、还在专利保护期内的部分,龙芯采用自己的结构实现了MIPS指令系统,可以理解为一个是普通话,一个是四川普通话。

在龙芯只是一个科研项目时,这种做法并不会引来多少非议,然而随着龙芯逐渐走向商用,美国MIPS公司逐渐关注到了大洋彼岸的龙芯。

MIPS要求龙芯支付100万美元的技术授权费用——对于当时的中科院计算所来说,这无疑是笔天价——双方多次协商会谈,却始终没有达成协议。

据当时的媒体报道,2005年时,龙芯曾与微软接洽,力争得到微软Windows CE嵌入式操作系统的合作授权,最后却因MIPS专利纠纷问题而最终没有成功。

搭载Windows CE系统的学习机,图源:知乎osnine

一直到2006年,龙芯才最终通过和意法半导体合作的方式,获得MIPS专利的使用权。

虽然一开始采用的是MIPS兼容模式,但是在这20年间,龙芯其实从未停止过对自主研发指令集的探索。早在”龙芯2号”中,龙芯团队就加入了自研的多媒体编解码指令集LoongMMI。而在“龙芯3号”中,龙芯团队又加入了二进制翻译指令。

同样在这20年间,随着英特尔的x86架构一骑绝尘,MIPS生态逐渐衰弱了下去,MIPS的专利权也几经易主,辗转流落到了几个公司手上,最后被美国初创Wave Computing收入囊中。

趁着这一机会,2015年——就是龙芯公司正式迎来盈亏平衡的那一年——在“龙芯3A2000”的发布会上,龙芯正式发布了LoongISA指令集,其中既包括500多条MIPS64命令,也包括1400多条龙芯新增的指令。

2021年4月,在Wave Computing申请破产重组一年后,龙芯更是正式拿出了自研LoongArch指令集,并宣布公司一年前发布的“龙芯3A4000/3B4000”全部支持该指令集。

目前,这两款龙芯CPU已经搭载在了联想长风、天玥、同方、方正、海尔等品牌的台式电脑、笔记本电脑、服务器等设备上。

汉芯风波在前,MIPS风波在后,此后的龙芯在专利问题上变得越来越谨小慎微,绝不轻易对外公布指令集的细节,以防再度惹上官司。有时哪怕是开发者们向龙芯索取信息,也往往会吃个闭门羹。

然而,就在几天前的6月2日,龙芯再度卷入了MIPS侵权风波中。上海芯联芯公司发布公开声明称:

1、芯联芯自2019年起已取得MIPS在中国的独家、永久和不可撤销的经营权,龙芯中科未向芯联芯支付足额的技术授权金,目前双方在香港进入审理仲裁阶段;

2、龙芯中科公司“彻底抛弃MIPS,发布自主指令系统LoongArch”的报道宣传偏离事实;

3、龙芯中科只公开了LoongArch的部分源代码,不具备行业公信力,涉嫌侵权。

对此,龙芯中科公开回应称:芯联芯公司向龙芯中科的合作伙伴、社会公众不断发布各种恶意中伤、诽谤龙芯中科。龙芯中科已经采取法律行动。

龙芯中科回应原文,图源:龙芯中科公众号

尾声

面对龙芯,“不吹不黑”是最好的态度。毕竟这个时代里,为任何市场化的企业扣上“民族希望”的大帽子,都将会是一种捧杀。

客观来讲,龙芯CPU目前切入的依旧是一个小市场,即便现在年出货量突破200万片,有了联想长风、天玥、同方、方正等一些列电脑品牌方采用,它在技术、管理、人才、以及产品、生态、市场占比上,都与国际顶尖水平差了一个量级。

然而,这不代表龙芯毫无技术亮点,是只懂“圈钱骗补”的PPT项目;也不代表龙芯的技术领先全球,承载着民族振兴的新希望。

它所代表的仅仅是,自研CPU很困难,但已经有人在做了。

参考资料

1、《2019龙芯产品发布暨用户大会合作伙伴联合发布基于龙芯平台最新产品》

2、《甘当20年备胎的龙芯能有什么坏心思呢》guee

3、《尴尬中国芯:龙芯CPU的艰涩之旅》财经文摘

4、《回望50年》黄令仪

5、《我们的CPU》胡伟武

6、《我们的龙芯1号》胡伟武

7、《我们的龙芯3号—致龙芯15周年》胡伟武

相关推荐