这几天在B站、油管上刷了一些国产芯片真实上手视频,顺便自己也梳理一下芯片的一些基本概念,以及在美国科技制裁和围堵的情况下,国产CPU的发展情况。文末有我整理的一张思维导图,hope u find it informative!
IC:Integrated Circuit 集成电路
IP:Intellectual Property 知识产权
ISA:Instruction Set Architecture 指令集架构
SoC:System on a Chip 片上系统
RISC:Reduced Instruction Set Computing 精简指令集
CISC:Complex Instruction Set Computing 复杂指令集
「芯片」这个词太火了现在,美国的「芯片禁令」,美国组建的「芯片联盟」(CHIP4,即美、日、韩、台),这些大家都耳熟能详了。「芯片」这个名称,早期一般指CPU芯片,随着手机等移动设备产业的发展,现在一般指SoC(System on a Chip 片上系统),如华为麒麟、高通骁龙等等,都属于SoC。SoC不是单纯的CPU,它集成了CPU、GPU、基带芯片(Baseband)、内存等多种不同的功能组件。芯片产业是一条长的产业链,里面有很多我们耳熟能详的公司,这里举一些简单的例子。
ARM:持有ARM架构,其商业模式是向下游提供ARM架构授权、IP核授权,本身不进行芯片生产。
AMD:持有x86架构,设计芯片,但不生产芯片。
Intel:持有x86架构,自行设计、生产芯片。
三星:从ARM公司购买ARM架构授权,自行设计、生产芯片。
华为、苹果:从ARM公司购买ARM架构授权,设计芯片,但不生产芯片。
台积电、中芯国际:通常不设计芯片,帮助其他芯片设计公司生产芯片。
为什么感觉这些年的「芯片设计」公司多了?我觉得主要是由于芯片设计的难度相对下降了,人们不需要从零开始设计芯片,不需要重新发明轮子,而是直接从IP供应商获得指令集架构、IP核的授权,然后进行组装或者进行一定的定制化。
一个CPU芯片在设计之初,需要确定自己采用什么架构,这里的架构指的是指令集架构。指令集架构相当于一种规范,如果A、B两个公司设计的都采用同一指令集,那么在A上运行的软件不需要修改就能运行在B上。想要使用现有的指令集架构,通常需要购买授权。
设计一套指令集并不太困难,难的是指令集之上的生态。你可以设计出一套自己的指令集,但是目前运行在x86或者ARM上的操作系统、各种软件,都无法在你的指令集上运行,那么你的产品就没有市场。
目前指令集架构的两大霸主分别是PC及服务器领域的x86、移动领域的ARM。
x86架构目前基本上就是Intel和AMD在使用(AMD通过交叉授权的方式从Intel获得了x86架构的授权),还有两家中国公司,兆芯、海光。海光是与AMD合作,于2016年获得了AMD的x86授权,兆芯的授权是从威盛那获得,二者都是永久授权,不过x86的后续更新,由于美国的科技制裁,这两家中国公司很难拿到了。
而在移动设备领域,90%以上都使用ARM指令集架构,许多芯片设计公司从ARM公司购买指令集授权,例如华为购买的就是ARM V8指令集架构,其他的包括Broadcom、苹果、华为、Nvidia、AMD、三星、高通、微软等等。
除了x86和ARM,还有少量其他指令集架构,比如近几年国内比较火的RISC-V(发音同「risk-five」),还有基本已经凉凉的MIPS、Alpha指令集等等。
指令集架构相当于一种「规范」,同一个架构,不同的公司有不同的实现方法。技术能力较强的公司可以购买指令集架构之后自行设计芯片,这样做到好处是可以进行完全的定制化来实现高性能,例如苹果自己实现的ARM架构芯片比其他厂家领先至少2年,而坏处就是研发成本高。如果不想完全自己设计,可以购买现成的「IP核」,例如ARM Cortex系列的CPU IP。
IP核可以简单理解为一些经过严格验证的、可重复使用的模块,如DDR接口IP核、USB接口IP核、CPU IP核、GPU IP核等等。IC产业中的一些公司专门从事某一些模块的设计,并把自己设计出来的模块以知识产权的方式授权给下游的芯片设计厂商,这样下游厂商就可以通过组合、定制模块来完成自己的芯片设计,避免重复造轮子。IP核供应商可以帮助降低芯片的开发难度、缩短开发周期,是IC产业链上的关键环节。
IP核授权分为三类:软核、固核、硬核。(实际上各个IP提供商对客户如何使用这些IP拥有非常大的控制权,尤其像ARM这样拥有垄断地位的供应商来说,因此这只是一个泛泛的分类,而不是精确的)
软核,是芯片结构的代码表示(芯片设计使用的一种特殊的编程语言,可以用这种语言描述一个芯片的结构)
固核,是芯片结构的设计图纸
硬核,是芯片结构的生产掩膜(交给台积电,台积电就能直接生产出芯片了)
软核、固核、硬核的授权费用是依次降低,使用难度是依次降低,但灵活性是依次降低。购买软核的公司,可以进行定制化,图省事的公司会直接购买硬核。
ARM公司在IP核领域同样具有垄断地位,它提供广泛的处理器和系统IP核,包括Cortex-A、Cortex-M和Cortex-R系列CPU IP核,以及Mali系列GPU IP核,ARM在IP核领域的全球占比超过40%,排名第一。第二、三名IP供应商是Synopsys(新思科技,美国)、Cadence,这两家同时是最大的EDA公司。国内最大的IP公司是芯原,排名全球第七,另外Imagination Technologies是中国控股,这个排名全球第四。
目前国产CPU主要就是6家:海光、兆芯、飞腾、华为鲲鹏、申威、龙芯。目前这几家的CPU主要还是集中在政府、事业单位的采购,以及一些特殊领域(如国安、超算等),消费级的桌面CPU还很少,这是基本的现状。我觉得并不是说国产CPU无法满足日常办公和影音(实际上完全可用,这个网上有许多实测视频,包括SPEC评分等等),主要还是消费者对生态方面的顾虑。
海光,使用x86架构,占据着国产x86服务器处理器绝大部分的市场份额。以中国移动为例,其电信运营商服务器CPU国产化率超50%,其中有一半是海光信息贡献的。海光CPU应该是国产CPU中性能最好的,海光3号CPU接近AMD ZEN3水平。海光近几年发展不错,2022年营收51.25亿元,同比增长121.83%。不过,由于依赖海外企业授权,自主可控方面仍有风险。
兆芯,同样使用x86架构,目前最新的PC处理器为开先KX-6000G,16纳米工艺;服务器处理器为开胜KH-40000,也是16纳米工艺。和海光一样,兆芯同样依赖海外企业授权。
华为鲲鹏、飞腾都获得了ARM V8永久授权,可自行研发设计CPU内核和芯片,也可以扩充指令集。但已经无法获得更新的ARM V9的授权,因此采用ARM架构仍存长期隐患。
华为鲲鹏,主要面向服务器领域,2014年发布鲲鹏912,2016年发布鲲鹏916,2019年华为发布鲲鹏920,是业界第一颗采用7nm工艺的数据中心级的ARM架构处理器。随着美国对华为的打压,虽然华为还可以设计芯片,但找不到代工厂来生产,因此华为鲲鹏系列目前处于停滞状态。
飞腾,目前主要在政府事业单位,同时,也被用于天河等超级计算机。2020年,飞腾推出服务器CPU腾云S2500(16纳米制程,台积电代工),桌面CPU腾锐D2000(14纳米制程,由中芯代工)。由于飞腾目前已被列入美国的所谓「实体清单」,后续包括架构授权、先进制程的生产都有风险,计划中的更先进的服务器芯片如S5000,也因此处于停滞状态。
申威,使用完全自主的SW64指令集架构(传言是基于已经凉凉的Alpha指令集架构研发的),不过申威的CPU主要用于超算领域,例如「神威·太湖之光」,使用的就是申威的SW26010。申威的CPU目前还比较小众。
龙芯,早前基于MIPS指令集架构,2020年发布了自研的指令集架构LoongArch,龙芯是国内唯一一家能够对外授权指令集和IP核的通用CPU企业,自主可控程度是国内同类企业中最高的。生态方面,目前国内主流的办公软件都完成了LoongArch的适配,同时LoongArch通过软硬件结合的二进制翻译方式实现了部分兼容x86、ARM(性能有损失),可以在一定程度上缓解龙芯的生态问题。龙芯年内将要发布3A6000,采用12纳米工艺,据称性能可以对标7纳米的ARM Zen2。目前基于龙芯+统信/麒麟的纯国产桌面电脑对于常规办公、常规影音娱乐没有问题,大型游戏有困难,当然,这不仅仅是CPU的问题,也需要国内GPU厂商在硬件和驱动上继续努力。
多说一句龙芯,我常常在国产硬件的实测视频中,看到一些人拿着来源不明的消息甚至臆测来贬低龙芯,油管视频下面有这些评论我能理解,但很奇怪B站上也是一大堆这类评论。对于这些人,我觉得你可以不看好龙芯,但说任何话最好还是从事实出发,否则就很难让人不怀疑你的动机了。龙芯的自主化道路,面临的困难可想而知,这里向胡伟武博士等龙芯人致敬,道阻且长,行则将至。
RISC-V,最后再说一下RISC-V指令集架构,这个架构和x86和ARM最大的不同是指令集架构本身是免费的,大家都可以用,因此在x86和ARM日趋垄断的情况下,很多巨头都投入到RISC-V的阵营,包括谷歌、英伟达、华为、阿里、腾讯等等。RISC-V基金会目前25家最高级别的Premier Menmbers会员中,中国厂商的数量达到14家。阿里平头哥的玄铁CPU就是使用RISC-V架构,根据平头哥官网统计数据,玄铁处理器IP累计授权芯片出货量超过30亿颗。在5月28中关村举行的「RISC-V 开源处理器芯片生态发展论坛」上,第二代「香山」(南湖架构)开源高性能RISC-V核心(即IP核)正式发布,计划2023年6月流片(即「试生产」),性能预计超过2018年ARM发布的Cortex-A76 IP核。除了龙芯这种自主路线之外,个人感觉RISC-V也是另外一种不错的选择。
总之,革命尚未成功,同志仍需努力。
(欢迎扫描上图二维码关注公众号,可自动获得ChatGPT访问地址(本人自己搭建的跳板,可免费使用))