毫无疑问,时下火的数码产品当属平板电脑、智能手机等移动互联电子设备。然而不管外观有多小巧、设计有多精妙,没有强劲的硬件性能作保障,终究一切都是白搭。细数平板电脑或智能手机的主芯片,先后涌现出ARM
11、高通Snapdragon、创新ZMS-05/
08以及苹果A4等一大批优秀产品,而名噪一时的NVIDIA Tegra在后起之秀的追赶下其技术优势已不再明显。NVIDIA自然也没闲着,很快便推出新一代的
Tegra芯片,这引起了我们的极大兴趣。
自从本刊2010年2月上刊登了《
NVIDIA“畅享未来移动视觉计算”大会》一文以来,不少读者都对NVIDIA推出的新一代Tegra(以下简称Tegra2)处理器表现出了浓厚的兴趣,尤其关心Tegra2的更多细节和技术解析。为了满足读者们的求知欲,我们特地组织了这篇关于
Tegra 2处理器的技术解析文章,希望能让你认识一个完整、真实的新Tegra处理器。
Tegra2(型号为Tegra 250)基于台积电40nm制程工艺,共包含2.6亿个晶体管,核心尺寸约为49平方毫米,8.8mm BGA封装。在NVIDIA的官方资料中可以发现,Tegra2共有8颗逻辑处理芯片,而上一代Tegra处理器的核心数量为7个。不过这8个处理芯片并非我们在Intel或AMD的CPU中看到的那些传统意义上的处理器核心,而是各有各的用途。
Tegra2的核心架构及功能示意图
首先,Tegra2内建了两颗ARM Cortex-A9芯片。由于Cortex-A9微架构具有两种模式:可扩展式Cortex-A9 MPCore多核处理器和传统的Cortex-A9单核处理器。从以往的成功经验来看,依靠双内核式处理器设计不但能够有效提升产品性能,而且还能较好地控制功耗。因此,NVIDIA设计人员选择了在Tegra2的内部集成两颗独立的Cortex-A9芯片,且各自具备独有的指令缓存(32KB)和数据缓存(32KB),但二级缓存则采用了共享方式。Cortex-A9 MPCore架构运行二级缓存大上限为8MB,估计设计人员可能会采用256KB或512KB设计。为了保证Cortex-A9 MPCore处理器与系统互连之间的数据交互性能,数据交互通道的高速度可达12GB/s。
ARM Cortex-A9的逻辑架构
由于采用了两颗Cortex-A9芯片,Tegra2便有了更强的机动性:针对于需要较高性能的应用环境,提升Cortex-A9芯片的工作频率;针对于性能要求不高的应用环境,降低Cortex-A9芯片的工作频率。不仅如此,Tegra2内建两颗Cortex-A9能够改善当前手持移动设备无法支持后台任务多线程运行的弊端。而ARM11核心虽然也是基于ARM MPCore架构,但是在上一代Tegra芯片中只有一颗ARM11。上市已超过五年的ARM11显然已经难以应付时下主流应用的性能需求,在后继者Cortex-A8和Cortex-A9中,NVIDIA为何选择了后者?尽管没有官方测试数据作为参考,但考虑到苹果公司称“iPhone 3GS的运行速度比iPhone 3G快达2倍”,前者的主芯片为ARM Cortex-A8,要知道Cortex-A9比Cortex-A8的主频更高,达到了1GHz。此外,Cortex-A9具有良好的向下兼容性,之前针对ARM11设计开发的程序代码都能被无缝兼容,这也意味着上一代Tegra的应用软件都可以快速移植到采用Tegra2的设备中。
Tegra2内部对于高清视频信号分别交由两个部分处理,一个负责高清视频编码,另一个负责高清视频解码。其中,Tegra 2能够完成高达1080p H.264格式的视频编码工作,与之对比的是,Tegra仅能实现720p H.264规格的视频编码。这意味着在采用Tegra2芯片的平板电脑或智能手机上,用户能够以720p或1080p规格进行高清摄像,甚至随时随地进行高清视频通话或视频会议。
根据NVIDIA的样机演示,Tegra2的视频解码处理单元真正实现了1080p H.264流畅播放。尽管iPhone 3GS所采用的三星SoC同样号称支持1080p解码,但实际上仅能流畅播放480p H.264视频。此外,Tegra2在解码1080p高清视频时功耗仅为100mW,其它同类产品由于主芯片也参与了部分解码工作,所以整体功耗飙升至1000mW左右。正因为如此,采用Tegra2芯片的5英寸平板电脑可以连续播放接近12小时的1080p高清视频,而采用Snapdragon或Atom芯片的同类产品播放1080p高清视频均宣告失败。
Tegra2的影像处理芯片(Image Processor)并非传统意义上的GPU,大家可千万别误会。这块芯片是负责处理平板电脑或智能手机的静态、动态拍照功能。它支持高达1200万像素的图像传感器,支持自动白平衡、自动对焦和一般视频处理等数码相机常用功能。无论是静态图像还是动态图像,Tegra2的影像处理芯片都支持,并且可以将这些信息输出到下一个重要的处理单元——Tegra2的2D/3D图形处理芯片(2D/3D Graphics Processor)。
不知为何,NVIDIA这次没有过多提及Tegra2的2D/3D图形处理部分。根据我们目前所掌握的资料,该2D/3D图形处理部分与上一代Tegra的架构相似,都支持OpenGL ES 2.0技术,但性能是上一代的2至3倍,且拥有更高的内存带宽和更高的时钟频率。
不同核心的平板电脑在音乐回放时间上的数据对比
上一代Tegra支持32-bit 333MHz的LPDDR1内存总线,带宽为1.33GB/s,而Tegra2支持LPDDR2内存总线,带宽实现了成倍增长。那么,Tegra2的游戏表现到底如何?NVIDIA技术人员在Tegra2技术说明会上进行了演示,用一台基于Tegra2芯片的平板电脑运行虚幻3,在1024×600的分辨率下实现了每秒40帧以上,画面切换十分流畅。
这里不得不提到一家专门为音频播放器提供SoC的公司——PortalPlayer。其中,PortalPlayer 5002音频芯片被用于第1代、第2代以及第3代iPod,PortalPlayer 5020音频芯片则用于第4代iPod、第1代iPod mini以及iriver H10系列等产品。NVIDIA于2007年收购了PortalPlayer公司,而Tegra2中所集成的音频芯片正是出自PortalPlayer之手。该芯片在解码MP3音频时功耗不超过10mW,因此采用Tegra2芯片的5英寸平板电脑可以连续播放音乐达140小时。
或许有人会想不明白,在Tegra2中ARM11和Cortex-A8芯片被性能更好的Cortex-A9所取代,可为何还有一颗更老的型号——ARM7?正所谓“杀鸡焉用牛刀”,ARM7虽然性能不及Cortex-A9,但在Tegra2中仅仅负责诸如电源管理、芯片间任务分配之类的简单活,其性能足矣。
Tegra2要想获得成功,势必需要战胜众多竞争对手,这主要取决于ARM Cortex-A9芯片的性能水平。
Cortex-A9是一款基于Dual-issue的8级流水线设计产品,而不是沿用Cortex-A8的13级流水线设计。Dual-issue意味着什么呢?这表示Cortex-A9向英特尔Atom处理器看齐,具备了同一时间向流水线送入两条指令进行处理的能力。对于Cortex-A9来说,流水线的缩短使得单一时钟周期内处理的数据量更多。按照ARM给出的数据,Cortex-A8的性能指数为2DMIPS/MHz,而Cortex-A9能达到2.5DMIPS/MHz。同时,8级流水线设计比13级流水线有更为出色的功耗表现。一旦出现分支预测失败,导致的性能下降幅度和功耗损失都较13级流水线低不少。
和另一款优秀的移动处理器Atom相比,Cortex-A9又有哪些优势和不足呢?首先,在Atom执行流水线的前端配备了2个指令解码器,它们负责将内存读取来的指令都解析成处理器的内部指令再加以处理,这与Cortex-A9非常类似。其次,两种架构都具备统一的指令列队和4个指令入口。指令入口分配方面,英特尔设计人员把2个入口分给AGU单元与ALU单元,而剩下的2个入口分给FPU单元(用来执行SSE或者其它浮点操作)。Cortex-A9则选择了把2个入口分给ALU,剩下2个入口分别分给FPU/NEON单元和AGU单元。此外,Atom的2条线程可以共享资源并同时执行指令,而Cortex-A9的优势在于较短的流水线设计和乱序执行(Out-of-Order)架构。尽管都是为了提高处理器的执行效能,但二者实现的方式大不相同。如果Cortex-A9的时钟频率能达到Atom的等级,相信它的性能会更强。
正如前文所讲,平板电脑市场能不能火,关键还看硬件性能是否真正满足各种主流应用的需求,对此Tegra2交出了一份满意答卷。相比上一代产品,Tegra2不但性能得到了大幅提升,而且功耗控制不错,兼顾了移动互联设备对于性能和电池续航能力的需求。
据悉,首批Tegra2芯片采用了8.8mm的BGA封装模式,它可以装配在普通PCB上,而针对智能手机的版本将会使用更小尺寸的封装技术,以降低空间的占用。目前已发布或正在开发的基于Tegra2的移动互联终端有50多款,产品类型覆盖平板电脑、智能手机、PMP以及超便携电脑等,相信在不久之后我们便能在市场上买到这些产品。唯一的悬念在于这类产品的价格,但愿不会比其它同类产品更贵,以便让更多消费者体验到Tegra2带来的流畅体验。