北京时间2022年3月9日,美国苹果公司在发布会上公开了例行升级的iPad Air、iPhone SE以及最为引人瞩目的Mac Studio。不同于以前的Mac Mini,引入了全新设计、外形的新产品搭载了M1系列芯片的终极型号,M1 Ultra,虽然本质上这块SoC(System on Chip)就是把两块M1 Max拼在了一起。苹果公司从2020年开始推进的电脑换芯计划已经基本完成,只剩下了还未公开的全新Mac Pro,我们接下来就聊一聊M1。
在3年半以前,我曾经写过一篇文章激烈地吐槽了当时MacBook Pro产品线,尤其是顶配所搭载的i9处理器,完全超出了当时机身所能承载的散热上限,让用户体验十分糟糕。MacBook Pro处于了一个非常尴尬的局面,一方面因为设计风格与对轻薄的追求,苹果不能也不会加厚机身,增加散热风扇与热管,另一方面,MacBook Pro作为苹果的旗舰产品线,必须在性能上保持第一梯队,哪怕是“纸面”上的,所以当时的MacBook Pro空有最强Intel移动处理器而无法发挥哪怕一半的性能。苹果最重要的产品线iPhone,早在10年前(2008年)就已经使用了完全自主研发的Apple A4芯片,在后续的时间里,苹果一直保持了对高通、三星以及其他手机芯片厂商的性能优势,确保了iPhone的核心竞争力之一。 虽然Mac远不如iPhone有影响力,但其绝对销量与销售额还是非常可观的,对于一个起售价格699美元的产品线(Mac Mini)来说,每年也有数百万的出货,更不用说所有的iOS开发者都需要使用Mac来工作,所以苹果解决Mac芯片问题是必然的。
另外一个吸引苹果的点在于,他们已经在iPhone以及iPad上成功过了,软硬件全部自己解决意味着:
对产品体验无与伦比的掌控力(虽然iPhone上的槽点无数)
更有效率地规划生产与供应链管理,意味着更高的利润率
苹果公司的经营策略已经有无数人、无数作品去论述,我也就不赘叙了,1980年代的崩溃让苹果公司对利润率与现金流有着超出常人的执念,所以Mac芯片这最后一块拼图上肯定要被补上的,而苹果的答案就是M1系列芯片。
没错,M1芯片基于ARM指令集,但也仅此而已了。在这篇文章里我介绍过iPhone上搭载A系列芯片的发展历程,苹果有时候会用ARM的公版设计,有些时候完全自己设计芯片架构。在这里给不了解ARM公司的朋友简单解释一下,ARM公司本身不生产芯片,它的主要业务是专利授权,销售芯片设计等,ARM会不断推出公版设计,这些设计可以让用户根据自己的需求简单修改后直接投入使用,比较知名的如高通等。 M1的主要是供Mac电脑使用,所以没有了手机上近乎苛刻的功耗与温度限制,得益于电脑外形的尺寸,内置电池以及散热可以让苹果设计一块以性能为导向的芯片。我不会聊太多设计上的细节(因为我也是半桶水),简而言之苹果将重心放在了以下三个方面:
苹果已经不是第一次更换Mac的底层芯片架构了,从PowerPC迁移到Intel x86,那一次是从RISC换成CISC,这次从x86转到ARM,则又换回了RISC,历史的轮回啊。
根据推特用户Hector Martin(@marcan42)以及其他消息源的说法,这一次为了兼容一部分x86指令集,主要是x86_64的,苹果在M1芯片内部集成了一部分特定电路,配合Rosetta 2来实现对x86程序的兼容,Rosetta 2实际上还是一个JIT模拟器,只不过苹果有足够的时间和人力进行深度优化,让整体效率相对于其他公司的解决方案有了明显的提升。
我们可以看到根据测试项目的不同,Rosetta 2最高能达到原生性能的89.33%,这已经是相当惊人的成绩了,从用户体验的角度,只要在安装的时候运行一下,后续就可以当作原生应用使用。虽然不兼容的情况还是不少,但这一套解决方案可以让迁移过程尽可能的顺滑,也让苹果有足够的底气推出基于ARM架构的Mac。
M1是一块SoC芯片,意味着上面搭载的不止有CPU,还集成了GPU与内存和其它unCore的部分,为了提高性能,也为了降低成本,还有一个重要的好处,那就是统一内存访问(unified memory access,UMA)。这并不是什么新鲜玩意儿,手机上早就遍地开花,10多年前AMD就已经在其APU产品线上提到过这个概念,PlayStation 4和5,以及最新的Xbox Series X/S上都应用了这一项技术。但是个人电脑平台,还真的是应用比较少的技术。原因有很多,比如个人PC的零部件由多个厂商提供、集成,需要确保兼容性和可升级性。
统一内存的好处主要在于提高了硬件的运行效率,CPU和GPU都可以访问同样的内存地址池,而不用额外的CPU操作,大大节省了性能开销,在芯片生产时也可以剩下一部分晶体管,最直观的性能体现就是M1的内存带宽:
虽然没有多少CPU负载需要用到这么高的内存带宽,但是对于GPU来说就很有用了,这也有利于苹果的宣传重点:视频处理。超高的内存带宽加上性能强劲的SSD,可以让M1处理多条4K乃至8K素材。
说实话,i9时代的MacBook Pro有很大一部分问题出在Intel上,不是说苹果单热管压i9就没错,只是当时市面上也没有更好的选择了,14nm+++++的制程配合4.9Ghz的单核睿频频率,想不热炸都难。这次从x86换到了ARM,苹果将自己十多年iPhone的调教经验运用到了M1上,最后的结果是一颗功耗控制与运行效率无与伦比的芯片。
我们可以看到,M1 Max在Cinebench R23的多核测试中,以Intel i9-11980HK总功耗的41.1%,输出了其96.5%的性能,更不用提低得多的待机功耗,那么苹果是怎么做到这一点的?
因为手机平台的电池容量有限,所以芯片的功耗是头等大事,芯片设计师们想方设法节约功耗开销。人们使用手机的时候并不是一直在用需要高性能的应用,比如游戏,很多时候只是在刷视频或者社交网络,并不需要特别强的性能,既然如此,芯片设计师直接在芯片里放两种处理核心,这也就是ARM在2013年第一次引入的big.LITTLE大小核设计。大核负责高性能场景,平时不启用,小核则负责低性能,耗电量低,可以尽可能延长续航时间,就这样,移动平台芯片设计目前的最优解达成了,既保证了性能也能够降低整体功耗。
苹果和其他手机厂商一样,早就在iPhone和iPad上应用了这一设计思路,既然之前的MacBook Pro发热问题严重,所以这次设计M1芯片的时候也没有理由不用了。
我们可以看到中间是8个Firestorm大核心,左边有2个Icestorm小核心,这样的组合加上TSMC 5nm的制程,让M1的运行效率遥遥领先同期任何其他平台的芯片,包括移动平台(A14基本架构和M1是一样的)。
但M1也有一个非常明显的问题,就是它“太大了”,M1 Max使用了堪称海量的集体管,相对于其他芯片来说,规模相当庞大。所以某种程度上,苹果在芯片设计上采取了很多精巧的设计,但在实际制造生产中确实直接用最简单粗暴的方式来达到自己的目的,那就是堆晶体管数量。这样做的好处也很明显,就是可以降低芯片运行的频率,更进一步有利于降低芯片的温度和功耗,而在需要极致性能输出时有更多的冗余。
值得一提的是M1内部集成了更多的东西,但相对于其他ARM架构的芯片来说还是大多了。
最近刚刚发布的M1 Ultra成为了M1系列里面积最大的型号,具体有多大呢?
M1 Ultra就是把两块M1 Max拼在一起,用苹果称为“UltraFusion”的技术进行数据链接与交换。
根据苹果自身的说法,这项技术能够提供超过2.5TB/s的带宽(单向1.25TB/s),这意味着苹果可以将两颗M1 Max上的GPU核心当成一块GPU来使用,开发者们并不需要额外的工作就可以“轻松”利用其恐怖的GPU规模来完成相应的应用。以前多GPU系统里,都是将每块GPU看作单独的实体,比如英伟达的SLI或者AMD的CrossFire技术,都需要开发者进行额外的适配工作,才能尽可能高的利用两块GPU所带来的运算能力,但是有了UltraFusion的超大带宽,相信未来我们应该可以看到很多不一样的新玩意儿。
M1以及A系列芯片有什么苹果独家,无可取代的技术成就吗?其实并没有,因为半导体行业的圈子很小,都是同一拨人不停地跳过来跳过去,而且学术研究与行业交流都相当频繁,那苹果为什么可以这ARM这一块玩出花来呢?因为它们足够有钱。
苹果公司拥有着令人咂舌的现金储备,每年近亿台iPhone的销量让它们有足够的底气在任何它们想要探索的方向投入重金,稳定而庞大的订单意味着苹果公司在各大供应商以及生产商有着举足轻重的地位。TSMC作为目前最尖端的半导体生厂商,将苹果的优先级列为最高,优先满足它的需求,也积极研发更好的制程来帮助苹果进一步优化和提升芯片的表现。
苹果相对封闭的生态使得芯片设计团队不用分心考虑通用性或者是其他零碎的事情,专注于挖掘自身芯片的架构,提高模块化程度,所以M1芯片可以通过简单的搭积木方式来实现性能的倍增而不用担心出现其他的问题。英伟达和AMD都做过类似的尝试,将两块GPU简单粗暴的捆绑在一起,但这种产品形态在当时还过于激进,爆炸的发热量与功耗使得其如流星一般划过,早早退了场。
有传言提到,接下来的M2系列芯片将会有4块拼在一起的型号,天知道那将是一块什么样的玩意儿。
评论区
共 10 条评论热门最新