随着历年智能手机的推出,基于高通CPU的手机在性能和价格方面始终和苹果有所差距,那有小伙伴就想问了,为什么同为基于Arm的芯片,高通的骁龙处理器却和苹果的A系列有所差距呢?今天EDN就围绕这个话题跟大家讨论讨论。
有报道指出,高通和苹果的差距从第一批64位处理器就开始了。
大家知道,Arm在2012年10月首次公布64位处理器内核Cortex-A57。但是,高通则是在2014年发布自己的第一批64位处理器骁龙810和骁龙808。而苹果2013年推出的iPhone 5s手机,其A7处理器就已用上64位Arm内核了。2014年时苹果又发布了第二代64位处理器A8,并将其用在iPhone 6上。从此,苹果和高通就产生了差距。
由于2013年苹果就推出了第一批64位手机CPU,高通紧随其后在2014年祭出自己的首款高端64位CPU骁龙810。但是由于当时技术不是太成熟,骁龙810刚投发市场就出现很多问题。比如,由于骁龙810发热严重,温度一高就锁核,性能大打折扣…
为了追赶苹果,高通再次发力,2015年高通把810的8核砍掉4个核换上自主架构Kryo,于是820诞生了!不过还是还是和苹果的A9有差距。这可怎么办呢?高通又在2016年推出820的"小改款",那就是高通821,但此时苹果又推出了A10。然后在2018年,高通835处理器隆重登场,其综合性能和苹果A10打成平手。可是苹果又推出了仿生处理器A11…
有网友解释说,苹果和高通的CPU设计策略不同,就好比有两个人都想要盖房子。A买了一块空地,而Q买了一幢老房子。
A从头开始建造的房子看上去很普通。Q把老房子装修后得到的房子看上去高大上,但是内部结构仍然是那个老房子。
A制造的房子是按需设计,因此总体上得到了更好的设计、更好的通风、更多的阳光,还有独立的车库。Q受限于老房子的基本结构,而不得不在某些装修上做出让步。
这样来看问题就比较明朗了:
苹果是购买Arm指令集架构(ISA)的授权(空地)而设计SoC,指令集是设计芯片的最低要求。而高通则是购买Arm内核(房子)的授权,这上面已经包含了指令集并进行了一定修改。这样虽然更加有效,但是也让修改的空间变得有限——如果从一开始就自己来干,那就不会有这个问题。
苹果芯片的内核具有更多缓存,并且其内核本身是每年定制的。苹果采用的是2+4 big.LITTLE设计,而不是高通的1+3+4方法,这样能够实现更低功耗。A系列中的两个大核能够实现更高性能,而其余的四个小核由于是定制而不是通用解决方案,因此能够实现更高能效。与此相比,通用解决方案需要适配多个品牌的多款手机,其RAM、摄像头类型、屏幕分辨率和刷新率等等不一。
此外,苹果公司的一些芯片工程师来自世界各地,非常优秀,比如有些就曾在英特尔、IBM等公司工作过。苹果这些年在台积电等芯片代工厂方面也一直在大力投入,这也使得其先进工艺芯片的代工能够获得优先安排。
这里再对缓存这一影响处理器性能的重要因素具体展开下:
在Cortex-A75之前,Arm的Cortex处理器都没有支持L3缓存。但苹果自从A7以来,一直在使用L3缓存。Apple A7和A8拥有1 MB L2高速缓存和4 MB L3高速缓存。A9和A10具有3 MB L2缓存和4 MB L3缓存。Intel i5处理器的缓存也不过如此,A11更是把二级缓存提升到8MB。
虽然Cortex-A75支持L3缓存,最多4 MB L2和4 MB L3缓存,但是这些都是由高通的芯片制造商决定是否使用的。
也有网友522008认为:单从处理器角度而言,高通的高端处理器(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系统响应优先级中,屏幕响应为最高级别。这也是人们认为苹果运行快的一个原因。
综上,小编认为,高通骁龙CPU与苹果A系列存在差距的原因,可以归纳为以下几点:
1. 苹果有经济能力可以制造更贵的SoC,而可以从iPhone的最终售价中收回这笔钱。而Arm和高通却不能。
2. 苹果CPU具有很大的缓存。芯片要花钱,而对于某些芯片制造商来说,哪怕节省0.5mm2芯片面积,最终都决定了盈亏。因此,就芯片成本而言,苹果可以制造更大的芯片,其中就包含大容量缓存。
3. 高通必须提高芯片的性价比,其他公司才会有兴趣购买,因此,高通制造昂贵的芯片组行不通。
除非有以下情况发生,否则我们不太可能看到高通、三星或华为的SoC能够胜过苹果:
- 苹果生产出一款SoC败笔,这也意味着它将失去与其他OEM的竞争优势;
- 有领先的芯片制造商不惜成本,决定设计一款大面积、大缓存的CPU。