终极指南:2013年手机CPU的现状与未来
首先我们来看一看高通。之所以首先观察高通,是因为相对而言高通的产品是变化幅度最小的,因此我们可以借用的历史数据就最多。在《四核处理器?上》成文时,高通的最新产品是S4 Pro APQ8064。而在我们撰写本文时,高通重新命名了它的产品线,S4 Pro有了继任者骁龙600。这是一颗和APQ8064区别很小的芯片,最大的提升在于内存从双通道LPDDR2 533变成了双通道LPDDR3 1066,因此我们不打算深究这颗芯片。
高通的重头戏,以及下半年乃至明年的主打,将是骁龙800。它拥有改进后的Krait 400核心,主要改动是调整了内部缓存架构,降低异步设计带来的影响。同时,骁龙800引入了HPM工艺,主频达到了2.3GHz,成为手机SoC中的一个超过2GHz大关的产品。除此之外,骁龙800还集成了新的Adreno 330 GPU,性能与规模再次翻倍。
骁龙800核心照片
相信看过之前的文章后,现在的你已经不会被上面充满诱惑力的宣传所击倒。是的,我们再次重复一遍:绝对性能的提升没有意义,决定用户体验的是体效值,或者说每瓦特性能。那么骁龙800的每瓦特性能有没有提升呢?
首先我们来看一看CPU部分。由于缓存的增强,Krait 400核心的执行效率必然会得到一定的提升,但是Krait核心从本质上来说依然是一个“增肥”版的Cortex A9,它所面对的最大问题其实是由于指令队列的不足,导致架构的IPC受限。
Krait的后端就像是规模巨大的工厂,而经过持续的升级,Krait的前端已经从小港口变成了大型码头——但是连接它们的依然只是一条省道。这样的架构也许可以在理论测试中获得极高的成绩,但是在实际变幻莫测的应用代码面前,往往无法发挥应有的效率,根据某些第三方测试,在诸如视频解码、文件压缩与解压缩等应用中,Krait 300核心的同频性能有时会不如Cortex A9甚至A7。这虽然不足以定性的给这个架构下结论,至少也可以说明一部分的问题。
文件压缩速度,骁龙600的Krait 300内核同频性能甚至不如Cortex A7
因此,综合来看,Krait系列核心的能耗,恐怕是比较悲观的——上篇中我们做过相应的比较,得到的数据也倾向于支持这样一个结论。APQ8064的执行效率并不如Cortex A9,Krait 400核心虽然经过了两次升级,但是考虑到Krait 300的实际表现,我们认为其执行效率至多只能达到略高于A9的水平。也就是说,Krait 400架构效率上并没有大幅超越Cortex A9。
那么产品效率呢?在这之前笔者需要稍微岔开一些话题。不知道你是否发现,我们在对比效率的时候往往都会和Cortex A9相比,准确来说是和SAMSUNG Exynos 4412相比。为何要用它作为基准?这并不是因为偏心或是对于三星有着额外的好感,原因很简单,那就是根据之前我们对手机极限功耗的定义,在那样的功耗限制之下,Exynos 4412是体效值与绝对性能之间最接近的产品: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的频率下,单个核心的功耗大约是700mW。
而到了骁龙800,高通终于引入了先进的HKMG技术,将工艺更换为了28HPM。那么,这个工艺是否能提升骁龙800的能耗比?根据TSMC对于28HPM的工艺描述,我们认为这个答案同样也许是比较悲观的,因为28HPM本质上是用来提升性能的工艺,它的主要目的是让骁龙800得以运行在使用28LP的骁龙600所无法达到的高频下,但是处理器本身的漏电并不会因此而减小。
台积电四种28纳米工艺的区别
我们粗略估计,运行在2.3GHz下的Krait 400核心,即便只考虑频率的提升,单个核心满载的功率也将超过1W,四核心的总功耗则会远超2.5W的散热功耗上限。至于能耗比,在低频段,骁龙800的能耗比也许可以略超龙600,但是总体来说我们并不认为骁龙800在CPU部分的能耗比会大幅领先于Cortex A9,也就是说骁龙800的体效值将明显小于极限性能。
按照我们之前的分析,骁龙800在手机上的长期性能表现就将不会比Cortex A9提升太多(短期性能表现,例如基准测试,会因为设备的热容以及温度滞后效应而大幅提升,但是只要工作足够长——不超过三分钟——的时间后,性能将会降低到Cortex A9水平)。
使用工具监控骁龙APQ8064的CPU频率变化,运行2分钟以后,CPU频率降低到了1GHz以下
使用工具监控骁龙600的CPU频率变化,Krait 300核心根本无法维持全速工作
那么GPU部分呢?这方面的问题可能会比CPU更加严重。高通Adreno 300系列GPU的超低能耗比已经是众人皆知的问题,其严重程度远超CPU。由于GPU相对于CPU而言是低频大规模电路,因此它对于漏电的敏感程度要远高于CPU,对于频率的敏感程度则不如CPU。骁龙800所集成的Adreno 330相对于Adreno 320而言规模提升了一倍,因此功耗的提升幅度自然也不会小到哪里去,我们假定Adreno 330可以借助HPM工艺,完全避免功耗的提升,它的能耗比能有多高?
对于这个问题,我们可以通过一个粗略的测试来判断。Galaxy S4和配备了骁龙600的手机,在3Dmark中的得分基本是相同的,但是根据耗电量得出的整机功耗估值方面,Galaxy S4所具备的SGX544MP3 GPU的功耗几乎只有Adreno320的15%甚至更低,换句话说就是SGX544MP3的能耗比几乎是Adreno330的7倍——实际上,根据粗略测试的结果,Adren 320的功耗已经达到了大约6W,不论这个数字是否精确,Adren 320早已远远超过了2.5W,甚至4.15W的散热功耗极限。性能翻倍dreno 330即使维持功耗不变,也将和CPU一样,在实际工作中也将永远不可能发挥出其最大性能,它的体效值同样远远小于理论最大性能。
最终,我们对于骁龙800的预期表现是比较悲观的。我们认为,在CPU部分,配备骁龙800的产品,并不能让用户得到远超四核心Cortex A9——如宣传、测试以及参数上那样——的实际体验,而GPU方面则更会远远不如SGX544MP3,不论理论测试有多么强大。骁龙800并没能有效提升能耗比,因此装有骁龙800的产品,其体效值将远远小于宣传的性能,作为结果,消费者购买的大部分参数和数字,将会永远停留在纸面上——当然,还有基准测试软件里。