本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑
本文作者为科技撰稿人Steve Cheney。本文试图从处理器的效能功耗比方面分析软件和硬件的决定因素,对于A7芯片是否将改变手机软件的性能,我们拭目以待。 今天有传闻说下个月即将发布的 iPhone 5S 将采用苹果自主开发的 A7 处理器,双核,64 位,运行速度会比 iPhone 5 快 31%。当人们不断 YY 下一代 iPhone 的时候,让我们来看看苹果的软件硬件的生态圈和系统芯片的发展。 苹果最大的一个优势就是自主研发的策略,它从来不会去使用或者购买其他的标准应用处理器,相反却更加专注于应用 / 服务结构的设计,不会为了兼容其他处理器而折衷。我们可以拿高通的骁龙处理器做对比。数以千计的 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)的问题,还是会让苹果在下一代手机平台的性能上处于领先地位。
|