Tegra 4/4i、Icera i500架构深度解析
扫描二维码
随时随地手机看文章
CES 2013大展上,NVIDIA发布了全球首款四核A15架构移动处理器“Tegra 4”(代号Wayne),伴随而来的是4G/LTE基带“Icera i500”。MWC 2013大会上,NVIDIA又带来了整合基带的“Tegra 4i”(代号Grey),同样四核心,但架构上基于Cortex-A9,而所用基带正是Icera i500。
AnandTech近日撰文,深度解析了Tegra 4、Icera i500、Tegra 4i的硬件架构设计,还有部分性能数据。感兴趣的随我来。
【Tegra 4:A15架构细节、功耗控制】
NVIDIA其实是ARM指令集架构的授权拥有者,但这一次,Tegra 4使用的还是处理器授权,而不是NVIDIA自己设计的定制核心(就像高通Krait、苹果Swift那样的),那要到“丹佛工程”上才能实现。
对于A15的架构情况,之前因为资料有限,我们了解得并不多,而得益于Tegra 4的白皮书等文档,终于可以一窥A15内部世界了。更深入的解析会有机会单独阐述,这里只从较高层面上看看。
A15的架构要比A9宽得多、深得多,整数流水线也从9级增加到了15级,但是分支预测同样改进显著,但愿能比弥补长流水线的缺憾。
A15的前端宽了50%,指令拾取带宽翻番,有利于提升指令级并行(ILP),而为了充分利用三宽度发射,ARM大大增加了重排序缓冲(ROB)和所有相关数据结构的尺寸。A9可以在重排序缓冲内保留大约32-40个已解码指令,A15则能保留128个,仅此一点就足以反映两种架构的巨大差异:A9是基于A8的自然演化,A15则是一次全新的飞跃式革命。
执行核心方面,A15的规模仍然更大,执行端口、执行单元都要比A9的多,均有助于提升ILP、单线程性能,还采用了多重、独立的发射队列的方式,以保持高频率。每一个发射队列都可以接受最多三条指令,所有的发射队列都可以并行分发。
A15也可以执行乱序指令,但能力更强了。A9上所有的浮点/NEON指令都必须顺序执行,但在A15上可以乱序,但是它依然不能重排序所有内存操作:独立载入可以乱序执行,但是存储不能在载入之前完成。
A15还改用了集成式二级缓存结构,而不是A9上的独立IP块。A15的一级、二级缓存延迟基本没变,不过在一些情况下应该会比A9多上1-2个时钟周期。二级缓存TLB和其它数据结构明显增大,以满足整个架构的需要。
缓存容量上,一级还是32KB指令、32KB数据,但是二级增至2MB,并为所有核心共享(Tegra 4的第五个节能核心还有自己的512KB二级缓存),任何核心只要允许都可以单独占用全部2MB二级缓存。
A15是目前唯一可以在性能上超越当今流行A9核心的ARM架构,不过性能也不菲。根据三星最新公布的数据,A15可以提供最多3倍于A9的性能,但核心面积要达到4倍,功耗则要付出6倍。面积还好说,功耗就是大麻烦了。
而为了让大家对新架构的功耗放心,NVIDIA给出了这么一张图:
更多执行资源以提升ILP、更多的乱序利用、更好地内存子系统以提升内存级并行(MLP)、更智能的分支预测、平衡的移动应用功耗……这些都是说A15架构的功耗控制特性的,而下方两行展示了Tegra 3、Tegra 4的功耗对比。
NVIDIA宣称,SPECint2000测试(可充分压榨CPU资源)中Tegra 4/3的单线程整数成绩是相同的,但是Tegra 4的功耗要低40%,再用性能除以功耗,Tegra 4在能效方面要胜出75%。
不过这样的对比并不太公平,因为此时Tegra 3的频率是最高的1.6GHz,Tegra 4则只有825MHz,电压和功耗自然都低得多。Tegra 4如果全速运行,功耗自然要高得多,虽然性能也会上去,但恐怕能效方面不会太好看。
但这也可能成为Tegra 4用于移动设备时的一种政策:刻意限制频率以控制功耗。而之所以选择825MHz,因为它也是第五个节能专用核心的最高频率,一般时候应该是700-800MHz。
顺便说一句,Tegra 4里的四个主力核心都使用相同的电压和频率层,只是每个核心都可以通过电源栅极单独开关,这和Intel的设计方式差不多,但不如高通每个核心的电压和频率层都是单独的。
说起频率,Tegra 4四个主力核心最高都可达1.9GHz,而如果使用少量核心,可以加速到更高速度,具体如何还得看设备厂商的选择。
【Tegra 4i:A9 r4p1架构最新版】
除了不同架构之间的进化,ARM每一个架构也都有不同的版本,比如说同样是A9,Tegra 2使用的是r1p1,Tegra 3里边是r2p9,Tegra 4i又换成了最新的r4p1。
A9 r4p1架构的GHB、二级缓存TLB、BTAC都增大了三倍,赶上了A15的水平,分别有16K、512、4096,这可以改进分支预测精确度,进一步提升IPC。
数据预取引擎也增强了,包括一个小的一级缓存预取器、单独的缓存预载指令硬件。
NVIDIA宣称,A9 r4p1相比于r2p9可以在SPECint_base测试中获得15%的成绩提升,仅仅是架构微调就获得如此好的整数性能改进着实惊人,当然真实情况如何还不太好说。不管怎样,配合2.3GHz的最高频率,Tegra 4i CPU性能会比Tegra 3好不少。[!--empirenews.page--]
根据数据,Tegra 5里每个CPU核心的面积为2.7平方毫米,稍大于高通Krait 800,Tegra 4i则仅为1.15平方毫米。单论最大性能,Tegra 4在三者之中最为突出(高通肯定不服),而在性能频率比、性能面积比上,Tegra 4、Tegra 4i分别是最好的。
【坚守四核心】
Tegra 3是四核心(也可以说4+1),Tegra 4并未继续扩充,NVIDIA移动事业部高级副总裁Phil Carmack也在去年初就坦率地告诉媒体,四核心将是未来NVIDIA SoC的一个标准。
其实,四核心对于处理器来说是个不错的选择:核心和线程数量够多,足以应付多线程负载;每个核心可以单独开关,或者部分休息部分加速,也能很好地执行单线程负载;应用方面已经绰绰有余,核心再多纯属浪费;用户和宣传方面也足够好看了,再多可能就让人反感和质疑了。28nm新工艺和A15新架构加持之下,NVIDIA停留在四核心上是非常明智的。
Tegra 3的核心面积大约80平方毫米,Tegra 4塞入了晶体管,但感谢新工艺,面积稍大了一些但仍在80平方毫米这个档次上。
不过在台积电生产线上,28nm HPL工艺晶圆的成本显然要大大高于40nm LPG,更何况还有良品率问题,所以Tegra 4的成本必然高出不少,后果就是设备价格不会多低。
说实话,Tegra 4并不完全是那种震惊业界、引领时尚的芯片(除了首款四核心A15的名号),但综合来说却是NVIDIA的最佳选择,无论技术上还是商业上。
【Tegra 4/4i GPU架构】
这个话题之前曾经详细探讨过,这里就不再过于深入了,重点看看NVIDIA放出的一些新资料。
Tegra 4 GPU仍然是固定、分离的像素和顶点着色器设计,也是惟一一个没有采用统一着色器架构的现代移动GPU,看起来有些落伍,但仍然占用了不小的核心面积(10.5平方毫米),还有新的二级纹理缓存,用于改进带宽效率。
Tegra 4 GPU各方面都比上一代扩充了不少,总计拥有72个核心,包括48个像素核心、24个顶点核心。Tegra 4i将顶点核心砍去一半,只留下12个,像素核心则保留48个,总计为60个,不过Vec4像素单元从四个较小的变成两个较大的,每个负责领导24个核心。
Tegra 4 GPU最高频率提升到了672MHz,上代为520MHz,Tegra 4i则是660MHz。
T4 GPU像素、顶点单元分布
T4 GPU架构图
T4 GPU架构图
T4 GPU架构效率对比(官方数据仅供参考)
T4i GPU像素、顶点单元分布
T4i GPU架构图
T2/3/4架构图
T4 VS. T3
T4i VS. T3
最大的遗憾当属没有完整支持OpenGL ES 3.0,只是部分支持,比如多重渲染目标等等。这主要是因为Tegra 4GPU的像素着色器硬件浮点精度仍然是FP24,OpenGL ES 3.0则需要像素和顶点着色器都支持FP32。此外也没有ETC、FP纹理支持。
就目前而言,OpenGL ES 3.0支持与否并无太大实际意义,但不支持的话至少在规格上就输了一筹,而且这是大势所趋,一两年后等游戏大量使用它了Tegra 4就会很吃亏。
我们相信,NVIDIA完全有能力做一个支持OpenGL ES 3.0的GPU,但之所以选择不去支持,应该是出于核心面积控制方面的考虑。
【内存子系统】
Tegra前三代的内存带宽都小得尴尬,没法和苹果、三星、高通的比,人家都是双通道了。现在,Tegra 4配备了两个32-bit LPDDR3内存控制器,频率也提高到了1866MHz(未来还会提升),终于有了充足的带宽。[!--empirenews.page--]
Tegra 4并未采用PoP一体封装,因此需要单独的外置DRAM内存颗粒,这显然会限制Tegra 4 PCB的布局,使之在小型设备里会有些局促。
不幸的是,Tegra 4i又成了单通道内存,但幸运的是会支持PoP和独立封装两种规格,其中前者频率最高1600MHz,后者最高1866+MHz。
【Tegra 4性能究竟如何?】
因为没有设备,这个谁也不好说,只能参考NVIDIA官方数据。以下来自一款1.9GHz Tegra 4参考平板。
CPU性能明显高于其它已知的任何ARM、Atom x86设备,GPU性能则宣称可与iPad 4媲美。
【Icera i500基带:软实力很重要】
如果说Tegra 4的故事是关于CPU、GPU架构的,Tegra 4i就是基带了。NVIDIA其实很早就认识到了基带的重要性,2011年收购了Icera,整合就是时间问题了,而且进展很快。
独立的基带芯片Icera i500是伴随Tegra 4发布的,Tegra 4i里整合的也是这个,只是去掉了USB界面,内存子系统也略有不同而已。
Icera的基带其实是很有趣的,架构上是在数字基带的基础上用软件定义射频。当然,纯硬件或者纯软件的基带也没有,都是不同程度的综合,高通也不例外。至于哪些功能是硬件实现的,哪些又是软件做到的,谁都没公开过,具体要看怎样才能最好地控制功耗,做到资源重复利用最大化。
Icera基带更偏向软件这一侧,外置收发器处理向下转换之后就是完全软件的了。这样如何保证竞争力?秘密就在工艺上,NVIDIA选择了侧重性能的28nm HPM,而不是注重功耗的LP、HPL版本:使用高性能工艺,关闭不用的模块,而不是做一个更大、漏电率更低的SoC。NVIDIA宣称,这样可以让i500的面积比高通的MDM9x15小大约40%。
Icera的多年产品线都使用了相同的软件平台,只是随着网络通信技术的变化而更新,这就保持了很好的前后兼容性,毕竟PHY、协议堆栈完全都是软件的。
比如说,i500的多模调制解调软件就和i4xx系列完全一样,只是把改进了DXP使其支持15MHz、20MHz通道的LTE。
整个堆栈的规模是120万行C、DXP代码,编译后体积7.7MB。下图就是整个协议堆栈的示意图。
Icera i500的产品编号是“ICE9045”,28nm HPM工艺制造,搭配收发器型号ICE9245,工艺是看起来很老、但很适合的台积电65nm LP CMOS,通过数字界面与基带通信,执行所有的A2D、D2A。
ICE9045基本支持所有的3GPP通信标准,首发时最高LTE Cat.3,未来会升级到LTE Cat.4(软件编译更新就是了),WCDMA方面支持最高Cat.24 42Mbps(双载波64QAM),延续了i450上的Cat.18 16QAM 2x2 MIMO 28Mbps,不过未来可选升级到Cat.28 64QAM 2x2 MIMO 84Mbps。如果增加第二个ICE9245收发器,还支持4x4 MIMO LTE。
当然还有TD-SCDMA、GSM/EDGE,完整支持AMR-WB、VoLTE/IMS语音。
ICE9045包括两大一小三个DXP单元,其中两个大的最高频率1.3GHz。Icera的指令集也很有意思,分为两个不同的基本集,分别称为C、D。C就是适合C编译器的3GPP协议堆栈,管理物理界面之上的高层功能,是标量的,运行于DXP1单元之上。
D运行在DXP0、DXP2,是私有语言写的矢量指令集,运行于物理层上,正是它配合特定的库给了Icera基带灵活配置的能力。
NVIDIA毫不吝啬地公布了C、D的数据路径,可以看出在LTE配置中一个核心负责所有的反向快速傅立叶变换(FFT)和MIMO矩阵数学,第二个核心负责速率匹配与解码,二者负载基本相同,而且可以通过软件控制让每个核心都运行在尽可能低的频率和电压上。
面对高通已经获得广泛认可的MDM9x15、MDM9x25,Icera i500表现如何还有待考验。从展示的原型机“凤凰”(Phoenix)来看,Tegra 4i连接基站模拟器后可以很好地实现LTE Cat.3 100Mbps,升级到Cat.4还可以接近120Mbps,而这一切都是在出厂两周的芯片上得到的,前景应该不错。
[!--empirenews.page--]
【拍照也有GPU计算加速】
Tegra 4/4i都配备了名为“Chimera”(不同动物各部分构成的假想怪兽)的图像处理器(ISP),部分特性曾在CES 2013上介绍过,现在详细看看。
Tegra 4的创新不仅仅是四核A15,更重要的是通过加入新API,可利用GPU加速实现计算拍照功能,而不是仅仅依靠传统的ISP流水线。NVIDIA在这里对图像处理进行了自主增强,额外增加了GPU加速的“计算摄影拍照架构”,首次实现了HDR全景拍照、HDR静态拍照、实时物体追踪。
Chimera的编程部分我们就不多说了,深入的细节文档也尚未公布,你只要知道除了CPU,现在还可以用GPU来实现很多功能就可以了。值得玩味的是,NVIDIA一直在努力推行CUDA,不知道会不会将它引入到Tegra上呢(那得革新GPU架构)?又或者甚至支持OpenCL?
除了静态照片,Chimera引擎也可以在视频录制上大展身手,比如说HDR视频,传统上需要捕捉两倍的输出帧,想得到720p/30fps HDR视频就得捕捉720p/60fps,曝光也得有两种,捕捉完成后再合成。NVIDIA就将其简化为了单帧,可在CMOS传感器上(索尼IMX135、Aptina AR0833等等)将高曝光、低曝光图像重新交错组合成等量的一帧,而且这都是用GPU完成的,算法也是NVIDIA独有的。
效果也令人印象深刻,NVIDIA宣称可以获得3段式的动态范围(大约24dB),而且看不出人工合成的痕迹。以前的技术很容易在移动物体周围出现光晕和残影,因为那是用两个不同时间的帧合成的,NVIDIA HDR视频里甚至快速运动的物体都很干净。
NVIDIA还展示了HDR全景捕捉,使用标准全景云台GigaPan Epic 100,当然手持拍摄也可以。物体追踪也做了演示,或者说是增强版的脸部追踪,摄像头会提取物体特征,建立相关模型,然后进行追踪,不过对付快速运动的物体效果不是很好。
NVIDIA的拍照调试实验室甚至也向记者开放,他们在那里为设备厂商定制智能手机CMOS,一起调试ISP,提升拍照体验。不同房间里到处都是专业测试设备。
【凤凰:Tegra 4/4i参考样机PCB首曝】
芯片厂商为客户提供参考设计方案(FFRD)已经是流行趋势,高通、Intel都在这么做,NVIDIA也不例外,Tegra 4/4i平台上就是“凤凰”(Phoenix),外观朴实但规格不错,5寸1080p屏幕,LTE,也很轻薄。
凤凰其实有三个版本:Tegra 4、Tegra 4i加外置DRAM、Tegra 4i PoP整合封装DRAM。它们对应的PCB是完全相同的,只是处理器不同,而且Tegra 4的上边多了个Icera i500独立基带。
下边两个PCB分别是Tegra 4i加外置DRAM、Tegra 4。
[!--empirenews.page--]
以下从右到左分别是Tegra 4i处理器封装照片、底部照片、搭配尔必达DRAM。从表面标识可以看到,Tegra 4i不但有Grey这个代号,还有T8A的内部代号。
不过凤凰并没有给人多少机会去实际体验,只能等真正的产品了。
【结语】
Tegra 4无论CPU还是GPU都实现了巨大的进步,在前辈Tegra 3的基础上更上一层楼。ARM Cortex-A15架构有着优秀的性能,不过代价就是功耗高了点。在平板机里,Nexus 10证明它还是可以接受的,而如果NVIDIA的数据可信,A15控制一下频率也能在智能手机中立足,功耗甚至可以低于Tegra 3,就是性能优势也不见了。这不得不手很让人纠结。
Icera i500在基带领域内看起来颇有些竞争力,可以挑战一下高通,也可以让厂商有更多选择。NVIDIA将其收购之后速度也相当快,这么短的时间里就整合到了Tegra SoC之中,成就了Tegra 4i,实测速度也能超过100Mbps。
拍照方面,Chimera ISP架构颇具创新力,也展现了GPU加速在移动领域的潜力。HDR视频捕捉也的确很棒,超过了其它方案,物体追踪也很诱人。
其实呢,不管架构上先进与否,一款移动芯片要成功就得赢得大量产品设计。Nexus 7、Surface RT都是证明,但还不够。如今的Tegra似乎陷入了一个瓶颈阶段,Tegra 4今年能否再次实现重大突破还有待观察,就看能不能把优秀的架构推进到众多产品中了。