苹果A7处理器是怎样用双核击败八核的
来源:http://tech.sina.com.cn/mobile/n/apple/2013-09-24/11188764691.shtml随着苹果在iPhone5s上祭出“业界首枚64bit手机处理器”,果粉们似乎找到了新一轮嘲讽Android的武器:Anandtech等权威媒体测试表明,运行频率仅 1.3GHz的双核A7处理器,性能堪比安卓手机中的四核CortexA15处理器。“Android就知道拼硬件,四核八核做出来,还不如我家苹果双核快,丢脸不丢脸?”http://i0.sinaimg.cn/IT/cr/2013/0924/1888588915.jpg 实测:双核秒杀四核/八核
好吧严肃一点,让我们先把得意洋洋的果粉放到一边。事实上A7处理器“以双核战翻四核”这个近乎于神话的结果本来也很有趣,这是否是苹果远远抛开业 界设计水平的佐证呢?要知道在如今的处理器设计中,在同样的功耗前提下即便是差距大如英特尔 vsARM,也几乎不可能做到一个核心对抗对方两个核心,更别说是ARM阵营的内部斗争了。
http://i0.sinaimg.cn/IT/cr/2013/0924/1241599136.jpg
A7处理器兼容下一代ARMv8 64bit指令集,核心架构由苹果自行设计http://i0.sinaimg.cn/IT/cr/2013/0924/2559538484.jpg
跑谷歌Octance Java这种单线程性能需求强劲的代码,iPhone 5s把几乎所有安卓手机都轰成了渣http://i2.sinaimg.cn/IT/cr/2013/0924/4123301351.jpg
运行Sunspider Javascript测试程序时也获得了类似结果,GS4大概只有iPhone 5s一半的性能 诚然,Apple A7是一枚设计优秀64bit的处理器,64bit带来的额外寄存器资源如果优化得当,应用程序可获得近乎翻倍的性能提升,但即使在现有的32位环境中,iPhone 5s表现依然抢眼,苹果是如何做到这点的?
http://i0.sinaimg.cn/IT/cr/2013/0924/3615109569.jpg
应用程序64位化之后,往往会带来一些不可思议的性能提升,图中iPhone 5s运行64位AES加密时性能较32位提升了825% 要解答这个问题,我们必须梳理一个思维盲区:直到现在,唯性能论者的潜意识里,各家厂商的处理器核心都是差不多的,因此超过一倍的性能差距往往会让人觉得不可思议。但问题是:不同处理器的核心架构真的差不多吗?或者我们换个问法:熊的力气超过人类两倍,这有什么奇怪的吗?
谁的功劳?
以拆机闻名的Chipworks日前公布了A7处理器的核心分析图,这个问题总算得到了明确的答案。由于A7采用的是三星28nm HKMG LP工艺,为了更好的对比,我们找来三星自家的Exynos 5410,两枚处理器的核心X射线透视图如下:
http://i1.sinaimg.cn/IT/cr/2013/0924/315105812.jpg 显而易见,苹果A7的CPU虽然是双核设计,但是它消耗掉的芯片面积(或者说晶体管数量)与四核CortexA15几乎相等。考虑到核心数量的设计只是逻辑层面的差异,半导体芯片运算能力的本质来源依然还是晶体管数,这也就意味着,苹果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是一个对于后台任务限制很严格的系统,同时也是一个高度私有化、高度优化的封闭体系,在这样的体系里苹果认为单线程性能更加重要一些,因此作出了这样的选择。
http://i2.sinaimg.cn/IT/cr/2013/0924/3647326228.jpg 而Android是一个允许后台程序随意执行和切换的开放系统,在这样的系统下对于并行度的需求要明显高过IOS,所以Android走上了多核心 之路,而IOS坚持大核心战略。这样不同的需求决定了不同的设计风格,自然也导致了在不同的测试条件下拥有不一样的表现,而这一切本质上都是正常的:在相 同的半导体工艺环境下,没有任何人用更少的代价实现了更多的性能,这一切只是取舍。
http://i3.sinaimg.cn/IT/cr/2013/0924/4097331890.jpg 那么,谁的设计更先进,或者说代表了谁的思路更正确?要回答这个问题,你可以假想自己是一个建筑设计师。你手头有100吨混凝土,你是用它去造两间80平米的大客厅,还是用它去造10个20平米的小居室?答案当然是“取决于要求”。
如果是土豪拿来当家庭影院,显然你要把房间造得大一点;如果你要将房子出租给大学生,房间自然是小一些、多一些为妙。嗯,现在我是甲方,我命令你在这两个设计中选择一个更“高级”,更“先进”,或者更“正确”的进行设计,你的答案是啥?
=================================================
感觉后面一些东西说得挺在理的?
这不是昨天爱活的那篇文章么....
嘛,反正够用就行,跑分只是一小部分人喜欢玩然后玲一小部分人挂在嘴边而已.
性能太高烧水也快反而还得大电池....你看5S也就1500.... ios开发者继续享用免费的午餐
但android开发者已经开始并行了
另外所谓的android8核其实也不准确吧
8核能同时运行?
高性能4核还低功耗4核切换来的吧? 规模相当 一个八核一个双核 大家都跑单线程 你说谁更快 str007 发表于 2013-9-25 00:36
这东西的意思就是,A7就适合用在ios上,其它的什么四核八核适合用在安卓上 ...
难道不是高通你个大傻逼这样么?
8核要等年底三棒给5系擦了神油才行,现在只是4或4
mtk的8核a7估计性能比四核a9好些吧……
----发送自 asus Nexus 7,Android 4.3 最后那几段纯粹的民科 论E3-1230和I5的区别 ov_efly 发表于 2013-9-25 00:08
ios开发者继续享用免费的午餐
但android开发者已经开始并行了
另外所谓的android8核其实也不准确吧
就算是真8核,有几个程序员有功底驾驭的?还不说中间隔了层JVM。
鸡蛋灌饼 发表于 2013-9-25 01:59
就算是真8核,有几个程序员有功底驾驭的?还不说中间隔了层JVM。
我等android加入新语言支持
迟早的
斑驳的阴影 发表于 2013-9-25 00:52
8核要等年底三棒给5系擦了神油才行,现在只是4或4
mtk的8核a7估计性能比四核a9好些吧……
单核A7不如A9,IIRC 鸡蛋灌饼 发表于 2013-9-25 01:59
就算是真8核,有几个程序员有功底驾驭的?还不说中间隔了层JVM。
多线程不仅仅是应用程序的问题,它也是系统的问题.8个傻逼程序员写了8个单线程程序,只要系统调度好了照样跑的欢 鸡蛋灌饼 发表于 2013-9-25 01:59
就算是真8核,有几个程序员有功底驾驭的?还不说中间隔了层JVM。
頂吃性能的App有幾個是用純Java寫的?(android) 不懂开发问一嘴,按照最后一段的比喻的话安卓的app应该是每个都消耗比较少,所以需要的房子空间小;IOS每个app消耗都比较大,所以需要的空间大
实际是这种情况么? 棒子的8核就是个商业炒作,实际是4+4
普通人哪管你什么跑分,听到个8核估计就高潮了 luffyzhou 发表于 2013-9-25 09:58
不懂开发问一嘴,按照最后一段的比喻的话安卓的app应该是每个都消耗比较少,所以需要的房子空间小;IOS每个 ...
完全不是这样的... jun4rui 发表于 2013-9-25 10:05
现代OS,其实你光开机什么都不做,后台都跑着一大堆的进程的,你还嫌多核没办法用?
另外java无法利用多核 ...
你当每个进程都是跑分的消耗啊 最后一段给人的印象就是,安卓后台太多,所以分给多个核心自行处理,苹果后台干净,一个负责面子一个负责里子就好
真的是这样的吗 jun4rui 发表于 2013-9-25 10:25
可以这么理解:
Android是AMD,苹果是Intel。I5秒AMD全家
感觉这样理解不够全面
因为AMD和英特尔都是跑的同样系统啊 现在台机的环境不也一样,不是所有高开销程序都能合理并行化,8核性能也就少部分程序能用尽,当然这要是还比不过核心少的CPU那就真没话可说了:lol samaleg 发表于 2013-9-25 10:30
你举的例子那是软件没针对64优化,换32当然没影响
64优化后会成啥样?跑分翻倍么 A7这设计思路如果真是这样的话,其实我是比较喜欢的,单核性能猛增,即便核心少几个也无所谓的,可惜android的任务管理实在是不忍直视 现在吹嘘64bit是恶心,等ARM都上了64bit以后不要忘了再恶心一般;P 我关心的是这64和pc上的32》64是不是一回事 单核性能以前,现在,以及将来相当的一段时间都是最重要的
目前猴机堆核心本质上是单核优化乏力,商家需要卖点而已...
除了跑分好看,日常又用不到
能用到地方也会因为过高的温度缩肛,呵呵 jun4rui 发表于 2013-9-25 10:40
64bit在PC上普及了这么多年,普遍来看依然没有明显优于32bit。当然,一些专业程序,例如大量计算之类的软 ...
别丢人了,CPU-bond的程序普遍性能提升20%到30%
Apache性能能提升十倍
你就玩玩扫雷那不需要什么64位,386就可以 不要叫水狗做主人 发表于 2013-9-25 05:45
多线程不仅仅是应用程序的问题,它也是系统的问题.8个傻逼程序员写了8个单线程程序,只要系统调度好了照样 ...
嘿嘿,8个核心一起飞
觉得手机电池容量足够大是吧 luffyzhou 发表于 2013-9-25 09:58
不懂开发问一嘴,按照最后一段的比喻的话安卓的app应该是每个都消耗比较少,所以需要的房子空间小;IOS每个 ...
那意思不是消耗少,是安卓的后台线程比较多
页:
[1]
2