|
曾几何时,大家选择手机的时候开始越来越关注处理器的主频起来,300MHz、400MHz还是600MHz?大有以主频来定性能来定价格的趋势。诚然,智能手机的性能是由所采用的处理器性能决定的,但其实用过多款智能手机的用户可能会有一个感觉,智能手机的CPU主频越标越高,但真正用起来却不觉得机器的速度有什么实质性的进步,连个大尺寸视频也仍然是放不动;同时,手机的电池却是明显的越来越不耐用了,买个手机只敢待机,根本不敢放开玩。这只是一个简单的直观体验,其实背后有很多复杂的架构设计因素影响。笔者从事处理器设计多年,希望籍此文从处理器架构的角度来帮大家分析一下什么真正代表着智能手机处理器的未来,希望对大家选购智能手机的时候有用。
; G- f+ D- e1 R! S5 \+ y 实际上,现在的一台智能手机,从硬件的角度看与一台PC是非常接近的,但由于其特别的体积和续航能力的要求,其设计难度是远远复杂于PC的,不过手机的硬件系统却正经历着与PC硬件系统非常类似的发展路径。PC系统发展的最初十几年时间里,几乎纯粹是靠CPU主频和工艺的提升来带动,那个阶段CPU主频是衡量系统性能的唯一标准,CPU供应商也把所有注意力都集中在如何提升处理器的主频上。这个观点驱使着PC CPU产业逐渐走入了工艺极限的死胡同,直到AMD推出全新的X86处理器架构才开始发生变化,AMD用先进的处理器架构告诉了大家频率不是性能的唯一衡量指标,到几年后的今天,我们已经不再主要拿主频来衡量性能,而是更关注处理器的架构先进性、磁盘文件系统的性能、图形系统的性能、甚至功耗等多种因素。现在的PC CPU的性能不可谓不高,有一个形象的比喻是历时数年数千人参与的阿波罗登月计划的全部计算工作量可以拿现在的一台PC轻松搞定,由此可见当今的处理器性能之强,但是一个明显的事实是:任何一个时期处理器都无法独自承担系统应用的全部性能需求,所以显卡行业能够长期繁荣而且越来越成为系统性能的关键。其实现在的手机系统也一样,对于一台智能手机来说处理器达到400MHz以上再增加主频对系统日常操作的差别影响会非常小,但高强度的多媒体和图形计算对处理能力的要求是远远无法靠多提升200-300MHz处理器主频所能够解决的,当今世界上的最佳技术解决方案是带专用硬件加速核的SOC架构。请参看几家主流高性能智能手机处理器架构对比。
7 |* T; v5 u5 ~# y P处理器平台/ J( [3 P9 y' ]
海思K3 Hi3611
! d0 Y- \ a4 s' p$ ` M公司 3XX
5 K/ i: |# G$ k- Q+ K2 L+ C1 G S公司 24XX
2 ]- d5 n9 l3 _1 a
% B: @- D3 [ V' }% D% U4 p$ K) q8 {CPU核/ D5 e$ A- m7 }" B* G
ARM9 460MHz
; N+ f F% ]% r+ b; I5 n/ y# T% M3 [ X-Scale 624MHz) F9 R0 Q9 b! c# @3 c
ARM9 400MHz* J: p! S# j$ A) {
2 }5 }0 [1 A% V6 n) `
视频播放) s0 K: I2 A. I, p
H.264 [email=D1@30fps]D1@30fps[/email]相当于ARM CPU主频1077 MHz的计算能力
- i* W5 \' `) b' t9 \ 最大处理能力H.264 [email=CIF@30fps]CIF@30fps[/email](高于此规格使得视频严重丢帧)& g; w7 A2 k0 h5 I! |2 D7 h$ j
最大处理能力H.264 [email=QVGA@15fps]QVGA@15fps[/email](高于此规格使得视频严重丢帧)
% F+ {: W1 l- H' l8 w, V% @) s! \ ; l! f' i! M2 D0 @
图形系统
k: m$ m9 M) B' v 显示硬件加速3 u* G1 B5 X' S! I8 n( f
相当于ARM CPU主频890 MHz的计算能力3 y3 P7 q, g( e( C, t" @; |) ] h: P
无硬件加速则无法支持7 S" P# f4 c3 R3 a/ z1 ^
无硬件加速则无法支持9 A" F8 l1 }+ w+ p) F& B
+ S' ~! y- F3 `- N) r( {( x2 _音频系统
& B6 R. ^# T! p- w& n 三通道重采样+混音相当于ARM CPU主频160 MHz的计算能力
* R- t. |. ?! a: S" r 软件支持
% S( t% G8 J1 v8 h$ G7 t7 B 软件支持6 m/ S( f! b& N+ m
4 k8 y0 d. p! m3 F
累计等效ARM CPU主频
7 h3 R: ?# r. a! N 2587MHz" f) i( u6 B' X7 `4 T
624MHz
' S# l- e! p: Z" | 400MHz
8 |) ?; I( E( I0 |! A
+ f8 f z$ e, Z 我们可以看到,尽管处理器主频不是最高,海思的K3 Hi3611处理器由于具备了全硬件的视频Codec、图形加速和硬件ASP等处理器核的存在,类似于PC的多核设计理念,K3处理器实际计算能力是其它平台4-6倍。应该说K3已经不再是一个CPU,而是一个CPU、显卡、声卡俱全的单芯片微型PC(PC on a Chip)。
J& f$ n# w- O7 c0 [4 J 除以上几部分,文件系统也要特别提出,因为在高主频处理器系统中文件系统性能往往成为系统性能表现的瓶颈,我们先看一下下面的一组数据:
0 L6 X! s, D& G
, C3 j+ K% q4 Z/ K/ s& d1 F7 b4 x 海思K3 Hi3611" _6 p1 G1 J) N1 _' N
Q公司72XX
" P, T) |- h: t R3 u3 T" Z S公司24XX8 d- I9 ~5 |, O4 T6 c! H' l# \
, v7 d2 c8 ^. R& m7 T
主频 {2 M m2 R% c' | ^
ARM9 460MHz
4 G; N) f0 ]) e* K7 o- r5 \; l ARM11 533MHz0 h; I! {0 w/ \% K3 |
ARM9 400MHz* l$ Z4 e, s/ [+ |8 p4 N
: [" C9 T3 P3 PSPB Benchmark: `1 T5 \, r! I2 N1 ^' I; n9 h0 M+ \1 \
(File System Index)0 L0 I+ h* i" o- ?
366.355 \+ v c3 b$ z5 K( x9 Z/ h
191
3 R% A$ }" j/ M5 z: k$ |& h 151- F% M8 ]' Y7 f' M
" ?3 j" q/ j7 b% x. F& z% K( N 从这组数据可以看出,各家的方案文件系统的表现有巨大差距,海思K3处理器的文件系统性能大大优于其它方案。究其原因,海思K3在文件系统上,针对特殊的文件操作,通过系统内存cache,加快访问进行速度,优化访问。同时芯片提供了快速的Nand flash 控制器,支持流水纠错,访问简洁快速,对Nand flash 访存处理优化到极致。此外K3 快速的主存系统对文件系统的优化也有很大的帮助。这样的硬件和方案设计,类似于PC硬盘控制器的设计理念,其达成的性能与简单的软件+Nand接口方案当然就不可同日而语。
, l' n+ t4 o5 C/ v( }: L; c7 B5 h$ t" e2 x
由此,我们可以看出单纯依靠CPU核心主频的设计思想已经落伍,一个现代的高性能处理系统必然是硬件多核架构,在多个子系统上表现均衡才能在实际使用中有优良的性能表现。
) W. I9 ]( y8 \1 ~ 海思的K3 Hi3611 SOC处理器的设计如同一个微缩PC,有独立的符合微软DD/DS标准的显卡、声卡、视频加速器、磁盘控制器,完全是一个单片的PC架构,K3是当今业界唯一用硬件实现了这些部件的方案;比较而言,其它一些单纯依靠CPU软件强行计算的系统,就好像一个安装了高性能CPU的机器搭配上了原始的VESA显卡+ISA接口原始硬盘一样,系统的综合性能表现不会好。因此,多核时代的到来,我们看智能手机处理器的性能不能再简单的看标称主频,而必须懂得一个先进的并行处理多核架构设计才是王道。
- {8 c" @. \$ i 另一个有趣的话题是关于ARM9和ARM11内核的,通常的理解总是数字新的东西代表高性能,可是在这个话题上却不尽然。仍然和PC CPU类似,了解Intel CPU发展的人应该都知道,Intel在相当长的一段时间里没有对处理器架构做实质性的变化,所做的唯一工作就是想方设法把主频提上去,直截了当的说就如Pentium4就是把处理器流水线由14级增加到21级,这样做几乎只有一个好处就是使频率可以继续往上提升,而ARM11相对于ARM9来讲也是很类似的,把流水线从5级提升到8级。长流水线非常大的一个问题是在程序的分支预测错误的情况下,流水停顿造成的性能损失非常严重。而我们日常使用的应用、游戏等等均属于商业应用结构,其转移的taken和untaken比例统计结果是一半一半,即几乎无法用转移预测等技术去抵消长流水带来的性能损失。这就是为什么高主频的Pentium4在大多数商业应用场景下比较更低一些主频的Pentium M,性能反而更差的真实原因。ARM11实际上面临与Pentium4一样的尴尬。下表是ARM9与ARM11在典型AAC解码应用下的性能评估:
* Y$ X) y( e8 ?: K$ a- l G4 G+ Q" N测试程序类型: d6 Y( A. S+ a
ARM926EJ-S系统
3 f8 W8 m' ?- |0 b' V8 r ARM1176JZF-S系统5 Y' R. E0 k# N# Q/ b* l3 H2 Q' k- w, o
7 K6 C) n0 _6 ^" p
典型AAC音频解码算法! Z1 G; J) s: N7 a$ t
(数值越低性能越好)
, p2 F! X, S( S7 O( r: { 64864538个周期
$ k, b) g: l7 I0 \0 @6 ~' c0 D 64986462个周期
4 t* Z# J6 e& l7 H, r6 }: Q6 ] 7 e6 u6 r# R q% V5 p0 J
可以看到其实对于应用程序来说,ARM9的效率比ARM11高,简单的推理如果ARM9可以提升到和ARM11接近的频率的情况下,ARM11是没有存在价值的。那么问题提出来了,缺省的ARM9最高频率不过300MHz,真的有人可以把ARM9提升到那么高的频率吗?答案是肯定的,尽管确实很难,但真正有实力的厂商可以做到,比如华为海思这样的大公司,早已规模量产400MHz以上的ARM9处理器,海思的K3 Hi3611更有甚者,把ARM9的能力发挥到了全球极致,采用全定制的私有化设计,在量产460MHz版本后,更推出了533MHz的版本。海思不选择ARM11而选择开发超高频ARM9是基于对自身能力的雄厚信心以及致力于向用户提供最佳性能功耗组合产品的一贯理念的选择。海思后续产品将会跳过ARM11直接采用真正全新先进架构的ARM Cortex内核。
# c( [" d/ ?% F 综上,我们可以得出高性能不会简单的来自于高主频,而高主频却意味着高功耗的结论。我们需要更多地关注架构设计的先进性,多核设计才是高性能低功耗的保障。希望以上内容能够帮助手机消费者能够明白手机处理器规格参数的真正含义,在选购手机的时候挑选到真正高性能的产品。 |
|