狂堆核心的GPU VS 理性克制的CPU
如果你和我一样是个技术爱好者,或者近期关注过电脑,你大概率会有一个这样的疑问:
旗舰显卡动辄宣称 “上万个计算核心”,芯片尺寸一路朝着光刻机的物理极限狂奔,晶体管数量几年翻几倍;而主流笔记本的 CPU,还停留在 6 核、8 核,顶配游戏本也就 16 核、24 核,核心数涨得格外佛系。AI 火了之后就更明显了:大厂拼算力都在疯狂堆显卡,一张卡几万美金毫不心疼,却没人说 “堆一万个 CPU 核心”。
同样是电脑里的计算芯片,同样是用硅晶圆做出来的,为什么 GPU 能越做越大、核心越堆越多,CPU 却不照着这条路走呢?并非技术上做不到,而是这两者从根上就是在不同的场景,做着不同的任务。
一、全能学霸CPU VS 计算专家GPU
先做一个通俗的类比:
-
CPU 像一个全能学霸:能力全面,擅长处理各类杂难题、处理各种突发状况,办公、联网、聊天、上网、应对随机的各类交互需求,但同一时间只能专心处理少数几件事。
-
GPU 像一整个流水线计算工厂:里面有上万个计算专员,每个专员只会做简单重复的计算,比如给像素上色、算一组乘法等,但几千几万人同时开工,批量干活的速度快到离谱。
这个分工,直接决定了芯片里的 “面积分配” 天差地别:
-
CPU 的芯片里,大部分空间都用来 “想办法提速”—— 比如预判下一步要做什么、把常用数据存在身边、处理各种突发分支。真正用来算数的运算单元,只占很小一块面积,大概 10%~15%。
-
GPU 的芯片里,绝大部分空间都用来放 “计算专员”,指挥调度的办公室极简,缓存也只留够用的。70% 以上的面积都是计算单元,一切为了批量干活让路。
更关键的是:此 “核心” 非彼 “核心”。
我们说 CPU 8 核、16 核,指的是 8 个、16 个全能学霸;我们说 GPU 上万个核心,指的是上万个只会做重复运算的计算专员。两者根本不是一个量级的东西,直接比数量,就像拿专家教授和工厂流水线比人数,没有意义。
二、复杂指令集 VS 简单指令集
学霸和工人的干活方式不一样,给他们的 “功能手册” 自然也不一样,这就是常说的 “指令集” 差异。
你可以把指令集理解成遥控器:
-
复杂指令集(CISC) 像多功能遥控器,一个按键就能完成一整套操作 —— 比如 “打开视频 + 调到全屏 + 调高音量”。用起来省事,但遥控器本身设计复杂、零件多,不好批量复制。我们常用的 x86 CPU,就是这条路。
-
简单指令集(RISC) 像极简遥控器,每个按键只干一件事 —— 比如 “播放”“暂停”“音量 +”。单个按键功能很简单,但设计简单、不容易坏,特别适合大量复制。ARM CPU、手机芯片,还有所有主流 GPU,本质都走的是这条路。
问你个问题:你觉得这两类芯片,哪种更适合把规模做大?
其实两种都能做大,但简单指令集更容易做大一些:就像乐高一样,越简单越容易拼出超大规模建筑。
RISC很适合规模做大,比如显卡。
CISC也能做大,服务器端的CPU其实也有256核、288核。甚至可以通过上万颗CPU,堆出超级计算机。
可见芯片做不做大,和指令集简单还是复杂没必然关系,我们真正要算的还是经济账:有没有对应的场景需求、做大了划不划算。
三、为啥不用10000个CPU核心堆出超级CPU呢?
既然技术上能做到,那大家自然会想:既然 GPU 能堆上万个核心,那 CPU 堆上千个核心,性能不就起飞了?
但现实却很骨干:别说上千核,就算从16核堆到32核,对大多数人来说收益都已经很低了。背后有三条绕不开的铁律。
铁律一:有些活,人再多也快不了
很多事情都有一定的顺序,不是人越多做的越快:比如你打《黑神话悟空》需要100小时,再加上99个人你们也不可能1小时通关。
同样的,对于同一个银行帐号(假设有100元),你在100个APP上同一时刻都花10元,银行服务器的CPU核心再多,最终还是要串行化处理,花光100元为止,剩余90单扣款失败(绝不会让你扣成-400元)。
电脑里的绝大多数软件、游戏,甚至操作系统本身,都有大量这种 “必须串行” 的逻辑:点一下按钮要先判断点没点中,再加载对应内容,最后渲染到屏幕上。这部分代码,再多核心也只能一个核心慢慢跑。
阿姆达尔定律,说的就是这件事:如果一个任务里有 10% 的内容必须串行,那哪怕堆 100 个核心,最快也只能比单核心快 10 倍。核心数从 100 加到 200,性能提升不到 1%,几乎感知不到。
铁律二:人越多,沟通协调越费时间
三个学霸组队做项目,互相核对一下答案很快;但如果上千个学霸一起做同一份任务,光统一数据、对齐进度就要花大量时间。
CPU 的核心之间,必须保证大家看到的数据完全一致 —— 你改了一个数,其他所有核心都得同步更新。核心越多,同步通信的开销就越大,到最后大量算力都浪费在了 “开会对齐” 上,真正干活的时间反而少了。
而 GPU 的工人是分组干活的,组和组之间几乎不用频繁对齐,各干各的,几千个核心凑在一起,调度开销也很低,这是天然的优势。
铁律三:原材料供不上,人再多也只能闲着
工厂里工人再多,原材料运不过来,大家也只能停工等料。芯片也是一样:核心要计算,就得有数据及时喂进来。
CPU 的 “数据运输通道”(内存带宽)增长很慢,核心多到一定程度,就会出现大量核心闲着等数据的情况,加的核心纯浪费。GPU 之所以能堆很多核心,是因为它配套了专门的高带宽显存,运输能力和核心数量是同步升级的。
其实,更现实的问题是:绝大多数场景,8 核就够用了。
日常上网、写论文、看视频、打主流游戏,根本用不上几十上百个核心。花大价钱堆核心,用户感知不到提升,厂商自然没有动力去做。甚至还有反常识的情况:核心太多,争抢同一份数据的时候互相干扰,反而会越跑越慢,就像狭小的办公室里人挤人,谁都没法好好干活。
同样的,GPU的算力,也不会无限堆下去的。比如一个大型计算任务需要100张H100的卡,由于任务的下一个步骤需要上一个步骤的计算结果,所以如果任务数据不可再分,你再加100张卡,不一定就能大幅缩短任务耗时。
四、芯片提速的秘密:工艺、主频与性价比
既然不能无脑堆核心,那芯片怎么提升性能?另一个重要手段就是 “提主频”。
主频很好理解:就是芯片每秒能完成多少次基础操作,相当于工人的手速。手速越快,单个人的干活效率就越高。
为什么工艺越先进,主频越容易做高?
我们常说的 7nm、4nm、3nm 工艺,本质就是把芯片里最基础的 “电子开关” 做得更小。
开关变小了,好处有两个:
一是开合速度更快:电子跑的路程变短了,完成一次开关的时间自然就短了,每秒能开关的次数(主频)自然就高了。
二是更省电:小开关只需要更低的电压就能工作,同样的电量预算下,就能支撑更快的速度。
但主频不是越高越划算。
就像跑步,从慢跑变快很轻松,要冲刺到极限,体力消耗会暴涨。芯片也是一样:功耗和主频近似三次方关系,主频从 3GHz 涨到 4GHz,功耗可能直接翻倍。到了高频区间,再提升一点点频率,发热和耗电都会急剧增加,性价比极低。
所以厂商标的 “最高加速频率”,基本都是短时间冲刺的水平,长时间工作都会降下来,本质是在性能和耗电之间找最优解。
先进工艺的红利,各家用法不一样
同样是用上了新一代工艺,不同芯片的选择完全不同:
-
GPU:优先招更多计算专员(堆计算单元),把规模拉满,其次再适度提升手速(主频);
-
CPU:优先让单个学霸更聪明(优化架构、加大缓存),主频稳步小幅上涨;
-
手机芯片:优先省电、保证续航,主频够用就行,把工艺红利用在降低功耗上。
五、大芯片的 “魔法”:坏了一点也能用?
芯片越大,制造起来就越容易出问题,这是个物理规律。
你可以把晶圆想象成一张大饼干,上面会随机分布一些细小的瑕疵。芯片面积越大,切出来的 “饼干块” 碰到瑕疵的概率就越高。顶级 GPU 的芯片尺寸已经快做到光刻机的极限了,按说良率会很低、成本会爆炸,但现实里它依然能量产,靠的就是一套 “瑕疵魔法”。
GPU 的先天优势:坏一块,不影响全局
GPU 的流水线计算专员们是分组干活的,一组出问题,其他组照样正常工作。
所以厂商的操作很简单:制造完成后测试一遍,哪组坏了,就直接把这组屏蔽掉,不让它参与工作。剩下的完好单元,依然能组成一块能用的显卡,只是算力少一点而已。
从底层的存储单元,到整组的计算集群,再到显存通道,GPU 设计了多层级的冗余容错:小毛病屏蔽一组,实在不行就降级使用。
一块晶圆,做出全系列产品
这套操作行业里叫 “收获策略”,它不只是技术手段,更是精明的商业操作:
-
完全没瑕疵的完美芯片,做成旗舰款显卡,卖最高的价格;
-
坏了一两组计算单元的,屏蔽后做成次旗舰,价格降一档;
-
坏得稍多一点的,再降级成中端型号,覆盖主流价位。
原本应该直接扔掉的瑕疵芯片,就这么变成了不同价位的可售产品,既提高了晶圆利用率,又摊薄了研发和制造成本。
当然 CPU 也会这么干 —— 比如把高端核心屏蔽两个、砍点缓存,做成中端型号。但 CPU 的 “学霸团队” 互相联系紧密、核心数量少,可裁剪的空间远不如 GPU,容错能力差了一个量级。
当然这套魔法也有边界:如果是全局控制中心、主时钟这种关键枢纽坏了,那不管 CPU 还是 GPU,都只能直接报废。
六、比 “做大” 更重要的,是做高效
说到这里你应该能发现:CPU 和 GPU 看似都是计算芯片,其实走的是完全不同的进化路线,但底层逻辑是一致的 ——任务属性,决定了硬件的形态。
需要快速处理复杂串行逻辑的场景,就需要 CPU 这种 “全能选手”;需要海量并行计算的场景,就需要 GPU 这种 “批量工厂”。
而现在,两者的边界正在慢慢模糊:
-
CPU 开始集成专门干批量活的单元,比如核显、AI 加速器,不用什么活都让通用核心来干;
-
GPU 也在慢慢增强调度能力,能处理更复杂的通用计算任务。
芯片 “变大” 的方式也在变:不再是一味地平面扩大面积,而是像搭积木一样把多个小芯片拼在一起,或者像叠蛋糕一样做 3D 堆叠,用先进封装突破光刻机的物理极限。
更重要的是,算力竞争的下半场,已经从 “比谁更大” 慢慢转向 “比谁更高效”。无脑堆核心、堆显卡的粗放增长,边际收益会越来越低;真正的竞争力,是把每一份算力都用在刀刃上,减少等待、减少浪费、让硬件和算法更好地配合。
GPU:核心数量做加法,单核功能做加法,控制逻辑占比做减法
CPU:核心数量做克制,单核功能慢加法,控制逻辑功能做加法