- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
从专业角度分析 64位A7芯片的优势和缺点
想用升级 iPhone 5s 的用户可能都是看中 64 位的 A7 处理器,甚至对这块芯片给予了非常高的期待。在这里要跟大家分析下,A7 芯片拥有怎样的潜力,以及存在哪些不足。根据苹果的介绍,A7 与所有 32 位的 iOS 应用兼容。
苹果没有介绍 iPhone 5s 的 RAM 是多少。32位地址最大能支持 4GB 内存,但是 iPhone 近期不太可能内置那么大的 RAM,也肯定不会达到 A7 最大可寻址的 256TB 物理内存:尽管虚拟内存指针可有 64位宽,但是芯片的架构决定了只能是 48 位的物理地址系统。64位指针让软件至少能有稍微多一些的 headroom 空间,不过可能每个软件会实际降到 48 位(较高的位元是给操作系统和一个未标注空间保留的)。
为什么要那么麻烦嵌入 64 位的芯片呢?有人嘲讽这只不过是营销噱头罢了,好让苹果声称“这是第一款也是市场上唯一一款内置 64 位芯片的智能手机”。如果苹果在接下来的新款 iPad 也用上 A7 芯片,苹果还可以说这是首款采用 64 位芯片的平板(有人可能拿 Surface Pro 来反驳,但是微软 Surface 团队负责人 Panos Panay 早在公开场合声称 Surface Pro 属于 PC,Surface RT 才算平板)。
但这并非仅是噱头,苹果也将处理器的性能改善了,比 32 位的 A6 芯片提升一倍,包含的整数和浮点寄存器也是 A6 的两倍。为了能让芯片一次载入更多的数据,就意味着必须减少连续的缓存或内存访问。结果就造成核心的计算单元减少保持闲置等待数字处理的时间。
苹果告诉 iOS 应用开发者集中利用 64 位整数计算,才能有效利用新芯片的优势。同样地能利用 ARM 的 NEON 结构。
苹果的 A7 芯片是基于 ARM 的 ARMv8 设计,其指令集支持 AES 和 SHA-1/SHA-256 加密运算。苹果很有可能就是将这些利用于它的 Touch ID 生物控制机制。
这些优势对 64 位软件来说都很好很棒,但对 32 位代码就没那么大优势。苹果也承认,32 位代码在 A7 的表现不如 64 位版本的软件那么快速。这就是说,执行 64 位代码还有个缺点:当你的数据单元有两倍那么大时,举个例子,一个长的整数在 A6 芯片的 iPhone 占 4 字节,但在 A7 芯片的 iPhone 就要占到 8 字节。你需要两倍的内存来存储相同大小的信息。
虽然苹果没有公布 iPhone 5s 的内存是多少,但看起来很有可能是 2GB,比 A6 和 A6X 芯片多出一倍,尤其是苹果已经宣布 A7 的晶体管多达十亿以上。
还不仅仅是 RAM 的问题。使用更多的字节来存储一个值同时也意味着主芯片的缓存实际变小,这也将会降低性能。另外,苹果也没有公布 A7 的缓存有多大,目前猜测可能有 32KB 指令和数据缓存,1MB L2 缓存,跟 A6 的一样。
当 iPhone 5s 运行一个 32 位应用时,iOS 7 不得不载入这个应用使用的任何系统架构的 32 位版本。这是在操作系统已经载入 64 位版本到内存之后另外又载入的版本。这会增加该运行应用对内存的占用空间,意味着操作系统必须更积极地将后台应用从 RAM 转移到闪存。同时拥有所有系统架构的 32 位和 64 位版本会增加操作系统占用的存储空间,不过即使是 16 GB 的 iPhone 5s 也已经有足够的空间用于应用和内容的存储。
所有苹果自己的软件已经重新编译兼容 64 位的 iOS,所以能拖累系统速度的就只剩那些第三方的应用了。难怪苹果那么热切希望开发者赶紧升级应用到 64 位版本。iOS 的应用能同时是 32 位 和 64 位 的版本,但必须为 64 位进行一些优化才能确保发挥 A7 性能的优势。
当然,App Store 如今拥有大量的第三方应用,要等大部分应用都支持 64 位还需要很长的时间。而且许多应用都是为更老的 iOS 版本设计的,不一定都会更新。即使更新支持 64 位的应用也不一定能马上看到两倍性能的提升。
这就是为什么电池续航时间短时间内不太可能会有很明显的改善。虽说应用运行的速度的确是加快了,处理器更多的时间处于低功耗状态,减少耗电量。但如果我们遇不到这些速度更快的应用,那么用户就无法看到 64 位的优势。
将 iOS 升级为 64 位操作系统与 Mac OS X 达到一致,OS X 在 2006 年已改为 64 位。这说明了苹果的两个系统会有更紧密的结合。我们会看到运行 iOS 的苹果笔记本电脑吗?很有可能。