ARM阵营的领军者——高通Snapdragon处理器解析

技术讲坛

高通是少数从一开始就发现ARM价值的厂商,在20世纪末ARM还深陷财务泥沼时,高通就开始与其合作,到2002年高通率先购买了新型微处理器内核授权,成为了ARM的重要合作伙伴。这几年,正是凭借基于ARMv7的Snapdragon应用处理器,高通在智能手机处理器领域获得巨大成功,而Snapdragon也成为时下高端手机的“核心”动力。

第一代Snapdragon,开启GHz时代

1. 核心代号天蝎座

第一代Snapdragon诞生于2008年。当时智能手机处理器的频率已经达到624MHz,而主流舆论认为这已经足够了,因此当时频率高达1GHz的Snapdragon一现身就引起了极大的轰动,它标志着手机处理器终于进入GHz时代。

作为搞通讯技术出身的高通,Snapdragon处理器的架构与其他厂商的SoC应用处理器方案有所区别。Snapdragon的核心处理器模块包括两个部分:应用处理计算与MODEM。其中Snapdragon的最大亮点是在应用处理核心部分,它是基于ARM的ARMv7指令集重新设计出来的架构,核心代号为Scorpion(天蝎座)。

Scorpion源于ARM Cortex-A8架构,拥有指标量指令+矢量指令并行处理能力,且支持了NEON DSP核心(高通将它命名为“VeNum”),正因为基本架构相通,ARM的开发工具都可以顺利在Scorpion上执行。当然,Scorpion并不是完全照抄Cortex-A8内核,其中最大的改变就是Scorpion的 “VeNum”处理单元。不同于原版Cortex-A8中的NEON DSP核心,VeNum处理单元可以同时运算128bit数据,是原版的两倍。特别是Scorpion引入更先进的节能技术,VeNum可以在不用的时候关掉其中一半,类似于处理器的功率门限技术。另外,Scorpion的管线阶层也比Cortex-A8稍高,Scorpion具备了13阶load/store管线以及两个整数处理管线,从而让Snapdragon轻松达到更高的频率。当时采用TI高端Cortex-A8应用处理器的手机,最高核心频率都只有600MHz,而在类似的功耗条件下Snapdragon可以运行在1GHz。

2. 收购AMD移动图形技术

Snapdragon也整合了图形处理引擎,只不过采用的是高通自家的Adreno图形处理器。在手机移动GPU领域, ARM的Mali系列、Imagination的PowerVR SGX和高通的Adreno系列图形产品形成了三足鼎立的局面。

高通在2004年与ATI通过合作方式才进入这一领域,最早是将ATI的Imageon技术集成到Qualcomm的7000系列芯片中。直到2009年初,高通在收购了AMD包括图形芯片技术在内的掌上设备资产的基础上,推出了一种全新的GPU品牌体系——Adreno。Adreno GPU至今已经发布了几款产品,包括Adreno 130、Adreno 200、Adreno 205、Adreno 220、Adreno 300,在高通的应用处理器方案中都可以看到它们的身影。

第一代Snapdragon就是采用了Adreno 200,它采用统一的IMR渲染架构,三角形生产率为22M/s,像素填充率为133M/s,这样的规格并不是很出色。不过由于高通芯片的使用率比较高,游戏厂家大多会针对高通的这款方案进行优化,所以这款芯片在实际使用过程中对游戏的支持度和兼容性都非常好。

27-e14-1.jpg
一代Snapdragon代表之芯:Q5D8250

在视频解码与音频解码方面,Snapdragon并没有像Tegra那样拥有独立的处理单元,而只包含Codec,即视频、音效的编码处理都要通过应用处理核心来进行。所以我们看到HTC HD2手机,放视频时电池最多只能用两个小时,跟Tegra十个小时以上的播放时间完全不能比。由于不支持硬解,Adreno 200在播放高清视频时往往会出现掉帧甚至卡顿现象。

第二代Snapdragon,进入45nm时代

第二代Snapdragon在CPU处理核心方面仍是采用基于ARMv7架构的Scorpion核心,只不过采用了45nm工艺。更先进的制程工艺带来的是更强的计算能力和更低的功耗,这点对于越来越强大的智能手机是非常重要的。二代Snapdragon处理核心即便运行在1.3GHz下的功耗也仅为一代Snapdragon在1GHz下功耗的2/3。

虽然CPU处理核心架构并没有改进,但高通在第二代Snapdragon上引入了性能更强的Adreno205图形芯片,它的三角形输出率、像素填充率分别达到41M/s、245M/s,性能是Adreno 200的两倍,与Imagination的SGX540属于一个档次。第二代Snapdragon共有三个型号:MSM7x30、MSM8x55和QSD8x50A,这三款处理器都是采用共享架构设计,它们的区别在于时钟频率不同,主频分别为800MHz、1.0GHz和1.3GHz,均标配Adreno 205 GPU。

27-e14-2.jpg
第二代Snapdragon的代表机型,HTC Desire Z

相信不少朋友感到高通的处理器型号命名比较复杂,很难从型号命名上区分代数。其实最直接的方法就是看内置GPU的型号:配置Adreno 200的属于第一代,配置Adreno 205的基本都属于第二代,而后面谈到的第三代则采用Adreno 220。

对于第二代Snapdragon,大家也许最为熟悉的就是HTC Desire Z和Desire HD,这两款手机都是Desire的后续产品,不过在性能方面有了更大的提升,尤其是Desire Z在主频只有800MHz的情况下轻松超越了一代1GHz处理器的跑分。

第三代Snapdragon,终于跨进双核俱乐部

1.双核处理器上阵

高通是推出应用双核处理器最晚的厂商,直到不久前召开的台北电脑展才正式推出采用双核设计的第三代Snapdragon,目前公布的型号有APQ8060、MSM8260/8660,这三款CPU都是基于Scorpion双核心架构,采用45nm工艺,主频提升至1.2GHz~1.5GHz,三者之间的区别在所支持的网络规格上。

一个处理器上集成两个运算核心,从而提高计算能力,而困难的是如何在性能提升的同时将功耗控制在一个可接受的范围内。第三代Snapdragon处理器最大的特点是支持异步双核工作,每颗核心都负责不同的工作,如果只需要简单的图形计算时,只会开启一颗核心工作,当一个核心负荷不过来时另一个核心才会启动来协同,这可以达到最佳的节能模式。第三代Snapdragon能耗还将降低30%。

虽然APQ8060、MSM8260/8660采用双核架构要比单核处理器在性能上强一半以上,但由于它仍基于A8架构,而A8本身并未考虑双核以及多核的应用,因此它的效率并不高。因此,Scorpion核心未来将升级到Cortex-A9 架构设计,比如未来的QSD8x72处理器将采用全新Scorpion内核。当然新Scorpion核心也并非采用原有ARM Cortex-A9核心,同样针对低功耗进行了全新的设计,频率也将高达1.5GHz,最有可能被用于平板电脑。

2. GPU同步升级

除了采用更强劲的双核心架构外,第三代Snapdragon的图形处理核心也升级到性能更强的Adreno 220,三角形输出率、像素填充率分别提升到88M/s、532M/s,性能比上一代Adreno 205提升50%以上。性能的提升,可以带来多种优秀的图形技术,包括先进的物理粒子和顶点蒙皮、全屏着色处理效果、动态全屏照明Alpha混合、实时仿真贴图、3D动画纹理,以及动态阴影、贴图、反射等着色器。同时第三代Snapdragon在视频解码方面也有极大的改进,可支持1080P视频播放录制,同时内置的GPU芯片可以在解码时保持很低的功耗,并且最大支持24bit WXGA分辨率(1280×800)屏幕。因此,第三代Snapdragon是相当值得我们期待的!

不过,第三代Snapdragon刚面世就面临着诸多竞争对手,比如TI在今年2月就推出最新采用Cortex-A15 架构的OMAP 5处理器,而NVIDIA的Tegra 2处理器在平板电脑方面处于领先,市场份额上升了近50%。面对这种形势,高通目前已经着手准备代号为Krait的下一代Snapdragon。该系列处理器全部采用最为强劲的28nm工艺制造,四核架构,频率高达2.5GHz,并且全部采用新一代的Adreno GPU,支持3D图形显示拍照,并且可以通过HDMI输出1080P视频。第四代Snapdragon处理器将会在2012年正式出货,它带来的强悍性能相信已经可以赶上低端PC水平了。

表27-e14.jpg

总结

从30MHz到1GHz,从单核心到双核心,ARM处理器的发展伴随着的是手机功能的日益强大,这一切的一切都是以处理器性能提升为前提的。在这里面,高通的Snapdragon处理器的推出极大地推动了智能手机的发展,同时也让高通公司的声誉再次达到顶峰。