做嵌入式的你必须知道的国产CPU之路
1 引子
以2019年5月华为被ARM禁售事件为标志,国内掀起了一波轰轰烈烈的国产芯片讨论热潮。一时间街头巷尾平头百姓都在讨论中国必须有自己的芯片,网络上更是沸沸扬扬,把多年历史都给翻出来了。
芯片产业链很长,最上游就是芯片的设计,然后是生产、封装,然后是用芯片来做成各种电子产品。芯片生产方面全世界龙头老大是台湾的台积电,完全可控的国内旗帜是上海的中芯国际,相信大家已经耳熟能详了。前几天听说中芯国际向ASML订购的14nm光刻机终于到货了,真心开心。我们在芯片生产领域起步晚,前些年又没有痛下决心,所以现在差距是客观存在的,但是追赶起来速度确实很快。
芯片封装技术含量不高,国内有不少公司在做。用芯片做产品其实严格说不算半导体产业了,算电子研发制造业,这才是我们最大的优势,全球大部分电子产品都是我们研发生产供应的,这也为国产芯片的落地提供了绝佳的承载。
所以我们平时讨论的国产芯片,其实主要是指芯片的设计(芯片有很多种类,咱们这里只讨论CPU)。历史上曾经出现过很多种不同设计的CPU,但是如今主流且具备代表性的我认为就4个:X86、ARM、飞腾、RISC-V。
2 时代王者X86和ARM
先说X86,这玩意儿红火多年、根深蒂固,特点是高功耗高性能。尽管行业内一直对X86评价不高,甚至有一种说法从技术角度讲最烂的CPU是X86,最烂的操作系统的Windows,但是不得不承认,这2个都是在各自所在领域最成功的。
X86的主战场是PC和服务器,大家用的个人电脑,不管台式机还是笔记本电脑,都是X86的,公司使用的服务器电脑主流也是X86的(尽管以华为为代表的一些公司也在做ARM处理器的服务器,但是仍然市场占有率有限),这就是X86的牛逼之处,也是Intel能够雄踞全球半导体公司前列的立身之本。
ARM出现也很早了,一开始完全只能在X86的余威下夹缝中求生存。我们在嵌入式linux核心课程的ARM裸机部分讲过这段历史,ARM使用RISC(精简指令集)而不使用当时主流的CISC(复杂指令集)架构其实不是因为有远见而是因为穷,可见那个年代(就是PC的年代)ARM其实被X86吊着打的。
可是后来进入了移动时代,PC从大型机到IBM小型机,再到笔记本电脑,再到上网本,再到平板电脑,再到手机。这整个发展过程中计算机的体积越来越小,对低功耗要求越来越高。这其实就是从通用型PC到嵌入式计算机系统的转变过程,而X86并没有抓住机会及时调整(其实做过调整但是都不成功,而且人家做PC赚的肥的流油也确实懒得调整),这就给了ARM几乎,让ARM抢占了嵌入式系统中CPU的绝大多数份额。
时至今日,Intel在嵌入式领域几乎一败涂地,市场份额少的可怜。而ARM如何打败Intel,这又是另一个故事,这里就不说了。
X86和ARM都是国外公司设计,拥有绝对产权控制的。我们想要使用要么向人家购买成品芯片,要么购买芯片设计的版权授权然后自己生产。譬如说华为的麒麟系列手机芯片就是向ARM购买的ARMv8架构设计,然后再自己基于这个基础来增加其他功能,最后形成麒麟芯片。而高通的手机芯片,苹果的手机芯片也都是这样,都是买的ARM的CPU设计授权,然后再自己二次设计,才成为自己的手机芯片的。ST也是向ARM购买授权,然后再二次设计形成STM32单片机的。
X86和ARM的原始产权都在各自公司所有,人家哪天不想给你授权了,不想赚你的钱就想卡你的脖子不让你用了,那你是完全没办法的。因为原始设计的产权在别人手里,除非你不讲法律盗版来用,但只要是参与国际合作的大公司都不可能这样。你都不遵守知识产权约定了,谁还跟你做生意啊。
3 国产飞腾
为了不让别人卡脖子,就必须做自己有绝对知识产权的CPU芯片才行。其实国内一直有人在努力,可惜大多数都是失败和丑闻。汉芯事件就是沸沸扬扬的造假国产芯片,令人唏嘘感叹。
为什么国产芯片这么难?主要是因为芯片设计本身难度就很大,而且需要的资金很多,非常烧钱。国外的芯片设计产业也是经过很多年、烧了很多钱才慢慢成长的。而且被人比我们领先很多年,人家的X86和ARM产量非常大,平均成本低所以市场卖价低。我们如果按照市场经济的价格竞争,完全是无法和X86、ARM这些竞争的。
市场经济游戏规则下,最合适的方法是购买别人的芯片做产品(当年联想的选择,为此赶走了倪光南院士),或者最多购买别人的芯片设计授权自己二次开发(如今华为的选择)。这个是合理的,市场经济就是这样,你不能逆天而行,不然唯有倒闭关门。
想要打破垄断燃气国产火种就必须靠国家支持,飞腾就是其中优秀代表。飞腾的原始设计来自国防科技大学团队,根正苗红的国家队。飞腾CPU拥有完全自主可控的知识产权,而且目前已经形成了比较完善的上下游,有公司专门为飞腾CPU设计操作系统(一般都是基于linux来开发)和周边软件,有公司专门基于飞腾CPU来做成品PC和服务器电脑,当然了前期客户主要是政府和部队采购,因为这些场景需要考虑国家安全,对自主可控更加在意。相信以后会逐步进入市场,面向企业和个人。
飞腾是典型的从零开始另起炉灶做一套中国人自己的CPU,这代表着最难走的一条路,但是也是最安全可控的一条路,一定要有人走下去。
4 新的曙光RISC-V
RISC-V自2019年开始突然热了起来,这是一种新的CPU架构。RISC-V来自美国,由伯克利大学等几家机构提出。RISC-V是国产CPU芯片创造奇迹和弯道超车的一大机会。
很多人不理解,RISC-V既然是美国人提出来了,那不是还被别人卡脖子吗?怎么会是国产芯片的机会呢?其实是这样:
大家首先要理解,所谓的卡脖子其实主要是2个层面来卡,一个是法律层面,一个是技术层面。
法律层面就是我可以给你用,我甚至公开了源码,但是法律上这东西是我的,你能用是因为我免费授权给你用。如果我停止授权你就得立刻停止用,否则就违法了。典型案例就是android系统,其实android是完全开源的,但是是不可控的,因为谷歌完全可以停止授权来卡你的脖子。
技术层面就是说我授权给你用但是不开放源代码。这种方式别人不想给你用的时候你就算想违法使用都做不到,因为控制权完全在别人手里。
看起来似乎法律层面的卡脖子要松一点,实际是一样的。因为现代人类社会是讲法治的,除非打仗彻底翻脸,否则你不可能明目张胆的违法使用别人的东西。所以这2种卡脖子都很难受,这就是典型的不“国产可控”。
那除了自己做之外,有没有什么办法是别人做的但是我又可以放心大胆使用的呢?有的,开源社区的GPL协议就是这样的典型案例,linux系统就是国外开发的(很多国家的很多工程师共同提交完成的,linux的创始人linus本身是芬兰人,后来才去的美国),但是是安全可控的。因为GPL的协议从法律层面上赋予了任何人任何组织不受任何其他人约束的使用linux系统,而linux又是开源的,所以没有任何人可以在linux系统上卡其他人的脖子,法律和技术上都没有可能性。
RISC-V是美国人提出的,又如何保证我们“国产可控”呢?首先从法律上,RISC-V采用GPL协议,这就和linux系统一样不用担心突然有一天有人告诉你这东西你不能用了,用了就违法。其次,RISC-V官方实际发布的只有RISC-V指令集的标准,而并没有具体的CPU设计方案。你要使用RISC-V得你自己去按照RISC-V指令集做设计。
什么意思呢?就是说RISC-V其实只是个标准,根本没有CPU设计实体。这和ARM是完全不一样的。ARM是由ARM公司提出标准并完成设计的,你问ARM付费购买授权其实买到的是ARM芯片的设计IP(可以理解为买到了芯片的可以用的源代码),你自己其实不用特别懂芯片设计,基于ARM的IP稍微修改即可使用。这才是ARM最大的价值,他的成功就是他让很多自己不具备设计CPU能力的公司能够去生产CPU芯片了。
而RISC-V其实只有个标准,相当于写软件只给出了接口并没有具体去编程实现这些接口,你要使用RISC-V就得自己去写代码实现所有接口。所以你如果自己不会设计CPU那RISC-V对你根本没用(当然了会有很多专业的CPU设计公司给你提供符合RISC-V标准的设计的,譬如国内的芯来科技)。
所以国产RISC-V芯片,其实就是国内公司自己设计的符合RISC-V标准的芯片。芯片是你自己设计的,技术上肯定自主可控了。RISC-V标准又是GPL的法律上毫无风险,那这东西当然是国产可控的解决方案了。
5 为什么RISC-V是中国芯的机会
首先,你想想RISC-V本身设计的价值在哪?很多人觉得你就给个标准,说白了就是规定了CPU必须实现的指令集描述而已,根本什么都没给啊,有什么用?简单就是个空壳子啊。其实RISC-V的设计是很有深意的,可以说非常符合时代需求。
X86是第一代广泛使用的CPU架构,只卖芯片不广泛授权。ARM是第二代广泛使用的芯片,完全靠卖授权。大家发现没?越来越开放了。
为什么?你不开放谁用你啊。你想卡别人脖子,别人也不傻啊,有风险谁用你啊。谷歌当年能做起android生态,就是因为承诺android完全开源,并且谷歌自己确实不做手机(中间折腾过但是还是放弃了)不参与手机行业竞争,所以这些手机公司才会用谷歌的android系统。所以看到了吧,在这个年代,你不开放根本没人敢用你。这就是X86和ARM的绝对软肋。RISC-V作为后起之秀,必须要更开放,否则比起前辈来根本没优势啊。
RISC-V这种设计模式的初衷就是,让各个有实力自己设计芯片的国家或公司能够自主可控,不受他人卡脖子,而且大家还能够在同一个RISC-V标准框架下去设计CPU,这样将来这些CPU就可以共享同样的生态。其实做起一款CPU最难的不是技术,而是生态的搭建,这需要很多公司很多人很多钱很长时间的积累才能形成竞争力。
所以你现在明白了,为什么RISC-V对国产芯片来说是个好机会。我们做国产芯片第一阶段当然是为了不被别人卡脖子,但是这个仅仅是第一阶段。第二阶段当然是要往出卖去赚钱啊,然而古语有云:己所不欲勿施于人。
我们今天担心别人卡我们的脖子,明天往出卖的时候别人也会担心我们卡他们脖子啊,这生意还怎么做?钱还怎么赚?你再给别人保证都没用。
所以说飞腾这种完全自己设计自主可控必须得有,而且得做好,但这主要是为了国家安全和国防安全。从市场化角度走,想国产芯片卖出去赚钱,还是RISC-V更适合。
RISC-V一开始就考虑到了去除任何国家任何人使用的版权担忧,他的设计让他可以免受政治因素打扰,只需要考虑市场因素即可。所以在不涉及国家安全的民生领域,RISC-V可以提供完全市场经济条件下的充分自由竞争。谁的芯片做的又好又便宜就用谁的,你直接买市场上性价比最高的RISC-V芯片就行了,完全不用担心某一天会被人断供。所以说这真的是个天才的主意。
6 国内RISC-V的进展
RISC-V在国内进展迅速,很多公司都在这块持续投入。典型代表有以下几个。
芯来科技,是一家专门设计RISC-V芯片IP的公司。如果有芯片厂商想要生产RISC-V架构的芯片,但是又不想从零开始设计的话,就可以考虑和他合作购买授权。所以芯来科技有点类似于RISC-V领域的ARM。
2019年GD(兆易创新)推出了第一款RISC-V架构的MCU:GD32VF103系列,性能和配置对标STM32F103,便是采用芯来科技设计的RISC-V内核IP的。这是一个很不错的尝试,我们相信今年还会有更多RISC-V架构的MCU横空出世。
马云老师的阿里巴巴旗下平头哥是RISC-V架构的强力推动者。财大气粗,高手云集,2019年7月份便发布了玄铁910系列RISC-V处理器,后续肯定有更多好戏看。
华为海思貌似一直在专心开发ARM架构,没有传出RISC-V芯片的消息。但是谁知道呢?以华为的“备胎”心态,说不定也在偷偷发力RISC-V犹未可知。
7 最后
不管是飞腾,还是RISC-V,都是要去拥抱的未来。
实际上还会其他一些在努力的人,譬如龙芯,譬如努力开发国产兼容X86系列的海光和兆芯等。本文限于篇幅就不多说了。
米国对我们的技术封锁固然让我们很难受,但是同时又激发了我们的雄心壮志,让我们痛定思痛痛下决心去埋头苦干发展国产芯片。这个趋势已经形成,从国家政策,到相关研究所,到头部科技公司,已经形成了一种共识和风潮,国产芯片正在大踏步走来。
这对我们做嵌入式软件开发的人来说简直是天赐良机,这么多新的CPU如雨后春笋般出现,必然需要一大波底层嵌入式软件开发者来做相应开发服务。可以预见,嵌入式开发岗位肯定会迎来一波增量。尤其是高端岗位会变多(以前高端岗位都在国外半导体公司,现在转移到国内了),去年中旬就有猎头联系我推荐国民技术的芯片固件相关岗位,年薪在60万左右。一个大学同学在上海复旦微电子做底层嵌入式开发年薪也不低于这个数,这类岗位现在就已经变多了,我相信随着国产芯片行业的发展会越来越多。
同志们,加油!
免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。