Ed-3-vJej6 }2c&ARQ.m> 在介绍本文的主角——高通Snapdragon S4 MSM8960之前,先让我们来回顾一下现有的智能手机/平板电脑ARM架构SoC方案,这些处理器全部基于40nm等级的工艺,由GlobalFoundries、三星、台积电或联电生产。明年各大厂商的制造工艺均将进化为28nm,带来性能以及续航能力的提升。在完全进化至28nm工艺之前市面上主流的SoC方案可以说是五花八门:
/c!^(5K
fT (6}7z+
T^$`Z. -I*vl f}.t sUiO~<Ozpk Krait处理器是高通第二代Snapdragon的心脏,也是所有Snapdragon S4 SoC的核心,它在Scorpion的基础上作出了不少改进。
K,PN: p7izy$Wc 在架构的前端方面,Krait显然要更“宽”,一个时钟周期可以执行三次fetch与decode操作。每个Decoder都相当于ARM11的single issue能力模块,对比前代Scorpion的2-wide,能力也提高了50%。
Tgla_sMb #l9sQ-1Q 后端执行单元方面则是简单的扩张,从Scorpion的三个增加到了七个,可以并行执行4条指令。而在指令执行阶段,Krait终于进入了Cortex-A9阶段,可实现完全乱序执行。
p*1B*R |v#D}E @1bl<27 S|6i]/ VS7 流水线方面,Krait的整数流水线由Scorpion的10级略微提高至11级,
对比Cortex-A15的15级流水线,高通的设计含有更多的定制化逻辑模块,同样使得处理器的频率容易提升。
(m2_Eh; Qk|+Gj 此外,Krait对比Scorpion,还支持在A15中才加入的新虚拟化指令集和40bit内存寻址。双核型号的二级缓存也从512KB升至1MB。
一个恰当的类比例子是,ARM Cortex-A8时代的设计就像当年的P54C Pentium,而Krait的完全乱序支持就像P6 Pentium Pro,整体设计则是把SoC带入了Pentium II的时代。 f+)LVT8p VH+3o?nrT 在后端完全乱序执行引擎的加持下,
Krait架构的预期性能将高于Intel 45nm Atom。
2012年面世的部分智能手机可能将拥有超过采用Banias核心Pentium M处理器的初代“迅驰”笔记本的性能。
6p&uifY}tR #IDLfQ5g 性能期望 7j#Ix$Ur D=.Ob<m`Z 通常ARM核心性能是用老旧的DMIPS(Dhrystone Millions of Instructions per Second)来衡量,这个老旧的整数性能测试基本与多数读者同龄但在桌面市场早已被弃之不用。但对于架构相同点颇多的各ARM系核心还是有一些意义的:
;v.J
D7 cc1M9kVi ]HXHz(?;F Krait的DMIPS/MHz性能为3.3,比同频的Cortex A9快上约30%。
预计Krait在发布时将拥有超过目前市面上A9架构CPU约20-25%的性能。依高通推出的频率版本不同,新的智能手机领先市场上A9架构CPU机种的性能达30-50%也不奇怪。目前ARM还没有公布Cortex-A15的性能数据,
业界传言在3.5 DMIPS/MHz左右。(译者按:从设计角度来看,高通两代核心的定位差不多是这样,Scorpion在A8与A9之间,Krait在A9与A15之间)
N
K@6U_/W XVo+ <& Z TB6m` {F\P3-ub 新的VeNum视频解码单元 @~5Fcfmm ,I]]52+?4 在ARM架构SoC中,所有NEON指令都由专用单元去处理。Krait也不例外,高通将这代NEON专用模块命名为VeNum,吞吐容量比之前的Scorpion提高约50%,可同时处理3个NEON指令。
\O,yWyU4 Ul 85-p 高通处理器的NEON数据位宽均为128bit,以上也是为什么采用高通SoC的智能设备解码视频流能力强的原因。 ,K30.E *Utx0Me 缓存和内存的层次结构 '
eWG v XgeUS;qtta 高通Krait核心具有三级缓存结构,
低级别的两级缓存为每个核心独享,而第三级别缓存为所有核心共享,高通将每个级别缓存按级别从低至高命名为L0、L1和L2.
kK:Wr&X0H y4=T0[
V 每个Krait核心具有8KB L0缓存(4KB指令+4KB数据)。L0缓存可在单周期中直接存取,
高通称L0缓存有85%的高命中率,使得CPU不必经常访问L1缓存以节省能耗。高通采用的缓存层次结构为独家设计,L0缓存中的数据不必在L1中留有副本。
q& KNK O CCC' k 每个核心还具有32KB L1缓存(16KB指令+16KB数据),采用4路组相联设计,同样可以在单周期中访问。
z 9WeOs M[-/ &;`f@ L2缓存为所有核心共享,双核Krait中L2容量为1MB,相比之下Scorpion中为512KB;四核Krait容量将进一步上升到2MB。Krait的L2缓存为8路组相联设计。
Zz'g&ew