苹果M1芯片:如何开启一个时代
11月11日,苹果今年的发布会三部曲终于落下了帷幕。这场压轴大戏上,发布了苹果自研芯片Apple Silicon的第一代产品:M1芯片。首批搭载M1芯片的Mac机器共有三款:MacBook Air、13寸MacBook Pro和MacMini。不管是发布会上公布的性能提升,还是这几天关于这几款机器的实际评测纷纷出炉,M1芯片的性能和功耗完全超出人们预期,用“颠覆”来形容也不为过。
今天的文章就来聊聊苹果的M1芯片。我想从芯片设计的角度,和大家一起看看M1芯片为何如此牛逼的三个主要原因。
芯片设计的PPA优化
在设计芯片的时候,一个最重要的原则就是对PPA的优化,也就是尽可能的优化芯片的功耗(Power)、性能(Performance)和面积(Area)。通常情况下,这三点不能兼得。
比如,为了提升芯片的性能,我们可以加入多级流水线、增加总线宽度、或者增加各种硬核处理单元,但此时就很有可能会付出更高的功耗、以及更大的芯片面积作为代价。反之,如果我们想要设计低功耗的芯片,那也很有可能需要牺牲一部分芯片的性能。所以在实际工程实践中,功耗、性能和面积往往都是相互折中、互相平衡的关系。对于一个芯片来说,没有完美的设计,只有完美的平衡。这就像给你有限的预算去买食材做菜,那就很难既买到鱼,又买到熊掌。
但是这次苹果M1芯片的发布,给人最直观的感受就是,在预算不变的情况下,你可以鱼和熊掌,两者兼得。
苹果在发布会里放出了这张图,它比较的是M1芯片和某个笔记本的CPU,但苹果没说是谁。为了方便叙述,这里姑且叫它“张三芯片”。在这张图里,横轴是功耗,纵轴是性能。可以看到,对于一个给定的功耗标准,M1的性能是张三的两倍。对于一个给定的性能要求,M1的功耗是张三的四分之一。
也就是说,在高性能和低功耗这两个往往此消彼长的维度里,M1芯片同时取得了极大的提升。除了CPU之外,M1里的GPU也取得了类似的性能提升和功耗下降。苹果表示,M1有着当前世界上最好的CPU每瓦性能,以及当前世界上最快的集成显卡。
在之前的文章《英特尔11代酷睿TigerLake:全网最犀利点评》里说过,不管市场营销用什么话术,跑分永远是不可能被绕开的一关。虽然苹果官方没说跑分的事情,但是各类评测已经给出了相当高的跑分结果。
从Geekbench的跑分来看,这次搭载了M1芯片的三款产品,不管单核还是多核,都跑出了相当高的分数:
- Mac Mini: 1682 / 7097
- MacBook Air: 1687 / 7433
- MacBook Pro: 1714 / 6802
事实上,它们的单核跑分都超过了AMD刚刚发布的锐龙9 5950X,也超过了英特尔的TigerLake旗舰版,也就是11代酷睿的i7-1165G7。
此外,这三款产品的单核和多核跑分也超过了目前正在卖的2019款16寸MacBook Pro。也就是说,单从CPU的跑分来看,这个新款的macbook air比苹果去年刚刚发布的旗舰笔记本还要快了。
不仅是性能,搭载M1芯片的笔记本续航时间也有了大幅提升,最高可以达到20小时。
在我看来,M1芯片取得如此巨大的能效提升,主要有三个原因:一个是使用了5纳米工艺,第二个是一些芯片架构创新,第三个则是软硬件的深度优化,接下来我们一个一个说。
台积电5纳米工艺
制造工艺这一点,很多文章都没有提及,或是没有重视。事实上,先进工艺对于芯片的能效提升,起着非常重要的作用。因为过去十年里芯片性能的提升,有超过60%直接或间接受益于半导体工艺的提升,而只有17%来自于芯片架构的升级。AMD能“弯道超车”英特尔的最主要原因之一,就是抛弃格罗方德,转向台积电的怀抱。
M1应该是目前世界上第一个、也是唯一一个使用了台积电5纳米工艺的笔记本处理器芯片,其中包含了160亿支晶体管。根据台积电的数据,和前一代的7纳米工艺相比,使用5纳米工艺制造的晶体管:密度提升80%,速度提升15%,功耗降低30%。有了新的制造工艺,可以在芯片面积保持不变的情况下,往一颗芯片里塞进去更多的晶体管,而且这些晶体管的功耗更低、性能更高。
台积电工艺路线图(图片来自WikiChip)
也就是说,即使苹果什么都不做,单纯把A13芯片用5纳米工艺流片出来,理想情况下就能达到这些“免费”的性能、功耗和面积优化。当然实际情况要比这个复杂很多。
要知道,2019款16寸MacBook Pro用的还是英特尔的第九代CPU,使用的是英特尔14纳米工艺,这和台积电的5纳米工艺至少有两代的代差。所以也这也不难理解为什么从跑分来看,搭载M1的MacBook Air会降维打击16寸MacBook Pro。
苹果M1封装图(图片来自苹果)
芯片架构创新
这里特别要说的是苹果的UMA结构,也就是这次展示的统一内存架构。设计芯片的一个大的原则就是,存储数据的地方离使用数据的地方越近,性能就越高、功耗也越低。所以苹果就把原本在电路板上的内存颗粒,整合到芯片的封装里。这样最主要的好处就是让芯片上的那些CPU、GPU、AI引擎都能够更快的访问到内存,同时也大幅降低了数据传输的功耗。此外,各个模块之间可以共享内存,也省去了很多数据搬运、拷贝的开销。
苹果UMA结构示意图(图片来自苹果)
值得注意的是,这种架构设计和封装方法其实并非苹果独有,其实在英伟达的A100GPU、AMD的Rome处理器,还有英特尔和赛灵思的高端FPGA芯片里,都使用了类似的方法,可以在同一个芯片封装里集成了多个不同的计算和存储单元。
这种封装方式的具体的实现方式有很多种,比如AMD使用的芯粒chiplets,还有英特尔的EMIB技术,还有赛灵思在FPGA中使用的SSI,也就是堆叠硅片互联技术等等。业界把这些技术都称为是2.5D封装技术,也就是是在水平方向上连接多个小芯片,然后组成一个大的芯片。关于EMIB和SSI技术的具体分析,可以看之前写过的这两篇文章《3D FPGA技术 – 上篇》《3D FPGA技术 – 下篇》。
EMIB结构示意图(图片来自英特尔)
这里多提一句,英特尔还有一个名叫Foveros的3D封装技术。Foveros来自于希腊语,本意是“牛逼”。这个技术不是在水平方向上扩展,而是垂直扩展。也就是说,它可以将内存颗粒、CPU、GPU、还有其他的芯片单元,像三明治一样叠在一起,这样就使得内存和CPU的距离减少到0.1毫米左右,所以会进一步增加内存带宽、减少传输延时,同时不会增加芯片的面积。在英特尔的Lakefiled CPU里就使用了这种技术。关于Foveros技术,也可以看一下之前的文章《2019年会是10纳米工艺的大年吗?》。
Foveros 3D封装示意图(图片来自英特尔)
苹果生态的协同优化
苹果的M1芯片取得能效大幅提升的第三个原因,就是苹果软硬件的协同深度优化,这一点我认为也是苹果最大的竞争优势。这是因为,前面说的5纳米工艺,或者芯片架构和封装技术的升级,其他厂商可能也会(或者必然会)掌握和采用这些技术。但是只有结合软硬件、操作系统和生态做深度优化,才是苹果独有的。而且这也是为什么有且只有苹果能将基于arm架构的CPU真正做成牛逼的产品卖出来的原因。
有人说,苹果的M1芯片的面世证明了Wintel联盟并不难破,这一点我并不认同。基于arm架构的消费级CPU已经说了很多很多年了,但放眼目前除苹果之外的软硬件厂商有谁能堪此大任呢?英特尔amd肯定不会做这种自废武功的事情,不用多说,微软之前尝试过做一下基于arm的生态,但是以失败告终。那么是让联想、戴尔去做arm笔记本,还是让高通英伟达这些非cpu厂商去做生态呢,其实目前来看都是很不现实的。
关于软硬件协同优化这一点我很认同某乎大v木头龙的回答,大家可以去看一下。只要pc的软硬件厂商还是各自为战,只要不同的软硬件还需要相互兼容和适配,不管是操作系统、开发工具、驱动、CPU、GPU、内存等等,这个生态系统就很难破解。生态系统有时候就像一个从山顶滚落的雪球,你一旦被他卷进去就很难靠自己的力量逃脱,更不用说靠一己之力改变它的运行轨迹。
苹果OS和生态(图片来自苹果)
相比之下,苹果有着自己的生态,这次M1芯片的发布,也正式完成了这个生态的闭环。
你可以说苹果生态太封闭,或者有这样那样的问题,但只有这种封闭的生态才有可能产生像M1芯片这样的东西。
从Anandtech的这张图里就能看到,在过去的5年里,英特尔芯片的单线程性能提升了28%,而苹果则提升了将近3倍。所以,苹果采用自研的Apple Silicon芯片,也是必然的选择。
(图片来自AnadTech)
但是,与英特尔AMD不同的是,你不可能单独去买这个M1芯片。为了使用M1的高能效,就必须买苹果的整个生态。而且即使像苹果这样的闭环生态,全面转向arm架构也需要两年的时间,这里面会涉及大量的生态迁移工作,也势必会给开发者造成很多额外的工作压力。所以这个生态转换并不容易。
结语
苹果M1芯片的发布,也代表着基于arm架构的消费级处理器重新登上历史舞台,并且开始正面迎击基于x86架构的传统处理器。虽然目前说x86架构被arm取代还为时尚早,但在很多领域,比如mac电脑擅长的视频和图像等内容创作领域,M1芯片已经正式颠覆了人们对高能效的认知。相信随着更多后续产品的出现,会有更多的颠覆发生。同时,x86阵营如何应战,也是非常值得关注的重点。
更多芯片技术解读和资料分享,并与老石一对一交流,欢迎加入知识星球:“老石谈芯-进阶版”,一个关乎技术与观点的互动社区