1、手机处理器终极指南2013年手机处理器终极指南首先,我们要提出一个最基本的问题:智能手机的硬件规格近年来经历了爆炸式的增长,但我们(消费者)究竟从中得到了什么?这是一个回答起来轻松简单,但解释起来无比复杂的问题。从2007年iPhone发布开始,手机开始迈入真正的智能时代。处理器从最早的ARM11 400MHz一路飙升;2008年我们拥有了ARM11 533MHz;2009年进化到Cortex A8 400MHz;2010年则瞬间提升至Cortex A8 1GHz;2011年,双核Cortex A9 1.2GHz开始普及;2012年,四核Cortex A9 1.4GHz出现.。智能手机处理器的
2、运输能力几乎以每年2.5倍的速度在提升。如果以平台的寿命来看,ARM9平台大约拥有5年的寿 命,ARM11为4年,在这之后,Cortex A8在主流市场坚持了一年半,而单核Cortex A9被直接跳过,双核Cortex A9一年、四核Cortex A9也是一年。业界实际的更新速度远超ARM的预计为何市场会出现如此强大的推动力,让企业可以集中全行业的技术和利润,去疯狂推动一台小小的手机疯狂升级?最主要的原因是因为手机本身的定位发生了变化,过去大家需要用PC实现的应用和功能,如今都开始往手机上转移,这是推动手机硬件爆炸发展的原动力。这样的需求转变给手机带来了无穷无尽的性能需求,也催生了手机的大屏化
3、我们需要呈现越来越多的信息,手机的屏幕自然就要同步增大。第一轮洗牌的赢家是苹果(必须承认的是,即便没有苹果,这个时代依然会到来,因为硬件性能的提升是客观存在且不会停止的)。然而,硬件规格大幅提升之后,伴随而来的是同样大幅增加的功耗和发热。疯狂的硬件军备竞赛催生出了智能手机的黄金时代,也给整个行业埋下了定时炸弹,一场危机近在眼前。“安装飞机发动机的自行车”如果我们给奇瑞QQ轿车安装1000马力的发动机,可以获得与超级跑车相近的性能吗?答案是否定的,因为奇瑞QQ的车体根本无法承受这样的动力输出。同样的道理,我们把英特尔酷睿i7处理器装在手机上也没有意义,因为手机根本无力承担它的功耗。在这个层面上,
4、我们是理性的,厂家也是理性的,至少在相当长一段时间内是这样。然而,这部分理性如今却在逐渐消失。一个被业内视为默认规则,而听起来又异常奇怪的现象是:2012年之后的旗舰智能手机,没有几台能让CPU做到长时间满负荷工作不降频。厂商不断地往手机里塞入更快、更强大的硬件,与此同时,却不得不限制它们的工作频率与工作时间。你看到的产品手册上赫然写着“四核1.7GHz”, 但实际使用中你永远无法得到这样的性能。这方面的例子比比皆是,从Nexus 4冷柜跑分暴涨30%,到K3V2的GPU频率缩水6成,大多数旗舰手机都无法发挥出它应有的性能。产品审查:高通骁龙800首先我们来看一看高通。之所以首先观察高通,是因
5、为相对而言高通的产品是变化幅度最小的,因此我们可以借用的历史数据就最多。在四核处理器o上 成文时,高通的最新产品是S4 Pro APQ8064。而在我们撰写本文时,高通重新命名了它的产品线,S4 Pro有了继任者骁龙600。这是一颗和APQ8064区别很小的芯片,最大的提升在于内存从双通道LPDDR2 533变成了双通道LPDDR3 1066,因此我们不打算深究这颗芯片。高通的重头戏,以及下半年乃至明年的主打,将是骁龙800。它拥有改进后的Krait 400核心,主要改动是调整了内部缓存架构,降低异步设计带来的影响。同时,骁龙800引入了HPM工艺,主频达到了2.3GHz,成为手机SoC中的一
6、 个超过2GHz大关的产品。除此之外,骁龙800还集成了新的Adreno 330 GPU,性能与规模再次翻倍。骁龙800核心照片相信看过之前的文章后,现在的你已经不会被上面充满诱惑力的宣传所击倒。是的,我们再次重复一遍:绝对性能的提升没有意义,决定用户体验的是体效值,或者说每瓦特性能。那么骁龙800的每瓦特性能有没有提升呢?首先我们来看一看CPU部分。由于缓存的增强,Krait 400核心的执行效率必然会得到一定的提升,但是Krait核心从本质上来说依然是一个“增肥”版的Cortex A9,它所面对的最大问题其实是由于指令队列的不足,导致架构的IPC受限。Krait的后端就像是规模巨大的工厂,
7、而经过持续的升级,Krait的前端已经从小港口变成了大型码头但是连接它们的依然只是一条省道。这样 的架构也许可以在理论测试中获得极高的成绩,但是在实际变幻莫测的应用代码面前,往往无法发挥应有的效率,根据某些第三方测试,在诸如视频解码、文件压缩 与解压缩等应用中,Krait 300核心的同频性能有时会不如Cortex A9甚至A7。这虽然不足以定性的给这个架构下结论,至少也可以说明一部分的问题。文件压缩速度,骁龙600的Krait 300内核同频性能甚至不如Cortex A7因此,综合来看,Krait系列核心的能耗,恐怕是比较悲观的上篇中我们做过相应的比较,得到的数据也倾向于支持这样一个结论。A
8、PQ8064 的执行效率并不如Cortex A9,Krait 400核心虽然经过了两次升级,但是考虑到Krait 300的实际表现,我们认为其执行效率至多只能达到略高于A9的水平。也就是说,Krait 400架构效率上并没有大幅超越Cortex A9。那么产品效率呢?在这之前笔者需要稍微岔开一些话题。不知道你是否发现,我们在对比效率的时候往往都会和Cortex A9相比,准确来说是和SAMSUNG Exynos 4412相比。为何要用它作为基准?这并不是因为偏心或是对于三星有着额外的好感,原因很简单,那就是根据之前我们对手机极限功耗的定义,在那样的功耗限 制之下,Exynos 4412是体效值
9、与绝对性能之间最接近的产品:Exynos 4412的核心,工作在1.4GHz时单颗功耗约为440mW,1.6GHz约为600mW,总功耗即为1.8W与2.4W。因此Exynos 4412是一个极好的标准如果有产品的效率比4412高,它就可以发挥出比4412更加优越的实际性能,否则就只能在降频中工作。来自Anandtech的测试,骁龙S4 APQ8064单个核心的功耗大约是700mW在骁龙800以外的产品中,高通采用的是28LP SiON/Poly工艺,这会导致漏电增加,继而降低能耗比。在上篇中我们引用外媒Anandtech的结论,得知28LP工艺的骁龙APQ8064,运行在1.5GHz的频率下
10、,单个核心的功耗大约是700mW。而到了骁龙800,高通终于引入了先进的HKMG技术,将工艺更换为了28HPM。那么,这个工艺是否能提升骁龙800的能耗比?根据TSMC对于 28HPM的工艺描述,我们认为这个答案同样也许是比较悲观的,因为28HPM本质上是用来提升性能的工艺,它的主要目的是让骁龙800得以运行在使用 28LP的骁龙600所无法达到的高频下,但是处理器本身的漏电并不会因此而减小。台积电四种28纳米工艺的区别我们粗略估计,运行在2.3GHz下的Krait 400核心,即便只考虑频率的提升,单个核心满载的功率也将超过1W,四核心的总功耗则会远超2.5W的散热功耗上限。至于能耗比,在低
11、频段,骁龙800 的能耗比也许可以略超龙600,但是总体来说我们并不认为骁龙800在CPU部分的能耗比会大幅领先于Cortex A9,也就是说骁龙800的体效值将明显小于极限性能。按照我们之前的分析,骁龙800在手机上的长期性能表现就将不会比Cortex A9提升太多(短期性能表现,例如基准测试,会因为设备的热容以及温度滞后效应而大幅提升,但是只要工作足够长不超过三分钟的时间后,性能将会降低到Cortex A9水平)。使用工具监控骁龙APQ8064的CPU频率变化,运行2分钟以后,CPU频率降低到了1GHz以下使用工具监控骁龙600的CPU频率变化,Krait 300核心根本无法维持全速工作那
12、么GPU部分呢?这方面的问题可能会比CPU更加严重。高通Adreno 300系列GPU的超低能耗比已经是众人皆知的问题,其严重程度远超CPU。由于GPU相对于CPU而言是低频大规模电路,因此它对于漏电的敏感程度要远 高于CPU,对于频率的敏感程度则不如CPU。骁龙800所集成的Adreno 330相对于Adreno 320而言规模提升了一倍,因此功耗的提升幅度自然也不会小到哪里去,我们假定Adreno 330可以借助HPM工艺,完全避免功耗的提升,它的能耗比能有多高?对于这个问题,我们可以通过一个粗略的测试来判断。Galaxy S4和配备了骁龙600的手机,在3Dmark中的得分基本是相同的,
13、但是根据耗电量得出的整机功耗估值方面,Galaxy S4所具备的SGX544MP3 GPU的功耗几乎只有Adreno320的15%甚至更低,换句话说就是SGX544MP3的能耗比几乎是Adreno330的7倍实际上,根据粗略 测试的结果,Adren 320的功耗已经达到了大约6W,不论这个数字是否精确,Adren 320早已远远超过了2.5W,甚至4.15W的散热功耗极限。性能翻倍dreno 330即使维持功耗不变,也将和CPU一样,在实际工作中也将永远不可能发挥出其最大性能,它的体效值同样远远小于理论最大性能。最终,我们对于骁龙800的预期表现是比较悲观的。我们认为,在CPU部分,配备骁龙8
14、00的产品,并不能让用户得到远超四核心Cortex A9如宣传、测试以及参数上那样的实际体验,而GPU方面则更会远远不如SGX544MP3,不论理论测试有多么强大。骁龙800并没能有效提升 能耗比,因此装有骁龙800的产品,其体效值将远远小于宣传的性能,作为结果,消费者购买的大部分参数和数字,将会永远停留在纸面上当然,还有基准测 试软件里。产品审查:Tegra 4与Tegra 4i虽然都属于Tegra 4家族,但是实际上Tegra 4和Tegra 4i的核心并不相同:前者基于Cortex A15,而后者基于改进版Cortex A9。对于后者我们不会多加论述,我们将主要关注前者。如同Tegra3
15、,Tegra 4也引入了nVIDIA自行设计的vSMP 4+1技术。因此对于Tegra 4的效率分析,将会分为两个部分:4核部分与附加单核部分。首先是4核部分。Tegra 4的所有核心都是典型的Cortex A15架构,工艺使用了TSMC 28HPL,因此对于这一部分的分析我们可以找到一个极好的参照物,那就是Nexus 10所配备的Exynos 5250。后者是一枚双核Cortex A15、32nm HKMG LP工艺、工作频率1.7GHz的SoC。根据已有的测试结果,Exynos 5250的CPU功耗为4W,也就是说单核功耗为2W。这 项对于Exynos 4412的440/600mW而言是一
16、个相当大的数值,这也意味着Cortex A15的性能必须要四倍于Cortex A9,才可以维持效率的一致。NV做到了吗?很明显,也很遗憾,没有。Cortex A15的性能提升幅度远远没有功耗提升幅度大,两者之间的差距导致了Cortex A15的每瓦特性能相对于Cortex A9来说有着至少一半的下降。采用A15架构的Exynos 5250单个CPU核心功耗约为2W,数据来自Anandtech那么回头来看看Tegra 4。由于核心是相同的,我们只需要对比工艺。TSMC 28HPL相对于三星32nm HKMG LP,究竟有没有性能和漏电方面的提升我们很难判断,但是大体上两者属于同一时代的同一水准工
17、艺,相信差距并不会过大,我们假设台积电的28LP工艺总体 能耗比三星降低30%这已经几乎是同一代工艺可以存在的最大差距这也远不足以抵消Cortex A15和Cortex A9近乎200%的差距,更何况Tegra 4的主频高达1.9GHz,这进一步降低了它的功耗可以低于2W/核心的可能性。这也就意味着,即便只有一颗核心工作,Tegra 4的功耗就已经逼近了4寸手机的散热功耗极限,而四核同时工作,如果不加限制,CPU部分的总功耗必将轻松突破8W。Tegra 4功耗有多大NV很清楚,所以给自家的Shield游戏机装上了风扇!既然能耗比如此之低,那么技术有何改变、理论性能有何提升、在哪里提升就完全没有
18、意义了。在手机上,Tegra 4的四枚Cortex A15所能发挥出的长期性能,除了极少数情况下,可以几乎肯定的说,将远不如一个设计优秀的四核Cortex A9处理器。那么辅助的拌核部分呢?NV没有公布拌核的细节资料,我们假设它工作在1GHz,由于HPL工艺带来的低漏电,预计可以让这枚核心的功耗降低到 0.6W左右,大约等同于一颗1.6GHz的Cortex A9。在这个工作条件下,Cortex A15的能耗比和Cortex A9比较接近,因此它们具备了接近的体效值。但是此时的Tegra 4,绝对性能只有四核Cortex A9的四分之一,体效值远远高于绝对性能,这也就意味着此时的Tegra 4会
19、因为过慢而无法满足用户需求。伴核要想省电,必须工作在更低的频率综上所述,Tegra 4不论在哪个模式下,所能提供的最大性能都难以超越四核心Cortex A9处理器,把这样一颗处理器做进手机唯一的意义也许只有一个想方设法让手机坚持满载运行三分钟,跑出一个惊世骇俗的基准测试分数,给手机发烧友作茶 余饭后跑分攀比的资本,就好比购买超级跑车上下班,除了炫耀以外没有任何意义。至于Tegra 4的GPU部分,由于目前资料较少,所以无法给出分析对比,希望读者海涵。当然我们也需要明白,Tegra 4的悲剧并不全是由于Tegra 4本身或是nVIDIA的技术实力导致的,究其根本,元凶还是Cortex A15核心
20、过低的能耗比。这也决定了不仅是nVIDIA,其他任何试图在产品中引入标准Cortex A15架构的厂家,例如未来的华为海思K3V3,最终都将难逃“性能超不过A9”的魔咒。对于手机等便携式设备而言,Cortex A15毫无疑问是一个失败的设计,也无怪乎高通和苹果在几年前就决定放弃这个架构,自行以Cortex A9为基础发展自己的强化核心。这也从另一个方面看出,至少在目前可以看到的ARM产品中,Cortex A9依然是可以提供最强实际性能的产品,即便它已经问世超过了2年。最后提一下Tegra 4i。相信nVIDIA规划这样一个产品,也是因为NV实际上非常明白Cortex A15是一颗怎样的核心。因
21、此,我们甚至可以理解为,Tegra 4i才是针对手机市场所推出的高性能产品。改进的Cortex A9 r3p1核心可以带来最多15%的同功耗性能提升,也就是更高的体效值与实际性能。但是Tegra 4i却如同骁龙800一般选择了HPM工艺,并且因为需要集成基带而无法在2013年上市,这对于Tegra 4i和nVIDIA而言无疑是彻头彻尾的悲剧,尤其是如今Cortex A12箭在弦上的情况下。如果说Cortex A15可以看作ARM在被成功冲昏了头脑之后的大跃进,那么后者就可以看作是ARM在大跃进失败后的反省之作,肩负了Cortex A9正统继任者的使命。对于它,我们在后面予以讨论,这里暂不多言。
22、产品审查:三星Exynos 5 Octa最后来谈一谈技术最为复杂,同时争议也最大的三星Exynos 5 Octa(Exynos 5410)。这个芯片最大的特色就是整合了ARM的big.LITTLE技术,内部集成了8个核心四个Cortex A15为一组,四个Cortex A7为一组,从而成为了手机上第一枚超越四核的片上系统。也许你会提出质疑,NV的Tegra 3和Tegra 4实际上也拥有5个核心,为什么它不能算作是五核SoC呢?原因很简单,因为Tegra多出来的那一枚核心其实设计上是作为四个主核心其中之一的映射,在实际工作中系统是识别不出这一颗核心的。但Exynos 5 Octa不同,它的八颗
23、核心在某些情况下是可以同时运行的,因此可以称之为八核SoC,虽然实际情况下这样的工作模式不一定会被用上,关于这点,即 Exynos 5 Octa是否是伪八核,同样也是围绕这颗芯片的众多争议中最大的一个,对此后面我们会详细讨论。Big.Little架构除了big.LITTLE以外,Exynos 5 Octa本质上是一颗非常典型的处理器,它拥有标准的Cortex A15核心、标准的ARM系统IP,支持的规格与系统配置也一如三星以往的风格,顶级而不顶尖。LPDDR3 1600的内存支持与12.8GB/s的理论带宽在手机SoC中实为翘楚,而PowerVR SGX544MP3运行在533MHz的高频下,
24、假如不考虑信息尚不明确的Tegra 4,性能也足以进入ARM世界的前三:仅次于iPad4的SGX554MP4和骁龙800的Adreno 330。工艺方面,三星使用了自家最新的28nm HKMG LP,根据三星的宣传资料,相对于32nm HKMG,28nm HKMG主要的提升在于集成度,也就是单位面积下可以实现更多的晶体管,提升幅度大约在35%左右。至于漏电等工艺性能,我们有理由认为不会和32nm HKMG,也就是上一代的Exynos 4412所采用的工艺有太大的差别,具体原因在上篇中我们也多有提及。三星32nm HKMG实际上是一个性能相当强悍的工艺,Exynos 5 Octa的基础至少也是有
25、所保障的。不过,如同之前说过的,Cortex A15本身不是一个利于手机使用的架构,只要把它做进手机,都要面对功耗难题,三星也不能例外。Exynos 5 Octa的最高频率目前并没有明确的说法,也许会在1.7到1.9GHz之间,但我们知道的是,在Galaxy S4上,Exynos 5 Octa的最高频率只开放到了1.6GHz。1.6GHz的标准Cortex A15核心满载功耗不会低于1.8W,三星即使经过大量优化,Exynos 5410四颗A15核心的总功率也依然要在6W以上,这大大超越了2.5W乃至4.15W的散热极限。实际情况可以作为这个推断的最佳例证:Galaxy S4的CPU满载工作的
26、时间只能达到区区10秒,之后就不得不因为核心温度突破90度而被迫关闭Cortex A15核心。Exynos 5 Octa是一个明显的市场导向产品,三星在设计它的时候,考虑优先点是市场对于参数的需求,而完全不顾这样规模的硬件是否可以安全的工作。当然,作为应 对,ARM提出了big.LITTLE,三星也将其引进到产品中,但是这样的行为并不能本质上改变这个设计的失败之处。有人也许会说,这不是很好吗,何来失败?那就让我们继续研究下去。运行5秒钟以后,猎户座5处理器的A15核心即开始降频现在让我们来打个赌:如果你是Galaxy S4八核版的用户,你绝对会有这样的体会:Exynos 5410处理器主频在实
27、际运行中非常不稳定,低于标称的1.6GHz是常态。在Exynos 5410中,Cortex A15四核的最低工作频率是1.2GHz,而Cortex A7四核的最高工作频率也是1.2GHz。问题是,这两者的同频性能并不一样,导致以频率为控制参数的算法比较难写。于是三星在系统中将Cortex A7的有效频率显示为实际频率的一半,并以此作为控制参数,就实现了较为线性的频率性能曲线。也就是说,只要你看到Exynos 5 Octa的工作频率是1.2GHz以上,就意味着现在是Cortex A15在工作,而600MHz则意味着Cortex A15已经关闭,系统已经切换到1.2GHz的Cortex A7。由于
28、频率调节十分频繁,所以这给我们计算Exynos 5 Octa的效率带来了一定的困难,不过我们依然可以从实际工作的情况下对于极限性能给出近似的计算。Exynos 5410 CPU + GPU同时满载的情况,注意下方的频率曲线根据爱活网友站enet的测试结果,在满负荷工作的时候,Exynos 5410的工作模式大约如下:Cortex A15于1.6GHz工作6秒左右,于1.2或1.4GHz工作4秒左右,然后切换到1.2GHz的Cortex A7工作10秒左右,并且在这样的序列下循环。由于频率调节的目标是功耗以及温度,因此我们可以近似认为在这样的工作序列下,处理器系统的平均功耗大约是 2.5W左右。
29、如果将Cortex A15的性能归一化为同频Cortex A9的1.5倍,Cortex A7为0.7倍,因此我们可以得到在这20秒内,Exynos 5 Octa所输出的总性能相当于四核Cortex A9运行在1.53GHz时的性能。也就是说,Exynos 5 Octa所能提供的持续性能,甚至还不如Exynos 4412,因为后者在2.5W的功耗限制下可以运行在1.6GHz。Exynos 4412依然是能耗比最为均衡的手机处理器当然,这个结论有些粗略,我们只验证了基准测试时猎户座5处理器的CPU频率变化,实际应用中可能有所不同,但有一点可以确定,那就是Exynos 5410在手机上可以发挥的性能
30、远远低于硬件设计的极限性能。Cortex A7与Cortex A15联合的效率,大约和Cortex A9不相上下,这也就意味着配备了Exynos 5 Octa的设备,其体效值并不会比Exynos 4412高。然而,这并非Exynos 5 Octa的最佳工作模式。ARM big.LITTLE技术其实包含有三种工作模式:整体迁移、非对称多核心与异构多核心。整体迁移模式指Cortex A15或Cortex A7轮流工作,两者无法同时激活,具体开启的核心数字根据系统负载决定。非对称多核心则是将Cortex A15四核簇和Cortex A7四核簇看作两组非对称多核心簇,依靠外部总线工作在异步模式下,从而
31、启动所有的八个核心。而第三种是最诱人的,也就是将每一个A15与A7组合成为一 个“处理器对”,将其看作一个单独的处理器,系统根据需求开启若干个“处理器对”,而每一对处理器究竟使用Cortex A15还是Cortex A7,完全根据该核心的负载决定。从理论上来说,Exynos 5 Octa支持全部的三个模式,但是三星目前在系统中却只支持了第一种模式,产品中的工作模式也只有整体迁移。这导致一些人认为三星这颗CPU的技术开发尚 未完成,是“半成品”,因此并没有实现最佳的工作效果。甚至有一些分析表示,这是源于Exynos 5 Octa的硬件设计缺陷导致的,需要在未来的产品中才能修复。对此,我们认为这样
32、的说法既是对的,也是错的。big.little的三种工作模式为什么这样说?前提是,单纯的降低功耗并没有意义,只有提升体效值才可以获得更强的性能。对于Exynos 5 Octa而言,其他的两种工作模式似乎可以降低功耗,但可以提升每瓦特性能吗?这是一个未知数,而且是一个相当不容乐观的未知数,原因之一就在于 Exynos 5 Octa的两组处理器,二级缓存的大小不同。根据架构图,Exynos 5 Octa的Cortex A15部分,二级缓存为2MB,而Cortex A7部分只有512KB。如果是Cortex A9时代,这并不是问题,因为所有的二级缓存都是靠总线实现的访问。但是在Cortex A15和
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1