找回密码
 立即注册
搜索
查看: 6474|回复: 65

[移动] 苹果A7处理器是怎样用双核击败八核的

[复制链接]
     
发表于 2013-9-24 23:53 | 显示全部楼层 |阅读模式
来源:http://tech.sina.com.cn/mobile/n ... 4/11188764691.shtml

随着苹果在iPhone  5s上祭出“业界首枚64bit手机处理器”,果粉们似乎找到了新一轮嘲讽Android的武器:Anandtech等权威媒体测试表明,运行频率仅 1.3GHz的双核A7处理器,性能堪比安卓手机中的四核Cortex  A15处理器。“Android就知道拼硬件,四核八核做出来,还不如我家苹果双核快,丢脸不丢脸?”
  实测:双核秒杀四核/八核
  好吧严肃一点,让我们先把得意洋洋的果粉放到一边。事实上A7处理器“以双核战翻四核”这个近乎于神话的结果本来也很有趣,这是否是苹果远远抛开业 界设计水平的佐证呢?要知道在如今的处理器设计中,在同样的功耗前提下即便是差距大如英特尔 vs  ARM,也几乎不可能做到一个核心对抗对方两个核心,更别说是ARM阵营的内部斗争了。

A7处理器兼容下一代ARMv8 64bit指令集,核心架构由苹果自行设计

跑谷歌Octance Java这种单线程性能需求强劲的代码,iPhone 5s把几乎所有安卓手机都轰成了渣

运行Sunspider Javascript测试程序时也获得了类似结果,GS4大概只有iPhone 5s一半的性能
  诚然,Apple A7是一枚设计优秀64bit的处理器,64bit带来的额外寄存器资源如果优化得当,应用程序可获得近乎翻倍的性能提升,但即使在现有的32位环境中,iPhone 5s表现依然抢眼,苹果是如何做到这点的?

应用程序64位化之后,往往会带来一些不可思议的性能提升,图中iPhone 5s运行64位AES加密时性能较32位提升了825%
  要解答这个问题,我们必须梳理一个思维盲区:直到现在,唯性能论者的潜意识里,各家厂商的处理器核心都是差不多的,因此超过一倍的性能差距往往会让人觉得不可思议。但问题是:不同处理器的核心架构真的差不多吗?或者我们换个问法:熊的力气超过人类两倍,这有什么奇怪的吗?
  谁的功劳?
  以拆机闻名的Chipworks日前公布了A7处理器的核心分析图,这个问题总算得到了明确的答案。由于A7采用的是三星28nm HKMG LP工艺,为了更好的对比,我们找来三星自家的Exynos 5410,两枚处理器的核心X射线透视图如下:
  显而易见,苹果A7的CPU虽然是双核设计,但是它消耗掉的芯片面积(或者说晶体管数量)与四核Cortex  A15几乎相等。考虑到核心数量的设计只是逻辑层面的差异,半导体芯片运算能力的本质来源依然还是晶体管数,这也就意味着,苹果A7最终表现出与四核心 Cortex A15等同的性能是应该的,而不是不可思议的。
  苹果A7处理器单个核心的面积就接近两个标准的ARM Cortex A15处理核心,因此A7的单线程性能比Cortex A15强完全正常。同时,由于逻辑核心只有两个,A7的多线程性能比四个Cortex A15弱也是情理之中。
  总体来看,Apple A7的设计对于晶体管的利用率反而低于Cortex A15,综合单线程和多线程的性能,A7在使用了相同晶体管的前提下并没有实现同等的性能,当然这也是正常的,大而少的设计本身就存在难以避免的浪费。
  设计思路的差异
  实际上,苹果A7处理器选择的是消耗Cortex A15两倍的资源,去实现一个单线程好于Cortex A15 50%-70%的设计。这样的选择是基于IOS系统的需要——iOS是一个对于后台任务限制很严格的系统,同时也是一个高度私有化、高度优化的封闭体系,在这样的体系里苹果认为单线程性能更加重要一些,因此作出了这样的选择。
  而Android是一个允许后台程序随意执行和切换的开放系统,在这样的系统下对于并行度的需求要明显高过IOS,所以Android走上了多核心 之路,而IOS坚持大核心战略。这样不同的需求决定了不同的设计风格,自然也导致了在不同的测试条件下拥有不一样的表现,而这一切本质上都是正常的:在相 同的半导体工艺环境下,没有任何人用更少的代价实现了更多的性能,这一切只是取舍。
  那么,谁的设计更先进,或者说代表了谁的思路更正确?要回答这个问题,你可以假想自己是一个建筑设计师。你手头有100吨混凝土,你是用它去造两间80平米的大客厅,还是用它去造10个20平米的小居室?答案当然是“取决于要求”。
  如果是土豪拿来当家庭影院,显然你要把房间造得大一点;如果你要将房子出租给大学生,房间自然是小一些、多一些为妙。嗯,现在我是甲方,我命令你在这两个设计中选择一个更“高级”,更“先进”,或者更“正确”的进行设计,你的答案是啥?

=================================================

感觉后面一些东西说得挺在理的?



回复

使用道具 举报

     
发表于 2013-9-25 00:04 | 显示全部楼层
这不是昨天爱活的那篇文章么....

嘛,反正够用就行,跑分只是一小部分人喜欢玩然后玲一小部分人挂在嘴边而已.

性能太高烧水也快反而还得大电池....你看5S也就1500....
回复

使用道具 举报

发表于 2013-9-25 00:08 | 显示全部楼层
ios开发者继续享用免费的午餐
但android开发者已经开始并行了
另外所谓的android8核其实也不准确吧
8核能同时运行?
高性能4核还低功耗4核切换来的吧?
回复

使用道具 举报

     
发表于 2013-9-25 00:08 | 显示全部楼层
规模相当 一个八核一个双核 大家都跑单线程 你说谁更快
回复

使用道具 举报

头像被屏蔽
     
发表于 2013-9-25 00:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2013-9-25 00:48 | 显示全部楼层
str007 发表于 2013-9-25 00:36
这东西的意思就是,A7就适合用在ios上,其它的什么四核八核适合用在安卓上 ...

难道不是高通你个大傻逼这样么?
回复

使用道具 举报

     
发表于 2013-9-25 00:52 来自手机 | 显示全部楼层
8核要等年底三棒给5系擦了神油才行,现在只是4或4
mtk的8核a7估计性能比四核a9好些吧……

----发送自 asus Nexus 7,Android 4.3来自: Android客户端
回复

使用道具 举报

发表于 2013-9-25 01:15 来自手机 | 显示全部楼层
最后那几段纯粹的民科
回复

使用道具 举报

     
发表于 2013-9-25 01:27 | 显示全部楼层
论E3-1230和I5的区别
回复

使用道具 举报

发表于 2013-9-25 01:59 | 显示全部楼层
ov_efly 发表于 2013-9-25 00:08
ios开发者继续享用免费的午餐
但android开发者已经开始并行了
另外所谓的android8核其实也不准确吧

就算是真8核,有几个程序员有功底驾驭的?还不说中间隔了层JVM。
回复

使用道具 举报

发表于 2013-9-25 02:41 | 显示全部楼层
鸡蛋灌饼 发表于 2013-9-25 01:59
就算是真8核,有几个程序员有功底驾驭的?还不说中间隔了层JVM。

我等android加入新语言支持
迟早的
回复

使用道具 举报

     
发表于 2013-9-25 05:43 | 显示全部楼层
斑驳的阴影 发表于 2013-9-25 00:52
8核要等年底三棒给5系擦了神油才行,现在只是4或4
mtk的8核a7估计性能比四核a9好些吧……

单核A7不如A9,IIRC
回复

使用道具 举报

     
发表于 2013-9-25 05:45 | 显示全部楼层
鸡蛋灌饼 发表于 2013-9-25 01:59
就算是真8核,有几个程序员有功底驾驭的?还不说中间隔了层JVM。

多线程不仅仅是应用程序的问题,它也是系统的问题.8个傻逼程序员写了8个单线程程序,只要系统调度好了照样跑的欢
回复

使用道具 举报

     
发表于 2013-9-25 07:08 | 显示全部楼层
鸡蛋灌饼 发表于 2013-9-25 01:59
就算是真8核,有几个程序员有功底驾驭的?还不说中间隔了层JVM。

頂吃性能的App有幾個是用純Java寫的?(android)
回复

使用道具 举报

     
发表于 2013-9-25 09:25 | 显示全部楼层
5410这种4+4架构所谓上神油成真八核是个什么意思啊?4核A15都搞不定的时候加开四核A7辅助?两种频率、cache、性能都差别这么大的核心一起玩,调度玩不玩得转另说,这有必要吗?
回复

使用道具 举报

     
发表于 2013-9-25 09:58 | 显示全部楼层
不懂开发问一嘴,按照最后一段的比喻的话安卓的app应该是每个都消耗比较少,所以需要的房子空间小;IOS每个app消耗都比较大,所以需要的空间大
实际是这种情况么?
回复

使用道具 举报

头像被屏蔽
发表于 2013-9-25 10:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2013-9-25 10:05 | 显示全部楼层
棒子的8核就是个商业炒作,实际是4+4
普通人哪管你什么跑分,听到个8核估计就高潮了
回复

使用道具 举报

发表于 2013-9-25 10:06 | 显示全部楼层
luffyzhou 发表于 2013-9-25 09:58
不懂开发问一嘴,按照最后一段的比喻的话安卓的app应该是每个都消耗比较少,所以需要的房子空间小;IOS每个 ...

完全不是这样的...
回复

使用道具 举报

     
发表于 2013-9-25 10:10 | 显示全部楼层
jun4rui 发表于 2013-9-25 10:05
现代OS,其实你光开机什么都不做,后台都跑着一大堆的进程的,你还嫌多核没办法用?

另外java无法利用多核 ...

你当每个进程都是跑分的消耗啊
回复

使用道具 举报

头像被屏蔽
发表于 2013-9-25 10:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
发表于 2013-9-25 10:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2013-9-25 10:22 | 显示全部楼层
最后一段给人的印象就是,安卓后台太多,所以分给多个核心自行处理,苹果后台干净,一个负责面子一个负责里子就好
真的是这样的吗
回复

使用道具 举报

头像被屏蔽
发表于 2013-9-25 10:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2013-9-25 10:30 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2013-9-25 10:31 | 显示全部楼层
jun4rui 发表于 2013-9-25 10:25
可以这么理解:

Android是AMD,苹果是Intel。I5秒AMD全家

感觉这样理解不够全面
因为AMD和英特尔都是跑的同样系统啊
回复

使用道具 举报

头像被屏蔽
发表于 2013-9-25 10:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2013-9-25 10:42 | 显示全部楼层
现在台机的环境不也一样,不是所有高开销程序都能合理并行化,8核性能也就少部分程序能用尽,当然这要是还比不过核心少的CPU那就真没话可说了:lol
回复

使用道具 举报

头像被屏蔽
     
发表于 2013-9-25 10:48 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2013-9-25 10:50 | 显示全部楼层
samaleg 发表于 2013-9-25 10:30
你举的例子那是软件没针对64优化,换32当然没影响

64优化后会成啥样?跑分翻倍么
回复

使用道具 举报

     
发表于 2013-9-25 10:51 | 显示全部楼层
A7这设计思路如果真是这样的话,其实我是比较喜欢的,单核性能猛增,即便核心少几个也无所谓的,可惜android的任务管理实在是不忍直视
回复

使用道具 举报

头像被屏蔽
发表于 2013-9-25 10:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2013-9-25 11:02 | 显示全部楼层
现在吹嘘64bit是恶心,等ARM都上了64bit以后不要忘了再恶心一般;P
回复

使用道具 举报

头像被屏蔽
发表于 2013-9-25 11:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2013-9-25 11:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2013-9-25 11:17 | 显示全部楼层
我关心的是这64和pc上的32》64是不是一回事
回复

使用道具 举报

发表于 2013-9-25 11:54 | 显示全部楼层
单核性能以前,现在,以及将来相当的一段时间都是最重要的
目前猴机堆核心本质上是单核优化乏力,商家需要卖点而已...
除了跑分好看,日常又用不到
能用到地方也会因为过高的温度缩肛,呵呵
回复

使用道具 举报

发表于 2013-9-25 12:12 | 显示全部楼层
jun4rui 发表于 2013-9-25 10:40
64bit在PC上普及了这么多年,普遍来看依然没有明显优于32bit。当然,一些专业程序,例如大量计算之类的软 ...

别丢人了,CPU-bond的程序普遍性能提升20%到30%
Apache性能能提升十倍

你就玩玩扫雷那不需要什么64位,386就可以
回复

使用道具 举报

发表于 2013-9-25 12:14 | 显示全部楼层
不要叫水狗做主人 发表于 2013-9-25 05:45
多线程不仅仅是应用程序的问题,它也是系统的问题.8个傻逼程序员写了8个单线程程序,只要系统调度好了照样 ...

嘿嘿,8个核心一起飞
觉得手机电池容量足够大是吧
回复

使用道具 举报

     
发表于 2013-9-25 12:34 | 显示全部楼层
luffyzhou 发表于 2013-9-25 09:58
不懂开发问一嘴,按照最后一段的比喻的话安卓的app应该是每个都消耗比较少,所以需要的房子空间小;IOS每个 ...

那意思不是消耗少,是安卓的后台线程比较多
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-9-10 07:19 , Processed in 0.240925 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表