一直想写一篇关于芯片的文章,然而内容一展开就发现随便一点都是一大篇,还是漫谈一下吧。
    中国芯.jpg
    “芯”的热度由于中兴事件,可以说已经达到了全民关注的程度。这次美国禁止向中兴出售任何电子技术或通讯元件,枪口对准的是中国的高新技术企业,对中兴的禁售令,却并不是只针对中兴。贸易战大炮对准了中国薄弱的高新科技尤其是半导体领域,芯片是中国对美国依存度最高,也是贸易量最大的品种。中兴被制裁这件事,让大家知道中国半导体工程、芯片制造上与美国的巨大差距,这个差距造成的根本原因是中国的工业化起步晚,又被发达国家禁售(《瓦森纳协定》),“引进-消化-吸收-再创新”模式从第一步就被封锁。
    与我们所知的不同,中国早就在试图突破这一切了,只不过任重道远,历史的欠债太多,基础科学、材料工艺还和世界发达水平有着很大差距,所以,我们看到的成果也不多,但确确实实一直都在做,从未停下脚步。而最近寒武纪发布AI芯片,阿里巴巴收购芯片厂商,龙芯,华为麒麟970等等,也引发了关于芯片自主化的新一轮讨论。
    指令集.jpg
    指令集->微架构->CPU->操作系统->生态
    现在世界上商用指令集有5种,分别是X86、ARM、POWER(只用在IBM的服务器上)、MIPS、C6000(DSP),其中X86是Intel和AMD两家技术相互授权的合体,与windows系统并称Wintel霸权。要用windows,就必须X86。ARM和MIPS都是精简指令集,其中ARM现在制霸移动设备,MIPS早先是学院派创造的,比较开放、到处授权、而且不限制各自新增指令另搞一套,MIPS从技术上来说,在当时是领先的,龙芯在2009年花了不到500万美元,永久买断了MIPS的指令集授权,发展出了自己的指令集,叫LoongISA,并且增加了很多指令,实际已经趋近于复杂指令集。在这些指令集上面,只能运行Linux系统。
    指令集并不是什么技术,在网上都可以下载到,关键是如何做出基于指令集的微架构,也就是我们说的IP内核。x86架构下的Intel是从指令集到生产CPU都是自己做,AMD只设计CPU,生产外包给代工厂。而ARM不制造、不销售任何芯片,只设计IP内核,然后授权,提供三种授权模式:

    • 架构/指令集层级授权
    • 内核层级授权(IP内核授权)
    • 使用层级授权

      使用层级授权就不用说了,内核层级授权就是以IP内核为基础,增加外设形成自己的MCU,比如三星、TI、高通、华为。
      架构/指令集层级授权就是可以在指令集的基础上进行扩展或缩减,比如苹果的swift架构就是在ARM的基础上扩展出来,并自己实现了基于此的微架构以及芯片。在这一层面上,龙芯和苹果是一样的,都是买别人的指令集,自己做IP内核以及芯片,只不过一个用的是MIPS,一个用的是ARM。有意思的是龙芯的微架构取名“GS”,来自中文“狗剩”,取个贱名好养活,GS264就是狗剩2号64位(《致龙芯15周年 胡伟武披露龙芯3号开发历程》)。
      寒武纪.jpg
      在自主化这个层面上,比龙芯更厉害的就是寒武纪了,因为寒武纪的指令集是自主开发的,叫“DianNaoYu”,是世界首个深度学习指令集,寒武纪推出的人工智能芯片型号名字叫“DianNao”,用的也是寒武纪的自主架构。
      寒武纪人工智能芯片和传统的通用处理器如何比较?寒武纪是人工智能的专用芯片。请注意专用两个字,因此寒武纪的芯片和通用处理器并非替代关系。由于CPU和GPU基本框架结构都不是为人工智能设计,如果要用通用处理器搭建一个人脑规模突触的神经网络,可能需要建一个电站来给它供电。AlphaGo下一盘棋动用了1000个CPU和200个GPU,每分钟的电费就高达300美元,而网络规模只有人脑的千分之一。寒武纪AI芯片恰恰解决了这一问题——它能在计算机中模拟神经元和突触的计算,对信息进行智能处理,还通过设计专门存储结构和指令集,每秒可以处理160亿个神经元和超过2万亿个突触,功耗却只有原来的十分之一,未来甚至有希望把整个AlphaGo的系统都装进手机。寒武纪的AI芯片在两个大型产业都可以有广泛的应用,一个是云端,一个是终端。在目前云计算蓬勃发展的情况下,云端服务器面临更大的大数据计算压力,AI芯片逐渐必不可少。另外终端的智能化程度和计算要求不断提升,也需要使用AI芯片。2017年9月2日,华为在德国IFA展上发布麒麟970处理器,首先用于华为Mate10智能手机上,虽然没有公开宣布,但其背后的AI芯片就是来自寒武纪,麒麟970整合的人工智能芯片,华为称之为NPU(NeuralProcessingUnit,神经处理单元)。
      寒武纪的创始人之一陈云霁在2002年跟随胡伟武硕博连读,25岁成为了8核龙芯3号的主架构师。
      关于MIPS,国内知名的有两家,一个是龙芯,一个是君正。君正主要做民用市场,低功耗,比如华米智能手表用的就是君正的芯片。而对于龙芯,舆论的争议很大,龙芯在专业领域已经有一些市场,早几年已经开始盈利,但对于民用市场,因为其生态发展不足,还需要很长的路要走。我们不妨有个大胆是设想,设想一般都是不会成立的,“ARM不再授权给中国市场,x86芯片禁售中国”,在这个设想前提下,国内的巨头们对于MIPS芯片的投入肯定会加大,研发进度会加速,软件生态会丰富,龙芯的春天也就来了。对于我们研发工程师来说,对龙芯的支持,来源于将龙芯列入设计方案考虑范围之内,来源于开发板的购买,来源于基于龙芯的产品的面市,来源于我们的自强。
      龙芯.jpg
      芯片研发难,制造难,找市场更难,但是请别悲观,到目前为止,中国芯片大体上啥都有,各方面落后世界最新0.5-10年,局部世界领先,总体是落后一些,这个差距,大概需要一代人可以填上。15年后中国芯能否赶超美国,我们拭目以待。