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

随着苹果在iPhone 5s上祭出“业界首枚64bit手机处理器”,果粉们彷佛找到了新一轮嘲讽Android的武器:Anandtech等权威媒体测试代表,运行频率仅 1.3GHz的双核A7处理器,性能堪比安卓手机中的四核Cortex A15处理器。“Android就知道拼硬件,四核八核作出来,还不如我家苹果双核快,丢脸不丢脸?” 多线程

【新技研】苹果A7处理器是怎样用双核击败八核的

实测:双核秒杀四核/八核 架构

好吧严肃一点,让咱们先把得意洋洋的果粉放到一边。事实上A7处理器“以双核战翻四核”这个近乎于神话的结果原本也颇有趣,这是不是苹果远远抛开业 界设计水平的佐证呢?要知道在现在的处理器设计中,在一样的功耗前提下即使是差距大如英特尔 vs ARM,也几乎不可能作到一个核心对抗对方两个核心,更别说是ARM阵营的内部斗争了。 ide

【新技研】苹果A7处理器是怎样用双核击败八核的
A7处理器兼容下一代ARMv8 64bit指令集,核心架构由苹果自行设计 性能

【新技研】苹果A7处理器是怎样用双核击败八核的
跑谷歌Octance Java这种单线程性能需求强劲的代码,iPhone 5s把几乎全部安卓手机都轰成了渣 测试

【新技研】苹果A7处理器是怎样用双核击败八核的
运行Sunspider Javascript测试程序时也得到了相似结果,GS4大概只有iPhone 5s一半的性能 优化

诚然,Apple A7是一枚设计优秀64bit的处理器,64bit带来的额外寄存器资源若是优化得当,应用程序可得到近乎翻倍的性能提高,但即便在现有的32位环境中,iPhone 5s表现依然抢眼,苹果是如何作到这点的? 加密

【新技研】苹果A7处理器是怎样用双核击败八核的
应用程序64位化以后,每每会带来一些难以想象的性能提高,图中iPhone 5s运行64位AES加密时性能较32位提高了825% spa

要解答这个问题,咱们必须梳理一个思惟盲区:直到如今,惟性能论者的潜意识里,各家厂商的处理器核心都是差很少的,所以超过一倍的性能差距每每会让人以为难以想象。但问题是:不一样处理器的核心架构真的差很少吗?或者咱们换个问法:熊的力气超过人类两倍,这有什么奇怪的吗? 线程

谁的功劳? 设计

以拆机闻名的Chipworks日前公布了A7处理器的核心分析图,这个问题总算获得了明确的答案。因为A7采用的是三星28nm HKMG LP工艺,为了更好的对比,咱们找来三星自家的Exynos 5410,两枚处理器的核心X射线透视图以下:

【新技研】苹果A7处理器是怎样用双核击败八核的

显而易见,苹果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是一个对于后台任务限制很严格的系统,同时也是一个高度私有化、高度优化的封闭体系,在这样的体系里苹果认为单线程性能更加剧要一些,所以做出了这样的选择。

【新技研】苹果A7处理器是怎样用双核击败八核的

而Android是一个容许后台程序随意执行和切换的开放系统,在这样的系统下对于并行度的需求要明显高过IOS,因此Android走上了多核心 之路,而IOS坚持大核心战略。这样不一样的需求决定了不一样的设计风格,天然也致使了在不一样的测试条件下拥有不同的表现,而这一切本质上都是正常的:在相 同的半导体工艺环境下,没有任何人用更少的代价实现了更多的性能,这一切只是取舍

【新技研】苹果A7处理器是怎样用双核击败八核的

那么,谁的设计更先进,或者说表明了谁的思路更正确?要回答这个问题,你能够假想本身是一个建筑设计师。你手头有100吨混凝土,你是用它去造两间80平米的大客厅,仍是用它去造10个20平米的小居室?答案固然是“取决于要求”。

若是是土豪拿来当家庭影院,显然你要把房间造得大一点;若是你要将房子出租给大学生,房间天然是小一些、多一些为妙。嗯,如今我是甲方,我命令你在这两个设计中选择一个更“高级”,更“先进”,或者更“正确”的进行设计,你的答案是啥?