简单了解一下国产CPU

这几天在B站、油管上刷了一些国产芯片真实上手视频,顺便自己也梳理一下芯片的一些基本概念,以及在美国科技制裁和围堵的情况下,国产CPU的发展情况。文末有我整理的一张思维导图,hope u find it informative!
01 缩写表/术语表
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 复杂指令集
02 芯片
「芯片」这个词太火了现在,美国的「芯片禁令」,美国组建的「芯片联盟」(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核的授权,然后进行组装或者进行一定的定制化。
03 指令集架构授权
一个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。
04 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是中国控股,这个排名全球第四。
05 国产CPU
目前国产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访问地址(本人自己搭建的跳板,可免费使用))
简单了解一下国产CPU的更多相关文章
- [转自知乎]飞腾国产CPU的部分知识
1. 作者:常成链接:https://www.zhihu.com/question/48948852/answer/113595308来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
- 对于当下国产CPU如火如荼有感
国家在国家战略层面去做国产CPU这个事情,从初衷来说是好的.国产CPU战略如果能够实现,则会大大加强我国在计算机产业领域从头到尾的话语权与技术竞争力.但是个人觉得,事情不是那么简单.我将从下面几个方面 ...
- 不权威的国产CPU发展历程
最近进行了一些国产化相关工作 趁着周末有时间,自己整理一下这段时间的学习内容. 毕竟不是处理器和芯片的业内人士,里面多有纰漏,请谅解. 希望可以作为入门学习的简单知识. 1.0 远古时代 unix 世 ...
- Go语言在国产CPU平台上应用前景的探索与思考
http://www.chinaaet.com/article/3000087559 0 引言 CPU是电子产品的核心,代表着信息产业的发展水平.CPU发展至今已经有四十多年的历史了,实际就是Inte ...
- 专家谈国产CPU最新发展态势:需强化标准建设(很全面)
一.国产CPU发展现状与成就 国内已开启多技术路线并行的CPU技术产业新格局.在国家科技重大专项和国家级集成电路产业投资资金的推动之下,我国CPU产品技术研发已进入多技术路线同步推进的高速发展阶段,并 ...
- 国产CPU研究单位及现状
1.国产CPU主要研制单位 (1)高性能通用CPU(“大CPU”,主要应用于高性能计算及服务器等) 主要研发单位:中国科学院计算所.北大众志.国防科技大学.上海高性能集成电路设计中心 (2)安全适用计 ...
- 国产CPU走到十字路口:谁来取代英特尔芯片?(少写了一个OpenPower)
国内的几支CPU研发力量各自选择的指令体系都有自己的优点和问题,选择其中的哪一支都会有对应的成本和风险.最终谁能担大任,且拭目以待. 文 | 瞭望智库特约科技观察员 王强 用上内置国产CPU的个人电脑 ...
- [转帖]你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下)
你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下) https://www.ijiwei.com/html/news/newsdetail?source=pc&news_id=7177 ...
- [转帖]国产CPU性能最全盘点 宜良性竞争优胜劣汰
国产CPU性能最全盘点 宜良性竞争优胜劣汰 电子工程专辑的网站内容 其实里面说的不尽全面 比如龙芯和申威就放到一块了 一个是 MIPS 一个是Alpha 明显不一样的东西 x86的应该都不行 而且. ...
- 国产CPU 申威1621 异数OS基础组件理论性能测试报告
国产CPU 申威1621 异数OS基础组件理论性能测试报告 文章目录 国产CPU 申威1621 异数OS基础组件理论性能测试报告 前言 测试平台 测试项目 SW1621 异数OS 容器虚拟交换机模拟性 ...
随机推荐
- 权限RBAC、RBAC0 、RBAC1、RBAC2
https://zhuanlan.zhihu.com/p/34608415 权限系统的基本构成 权限系统主要由三个要素构成:帐号,角色,权限. 帐号是登录系统的唯一身份识别,一个账号代表一个用户.由自 ...
- ABC291题解(D-G)
ABC291 D - Flip Cards Solution: 考虑DP,定义状态\(F_{i,0}\)为第\(i\)张卡片正面朝上的方案数,\(F_{i,1}\)为第\(i\)张卡片背面朝上的方案数 ...
- [BUUCTF]Pwn刷题记录
本部分内容长期更新,不再创建新文章影响阅读 rip 根据IDA加载入main函数声明发现s数组距离rbp的距离为F,即为15,这里的运行环境是64位,所以应当将Caller's rbp的数据填满,在这 ...
- C++ 标准库 sort() / stable_sort() / partial_sort() 对比
C++ STL标准库中提供了多个用于排序的Sort函数,常用的包括有sort() / stable_sort() / partial_sort(),具体的函数用法如下表所示: 函数 用法 std::s ...
- SSL CA 证书生成shell
gencert ssl证书生成 要保证Web浏览器到服务器的安全连接,HTTPS几乎是唯一选择.HTTPS其实就是HTTP over SSL,也就是让HTTP连接建立在SSL安全连接之上. SSL使用 ...
- 使用laravel开发微信公众的一个大坑,适合新手学习的laravel接入微信接口
最近使用laravel做微信公众号二次开发,发现网上能够参考的资料基本上很少,很多地方都讲的不够详细,致使许多新手采坑无数,所以这篇文章讲一下如何使用laravel接入微信接口,实现微信公众号二次开发 ...
- 【MyBatis】分页插件
分页插件 分页插件配置 a 添加依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artif ...
- 手写 HashSet的底层 和 迭代器
1 package Test.CollectionIterator; 2 import java.util.Iterator; 3 public class MyHashSet2<E> i ...
- PostgreSQL插件那么多,怎样管理最高效?
摘要:华为云RDS for PostgreSQL通过插件管理功能,很好地解决了PostgreSQL版本与插件耦合的问题,帮助用户更直观.更快速地安装管理数据库插件. 本文分享自华为云社区<Pos ...
- 高精度------C++
高精度运算------C++ (加减乘除) 例:ZOJ2001 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1001 The ...