找回密码
 注册
搜索
查看: 677|回复: 1

苹果A7处理器较高通等产品的优势明显

[复制链接]
发表于 2013-9-16 09:14:48 | 显示全部楼层 |阅读模式
近日,有传闻称iPhone 5S会带有双核 64位处理器A7,大约比iPhone 5快出31%,因此,当下人们都非常关心5S或者A7的性能数据,这时回顾一下苹果的软/硬件和SoC研发策略你会发现很有意思。



苹果在芯片研发上的最大优势(很可能没有之一)就是能将A7/A8的设计与自家的app/服务架构强力对接,而不需要做任何普适性的妥协。

所谓普适性的妥协,看看高通就知道了——高通的一款芯片是为数以百计甚至千计的Android机型设计的,但A7只会用在iPhone,iPad,再有就是iPod和iTV。高通芯片需要兼顾众多潜在客户的配置,所以必然遵循80/20的市场原则,苹果可以在芯片上砍掉所有它不想要的配置,然后再加上自己特制的单元——比如DSP或者是针对iOS的图形处理单元。



苹果在A7上会保持双核还是增加到四核呢?来看看这背后的动因。

当下推动多核架构的内因有三个:降低能耗,提升性能以及增加内存带宽。但移动平台的性能衡量最注重的还是一点——单位能耗下的性能输出。

打个比方,多核处理器的驾驭有点像厨子用4个小火的炉灶代替原先的大锅。各个炉灶都单独烹饪,厨子可以更好地调理食材和火候——比如你可以关掉其中的一两个炉灶(降低能耗),或者将食材在不同火候的炉上移动(根据任务属性丢给不同的处理单元)。

但这么做的代价就是软件复杂性。放回到上面的case就是你需要一个足够智慧的厨子。芯片不仅要协调不同核心间的通信,还要决策和编译哪一部分的代码在哪一个单元上处理。标准化的软件设计工艺难以应付这样的外在限制。事实上,当下计算设计领域最大的难题之一就是软件并行。

这样的设计难度最后落在了围绕app设计、测试、优化和API设计的软件架构堆栈上。在操作系统之上,你的设计需要将驱动和应用紧密结合。由于从多核中榨取“免费”性能首要解决的是软件复杂性,这时在堆栈上拥有最高整合度的公司就体现出优势。

比如Facebook的iOS app,他们采用一个主线程带动UI以及处理触屏事件,另外一个线程在后台计算“重劳力”的任务。后台的线程处理类似网络活动和JSON解析这样的工作,但丝毫不会拖累主UI线程的响应。

所以不同的线程会交由不同的核心处理,在类似Android的模块化平台上代码本身当然不会自动地利用芯片的架构设计。对开发者来说,编译器和API与底层操作系统和芯片/驱动堆栈的整合度越高,那么他们想要进行性能优化就越容易。可想而知,app开发者们希望有一个苹果这样的平台。



我们都知道苹果并非是互联网中服务做得最好的一个,Google、Spotify、Dropbox等都各有特色。但就OS层的软/硬件设计,苹果绝对是最强的。

不管怎样,再有两周时间,iPhone 5S和A7都会揭晓。无论它会是双核/多核,还是32位/64位,苹果必然会将它和自家的服务高度整合。
 楼主| 发表于 2013-9-16 09:15:16 | 显示全部楼层
苹果最大的一个优势就是自主研发的策略,它从来不会去使用或者购买其他的标准应用处理器,相反却更加专注于应用 / 服务结构的设计,不会为了兼容其他处理器而折衷。我们可以拿高通的骁龙处理器做对比。数以千计的 Android 设备都使用骁龙处理器,所以它会在兼容性上考虑很多,而使用苹果 A7 处理器的设备,最多也就是 iPhone、iPad、iPod 和 iTV,这样苹果就可以去掉更多平台兼容方面的累赘考虑,从而兼顾更多的功能,比如 DSP(数字信号处理器)或者图像性能等 iOS 擅长的方面。

那 A7 是 2 核还是 4 核呢?

现在多核的结构一般有三个主要的决定因素:省电,性能和系统 / 内存带宽,但对于手机平台来说,效能功耗
比(performance per Watt)才是重点。形象点说,多核处理器就像是用 4 个不同的锅在 4 个不同的灶台上做饭,相比只使用一个大锅,4 个小锅可以让厨师更方便地准备配料,厨师也可以关闭其中几个灶台来省燃气。

软件就是权衡点。A7 芯片不仅要管理好各核之间的交流,并且要决定哪些代码在哪个核上进行编译和运行。这个过程会根据软件内部的复杂程度不同而变化。标准的软件设计都没有很好 地解决这个内部问题,事实上,大家都知道软件的并行性(software parallelism)一直是现在计算设计领域一个最大的挑战。

这些存在于软件栈结构的挑战,也一直在影响着 app 的设计、测试、优化和 API 设计。在操作系统层上开发者必须考虑如何有效地结合驱动器和应用程序,如何在多核的结构里合理地分配空闲堆栈,这些才是赢得效能功耗比之战的关键。

比如 Facebook 的 iOS app,它使用一个主要的线程来驱动 UI 和管理复杂事件,而使用另一个线程在后台管理计算复杂的任务,比如网络活动和 JSON 语法解析,但都不会影响到 UI 驱动线程的速度。

所以可以说不同的核管理不同的线程,而代码不会自己根据处理器芯片的设计自动编译。在操作系统和芯片 / 驱动器堆栈结构方面,越好的编译器和 API 设计,越能让开发者优化出更高的效能功耗比。Facebook 想要开发更高效的代码,所以他们非常需要一个象具有 A7 芯片性能的手机平台。

虽然我们也知道苹果在服务提供上并不是最好的,并且它服务市场的份额正在被 Google、Spotify、Dropbox 等蚕食,但在操作系统层面的硬件 / 软件设计上,苹果绝对是第一。所以不管是双核还是 4 核,32 位还是 64 位,对于 iPhone 5S 和 A7 芯片,我们可以肯定的一点是苹果都有它的道理,开发者就是喜欢使用苹果的工具,这些优势,相比于 Anroid 服务层(service-layer)的问题,还是会让苹果在下一代手机平台的性能上处于领先地位。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-1-31 13:58 , Processed in 0.046862 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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