音乐播放器
某东方众的不知名小站
 
Powered by Gridea(不知道该怎么迁移到hexo) | Theme: Fog
载入天数...
载入时分秒...
总访问量:  |   访问人数:

苹果新活M1处理器简评

  热度: loading...

本文转载自微信公众号Morrison Terminal
已获得原作者Stephen Liang转载许可

前言

今天咱们聊一聊苹果最近发布,(再N次)震撼了整个PC行业的产品

它究竟是何德何能,能够作为新款MacBook Air,MacBook Pro以及Mac Mini的处理器,又是什么使得它在各大科技媒体一石激起千层浪呢,就让我以一个小白的角度,为大家浅析一下M1。

众所周知,在笔记本行业,处理器一直是Intel和AMD的天下,就连从前的苹果也只能在抛弃了能耗比不占优势的PowerPC处理器后转而使用Intel的酷睿处理器。

而不论是酷睿,还是AMD的锐龙处理器,它们的本质是相同的——即为X86架构,这也是苹果发展桌面端产品的桎梏。终于,在2020这不平凡的一年的末尾,苹果抛弃了使用了15年的酷睿,研发出了自己基于ARM架构的
Apple Silicon——M1.

最有趣的一点是,将理论与实践结合的第一人,并不是苹果,而是我们熟知的另一科技巨头-Microsoft。微软早在2012年就推出了基于ARM架构的操作系统,即Windows RT。
而他们也在M1发布前的一年,就拿出了自己家搭载基于ARM架构,高通SQ1处理器的Surface Pro X

可惜事与愿违,****Surface Pro X的发布并没能像搭载M1的MacBook们收获大部分买家的好评,而这也与它令人失望的性能以及兼容性有关。

强劲的性能从哪里来?

我们先谈谈性能,要想知道M1是如何做到如此优秀的能耗比,必须先来了解下ARM架构和X86架构的不同。

首先,先来了解一个简单的概念——指令集

指令集,是一个处理器在设计的时候,为了提高计算的效率而设计的功能,在满足特定条件时使用指令集能够显著提升处理器的效率。一个例子就是我们熟知的AVX/VEX指令集,它能够提升处理器进行浮点运算的性能。
XAo2.jpg
图:AVX指令集
如果感觉不是很懂我在说什么,可以类比一下我们的数学学习过程,指令集就好比是数学的各种知识点的融合,从最简单的加减乘除,到我们现在学习的微积分,三角函数等。

把学生比作处理器,那么我们所掌握的知识就可以大概地比作处理器的指令集,我们做题的效率就好比处理器的效率。那大家就该明白了,指令集的效率直接影响了处理器的运算速度。

我们说回来
X86架构使用的是复杂指令集CISC:Complex Instruction Set Computing
而M1的ARM架构,使用的是精简指令集RISC: Reduced Instruction Set Computing

在使用复杂指令集的处理器中,各个程序的指令将按照顺序执行,处理长短不一的指令,需要先将复杂指令拆分成类精简指令,再执行,这样虽然使得其兼容度高,但客观上降低了处理器处理指令的效率。而精简指令集,顾名思义,处理的是等长的精简指令,故其执行指令时效率更高。ARM架构,或者说M1的优势之一,就是其使用的RISC精简指令集。

M1的第二个优势,就是其先进的架构。

近年来(好吧其实已经很久了…),SoC这个词汇越来越频繁地出现在了我们的视野内,SoC的全称,也就是System on Chip。顾名思义,这就是将一个系统原本分散的元器件集成进了一个芯片内。虽然说近年来英特尔和AMD也在桌面处理器领域努力提高集成度,但M1直接 ‘不讲武德’ 地将内存也封装进了SoC,虽说在移动端这已经是司空见惯,但要知道,桌面端的内存一直是以内存条的形式插在主板上而存在的。通过CPU与GPU共享内存以及高集成度,M1成功地减少了耗电量与内存延迟。

与此同时,M1还有一个特性,就是 敢堆料,其采用了先进的台积电5nm工艺,4个大核心4个小核心的配置,在需要性能时可以调用大核心,而在算力足够时又可以灵活切换到小核,虽然我们看一个处理器的性能不能只看核心的数量,但至少在这方面,M1与同台竞技的选手,是不落下风的。而在核心的 ‘质量’ 方面,M1也是诚意满满,在解码器宽度,整数,浮点运算性能等已经不落后甚至超过了常见的桌面旗舰处理器。

但是仅仅这些,并不能让口味一向刁钻的消费者们满意,微软的前例仍然历历在目,它所被诟病已久的可并不只有低下的效率,更重要的是对现有软件糟糕的兼容度,是什么让苹果,让M1,有资格被众多数码博主们誉为一个新的开始,就让我们下期继续聊罢。

最后,给各位送上一个迟到的新年祝福,祝各位新年快乐。
顺便提醒一下,您的假期余额貌似不太够了哟~
[email protected] Liang

站长补充的亿点点:

关于x86和ARM64架构,并不是数据一摆就可以的,而更不可能像某些人所叫嚣的“arm时代已经来临”。
根据水桶效应,观察这个处理器的优劣,要从其最慢的环节入手。

而对处理器性能影响最大的是提取,也就是将命令拉取到CPU里的过程,此过程ARM依旧还仅停留在20GB/s的速度,而x86处理器早已破百,已经起飞。

而这里就可能会有人反驳:ARM的指令发射速率远高于x86,再加上ARM指令短小精悍。
而这个“优点”实际上是果不抵因的:虽然ARM指令集与x86指令集平均长度小上3到5倍,但考虑到近10倍的带宽差距即使是假设x86全部发射的是长指令,其效率也远高于ARM,而且还有一个致命缺陷:ARM的发射间隔长,实际上自己就把发射最大速率快这点给抵消掉了大半。

不仅如此,指令短小反倒让解码工作变的庞杂。
就好像你装机一样
X86:打开机箱,在主板上安装CPU、显卡、内存、储存,插好线装好电源,关上机箱。
ARM:装机

而随着高级语言的爆炸式增加,复杂指令只会有增无减。
再加上执行速度的瓶颈,ARM光是看视频的软解占用就不低。

所以说我很反感动不动就说手机多强,超越电脑。什么K30玩啥都顶画,吊打1080。照你那么说我几个24U的柜子都白装了?跑个神经积卷网络来碰碰……

但综上,只能说明性能差距大。但实际上,ARM最大的优势在于节能
3000毫安的电池能用一天,这就是节能。而我前段时间2070跑waifu2x烧卡(游戏本),虽然说风扇拉满但最后键盘都烫的摸不了。
而节能使得ARM处理器变成使用最广的处理器,搭载ARM处理器的机器上天入地,而nasa刚整上火星的一个直升机就是ARM处理器。

实际上我前面说那么多,无异于屁话。
因为ARM与x86,所对应的垂直市场都是不同的,适用场景也不同,而单纯的放在一起比较出一个高低是纯粹的脑瘫行为。