苹果芯片采用ARM架构可行,但取代Xeon并非易事

电脑教程031

苹果芯片采用ARM架构可行,但取代Xeon并非易事,第1张

@Joel Hruska于2019年7月26日

苹果何时构建ARM架构CPU的软件生态系统而不是使用现在Intel x86这一问题经常出现。这个问题答案很简单:“理论上可行,但实际上不行(短期内)”。

最近一篇文章很好地总结了为什么苹果真的会很快投靠ARM,称苹果可能在2020年推出这样的产品。文章为苹果可能真的采取这一步骤并参考各种现实事件提供了合理的理由,包括英特尔在过去14nm的发展中遇到的困难、苹果围绕GPU和CPU的设计努力、其SOC日益复杂和能力的提高,以及苹果已经研发了一个二级芯片,比如T2控制器。

所有这些观点都是正确的,这就是为什么这个2020年的传闻看上去更接近真实的原因。但是,这个谜题中仍然有一个主要部分还没有被深入谈论过: 苹果可以引入一个运行完整MacOS的ARM内核,但如果它想在其高端iMac Pro和Mac Pro产品中取代x86,它将不得不面临一些以前从未遇到过的重大设计挑战

上图:Broadwell架构

上图:英特尔的Skylake芯片网状互连结构,使芯片容易搭建和设计。

尽管苹果已经能够制造CPU。但它从未尝试过在多插槽系统中构建一个28-32核的ARM处理器。苹果从未为自己的产品系列设计过服务器级芯片组或CPU插槽。

即使苹果打算创建一个不需要升级CPU的平台,它也需要设计自己的主板。它所做的CPU插槽设计决策将影响它迭代平台的速度,以及以后需要做多少工作。这当然可以实现的,但不是一个人一夜之间做的事。

上图:AMD Ryzen 7 3000印刷电路板上的布线。这显示了一个芯片和它的I/O芯片之间的连接。这也不容易设计。

使用芯片组可以使CPU设计的某些方面更容易,特别是在前沿节点上,但它并不能简化所有的工作。芯片需要互连,比如AMD的无限结构。苹果需要设计自己的解决方案(目前还没有正式的芯片组互联标准)。如果苹果想将一部分产品推向市场,以取代Mac Pro上英特尔芯片,那么这里有很多定制的IP工作要做。

一个简单的解决方案是苹果在笔记本电脑上推出新的ARM芯片,但暂时保留英特尔的台式机系统。理论上,如果生态系统已经准备好了,并且苹果可以为应用程序提供适当的二进制文件,那么这就可以很好地工作。软件应用程序支持和用户对性能期望在这里可能很难管理,但它是可行的。在这种情况下,苹果的问题在于确保其消费者了解可能存在的平台任何兼容性问题,以及新的基于ARM的产品与旧的x86产品明显不同。

上图:苹果二级处理器T2 controller

苹果有没有理由不做自己的Mac CPU?

事实上,苹果不为Mac构建自己的CPU内核是有原因的。为了建造笔记本电脑/台式机处理器系列,必须完成大量的工作:从开发互连、芯片组、主板的所有工作都比与其他人的预先定义的产品标准和制造工作更加困难以及不菲的研发经费。而英特尔在处理器核心领域做了很多苹果不必做的工作。

因此,苹果放弃采用英特尔CPU是否合理的问题部分取决于苹果认为这样做能赚多少钱。显然,自己开发处理器的价值可以使利润更高,但获得价值也意味着投入成本。当苹果作为一个非x86架构时它将面对软件兼容性的问题,而且还要面对众多与Windows的同类产品激烈竞争。

苹果必须考虑,如果它再次脱离x86平台的兼容性,至少会失去一些客户,这可能是因为软件兼容性,也可能是因为它的新芯片可能无法提供相对于英特尔芯片稳定而高效的处理性能。作为最有价值的一部分为Mac Pro提供高效性能的CPU——也是设计和建造成本最高的CPU。 如果苹果认为它自己所开发的芯片不能像Xeon那样优秀,那么苹果就不可能会在这些领域引入自己的CPU,直到苹果认为自己可以之后。

苹果的CPU已经发展到足够可以实现跨越式发展,但仍有一些重要问题需要考虑,即苹果将在哪些产品上配置自己的CPU,以及是否会尝试在所有产品中取代X86平台,还只是在特定的产品上。

这个问题目前来看,苹果最终会在未来很长一段时间内继续与英特尔或AMD合作,以及将自己的ARM IP部署在Mac线上,或者部署在与T2芯片使用方式类似的二级处理器上。

苹果发布了首款针对PC平台设计的自研arm架构芯片Apple M1,并将这款芯片用在了 新一代的入门级笔记本MacBookAir、新款高端笔记本MacBook Pro、新款迷你版台式机Mac Mini上,用以取代 英特尔处理器,官方还宣称其将比英特尔十代酷睿IceLake性能提升接近3倍。这款M1芯片真的这么强吗?他跟原来的英特尔芯片有什么不同?

在说这个问题之前,我们先来看一张iFixit 对MBP的拆解图,如下所示:

M1做的事情首先把这些打包到一起了,CPU、GPU,Neural Engine(原来没有)以及其它的IP单元,比如HDR video 处理器,HDR imaging 处理器,USB控制器等通过Fabric总线与DRAM和连接。与传统的Intel/AMD的处理器相比,M1是一个真正的SoC芯片。

M1与内存封装在一起,优点就是速度更快,缺点是没法扩展,考虑到目前的产品16GB可能还够用,但是如果要用在更要求性能的机器上应该很多人不够用。同样的道理SoC集成了很多的IP核,在做相应的处理运算的时候会很高效,比传统的CPU/GPU处理可能高几十倍,我想M1做一些视频处理也会很高效,但是这种asic固化的方式也是写死的,有新的框架之类的效率可能会降低。

下面结合Anandtech的描述具体说一说这颗芯片到底如何。

基于A14 Firestorm的分析,两者应该是一样的,跟其它微处理器的最大的区别是苹果这个是8-wide 的解码器设计,AMD/Intel的解码器设计都是4-wide,好处就是更快。(这里我简单解释一下,因为X86是CISC指令集,指令的长度是不固定的,这个解码器设计增加宽度比arm这种固定长度的RISC指令集难很多。

630 ROB太恐怖了,Anandtech也好奇苹果怎么实现的,总之就是NB,(ROB这里简单解释下,全称ReOrder Buffer,从名字来看就知道是个缓冲器,主要是处理乱序与分支执行用到,指令执行完放到ROB中,等相应指令得到commit之后绝对怎么执行,如果猜对了就写入寄存器如果错了就清空)

354 entries 物理寄存器,结合前面的630 ROB,高并行执行,这个很恐怖,

重命名寄存器,这又是乱序执行中比较重要的寄存器,384 entries 也是巨大的。

还跑了SPEC2006, 63分,4.4W功耗,反正总之就是吊起来打。。。

至于吊打Intel处理器这种也不要太相信苹果,因为这都不知道在什么情况下做的对比,对比条件也没说,这种图最没价值

苹果的自主芯片

applesilicon是苹果的自主芯片。AppleSilicon规格为8核心,与A14X几乎完全相同。当然还有12核心版本正在研发的。虽然规格方面与A14X一致,但Mac的散热规格更出色,或许苹果会拉高AppleSilicon的频率,以带来更出色的性能表现。

苹果首次宣布要推出自己的电脑芯片,是在今年6月份的开发者大会上。当时的命名叫做Apple Silicon。是专为苹果Mac系列电脑打造的,它最大的特色是基于ARM架构。推出自研芯片的目的很简单,就是取代目前苹果电脑上使用的英特尔处理器。

我之前曾经讲过英特尔受困7nm工艺制程的事情,感兴趣的朋友可以回听之前的节目。在制程工艺已经来到7nm,甚至5nm的当下,英特尔的14nm工艺显得笨重而落后。苹果的产品一般比较纤薄,即便是笔记本和电脑产品也一样。14nm工艺芯片的发热会相对比较严重。

为了在性能上也秀秀肌肉,去年,苹果为专业影音工作者打造了一款性能怪兽Mac Pro,疯狂堆料的背后,这款电脑的价格原地起飞,从几万到十几万不等。