苹果ARM M1处理器:个人电脑新时代的标志

微信扫一扫,分享到朋友圈

苹果ARM M1处理器:个人电脑新时代的标志

在最近的发布会上,苹果公布了其用于下一代MAC笔记本电脑的 M1处理器芯片。该芯片为苹果自研(根据分析应当是复用了大量A14的架构设计),基于ARM,并且引入了在移动SoC中常用的大小核架构,主打低功耗计算。该处理器也是苹果首次在MAC笔记本电脑上使用自研芯片,因此引起了很强的关注。

这款芯片的性能或者能效比究竟有多强?著名的Anandtech做了一系列测评。在SPEC2006上,苹果的系列的跑分与AMD Ryzen 9接近,比起Intel i7-1185G7要强,而的功耗却是远远低于这两款传统的PC处理器:Intel 1185G7和AMD Ryzen9 5950X处理器功耗分别在30W和50W左右(而且还不包括DRAM和电源管理芯片等的功耗),而苹果主板功耗(包括处理器、DRAM、电源管理芯片等)一共才5W!虽然SPEC跑分不能完全代表实际性能,但是如此低的功耗,对于笔记本电脑来说可以说是革命性的变化了。

苹果 M1架构的亮点

M1的设计可以说是大量借鉴了移动SoC端低功耗设计的思路并移植到了个人电脑上。

从顶层设计上,使用了统一内存架构(Unified memory architecture,UMA)。传统的笔记本电脑上是一块主板,主板上有CPU,有可选的独立GPU,CPU和GPU之间相对独立,各自处理自己的任务且有自己独立的内存空间,需要做数据交换的时候需要把数据从各自的内存空间拷贝到对方的内存空间去(往往使用PCIe)。然而,目前来看,很多任务都需要大量的CPU和GPU协同工作,而内存数据拷贝的开销非常大(做一次内存交换的开销比一次浮点计算高几个数量级,尤其是在能量开销方面)。当然,计算机架构领域早就看到了这样独立内存空间的低效问题,因此早就提出了UMA的解决方案。大概五六年前,AMD等厂商曾经提出过Heterogeneous System Architecture(HSA)并且组织了一个相关协会,其中也有类似UMA的技术,但是最终也没有做大,我认为这背后的主要原因是软件生态问题。与之相对的,在应用生态较为统一的智能手机领域,UMA已经成为标准架构。由于苹果对于自身MAC生态拥有极强的掌控力,因此敢于把UMA直接搬到个人电脑领域。

除了UMA之外,在具体设计上也采取了较为激进的低功耗设计原则,即“芯片面积换功耗”。的时钟频率(~3GHz)低于AMD、Intel等对标处理器(~5GHz),但是在Reorder Buffer(ROB)、运算单元、物理register file等处理器的关键运行资源上却非常大方。举例来说,的ROB深度高达630,比Intel和AMD最新一代处理器加起来(352+256)都多。通过增加执行资源(以芯片面积为代价),实现了在较低时钟频率下较高的性能。在较低的时钟频率下,有更多的机会来做功耗优化,例如更低的电源电压、使用漏电电流更小的标准单元库等等。事实上,这种芯片面积换功耗的做法是低功耗芯片设计教科书上的经典做法,而这次苹果则在实际设计中充分贯彻了这个原则,凭借其极强的工程能力最终实现了超低的功耗。

苹果 M1背后的生态支撑以及挑战

我们认为,苹果对于MAC生态的强大掌控力是它在 M1芯片上敢于尝试新架构的支撑。拿UMA来说,UMA对于软件有着很大的挑战,尤其是对于应用生态比较多样化的PC市场更是如此。想当年,Intel从单核架构转向多核架构的时候,都有无数软件因为无法掌握多核编程的技巧而导致效率低下,而UMA同样也需要软件库适配甚至重写。而相对于PC生态,MAC生态有着实现UMA的几大优势:首先是苹果拥有从应用到操作系统到编译器很强的掌控力,不会出现PC端不同的硬件厂牌和不同版本的操作系统需要写不同软件的问题;其次是MAC生态中的应用比较集中,对于性能要求高且使用较多的基本上就是一些多媒体工具软件,而对于能效比要求高的基本上是网络浏览,因此只要把握住几个应用的头部应用(例如在这次苹果发布会中提到的Final Cut)和苹果自家的应用做好优化适配,基本上就能满足绝大部分用户的体验。而对于PC来说,用户的应用则分散地多,玩游戏的,办公的,在行业应用中当服务器的,需求和软件都非常长尾,要把握住大部分用户的体验需要在软件适配和优化中下的功夫就远远比MAC高了。

但是,这并不是说苹果的ARM M1处理器就不存在软件生态问题了。事实上,针对新M1处理器,目前已经有不少兼容性bug出现,例如ffmpeg,docker,elasticsearch,octave等非常常用的应用都无法编译。除了编译问题之外,我们还预期会出现因为底层库适配不好出现无法充分利用处理其性能的问题(因此我们在前面说标准benchmark跑分高不代表实际应用性能强)。这样的问题对于MAC上的开源社区尤其具有挑战性,因为开源社区中应用通常集中度较低,而且由于是免费使用因此开发者对于什么时候能适配M1处理器并没有一个确定的时间线,加上开源社区中不同的应用和库之间常常具有相互依赖关系,这就导致了一个在开源社区中某个被多个应用使用的常用库如果因为作者没有时间去做苹果M1芯片的适配,就会导致许多依赖这个库的应用也无法在苹果M1芯片上使用。这个问题对于使用MAC平台编程开发的用户来说尤其大。

为什么说苹果自研 M1芯片是个人电脑新时代的标志?

我们认为,个人电脑进入了新的时代,从某种角度上时代的轮回让苹果的电脑又走到了风口。

回忆一下个人电脑的发展,苹果的产品成功地将计算机从大公司专用的巨型机器转变为个人使用的消费电子产品。40多年前的Apple II就是重要的一个里程碑式产品,它成功地使用软硬件协同设计将计算机小型化低价化,成为了启蒙一代人进入计算机世界的经典。然而,在这之后,平台式兼容机的出现则为个人电脑翻开了下一页。与苹果强调整体化软硬件协同设计实现封闭生态上的高性能产品不同,平台式兼容机使用开放式生态,只要使用符合标准的硬件(x86)搭配操作系统(Windows),任何公司甚至个人都可以完成自己的个人电脑设计(在那个兼容机最鼎盛的时代也是计算机爱好者自己DIY攒机的黄金时代),这样的时代以Intel和Windows的Wintel联盟为标志。这样的平台化方案潜在的问题在于硬件和软件之间的松耦合造成整体性能不太可能达到极致,然而这在摩尔定律狂飙突进的上世纪90年代到2000年初根本不是问题,因为每过一年都有新的处理器芯片出现实现远超上一代的性能,因此与其花大量时间为某一代处理器做深度优化,还不如直接使用新一代处理器来得划算。

而在今天,随着摩尔定律遇到瓶颈,每一代处理器芯片性能的上升变得越来越小,在这个时候苹果的深度软硬件协同设计的思路又再次变得有意义。计算机科学先驱Alan Kay曾经说过,“People who are really serious about software should make their own hardware”(真正严肃对待软件的人应该为他们的软件去设计相应的硬件)。苹果这次推出的 M1芯片则是在真正在个人电脑领域践行这个理念,而 M1也将成为这个软硬件协同设计新时代的标志性事件。

我们认为,在这样的软硬件协同设计时代,除了苹果的MAC之外,在个人电脑领域还会出现多个封闭或者半封闭的生态。例如谷歌之前一直在低调推广的Chromebook系列就代表了另一个新生态,而华为等中国公司也完全有能力去做一个类似的生态系统。此外,考虑智能手机的强势地位,新的个人电脑的定位也将进一步改变,从Wintel时代的互联网唯一入口,逐渐向大一号的智能手机这样的定位转变。这样的转变意味着个人电脑在进一步失去其强势地位,对个人电脑行业意味着告别过去的辉煌,但是也同时意味着新的机会。

来源: 矽说

所有的伟大,都源于一个勇敢的开始!
上一篇

受益政策红利!国产AI芯加速崛起

下一篇

增至338亿!合肥存储项目低调推进

你也可能喜欢

评论已经被关闭。

插入图片
微信 微信
微信
返回顶部

微信扫一扫

微信扫一扫