【杂谈日记】PC的未来形态是怎样的?
本专栏是视频:BV1734y1J7K9 的观后感。
Athoney 大佬在视频里提到了几个问题:
1、x86平台下的功耗越来越高,能效比越来越低,就好像我现在这颗12700最大睿频高达241w,六年前的7700才65w,已经翻了接近4倍,当然,实际上的最大性能也提升了接近四倍。
2、M1芯片在能耗比控制上做得明显比x86平台更好。
3、x86平台具有很多历史负担,导致被一些不必要的指令集拖累了性能
然后得出了一个结论,因为M1做得很好,x86的红绿蓝三家做得不好,所以PC的未来是和M1一样高度集成的ARM SOC。
如果你是跟着他的视频一路看下去的,很容易就会得出和他一样的结论,但是如果你仔细列出来再想想,这之间根本没有严格的因果关系。
准确来说,对比的对象是x86平台和M1,而不是x86和ARM。
评论区中已经有很多人指出这个问题了,清醒的人还是比较多。
苹果的M1做得好,核心原因是将绝大多数计算芯片都集成在了SOC上,M1不是CPU也不是GPU,它是片上系统,计算芯片相互之间进行数据传递的代价非常低,减少了传递消耗,提升了效率。
不要以为光速是个很大的数字,1GHz代表每秒10亿次,我们将光1秒行进的距离除以10亿(简单用3×10^8米来算),你会发现这个数字是30cm,如果按3GHz来算,就是10cm,10cm的物理距离,光走一个来回,就要消耗两个计算周期,如果缩短到5cm,就可以减少一次等待,实际上因为信号传输的转换和损耗,等待要更多。
缩减不同计算芯片之间的物理距离,很显然可以提高芯片的计算效率。
然后其实苹果的统一内存和x86笔记本上焊死的内存并不是一个概念,或者说至少可以不是一个概念,后者只是用焊盘取代了插槽,前者可以直接重新定义内存芯片的使用方式,就是说可以不管什么协议,直接按最合适自己SOC的方式来设计。
这个做法有优点,也有缺点,后面我们再讲。
然后是M1本身的芯片设计思路,苹果是将很多x86平台上的通用计算任务拆分给了专用的芯片,比如M1芯片上一大坨的媒体芯片,就是专门干特定的活的。
这样的做法最大的好处是,因为芯片只用干专门的活,指令集就只需要特定的那几种,在物理结构的设计上可以更简单,减少执行长指令的性能消耗,降低调用这一块芯片完成同样工作相比通用计算芯片的消耗,同时,在没有任务的时候,更是零消耗。
这样做的代价是什么呢?
减少了通用计算芯片的尺寸,当遇到专用芯片无法完成的工作时,通用计算芯片的能力会明显低于将这部分空间用于设计通用计算芯片。
浪费宝贵的晶元空间,降低良品率。
我们稍微夸大一下数字方便理解,假如一个功能有8个小芯片,每个的良品率是90%,那么他们相互独立时,生产100份的良品率期望值是90%,而如果是在同一个芯片上不可分割,那么良品率就只有43%,差了一半多。实际上良品率更高,但小芯片的数量也更多,结论是类似的。
这就是M1大芯片的代价。
芯片的实际成本是总原料成本除以合格品数量,而不是总原料成本除以总产量,良品率越低,芯片的生产代价就会越高,所以集成度不是越高越好的。
看完M1的优势来源之后,你就会发现,M1之所以强,或许ARM架构有一定的原因,但核心原因还是这种设计的逻辑,降低了芯片之间的开销和负载,实现了能效比的提升。
这样的设计如果给到x86平台,很显然也会有很大的提升,但是目前x86平台的包袱不允许他们做出这种改变。现在的问题就好像ARM是光脚的,x86是穿鞋的一样。
依照我个人的想法,未来最理想的形态应该是介乎于现在的x86生态和苹果的M1生态之间
部分本身就基本捆死的功能集约化形成更高级的准系统,而相互之间比较独立,且存在更多搭配需求的功能则还是继续进行分离,提供更多的选择,同时减少系统间交流带来的损耗。
我个人认为,CPU、内存和主板这三者其实是可以绑定形成成介乎于SOC和准系统之间的形态的。
目前的准系统大多只是精简了部分接口的硬件软连接,没有从根本上实现更高效的互联互通。
而将CPU限制在壳子里无论是对散热还是设计的复杂度上都会造成更大的挑战。
如果能去掉内存颗粒的封装,将主板上的主要集成芯片、CPU和内存集中在一个更利于散热的封装内,很显然也能提高整体的性能。
这样的做法之所以可行,是因为,主板芯片、CPU和内存本质上还是物理分离的芯片,只不过通过在封装环节的设计提高其使用效率,不会带来额外的良品率负担。
甚至目前红绿蓝三家在搞的小芯片共享合作,也可以将一些小芯片从CPU的芯片中解放出来,在这个更大的SOC内进行互联,整体的效率已经会很可以了。
而之所以我觉得这三个封装在一起可行,是因为绝大多数人,这三项硬件的选择都是相当固定的搭配,甚至有部分区分就是Intel强行搞出来的,如果统一封装之后实际存在的型号会比单纯的排列组合要少很多。
实际上用户在更换设备的时候,除非刻意组装的短板机,否则精打细算的水桶机在这三项配置上单纯更换其中一项硬件,其他地方都在事实上地拖后腿,就算没有Intel的强制锁插槽也一样。
这样的设计不是没有代价,有,就是暂时买不起内存,打算慢慢攒机的人。
这样的大号SOC可折腾的空间肯定是变小了,而且在配置上很显然要求一步到位,如果能做好合理的引导区分的话,目前Intel 12代桌面端处理器,不考虑K和F后缀的影响的话,一个i3,四种i5(没错,确实是四种,12400,12490,12600和12600k,唯一k和非k芯片不同的系列),一个i7,一个i9,一共就7种芯片,每种芯片根据生产力/游戏等需求可以划分出两个内存型号,然后部分有两种主板芯片型号,如果强行排列组合大概是28种,其实将部分不合理的组合删掉之后,也就十几种不同的选择。
从这个角度看,实际上这十几种搭配也可以满足99%的用户需求了。
当然,这是假定硬件性能没有任何差距的前提下得出的结论。
实际上,阻碍这一设计成熟的最大阻力之一就在于内存颗粒的良莠不齐,以及未来将会更频繁发生的多重抽奖问题。
如果这三个元件是分开的,用户是进行三次抽奖,但是每次的抽奖可以重设,或者可以指定一个下限,如果做在一个SOC上,就相当于强制直接抽三次奖,只能同步重抽,就又回到了前面谈SOC良品率的问题了。
这样其实相当于降低了整体系统的最高可能下限,因为分别抽三次奖,和同时抽三次奖,需要的总次数是不同的。
想要解决这个问题,就得将每次抽奖的保底拉得足够高,这需要x86生态这边具有苹果那样强力的对供应链的掌控能力,我觉得以目前x86阵营各自为战的情况来说,很难。
而显卡目前来看,最好还是独立的原因在于,它本身就是一个相对独立的系统,有专用的内存芯片,有专用的供电,甚至还可以有专用的存储。
它在实际使用上基本和CPU是平行关系,实际应用上严格互相制约的情况很少,以游戏举例,低分辨率下拉高帧数的瓶颈是CPU,高分辨率下拉高帧数的瓶颈是GPU,高画质和高帧率是相对独立的需求,在不同人的眼中有不同的优先级。
类似的情况其实还有很多,在这我就没必要赘述了。
而普通存储,则是系统关联度很低,更没必要进行强制绑定。
简单点来说,将本就客制化需求不高的内容进行绑定,并同时为其进行专门的优化,可以显著提升他们之间协作的性能,这可能是未来民用PC的趋势。
——其实游戏主机就是这么干的,甚至由于对于显卡的需求固定,甚至显卡也被纳入了统一的行列之中。只有没有绝对关联的存储功能,留出了给用户自行升级的空间。
而绝不是像苹果一样干出为了避免用户自己更换固态存储而将主控芯片焊死在主板上的行为。
系统设计者可以帮助用户排除掉大量错误的选择,但不应该为了让用户多花钱而刻意制造电子垃圾。
未来的PC,应该更类似于可以定义PCI-E设备的游戏主机,只不过可能有十几种型号罢了。
至于如何将整个系统整合起来,那还有很长的路要走。
M1或许为PC的未来指了方向,但苹果的设计不是未来的唯一选择,也不应该成为用户的唯一选择。