0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

苹果M1芯片如此之快的技术原因是什么?

我快闭嘴 来源:神译局 作者:神译局 2020-12-14 15:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

苹果今年最大的亮点也许不是手机,而是一块小小的芯片。M1发布会虽然已经过去了一阵子,但围绕着它的讨论依然不见平息。不过,对它的讨论很多都不在点子上,在技术方面解释得既不够深入也不够易懂。在这方面,Erik Engheim在Medium上发表的这篇文章也许是最详细最易懂的技术指南了。阅读本文,你将了解以下几点:1)为什么M1会这么快?2)苹果是不是用了什么独门绝招才做到这一点?3)英特尔AMD能不能效仿?原文标题是:Why Is Apple’s M1 Chip So Fast?篇幅关系,我们分两部分刊出,此为第一部分。

划重点:

700美元的新M1 Mac Mini战胜了4000美元的旧iMac

M1不是CPU,而是SoC

苹果采取异构计算策略来提高性能:不是增加内核,而是加入更多的专用芯片

CPU与GPU消耗内存之别犹如法国大餐与垃圾食品,苹果的统一内存架构很关键

英特尔和AMD抄不了苹果的作业

在YouTube上,我看到有位Mac用户去年买了一台iMac。它把内存配到了40 GB,花了他大约4000美元。但是,这么一台超贵的iMac,结果却被他用少得可怜的700美元买来的新M1 Mac Mini令人难以置信地给干掉了。

在一次又一次的实测当中,M1 Macs不仅仅只是超过了顶级的Intel Macs,而且还是压倒性的优势。大家一脸的不敢相信,开始问这怎么可能?

如果你是其中之一的话,你算是来对地方了。在本文中,我打算把这个问题拆解成比较容易消化的几个部分,就像苹果对M1所做的一样。具体来说,我认为很多人会有以下一些问题:

这个M1芯片这么之快的技术原因是什么?

苹果是不是做出了一些真正具有独创性的技术选择来实现这一目标?

像英特尔和AMD这样的竞争对手采用相同的技术花招的容易程度如何?

当然,你也可以试着Google一下,但如果你试图了解苹果都干了什么的话,你能找到的除了肤浅的解释以外,就会使一堆技术含量很高的术语,比方说M1用了非常宽泛的指令解码器,庞大的重排序缓冲器(ROB)等。除非你是CPU硬件极客,否则这些东西大多跟没说一样。

为了更好地理解本文,我建议可以先看看我之前的一篇文章:“2020年对于RISC和CISC来说意味着什么?” 在那篇文章里,我解释什么是微处理器(CPU)以及各种重要概念,比方说:

指令集架构(ISA)

流水线

加载/存储架构

微码与微指令

不过,如果你不耐烦的话,我可以简要介绍一下有助于理解我对M1芯片的解释所需要了解的材料。

什么是微处理器(CPU)?

一般来说,当谈到英特尔和AMD的芯片时,我们谈论的是指中央处理器(CPU)或微处理器。CPU会从内存中提取指令。然后,一般会按顺序执行每个一条指令。

就最底层而言,CPU是一种有若干叫做寄存器的命名存储单元,以及若干叫做算术逻辑单元(ALU)的计算单元组成的设备。ALU执行加法、减法及其他基本数学运算之类的操作。不过,这些操作指跟CPU寄存器连接。如果要让两个数相加,你得从内存取出这两个数字,然后放进CPU的两个寄存器里面。

以下是RISC CPU(M1也属于这种)执行的一些典型的指令示例。

load r1, 150

load r2, 200

add r1, r2

store r1, 310

这里的r1和r2就是我所说的寄存器。如果数字不在像这样的寄存器内的话,现代RISC CPU是没法进行操作的。比方说,它没法对位于RAM不同位置的两个数字进行相加。相反,它必须把这两个数字放到一个独立的寄存器里面。我们这里所举的那个简单例子干的就是这个。我们从RAM内存位置150处提取出数字,并将其放入CPU的寄存器r1中。然后,我们把地址200的内容放入寄存器r2中。只有这样,数字才可以用add r1,r2指令进行相加。

寄存器的概念很古老了。比方说,在这个旧的机械计算器上,寄存器是用来保存要相加的数字的。收银机(cash register)也许就源于此。寄存器就是登记输入数字的地方。

M1不是CPU!

不过关于M1,了解这一点非常重要:

M1不是CPU,而是由多个芯片组成的整个系统,全部都封装进放一大块硅里面。CPU只是其中一颗芯片。

基本上,M1算是把整个计算机都集成到了一块芯片上面。M1含有一颗CPU,有图形处理单元(GPU),内存,输入和输出控制器,以及构成整台计算机的众多其他功能。这就是所谓的片上系统(SoC)。

今天,如果你买芯片的话(不管是从英特尔还是从AMD那里买),你得到的实际上是封装在一起的多颗微处理器。在过去,计算机的主板上会配置有多颗物理上独立的芯片。

但是,由于今天我们能够往硅晶上面放太多的晶体管了,所以英特尔和AMD等公司开始把多个微处理器集成到一块芯片上。我们把这些芯片叫做CPU内核。一个内核基本上算是一个完全独立的芯片,可以从内存中读取指令并执行计算。

长期以来,就提高性能而言,这一直是问题的实质:就是不断增加更多的通用CPU内核。不过这种做法受到了干扰。在CPU市场里面,有一个玩家开始背道而驰。

苹果没那么神秘的异构计算策略

苹果没有往里面添加更多的通用CPU内核,而是采取了另一种策略:他们开始加入更多的专用芯片来完成一些特殊的任务。这样做的好处是,专用芯片的耗电往往比通用CPU内核少得多,执行特定任务往往又快得多。

其实这不是什么新知识。多年以来来,Nvidia和AMD的图形卡就内置了类似图形处理单元(GPU)之类的专用芯片,它们执行跟图形相关的操作要比通用CPU快得多。

苹果所做的只是朝这个方向做出了更大的转变。M1不仅配置了通用内核和内存,还包含有各种专用芯片:

中央处理器(CPU)——该片上系统的“大脑”。跑操作系统和应用的大部分代码。

图形处理单元(GPU)——处理跟图形相关的任务,比方说可视化应用的用户界面和2D / 3D游戏渲染。

图像处理单元(ISP)——可用于加速图像处理应用完成的常见任务。

数字信号处理器(DSP)——处理CPU所不为的数学密集型功能。包括音乐文件解压缩等。

神经处理单元(NPU)——用于高端智能手机,可加速机器学习AI)任务。其中包括语音识别和相机处理。

视频编码器/解码器——高能效地处理视频文件和格式转换。

Secure Enclave——加密身份验证和安全性。

统一内存——可让CPU、GPU以及其他内核快速交换信息。

这就是为什么很多人用M1 Mac进行图像和视频编辑时看到速度快得飞起的部分原因所在。他们执行的很多任务都可以直接在专用硬件上运行。这样一来,廉价的M1 Mac Mini不费吹灰之力就可以对大型视频文件进行编码,而昂贵的iMac就算让所有的风扇转到飞起也没法跟上前者的原因。

苹果的统一内存架构有何特殊之处?

苹果的“统一内存架构”(UMA)有点费解(我刚开始的时候就搞错了)。

为了解释原因,我们需要退后一步。

长期以来,廉价的计算机系统已经把CPU和GPU集成到同一块芯片(同一块硅片)里面。这种做法的慢是众所周知的。过去所说的“集成显卡”跟 “图形处理慢”基本上是一个意思。

之所以慢,是因为若干的原因:

内存的单独区域要预留给CPU和GPU。如果CPU想要让GPU使用大量数据,它不能够告诉对方说“这是我的部分内存”就了事。不行,CPU必须把数据复制一份到GPU控制的存储区域上。

CPU和GPU对内存的使用期望不一样。不妨用食物做一个愚蠢的类比:CPU希望服务员快点上菜(装数据的碟子),一点点上也没关系。想象有一家豪华的法国餐厅,里面的服务员都是穿旱冰鞋的,所以可以为你提供快速服务。

相反,GPU可以接受上菜(数据)慢。但是你不能一点点地上,要上就得上大菜。它们需要吞噬大量的数据,因为GPU是规模庞大的并行机器,可以并行读取大量数据。不妨想象有一家垃圾食品店,上菜需要花点时间,因为他们要全部备好食物才一起上。

鉴于需求如此的不一样,把CPU和GPU放在同一块物理芯片上显然不是一个好主意。如果只上一点点的法国菜,GPU就只能坐在那里挨饿。其结果是,把强大的GPU放进SoC毫无意义。那一点点数据都不够GPU塞牙缝。

第二个问题是大型GPU会产生大量热量,所以如果跟CPU集成在一起你没法不遇到发热过大的问题。所以,独立显卡看起来往往像下面这样的:有着大型冷却风扇的大怪兽。这种显卡有专用的内存,旨在为贪婪的显卡提供大量数据。

这就是为什么这些显卡性能高的原因所在。但是它们有一个致命的弱点:当它们必须从CPU使用的内存里面获取数据时,得通过印刷在主板上的一组铜线,也就是所谓的PCIe总线进行。你试试用一根超级细的吸管喝水看看。水倒是一下子就吸上来了,但是水量不够啊。

苹果的统一内存架构试图把所有这些问题都解决掉,但又避免掉过去那种共享内存的缺点。为了实现这一目标,他们采取了以下一些手段:

没有专门给CPU或GPU保留的特殊区域。内存同时分配给两种处理器。它们都可以使用同样的内存。不需要数据复制。

苹果采用的内存既可存储大量数据,又可以快速存储数据。用计算机的术语来说,就是所谓的低延迟和高吞吐量。所以,就不需要将不同类型的内存连接起来了。

苹果降低了GPU的功耗,因此可以集成功能相对强大的GPU,而又不会导致SoC过热。

有人会说统一内存也不是什么新概念。的确,过去就有不同的系统有个这种玩意儿。但那时候对内存需求的差异可能并没有那么大。其次,Nvidia所谓的统一内存并不是一回事。在Nvidea的世界里,统一内存只是意味着有软件和硬件专门负责在独立的CPU和GPU内存之间来回复制数据。因此,从程序员的角度来看,苹果和Nvidia的统一内存也许是一样的,但是从物理意义上来说并不相同。

当然,这种策略需要有权衡取舍。要想实现这种高带宽的内存(份量大),要求内存要完全集成进来,这意味着客户升级内存的机会被剥夺了。但是,苹果在寻求尽量提高内存与SSD硬盘的通信速度,让它们在本质上相当于旧式内存一样,从而让这个问题最小化。

既然SoC这么智能,英特尔和AMD为什么不抄作业呢?

既然苹果在做的事情这么聪明的话,为什么不是每个人都这么做呢?从某种程度上来说,别人也在抄作业。其他的ARM芯片制造商在专用硬件方面的投入也越来越大。

AMD也开始在自家的某些芯片上部署功能更强大的GPU,并部署加速处理单元(APU,这种处理器基本上算是放在同一块硅片上的CPU内核加GPU内核),可以说是朝着某种形式的SoC迈进。

不过他们做不到这一点。因为一个重要的原因。SoC本质上是整台计算机都集成在一块芯片上。所以这种做法更适合计算机制造商,比方说HP和Dell。不妨让我再用一个愚蠢的类比来澄清:如果你原来的商业模式是制造和销售汽车发动机的话,那制造和销售整车就会是一次不同寻常的飞跃。

相比之下,对于ARM而言,这倒不是问题。戴尔或惠普等计算机制造商完全可以卖ARM的知识产权许可,并购买其他芯片的IP,就可以把它们认为自己的SoC应该具备的特殊硬件添加进来了。然后,他们再把做好的设计交给格罗方德(GlobalFoundries)或台积电(TSMC,现在在给AMD和苹果代工芯片)等半导体代工厂即可。

英特尔和AMD的商业模式遇到了大问题。他们的商业模式是以卖通用CPU为基础的,大家只需要把CPU插入大型PC主板即可。因此,计算机制造商只需要从不同的供应商处购买主板、内存、CPU和显卡,然后将其集成为一个解决方案即可。

但是我们现在正在迅速远离那个世界。在新的SoC的世界里,你不需要组装来自不同供应商的物理组件,而是组装来自其他供应商的IP(知识产权)。你从不同的供应商处购买显卡、CPU、调制解调器、IO控制器以及其他产品的设计,然后用来设计自己的的SoC 。之后再找一家晶圆代工厂生产即可。

但现在你会遇到一个大问题,因为英特尔、AMD或Nvidia都不会把自己的知识产权许可给戴尔或惠普,让他们给自己的机器制造SoC 。

当然,英特尔和AMD完全可以卖整块完工的SoC 。但是这些SoC会包含些什么呢?PC制造商对SoC应该包含的东西可能会有不同的想法。英特尔、AMD、微软和PC制造商之间的想法可能会因为SoC应包含哪种专用芯片而发生冲突,因为这些芯片需要软件的支持。

对于苹果来说,这件事情很简单。因为他们控制了电子产品的全部。比方说,苹果提供了Core ML库给开发者编写机器学习程序。Core ML究竟是在苹果的CPU上面跑还是在Neural Engine上面跑,开发者并不需要关心。
责任编辑:tzh

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    462

    文章

    53537

    浏览量

    459149
  • 手机
    +关注

    关注

    36

    文章

    6980

    浏览量

    160655
  • 苹果
    +关注

    关注

    61

    文章

    24586

    浏览量

    207441
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    US1M SMA恢复二极管规格书

    US1M SMA/DO-214AC超恢复二极管,电流:1A 1000V
    发表于 11-12 16:46 0次下载

    RS1M SMA恢复二极管规格书

    RS1M SMA/DO-214AC恢复二极管,电流:1A 1000V
    发表于 11-10 17:20 0次下载

    IP5356M至为芯支持双向PD充协议的22.5W移动电源方案芯片

    英集芯IP5356M是一款用于充电宝、移动电源等充电方案的双向充移动电源管理SOC芯片,集成了QC2.0/3.0、PD2.0/3.0等大部分主流充协议。输出功率达到22.5W,提供
    的头像 发表于 11-07 11:53 334次阅读
    IP5356<b class='flag-5'>M</b>至为芯支持双向PD<b class='flag-5'>快</b>充协议的22.5W移动电源方案<b class='flag-5'>芯片</b>

    M1 SMA整流二极管规格书

    M1 SMA/DO-214AC整流二极管,电流:1A 50V
    发表于 10-29 17:02 0次下载

    用于 Cat M1/1/NTN 和 WCDMA HSDPA/HSUPA/HSPA(频段 1、2、4、5、8)和 CDMA(频段类别 0、1、6、15)的多模式、多频段功率放大器模块 skyworksinc

    电子发烧友网为你提供()用于 Cat M1/1/NTN 和 WCDMA HSDPA/HSUPA/HSPA(频段 1、2、4、5、8)和 CDMA(频段类别 0、1、6、15)的多模式、
    发表于 05-13 18:35
    用于 Cat <b class='flag-5'>M1</b>/<b class='flag-5'>1</b>/NTN 和 WCDMA HSDPA/HSUPA/HSPA(频段 <b class='flag-5'>1</b>、2、4、5、8)和 CDMA(频段类别 0、<b class='flag-5'>1</b>、6、15)的多模式、多频段功率放大器模块 skyworksinc

    M3 Ultra 苹果最强芯片 80 核 GPU,32 核 NPU

    设计(24 性能核 + 8 能效核),对比前代 M2 Ultra,多核性能提升 30%,单核性能提升约 16%。苹果官方称其 CPU 性能比 M2 Ultra 1.5 倍,比
    的头像 发表于 03-10 10:42 4318次阅读
    <b class='flag-5'>M</b>3 Ultra <b class='flag-5'>苹果</b>最强<b class='flag-5'>芯片</b> 80 核 GPU,32 核 NPU

    苹果新款MacBook Pro或将于今秋搭载M5芯片

    近日,苹果公司计划在2025年秋季推出搭载全新M5芯片的新款MacBook Pro。这一消息引起了广泛关注,预示着苹果将再次在笔记本电脑领域实现技术
    的头像 发表于 02-18 09:38 1302次阅读

    THS8135进行YUV输出,如何配置M1M2,还有SYNC_T这些信号?

    您好!我现在在使用THS8135的过程中遇到了点小麻烦,我想进行YUV输出,但是不知道如何配置M1M2,还有SYNC_T这些信号,出来的结果和想要的结果不一样
    发表于 02-14 06:26

    ADC的谐波产生的原因是什么?

    ADC的谐波产生的原因是什么
    发表于 02-08 08:25

    苹果M5芯片量产,采用台积电N3P制程工艺

    近日,据报道,苹果已经正式启动了M5系列芯片的量产工作。这款备受期待的芯片预计将在今年下半年面世,并有望由iPad Pro首发搭载。 苹果
    的头像 发表于 02-06 14:17 1246次阅读

    M1携手6D Technologies云原生BSS平台实现转型

    M1携手6D Technologies云原生BSS平台,成功实现数字化转型 印度班加罗尔2025年1月15日 /美通社/ -- 数字化转型解决方案的全球领导者6D Technologies欣然宣布
    的头像 发表于 01-15 15:42 727次阅读

    苹果M4 Ultra芯片预计2025年上半年亮相

    。 为了进一步提升芯片性能,M4 Ultra还采用了苹果定制的芯片级封装架构UltraFusion。这一创新技术通过使
    的头像 发表于 01-15 10:27 1208次阅读

    中软高科身份证读取及M1卡读写二合一机具开发文档

    中软高科这款机具除了二代身份证阅读功能,还可以对M1卡进行读写操作,从而实现身份证识读与M1制卡二合一。 机具照片 开发文档
    发表于 01-04 11:25

    THS8135不需要外部再引入SYNC/BLANK信号,M1/M2/CLK &amp; SYNC/SYNC_T/BLANK信号应该怎样处理?

    我们有如下应用,请教一下再这种场景下THS8135 的 M1/M2/SYNC/SYNC_T/BLANK pin如何设置(上下拉)。 将CVBS信号经AD转换后的数字信号,由THS8135 RCr
    发表于 12-31 07:31

    苹果M5系列芯片量产及新品搭载计划曝光

    近日,苹果分析师郭明錤带来了关于苹果M5系列芯片的最新爆料。据悉,苹果M5系列
    的头像 发表于 12-24 10:20 1334次阅读