人文艺术 > 为什么高通和苹果A系芯片都是基于arm的芯片,性能差别却这么大?

为什么高通和苹果A系芯片都是基于arm的芯片,性能差别却这么大?

2020-11-13 14:37阅读(59)

为什么高通和苹果A系芯片都是基于arm的芯片,性能差别却这么大?:严格地来说,高通骁龙和苹果A系列芯片采用的是ARM的架构/指令集层级授权,而并非简单地使用了AR

1

严格地来说,高通骁龙和苹果A系列芯片采用的是ARM的架构/指令集层级授权,而并非简单地使用了ARM的IP核心。


这个级别的授权可以对ARM架构进行大幅度改造,甚至可以对ARM指令集进行扩展或缩减,苹果就是一个很好的例子,在使用ARMv7-A架构基础上,扩展出了自己的苹果swift架构。


那既然都是架构/指令集层级授权,为什么高通骁龙和苹果A系列芯片的性能差异那么大?


其实单纯从跑分的角度来看,骁龙的多核性能和A系列芯片不相上下。但苹果采用的了“少核心,多性能”的策略,不计成本地增大核心面积和效率,用来换取功耗和性能。


不仅如此,苹果设计的芯片在流水线效率、通道、带宽和L2/L3上从不吝啬,目的就是为了把单核的性能提高。



这样的设计对于日常应用和游戏来说很占优势,因为这些场景下CPU更多的是单核(或双核)工作。


另外一个让我们觉得A系列芯片性能更好的原因是iOS对于苹果芯片的优化,正是因为苹果不仅有自研芯片的能力,更是在操作系统上形成了闭环,使得iOS配+苹果芯片的体验要超过安卓+高通芯片。


从底层一点的技术上来看,由于安卓采用的Java虚拟机导致了安卓系统对资源的占用要比苹果iOS要多,一直以来就使得安卓手机在体验上没有苹果手机流畅。


不过这两年随着芯片性能和内存容量的不断提高,安卓手机的体验已经越来越接近苹果手机。而骁龙的GPU性能要比A系列芯片更胜一筹,所以两者的差距事实上并没有想象中的那么巨大。


2

题主的问题实际上是一个伪问题。

单从处理器角度而言,高通的高端处理器(8XX系列)和苹果A系列处理器综合比较,性能差不多。

下面是我在网上找的骁龙835和A10的性能评测数据

在单核性能方面苹果占优,主要是因为苹果A10单核面积要比骁龙大,集成的晶体管数量占优。

苹果A10是四核心,骁龙是8核心(最新的苹果A11是六核心)。在多核性能对比中,骁龙占优。实际上,我们应用程序大部分场景下都是单核运行,所以苹果的A10在用户实际体验中还是占优的。

GPU部分骁龙占优。

综合比较而言,骁龙还稍稍有点优势。


但为什么,我们实际体验中,苹果手机比安卓手机要明显流畅呢?这其实和操作系统架构有很大关系。



谷歌的Android系统,是以linux为核心,在此基础上增加了Java虚拟机,所有的应用实际上是在这个虚拟机上运行的。这保证了应用程序的跨平台性。同时使用JAVA语言作为开发语言的程序员是全球数量最多的。谷歌也充分利用了这部分资源,使Android平台迅速聚集了最多开发者为其开发应用。

问题也就出在这个Java虚拟机,了解java虚拟机的朋友们都知道。虚拟机的好处是,程序员在开发程序的过程中,程序员不必关心内存资源回收的问题,虚拟机的内存回收机制会帮你处理这些问题,这样极大的减轻了程序员的开发负担。但缺点也同时存在,那就是虚拟机再运行过程中,占用系统资源很大。

这也就是为什么安卓旗舰手机内存比苹果手机内存大,但运行效果远不如苹果手机的主要原因。

苹果IOS系统是在其私有的UNIX基础上演变过来的,它不存在虚拟机机制,同时ios是一个闭源系统,苹果对其硬件和ios系统做了大量的优化和适配。保证了IOS应用高效的运行。而Android系统是一个开源系统,系统版本碎片化,导致硬件和软件都有很多兼容性问题,最终使得运行效率降低。

所以,典型的以三星为代表,就用堆硬件来解决android的运行效率问题。

长此以往,使人们认为,安卓手机性能不如苹果手机,进而认为高通不如苹果A处理器。


对了,多说一下,苹果IOS系统响应优先级中,屏幕响应为最高级别。这也是人们认为苹果运行快的一个原因。

3

题主说的没错,高通骁龙系列芯片和苹果A系列芯片都是用的ARM的指令集,但由于设计思路的不同,两者的CPU性能有着天壤之别。

我们知道,苹果是第一个用上64位处理器的手机厂商,为了发掘最强大的性能,苹果把自己的CPU做的非常强悍。于是,在当年令人无法想象的A7处理器就诞生了。

A7 Cyclone是一个很宽的架构,每个时钟周期最多可以同时解码、发射、执行、收回6个指令/微操作,作为比较,上一代的A6 Swift则最多不超过3个。另一方面,A7的重排序缓冲达到了惊人的192,是上代的四倍多,同时巧合的是正好与Intel Haswell架构一样。分支预测错误惩罚也增加了,但幅度不大,而且又正好与Intel Sandy Bridge及其后的架构在同样范围内。也就是说,A7的规模几乎已经能和桌面版的core处理器相比较了。

这种情况下,A7展现出了巨大的单核性能提升,高通方面直到骁龙652处理器发布才能够与之相比。

高通骁龙处理器一直以来都是魔改ARM公版架构,公版架构的规模相当小,同主频的时候公版架构性能只有苹果A系列的一半。因此高通处理器的单核性能相对较弱,但较小规模的架构可以堆更多的核心,因此,高通处理器的多核心性能还是不错的。我们能够看到,骁龙845的单核性能依然不如A9,但多核性能已经接近A11了。

4

说起来很讽刺,虽然高通扼着中国绝大多数手机厂商的命门,但是单从利润上来讲,高通却不及苹果...

其实iPhone的利润高出我们的想象。现在的苹果公司,是打算不卖芯片的,他们主要卖手机,要知道,IOS性能吊打安卓可是一个重要的卖点,在高利润的支持下,苹果有能力做高性能高成本大芯片面积大核心芯片,并且还可以很快收回成本。


反观高通,核心技术和商品都是芯片,这种情况下芯片业务收益最大化才是关键。那么同样大的晶圆,怎么能实现做出更多的芯片和更少的废品率呢?那就只能芯片面积尽量小,核心架构尽量接近公版。


当然另一层原因,就是高通现在也是吃“老本”,没有,或者说不需要一个能与苹果比肩的CPU架构研发团队。


这是为什么呢?原因就是经过代代开发, ARM公版完善程度已经非常高了,在这种情况下,除非有相当高的实力,巨量的金钱,才可能砸出一个比公版更好的架构,既然高通已经做到了芯片老大地位,就没必要再砸大钱研究新架构。

反正对于高通来说,在安卓芯片领域,他的地位有目共睹,更何况他还有我们国内这个对他不离不弃的巨大市场做保障呢。


而苹果呢,自家有设计能力,也有从工厂到提供商、工程团队、消费者的完备体系,简单说就是任性,反正不管投入多少,都能收回来,那么,就放手干吧~

5

“极客谈科技”,全新视角、全新思路,伴你遨游神奇的科技世界。

高通和苹果均使用ARM公司的ARM架构,为何性能差距这么大?

  • 并不仅仅只有高通和苹果,即便是华为,同样使用ARM架构;

  • 然而三款处理器的性能从高到底依次为苹果、高通、华为。

让我们一起来看看,为何苹果处理器要远远领先其他厂家呢。


设计能力

ARM公司已经将基础框架搭建完成,如何进一步设计则看各家公司的研发实力。

  • 在芯片研发上,苹果投入了大量的资金,并且逐渐了世界接的芯片研发团队;

  • 执着于芯片能效,不会向性能出现任何的妥协,导致生产出领先同代厂家的处理器芯片。

所有的一切,同苹果高额的利润模式同样密不可分。


大核设计

苹果处理器芯片面积较大,并且没有集成基带芯片,节省了一定空间。

  • 高通845,单个大核面积1.5平方毫米,苹果a11是5平方毫米 ,晶体管数量更多;

  • 自主设计GPU图形处理单元,通过高度的定制化实现性能的提升。


系统原因

一个使用安卓系统,一个使用iOS系统。

  • 高通设计处理器更多考虑的是集成化方案,能够满足不同厂家的性能需求;

  • 苹果设计处理器仅仅从定制化考虑,能够满足自家的iOS系统即可。

设计对象的差异化,导致两款处理器性能也存在差异。

还有那些情况,能够造成苹果处理器要远远优于高通?

欢迎大家留言讨论,喜欢的点点关注。


6

文/小伊评科技


关于SOC架构设计是一个非常深奥的学问,其中包括譬如总线带宽,缓存,晶体管数量,结构等等,这些东西很深奥,就算是小编也只是略懂皮毛,所以本文我们不探讨这些深奥的东西,我们从其他几个方面来说明一下苹果A系列处理器为什么这么厉害,我直接来罗列几个因素,大家一看就知道苹果的A系列处理器为什么强悍了。


01 坚持自研架构

放眼目前的手机市场,能够有能力生产高端移动SOC的一共就只有五个,分别是苹果,高通,华为海思,联发科以及三星。

在这五家企业中,目前只有苹果的A 系列处理器在CPU方面还在坚持使用自家研发的微架构,而其他几家包括高通和三星在内目前基本上都已经放弃了自主研发架构转而采用ARM公版的Cortex架构,譬如骁龙865这一次就用上了CortexA77的核心。

另外笔者还要再说一句,其实在安卓阵营当中,除了三星的猫鼬架构算是名副其实的自研架构之外(表现很差劲,早早就被放弃了),高通的Kryo架构其实就是对Cortex魔改,至于华为和联发科则是一开始就是用的公版的Cortex微架构。

并且在架构执行效率方面,苹果的A系列处理器一直是公认强于ARM的公版架构的,ARM直到最新发布的A78/X1之后才在核心执行效率方面勉强追上了苹果的脚步。

可以这么说,强大的核心架构是保证苹果A系列处理器性能的基石。


02 强悍的人才储备

苹果历来都是一个非常重视研发投入的企业,并且作为当下全球市值最高的科技企业,其拥有强大到富可敌国的现金流,所以在这种资源下,苹果可以肆无忌惮的从其他公司挖掘人才,其中最出名的就是大名鼎鼎的—— Jim Keller,如果比较关注科技资讯的小伙伴应该都知道,这位大神最近又从英特尔离职了。

Jim Keller曾经任职过诸多顶级的半导体公司,譬如英特尔,AMD,苹果等等,他曾经带领团队设计出了大名鼎鼎的K7系列,把AMD从破产边缘拉回来,然后做了K8系列,在消费市场把英特尔打的抬不起头来。而最近被很多PC发烧友津津乐道的AMD Ryzen系列的Zen架构其实也是出自Jim Keller之手,就是这样的灵魂级的人物被苹果挖过来设计了苹果的A4和A5处理器,为苹果A系列芯片夯实了基础。

而且苹果芯片的核心团队还远不止如此,包括著名计算机领域领军人物Yale Patt(计算机系统概论的作者),Tse-Yu Yeh等等,这些无一例外都是芯片设计领域的顶尖选手。

在拥有全世界顶级的人才支持的情况下,苹果A系列处理器拥有强悍的性能余额就不足为奇了。


03 无需内置基带

苹果A系列处理器之所以能够拥有远超其他SOC的强大性能,除了在技术层面有领先之外,还有一个非常重要的原因就是放弃了内置基带,历代的苹果A系列处理器都是采用了外挂基带的形式,既然不需要内置基带,那么在其他条件基本相近的前提下,苹果A系列处理器就可以把更多的资源留给CPU以及GPU,毕竟一款SOC性能的强弱和晶体管数量是成正比的。


苹果之所以无法内置基带,和他在通信领域经验缺失是有一定的关系的,毕竟通信领域的入门门槛是很高的,可不是砸钱就能短时间堆出来的。
而反观其他几家半导体设计企业,旗下的SOC全部都内置了基带芯片,华为甚至还是第一个将5G基带集成在SOC中的企业,这些企业无一例外都是在通信行业有一定沉淀的。

也就是说,苹果A系列处理器的集成度其实是不如高通,华为的,这可能是苹果A系列处理器在性能方面大放异彩的核心原因。


end 希望可以帮到你

7

苹果A系列芯片性能强于高通芯片,一个很重要原因就是苹果A系列芯片没有集成基带,只由CPU和GPU两个部分组成,甚至连WiFi芯片也没有。因此在相同的体积和工艺制程下,苹果A系芯片CPU的面积更大,上面可以集成的晶体管数量也就越多。

而高通本来是通信行业的,和手机处理器比起来,基带芯片才是它最拿手的地方。所以高通芯片一个主要特色就是将基带芯片也集成到了处理器当中。这样做的好处是让基带芯片也和CPU、GPU一样使用最先进的工艺制程,从而减少功耗,降低发热量。但是手机芯片的体积那么小,高通处理器再继承了基带、WiFi等模块之后,留给CPU、GPU的空间就比较小了。因此同一时期的高通芯片在性能上是不如苹果A系芯片的。

但是手机不是游戏机,决定手机使用体验的除了性能之外还有很多方面,其中就包括基带的信号和功耗。高通拥有自己的基带技术,基带与处理器之间的兼容性更好,因此网络信号质量更佳,且功耗比较低,手机发热量小。更重要的是,由于集成了基带,其它手机厂商购买了高通处理器之后,就相当于得到了一套完整的移动平台解决方案,基带、WiFi、蓝牙之类的都包括进去了。

相对的,苹果A系处理器由于没有基带芯片,只能寻求第三方的外挂基带。而使用外挂基带就存在与处理器的兼容性问题,而且功耗比较高,手机发热量大。比如iPhone XS Max使用的英特尔基带就是基于14nm的,而同期高通芯片集成的基带只有7nm,两者的功耗就差了许多。更早的iPhone X由于CPU和基带的功耗都比较高,一玩游戏就发热卡顿。

比较下来,苹果A系处理器的性能好,但是信号质量稍弱一些。而通骁龙处理器的性能不如苹果,但信号质量更好。所以一般对手机性能要求比较高的用户会选择苹果手机,但如果对信号网络质量比较高的用户则会选择高通手机。

8

高通骁龙和苹果A系芯片性能差别大,原因主要是,苹果是购买ARM的指令集授权,自行开发微架构,高通骁龙是购买ARM的IP核授权(省了开发微架构),然后魔改一下(其实往往是增加或减少缓存,优化内存控制器等),性能会比公版内核强一些,也就是一些而已,比不上能独立开发微架构的。

上图是至强处理器(Skylake架构)的架构设计,采用全新的网格(Mesh)互连架构设计,来取代传统的环形(Ring)互连设计方式,以改善CPU存取延迟和支持更高内存带宽需求。图片来源/英特尔



打个简单的比方,同样是做麻辣小龙虾,苹果是自制调料、自购食材、自己烹制。

由于是自制调料,需要什么味道,自己配就是了;也因为是自购食材,想要哪儿的小龙虾,下单就是了。简单说,菜的味道可以自己做主,自由发挥空间最大。

高通是购买现成麻小调味包,小龙虾也由ARM提供,调料和食材没得选(只能接受ARM标准化产品),回家倒锅里一煮,想味道重一点,少加小龙虾,想味道淡一点,多加小龙虾,麻辣的味道,他是没法调制的,发挥的空间没有苹果那么大。

公版内核?相当于买现成全套已经煮熟的小龙虾,放锅里加热后食用,完全没有自由发挥空间。

所以,看一家芯片设计公司能力的大小,能否独立设计微架构是一个重要指标。像桌面CPU领域,英特尔和AMD是能独立设计微架构的,所以桌面CPU领域成为两家的后花园。

但是,凡事有利必有弊,自己设计微架构,对团队的设计能力要求非常高,尤其团队带头人,往往能决定芯片的竞争力。


  1. 刚刚从英特尔辞职的吉姆·凯勒(Jim Keller)(本尊形象见上图),一人就影响了英特尔、AMD、苹果等公司的芯片设计水平:
    1994年,吉姆加入AMD,设计的K8处理器采用新架构,猛捶英特尔;
  2. 2008年,吉姆加入苹果,从此苹果的腰硬了,抛弃三星芯片,开始自研A系列芯片,从A4到A7,一口气上了四楼(开发4代),使A系芯片成为同行中羡慕嫉妒的标杆;
  3. 2012年,吉姆又跑回AMD(不知道是不是同情老东家被英特尔摁在地上猛捶的惨样),提出新的设计:半导体晶体管堆叠方法,即多核集成。这就是AMD2017年推出的Ryzen 锐龙系列,AMD粉丝喊“YES”的时候,别忘了站在Ryzen背后的吉姆。

后来,吉姆又从AMD离开,进了马斯克的特斯拉,干了一阵(在一家公司呆的时间平均不超过3年),又去了英特尔,直到现在离职。


最后总结一下:优秀的设计师带来好的微架构,好的微架构带来性能超猛的芯片。芯片业的规则就是这么简单,而且直白。

9

这个问题其实很多人没有关注arm的相关信息所以很纳闷,arm的授权,一直分为ip核授权和arm指令集授权两种,ip核授权利分为黑箱核和可修改核,黑箱就比如联发科之类的厂商,拿到ip核只利用输入输出连接起来,类似乐高积木,修改核就是你可以拿到这个ip核的内部数据,可以做出你需要的修改,也就是俗称的小改或者魔改,类似高通,华为,三星的处理器,一般都是基于某个通用构架修改。那么arm指令集授权就是另外一回事了,就是我授权允许你兼容我的指令集,方便基于arm指令集的程序能在你的处理器上跑,但是ip核你自己开发,我不管,苹果的a系列处理器和英伟达的danver构架处理器都属于自己开发的处理器,兼容arm指令,这类处理器都有着远超arm公版ip核的性能,以及面积和规格,根据已公开的英伟达danver架构,跟传统的arm核根本就是两个东西,英伟达使用硬件指令翻译器来将arm的指令翻译成他自己danver构架能识别的指令,内部跑的不是arm指令,苹果的a系列处理器类似。所以这就造成了苹果a系列处理器和高通的骁龙处理器同频率下天差地比的性能差距。

10

如果从芯片的角度来说,高通和苹果的产品不完全基于ARM,不过,总体的印象来说,苹果的A系列芯片确实会好过高通。下边先列举几个整体性的原因,后边说一些关于CPU的内容。

1、时间差。

高通的旗舰芯片大多出现在年初,而苹果的产品是在秋天,两款芯片之间是有着半年多的时间差。比如高通骁龙845表现非常不错,结果到了秋天,苹果弄出来一个A12。第二年高通的855出来了,但是产品上市,铺货,七七八八的事情处理完成,855这样的芯片大范围输送到用户手里可能要到年中,然而苹果下一代又要快来了。

一般来说事情有个先后,而年份又是一个非常重要的整体概念和划分依据,即使两方的设计能力相当,并且都意图设计最好的芯片,但这种时间上的差就会造成晚出来的那个会有更好的表现,也更容易使用最新的一些技术。另外,苹果的运营效率不得不佩服,A系列芯片可以瞬间触及用户,技术的传到也会带来技术感知上的时间差。

2、产品挡位。

芯片的表现是一个综合的概念,也要通过产品来实现。由于苹果品牌和价格上的优势,产品属于高端的原因,苹果手机的整体定位倾向于市场上最好的那类,如果产品表现好,也会去部分带动芯片的表现。

其中一个比较重要的环节在价格,依托iPhone高端上比较大的销量,苹果可以在芯片上大量投入,可以把高性能的芯片更好的卖出去。这种更为良性的循环可以推动苹果设计出更好的芯片。安卓这边由于产品挡位铺的比较大,中低端的产品不再少数,其中一些芯片并没有使用那么先进的技术,而国内一些性价比的机型在突出性能的同时,在整体素质方面也会多少有些不足,这些在产品端的不足会对芯片的表现带来不利的影响,甚至可能不能发挥芯片性能的极致。当然,这里说的不光光是跑分,芯片是一个非常综合的东西。

3、不同的平台。

这个方面其实很好理解了,也就是经常提到的优化问题。

乔布斯提到一个类似这样的观点,好的软件公司都要有自己的硬件。软件是我们接触最直接的部分,系统相应,游戏表现等都是软件的图像带来的直接反馈。苹果的A系列芯片是为IOS专门定制,整体表现会占优势。反过来说,IOS就像是一个优化器,可以把A系列的性能更好的展现出来。

手机毕竟是多功能集成的产品,IOS的规则可以更好的实现资源调度。最常见的例子:安卓的后台问题直到现在还是会多多少少拖累整机的表现。


总体上来说,由于时间差,产品定位,不同平台的问题,苹果和高通的芯片在最终表现上确实会有差距。

不过从目前的表现来看,两者之间的差距其实并没那样巨大,一则是芯片技术的发展,另外一个原因在于手机这个品类的成熟。当中档产品已经可以满足大部分需求的时候,高端芯片差距的感知也会变少。

问题中提到了ARM,这里简要说几个关于CPU的部分,也应该是熟知的部分了。

1、指令集

提到ARM,最直接的关联是指令集。ARM定了很多规范,不过苹果和高通如何使用这些规范则是另外一回事儿。而规范的使用和规范的制定存在相互影响,很难说苹果的芯片就是完完全全的按照ARM的规范来,也有可能是苹果和高通在一些地方用的好进而影响规范的制定。总之,ARM作为芯片行业中重要的一员,但并不是说万物就基于ARM。另外,现在手机芯片集成的功能很多,ARM也并不能完全覆盖,比如常说的人工智能芯片,GPU,ISP,网络模块等。

2、架构

苹果和高通的芯片架构差别,比如A12,六核心,两个Vorex核心,四个tempest核心。

高通骁龙855,八核心,一个prime核心,三个performance核心,四个efficiency核心。两者在缓存,内存控制,调度极致方面肯定有很多不同。不过究竟哪个好还是会回到前边的内容,最终的产品和平台如何使用。另外,在宣传策略上也会有差异,苹果经常是丢出一句,非常强,参考对象变成了英特尔。而高通这边,除了和苹果芯片竞争,还要面对华为,三星等芯片的竞争,总体思路上也会有一些变化。

以上还只是CPU这一个部分,整个芯片的架构和最终表现的差异最终会更大。总体来说,把苹果和高通的芯片直接对比很难说的清楚。

最后提下这里对移动芯片的看法。相比性能,多功能集成和进一步小型化封装或许更值得去关注。比如,apple watch的S芯片。另外,芯片是否有好的表现依托于产品,而只有产品有好的销量才可以维持芯片的不断进步。试想,如果没有智能手机的兴起,哪里有ARM的一统江湖。