Skip to main content

iPhone 5的A6 SoC,不是A15也不是A9,取而代之的是苹果自制的核心(翻译)

原文作者:北美第一大IT网站Anandtech站长Anand Lal Shimpi

原文链接:http://www.anandtech.com/show/6292/iphone-5-a6-not-a15-custom-core

译者的话:这是Anandtech站长亲自撰写的A6推测分析文章,必须得说的是,由于这篇文章写在iPhone 5发售之前,所以推测的内容不一定和实际的A6产品相符,但是从这篇文章里我们可以学习一些常见的IT产品分析思路,相信对各位对CPU/GPU有兴趣的朋友会有相当的帮助。由于译者水平所限,下文不免会有一些翻译错误,也恳请各位在评论中指正,谢谢。

废话少说,下面我们就来看看Anand Lal Shimpi是如何抽丝剥茧来为我们层层递进分析A6的架构的。

当苹果发布iPhone 5Phil Schiller代表官方正式宣布了之前已经泄露许久的信息:这台手机采用了苹果的新SoC(片上系统,可粗略地理解为CPU,但实际上集成的模块远多于CPU)——A6

像往常一样,苹果并没有公布频率、CPU架构、内存带宽或者GPU的详情,然而它给了我们一个CPU性能的暗示:

在发布会举行之前,我们猜测iPhone 5SoC可能只是iPad 2,4iPad2的一个后期版本)所使用的32nm制程A5r2的一个简单频率提升版本。现在看来,苹果似乎只打算把这种架构保留在iPad上。

然而,就在发布会之前,我得到一些信息指出A6并不会沿袭A5iPad 2/iPhone 4S所使用的SoC)中所使用过的Cortex A9核心架构。鉴于苹果过去一直依靠完整的ARM核心架构授权来构筑自己的SoC,以及A6预期的性能和一些传言,让我之前推测苹果的A6看起来应该是一颗Cortex A15的双核心SoC

结果证明我错了,但却给了我一个惊喜。

A6是苹果第一块在ARMv7指令集上自主设计的SoC,它的核心并不是常见的ARM设计好的Cortex A9或者Cortex A15核心架构,而是由苹果自主设计的一些东西。

来自Xcode 4.5的暗示

iPhone5将会运行iOS 6.0系统。为了配合iOS 6.0的发布,苹果向开发者发放了新版的开发工具Xcode 4.5。在Xcode 4.5中,有两个主要的改动:降级支持ARMv6指令集(用于ARM11架构的核心如iPhoneiPhone 3G),保持对ARMv7指令集(用于现在市面上常见的ARM 架构,包括Cortex A8/A9)支持的基础上,增加了一个新的指令集支持类型以配合A6ARMv7s

ARMv7ARMv7s指令集在LLVM C编译器(一种C语言编译器)上的主要区别是对于VFPv4VFP=向量浮点协处理器)的支持与否。ARMv7s支持VFPv4,而ARMv7不支持。

只有Cortex A5Cortex A7Cortex A15架构能够支持VFPv4ARMv7-A指令集,而常见的Cortex A8Cortex A9只能够支持到VFPv3。具体来说,Cortex A5Cortex A7实现了16个寄存器的VFPv4 FPUFPU=浮点运算单元),而与此同时Cortex A15更进一步达到了32个寄存器。重点是,如果一个架构支持VFPv4,那么它肯定不是Cortex A8或者Cortex A9

显而易见,苹果肯定不会使用Cortex A5或者Cortex A7这种比A5中使用的Cortex A9更加低性能的核心架构,所以我的推测是,很明显苹果在A6中使用了两个Cortex A15的核心。

出于某些保密原因,我很早之前就得知A6不会是基于Cortex A9核心的SoC,所以我立刻就推测出唯一一个可能的答案:A6使用了Cortex A15核心架构。我愚蠢地排除了另外一个主要的可能性:一个苹果自主开发的基于ARMv7指令集的核心架构。

在续航与性能之间取得平衡

ARM公司提供两种授权协议:一种是特定的处理器核心架构的授权(比如Cortex A8Cortex A9Cortex A15),和另一种使用特定ARM架构指令集来自行研发SoC的授权(比如ARMv7指令集)。很长时间一来,苹果都同时拥有这两种授权协议。类似情况的还有高通,它在一部分产品里使用了ARM核心架构的授权(比如MSM 8×25/骁龙S4 Play使用了Cortex A5核心架构),而在另一些自己研发的产品里使用了ARM架构指令集的授权(比如Scorpion/Krait架构就是基于ARMv7指令集自主研发)。

截止目前,我听说过苹果确实在自主研发基于ARM指令集的CPU核心架构,但是最后一次我得知的信息是苹果在这方面遇到了一些麻烦,于是我以为苹果自主设计的CPU还远远没有搞定。现实告诉我我错了。基于最近几天的信息收集,和与一些消息人士的讨论,我确认苹果A6 SoC正是基于其自主研发的核心架构,而不是Cortex A15

对于VFPv4的支持告诉我们这块CPU并不是由A5的简单频率提升而来。如果需要我做一个推测,我会认为苹果对Cortex A9核心架构做了类似于高通的改动:更宽而不是更长。还记得高通Krait架构对于Scorpion的改进吗?它拓宽了整个核心架构,将Scorpion的指令前端由两路改成三路,由顺序执行改为乱序执行。而ARM公司在从两路乱序执行到三路乱序执行的改进过程中还依靠增加流水线长度提升了时钟频率。

更长的流水线加上更宽的指令前端和执行引擎,致使功耗和性能双双提升。有传言说ARMCortex A15核心架构在设计之处是针对服务器市场的,并且只能够通过big.LITTLE(或者其他技术)才能够让Cortex A15适用于智能手机。对于苹果最关注的耗电问题而言,只有跳过Cortex A15核心架构同时保证性能提升才是更有意义的事情。

为什么不把基于Cortex A9核心架构的苹果A5频率提升一下(用在iPhone 5上,而是要重新设计A6)?听起来很诱人,毕竟有其他很多竞争对手就这么干过,但是从设计角度来看不是最佳选择。还记得我们在Pentium 4时代所学到的教训吗?长久地看,简单依靠提升频率来获得性能的大幅提升,会同时导致电源效率的下降。

要提高频率,就得先提高电压,而这会导致电量消耗呈指数增长。想要更长的续航时间,让CPU核心更多地运行在最低电压状态才是王道。正确提升CPU性能的方法,是提升架构效率(每时钟周期的指令执行能力提升),多线程,和少量的频率提升这几种手段一起使用。还记得05Intel推出的Pentium至尊版就达到了3.73GHz的高频率,然而7年过去了,现在Intel最快的CPU仅仅只运行在3.5GHz(睿频可达3.9GHz,但这不是通常状态),但是相比Pentium至尊版,核心数量翻了4倍,单个线程的性能翻了3倍。时间证明了,最应该改进提升的,不是频率,而是CPU的架构。

在发布会的幻灯片上,苹果承诺iPhone 5能够实现更长的续航时间,以及2倍于A5CPU性能。很显然A6将使用32nm的工艺制程,但在续航时间改进的前提下,只是提高A5的工艺制程并不足以提供2倍的性能提升。

尽管如此,如果不是因为一些外部的确认信息,我可能就已经认定A6很可能采用的是两个更高频率的Cortex A9核心了。事实上,我们原本猜测的A6 SoC真相就是高频Cortex A9而已。

基于此,我应该在未来给予苹果的CPU设计团队更高的期待。

坏消息是我对苹果自主设计的这个核心架构一无所知。苹果在CPU核心部分花费了不少心思,我相信A6差不多应该是与高通的KraitARM Cortex A15同等级的一个核心架构。稍微宽一些的前端,更多的执行资源,更灵活的乱序执行引擎,更深的缓存,更大的窗口,等等……支持VFPv4使它肯定比Cortex A9的面积要更大,它唯一的意义在于,让我们了解到苹果也愿意在其他任何地方挑战极限。我特别对A6的运行频率以及是否有一些聪明的动态频率调整能力有兴趣,赶紧来个人在iPhone 5上运行一下Geekbench(一款手机性能测试软件)吧。

关于A6有多少个核心,我同样没有任何消息。我猜是两个但是苹果谨慎地没有公布核心数量(过去他们也这么干)。等我们下周拿到手之后,才会得到更多的细节。我也真心期待ChipworksUBM(两个国外知名电子类媒体)拿到A6大干一番之后会发现什么。

A6GPU:是PowerVR SGX 543MP3吗?

苹果公布了一个简单的“2倍”来描述了A6GPU性能,并没有展示任何测试成绩,于是有4种可能的选项:

1.频率翻倍的PowerVR SGX 543MP2(和A5里集成的GPU一样);

2.和A5里集成的GPU频率一样的PowerVR SGX 543MP4

3.少量频率提升的PowerVR SGX 543MP3;

4.代号为Rogue的下一代PowerVR GPU

首先排除第4项,因为现在太早了,Rogue不可能量产。第1项看起来不错,但是会遇到和CPU提升频率一样的问题,即更高的电压才能爬升频率(当然,也有可能在新制程下电压反倒降低了),这会导致一样的功耗提升问题。

2项会导致对整个SoC核心区域施加(更高的)电压,在A5XThe New iPad所使用的SoC)上同样集成的PowerVR SGX 543MP4显示苹果只在迫不得已的时候才会这么干。

3项看起来是一种一举两得的选择。不用付出超大的核心面积也不用运行在超高的核心频率,同时,你仍旧能够得到双倍的性能。

 

3项是最恰当且很可能被苹果所选择的设计。别忘了总体来说芯片核心面积大小取决于外围I/O(输入输出端口)的设计。A5X采用了432bit LPDDR2内存控制器,这造就了一个巨大的核心面积。将其使用更小的制程制造来削减整个核心面积,这意味着苹果可以增加很多运算单元(来填补整个削减掉的面积,而不必做出一个内部大量无用区域的大芯片)或者砍掉一些内存界面来抵消。对比以上知识与实际情况可以得知,苹果在iPhone 5上不再需要那么高的内存带宽,理所当然的,A6的内存带宽就比A5X要低一些。

那么A6的内存带宽有多低?Phil Schiller提到A6A5的核心面积小22%。我们可以推测出这是与45nmA5对比,而不是32nmA5r2,这意味着不会有比A5更多的内存通道。换句话说,很可能A6A5一样,拥有2x32bit LPDDR2的界面。

写在最后

目前来说,没有更多可以补充的细节了。我们将在一周内拿到iPhone 5,并且不出意外在这一到两天之前就会有评测出现。那个时候真正的工作——找出苹果究竟在A6上做了些什么——才将开始。如果有人已经迫不及待地汇总一些优秀的底层iOS测试成绩,那么现在是时候开始了。

对苹果来说,这是一次巨大的赌注,当苹果开始垂直整合整个手机的时候,整个公司已经进入了另一个领域。自主设计一个CPU核心架构的风险是巨大的(毕竟ARM公司自身设计的核心架构已经通过无数设备和平台的测试证明,是非常可靠和稳定的选择),但收益可能更加庞大。就像高通发现的那样,这样做很显然是与众不同的(也许会统治市场?),如果你的核心设计和其他任何人相比都独一无二的情况下。

从现在开始,让我们看看苹果的CPU团队将会有多厉害吧。

1天

将心化为一片空白

One thought to “iPhone 5的A6 SoC,不是A15也不是A9,取而代之的是苹果自制的核心(翻译)”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*