打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
苹果自研芯片M1 强在哪?

https://www.toutiao.com/article/7081828208903078434/?log_from=d61259e75313e_1648980657777

苹果的M1芯片在执行任务时有哪些优势?

苹果是从 2004 年起把自家笔记本的 CPU 从 IBM 的 Power 系列换到了 Intel 的酷睿系列,原因是 Intel 的 CPU 的性能功耗比远超过 IBM。

而 2020 年,苹果又完全舍弃了 Intel,用上了自己的 CPU。其实理由也和当初一样,因为自家研发的 CPU 在性能功耗上比 Intel 好一大截。

但实际上,苹果 M1 系列 CPU 和一直以来的 Intel 酷睿系列、AMD 的 Zen3 系列,构架都是高度类似的。那么,为什么 M1 会强那么多呢?

接下来,我就用这三款当前典型的 CPU 做个对比。为了降低你收听的负担,Intel 的酷睿和 AMD 的 Zen3 我就不再重复全称了,直接就说 Intel 和 AMD。

这些 CPU 在执行任务的时候,都是按照“取指令 - 指令译码 - 指令执行 - 对内存的读取 - 结果写回”这 5 个步骤进行的。下面,我们说说在这些细节上的差异。

在执行指令之前,影响性能的环节就是把指令拿过来。这就对应了刚才说的“取指令”这个步骤。取来的指令会放在一级缓存里,所以如果一级缓存够大,就有利于 CPU 提高性能。

在这一步,M1 就大幅超越了 Intel 和 AMD。M1 的一级缓存是 192 KB,比 Intel 和 AMD 的 32 KB 大了 5 倍。

指令拿来之后,还需要对指令做一下解码。这是因为,所有的外部指令都要被翻译成 CPU 可以看懂的语言才行。在这里,M1 设置了 8 个解码器,Intel 是 5 个,AMD 是 4 个。仅从数量上,我们就可以看出差距。

但其实,差距还不止是数量上的。因为实际上,这 3 款 CPU 内部可以读懂的指令都是一类叫作 RISC 的指令(精简指令集)。这种指令,每一条的长度、执行时间固定,只不过不能太复杂,如果要完成复杂动作,需要堆叠好多条 RISC 才可以。

为了和进入解码器之前的指令有所区分,经过解码器之后的每一条指令就叫它“微指令”了。

而输入进 CPU 的指令又是什么呢?

苹果的 M1,输入进来的就是 RISC 指令。而对于 Intel 和 AMD 来说,都是 X86 指令。这是一种和 RISC 指令完全不同的指令,它们叫作 CISC(复杂指令集)。这种指令长度不固定、执行时间也不固定,只不过可以用一条指令执行一些比较复杂的任务,而不用堆叠好多条。

RISC 和 CISC 是两个截然不同的阵营。在 Intel 和 AMD 的 CPU 里,需要多一道手续把 CISC 翻译成 RICS,于是翻译的过程自然就需要耗能、耗时间。而苹果的 M1,输入进来的指令就是 RISC,翻译器输出的也是 RISC。

你可能想问,既然苹果输入输出都是 RISC,还翻译干嘛呢?因为还需要标准化一下。但这样的标准化,有点类似于把繁体中文翻译成简体中文,比较简单。而 Intel 和 AMD 在这一步做的翻译,类似于古汉语翻译成简体中文,就费劲多了。于是在这一步上,M1 就节省了大量能耗。

在执行之前,还有一个步骤是把翻译标准化的指令发射出去。在发射这一步上,M1 一次能发出 8 个微指令,而 AMD 一次发出 6 个,Intel 一次发出 4 个。也就是说,执行同样任务,同样频率下,M1 发出去的微指令数正好大了 Intel 一倍。

在微指令被执行之前,还有一步是给它们排序。因为有些指令要执行,需要等待前序计算结果。

比如,除法中的借位就是一个典型。于是就存在一个现象,有些微指令的前后顺序不能变。而还有很多微指令的执行无所谓先后,只要尽快算出结果就好。

于是,那些需要等待前序计算结果的指令就容易淤积在队列里。这个排队等待区叫做“缓冲区”。由于这个缓冲区是给微指令排队用的,所以这里又叫做“重排序缓冲区”(ROB)。

这个区域当然是越大越好。而 M1 这里能排 630 条,Intel 能排 224 条,AMD 能排 256 条。M1 比其他两款大了 2 倍多。

接下来,就到了执行的部分。执行指令的工人越多,速度越快,自然就更不容易成为整体性能的瓶颈。以浮点运算这个当今对性能影响最直接的指标来看,M1、Intel 和 AMD 规划了一样多的资源,都是类似 2 个 256 bit 的执行单元。

当然,除了浮点运算之外,这个单元也一样负责运行整数部分的运算。整数运算加浮点运算就是 CPU 的全部运算了。而临时存放整数和浮点部分的单元, M1 也更强,是一个 354 + 384 的结构,而 Intel 是 180 + 168,AMD 是 192 + 168。

所以,虽然执行单元的执行力一样,但临时存放的部分(寄存器),M1 更大,所以更有利于消除瓶颈。

执行部分说完。在二级缓存(L2)上,M1 又规划了巨大的资源,每个核心都布设了 3 MB 的二级缓存。这是处理器设计历史上最大的。Intel 是每核心 1.25 MB,AMD 是每核心 0.5 MB。

二级缓存大,在预测哪些指令将会被使用的时候,就可以提前预备好,于是接下来要使用的指令被提前放进来的机会就大。一旦用得上,从缓存里拿来用的速度,就远比从内存里拿来用更快。这就像紧急救援部队是从楼下赶来,还是从 3 条街以外赶来那样大的区别。

当然,从 3 条街以外赶来也很重要。因为毕竟所有需要用到的东西都是先存到内存、再挪到缓存、再送进 CPU 的。内存的带宽大,也能消除瓶颈。

但 M1 对内存的处理手法完全不同。在 M1 里,那些内存你是无法摸到的,因为它们布设在 CPU 的铁盖子下面,和 CPU 是一体的。而普通电脑的内存在哪儿呢?大约离 CPU 有 5 - 10 cm 远,是一条一条可以拔插的、大家所说的内存条。内存条,就是这么来的。M1 这么做的最大好处就是降低延迟,从传统电脑的 70 ns 降低到了 45 ns。

而内存带宽上的差距就更大了。M1 Ultra 可以达到 800 GB/s,哪怕是 M1 Pro 和M1也有 200 GB,而 Intel 和 AMD 大约只能有 50 GB/s - 60 GB/s。

于是,在高清视频剪辑这种每秒都有几十 GB 实时数据传递的任务里,苹果笔记本的处理效率就非常高。所以今天,绝大部分视频 UP 主只要经济状况允许,肯定是用苹果笔记本剪辑的。

CPU的性能是什么决定的?

其实,CPU 的性能好不好,并不是靠在某个环节上猛堆料实现的。因为计算过程是一条流水线,线上任何一点的瓶颈都决定了 CPU 的最大性能。M1 比传统 CPU 好就好在,它在任何环节都堆了猛料。

在一些典型的图像渲染任务(Cinebench R23)的处理上,全核心开足马力的 M1 是 7800 分,而 Intel 的 i9 12900K 是 13500 分。别看 Intel 这个台式机旗舰机 CPU 的性能是 M1 的 170%,但功耗却是 M1 的 650%。算在一起,同样性能下,M1 构架的 CPU 只需要 Intel 的 1/4 - 1/3 的功耗。

所以,使用 M1 构架的苹果笔记本可以不用带电源适配器,办公一整天也绝对保证续航。

而这一点目前在传统处理器上是越来越做不到了。因为 Intel 和 AMD 都在比拼最高性能,于是本来能耗比尚可的设计都不能悠着来了,必须要把最后一滴性能榨干,甚至有的时候不惜让功耗增加一倍换来性能 10% 左右的提升。

这就导致了另外一件怪事的出现,如果你买的是传统处理器的笔记本,那插上交流电电源和不插电源的时候,性能会相差 30% - 40%。

因为当你不插交流电源的时候,系统如果还按最大性能运行,会导致电池快速用完,用户体验就太差了。于是,只用电池续航的时候,系统会强制 CPU 和 GPU 以低频、低压运行。这时,性能就巨幅下降。

而苹果的 CPU 完全不存在这样的设定,用电池和用电源时的性能都完全一样。

为什么苹果的CPU这么贵?

说到这里,我们是一直围绕 2020 年发布的 M1 来说的。实际上,大家更关注的是 3 月 8 日晚上发布的 M1 Ultra。但是,理解 M1 对理解 M1 Ultra 至关重要,因为:

M1=8 CPU + 8 GPU

M1 Pro=10 CPU + 16 GPU

M1 Max=10 CPU + 32 GPU

M1 Ultra=20 CPU + 64 GPU

M1 的晶体管数量是 160 亿,M1 Ultra 的晶体管数量是 1140 亿,是 M1 的 7 倍多,也是世界上第一枚晶体管数量超过 1000 亿的芯片。M1 Ultra 就是使用 M1 的基础构架搭积木搭出来的。

说回苹果的 CPU 为什么这么好。

首先,因为一分钱一分货。这颗 CPU 的成本要比 Intel 和 AMD 的贵上几倍到十几倍。业内分析,M1 Ultra 的制造成本在 350 美元左右,而 Intel 和 AMD 顶级 CPU 的成本也就只有几十美元。

苹果当然有技术优势,但如果把单颗 CPU 的成本也限定在和 Intel 与 AMD 类似的范围,苹果也只能做到 Intel 和 AMD 的水准而已。

但为什么苹果敢做这么贵的 CPU 呢?

原因就是,苹果不是卖 CPU 的,它是卖整机的。

如果像 Intel 和 AMD 那样靠卖 CPU 赚钱,仅制造成本就要 350 美元。如果按研发成本是 50 美元/颗计算,总成本就是 400 美元,那售价至少要奔着 2000 美元去了。而今天,CPU 销量最大的型号的售价普遍在 200 - 400 美元之间。

所以,Intel 和 AMD 都不会规划那么豪华的构架。苹果敢这么做,是因为它只卖整机,而且价格很高,5000 - 8000 美元一台。那么,在最关键部件分配 350 美元成本是没问题的。

第二个原因是,苹果还能进一步压缩研发费用。

开发出的 M1 构架可以不断堆叠,堆 2 倍、堆 3 倍、堆 7 倍,就从移动端变到了笔记本再到台式机再到一体机,各种平台通用。而这样大幅度的使用一款基础产品,通过扩大规模来平移到各个产品之中,也只有苹果可以做到。因为苹果的每类产品都拥有过亿的用户,这些平台甚至连操作系统都是统一的。

当然,苹果的 CPU 也不是完美的。

比如,M1 Ultra 实际上已经牺牲了一部分能耗上的优势,有意地加大规模去追赶当前英特尔最新款的 12 代酷睿处理器。

再比如,和 M1 比起来,M1 Ultra 的单核性能几乎没有任何提升。CPU 全核性能是 M1 的 3.2 倍,但实际晶体管的数量却是 M1 的 7.1 倍。

另外就是,苹果的电脑哪怕 GPU 规格极高,也几乎没法用来玩儿游戏。这是游戏软件不支持导致的,算是个历史原因。

但我们也可以预测,Ultra 是 M1 构架最后一个版本,苹果下次再次更新 CPU 时,代号肯定会升级到 M2,它也许会在 2022 年 9 月的发布会上露面。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
最全面的笔记本基本硬件参数介绍,常见问题解答处!
苹果一次又一次的颠覆芯片规则,intel、AMD压力山大
关于CPU
这18条背下来没人敢和你忽悠CPU
CPU芯片的发展历程_2003
全面认识CPU
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服