NVIDIA在2013年的CES上召开了自己的专场发布会,发布了Tegra 4 SoC芯片。时间过去了一年,NVIDIA又在CES2014的的专场发布会中发布了全新的Tegra K1 SoC芯片。如果说Tegra 4在2013年的表现的确不够亮眼的话,那么新的Tegra K1会怎么样?这颗被人寄予厚望的产品,能带来NVIDIA又一次新的崛起吗?
2014年1月6日,NVIDIA在CES 2014上发布了全新的Tegra K1处理器。这次发布会上令人震撼的消息主要有两个:首先是NVIDIA在移动平台全面引入了来自于桌面GPU的架构和技术特性,使得移动平台的图形性能、功能向前大幅度跃进。其次是NVIDIA首次公开了秘密研发多年的“丹佛计划”,并将“丹佛计划”的具体成果使用在了Tegra K1中。除此之外,TegraK1还在CPU核心、ISP设计以及节能设计等方面有独特之处。
根据NVIDIA在发布会上的信息,Tegra K1将有两个版本:已经发布上市的版本采用了四核心Cortex-A15的CPU搭配192个CUDA Core的开普勒架构GPU、以及其他一些功能性核心共同组成Tegra K1 SoC。此外,NVIDIA还将在2014年中期发布基于ARM 64位丹佛核心、也同样搭配192个CUDA Core的另一个版本Tegra K1。有关这两个版本核心的具体消息,本文将会做出详细的介绍,这里先来看看大家喜闻乐见的性能比拼。
虽然目前没有厂商宣称已经有Tegra K1的实际产品上市,但在CES2014上,联想新发布的ThinkVision 28 4K显示器搭配了ARM SoC芯片和安卓操作系统(也就是可以化身为特大号平板电脑的显示器),结果外媒记者不小心发现这款显示器使用的竟然是一颗频率较低的Tegra K1。经过简单测试,Tegra K1早期版本的部分性能也大白于天下。
由于时间有限,外媒的测试只包含了3DMark、GFXBench 2.7、安兔兔三个项目。在3DMark的测试中,Tegra K1的总分达到了22285分,超越高通骁龙800 30.5%、超越Tegra 4 34%,超越苹果A7处理器53.6%。在图形部分,Tegra K1的成绩达到了24927分,超越高通骁龙800的Adreno 33038.8%、超越Tegra 4 45.9%、超越苹果A7 31%。在3DMark的物理测试得到的CPU性能方面,Tegra K1的3D Mark Physics成绩达到了16299分,超越高通骁龙800 10.7%、超越Tegra 4 8.7%、更是达到了苹果A7的205%。GFXbench测试中,Tegra K1在公平的Offscreen模式下,平均帧数达到了48帧,远远高出苹果A7的27帧、骁龙800的23帧和Tegra 4的20帧。不过在安兔兔测试中,Tegra K1由于系统、测试软件版本等问题,总成绩甚至没有超越Tegra 4,失去了比较意义。由于测试样机的原因,Tegra K1在这次测试中的频率只有2.0GHz,并未达到之前宣传的2.3GHz。不过即使如此,Tegra K1的性能还是出乎人们的预料。从GFXBench的数据来看,Tegra K1的GPU性能甚至达到了目前高通骁龙800的两倍以上,这是非常惊人的胜出幅度。
除了上述测试外,另一家媒体也得到了TegraK1的测试成绩。他们依旧使用了GFXBench 2.7作为对比,不过对比的产品直接标明了图形核心名称:分别是拥有384个流处理器的NVIDIA GeForce GT 740M(GK107核心,开普勒架构)、Intel HD Graphics 4400和Intel HD Graphics 4200(就是Has NVIDIA一直在推动着Tegra芯片的快速进化well处理器中集成的显卡)、Power VRG 6430(来自苹果A7)、Adreno 330(来自骁龙800)、GeForce URL(来自Tegra 4的72个图形核心)。测试表明,在1920×1080分辨率下,Tegra K1大约能跑出60帧的成绩,性能是GT 740M112帧的大约一半,基本上和Intel HD Graphics 4400的57帧持平,明显超出Intel HD Graphics 4200的47帧,更远超PowerVRG6430的27帧、Adreno 330的24帧和Tegra 4的16帧。
总体来看,这两家的性能测试结果基本吻合,对Tegra K1的性能判断也应该都是真实的,其强大的图形性能令人侧目。这还不算完,NVIDIA表示在压力更大、负荷更重的GFXBench 3.0中,Tegra K1可以达到苹果A7性能的高三倍。那么,为什么Tegra K1的性能尤其是图形性能如此强大呢?
NVIDIA在进入统一渲染管线发展后,旗下G80、GT200、Fermi的CUDA计算核心都是以“大而全”的方向来设计的。一个CUDA Core中除了包含计算部分外,还包含了指令控制的模块。以GF100为例,它的CUDA Core中既包含了整数处理单元,又包含了浮点处理单元,还包含了指令分发、操作数控制和结果排序等模块。这样做的结果是对GPU整体来说,CUDA Core的功能更强大,控制和操作更有效率,但是从另一个角度来说,计算效率不高,尤其是直接应用在性能提供上的晶体管比率较低。因此NVIDIA必须采用CUDA Core和GPU核心分频的方式来保证高性能,这也导致了整个GPU的功耗过高。不仅如此,在Fermi之前的GPU上,指令需要在解码后才完成相关性排序,并且整个指令的相关检查、排序过程是在GPU内完成的,Fermi提供了一个比较复杂的多线程指令排序、控制单元,为GPU提供所有指令的关联性检查、分支预测以及指令处理等,整体效率比较低并且可能需要等待,往往会拖累整个计算流水线。
在开普勒上,上述两个问题都不复存在了。对开普勒而言,底层设计以简单的ALU代替,固定数量的ALU组成一个计算模块(类似于AMD的CU单元,不过AMD的CU是64个ALU一组,NVIDIA将每个ALU都称作CUDA Core),所有的指令排序、控制、缓存等为整组ALU服务,无论是整数还是浮点,经过前端处理后,都能直接送入计算单元进行处理。如果说Fermi时代的每个CUDA Core都配备了相关的指令模块的话,那么在开普勒上,每32个计算单元配备一个指令模块,大幅度提升了提供性能的晶体管比率。不仅如此,在指令检查等问题上,开普勒将有关指令相关性检查的内容转移至解码之前,在经过了相关的排序、选择后,再进行解码,这样指令不会由于相关性检查未通过而返回前端导致效率降低,明显提升了GPU的运行效率。通过上述改进后,开普勒架构就成为我们今天看到的诸如GTX 770、GTX 780等显卡的基本结构。NVIDIA在开普勒架构上的转变,使得开普勒架构的性能功耗比大幅度提升,也使得NVIDIA有机会将开普勒架构应用在对性能功耗比要求极为苛刻的移动计算平台上。
说到Tegra K1的图形性能,就不得不提起NVIDIA强大的桌面GPU架构——开普勒(Kepler)了。作为老牌的视觉计算厂商,NVIDIA的招牌产品就是GPU。桌面市场上,NVIDIA从Fermi时代后开始转向重视GPU的每瓦特性能,开普勒架构的GPU产品是NVIDIA在每瓦特性能上的一次突破。
在之前的Tegra产品上,NVIDIA并没有使用和桌面产品相同的GPU架构,而是采用了老旧的、源自NV40时代以及NVIDIA收购的芬兰公司Hybrid Graphics所提出的混合架构。这个架构的优势在于在当时的情况下,能够提供非常不错的每瓦特性能和每晶体管性能,但是随着技术进步,老架构的问题也逐渐凸显,比如技术支持不够先进,规格落后较多,尤其是在Tegra 4上,竟然无法提供对OpenGL ES 3.0的完整支持——虽然Tegra 4已经支持了部分OpenGL ES 3.0中的关键性技术,但在快速发展的移动图形技术面前,无法完整支持OpenGL ES 3.0不但显得颇为落后,而且很难满足NVIDIA Tegra系列顶级移动SoC的定位。因此,NVIDIA很早就宣称自己肯定会将桌面GPU的技术带到移动平台来。
终于,在Tegra K1上,NVIDIA将完整的一颗开普勒SMX单元纳入了SoC中。其中包括了整个多形体引擎部分(完整支持顶点拾取、曲面细分等功能)、流处理器部分、特殊运算单元、线程调度、L2缓存、纹理模块等全部SMX内容。其他方面,NVIDIA为Tegra K1配备了4个ROP单元和8个纹理单元。L2缓存更是一步到位增加到128KB,基本满足现代GPU计算的需求。总的来说,通过上述步骤,NVIDIA实现了在ARM SoC上从之前老旧的分离式渲染架构到目前先进的开普勒架构的跃进。此外,由于有了完整的一个开普勒核心,因此Tegra K1获得了GPU部分的单精度和双精度计算能力;不过双精度计算能力由于缺乏相关的单元(和GK104一样),其速度是单精度计算能力的1/24。
目前的Tegra K1支持规格是所有ARM S oC中为先进、齐全的。其规格完全支持诸如OpenGL 4.4、OpenGL ES 3.0、DirectX 11、OpenCL 1.2、CUDA 6.0以及移动GPU中常见的ASTC、ETC、DXT等多种纹理压缩格式。相比前代产品Tegra 4,Tegra K1真正做到了规格和性能上的大跃进。
为了证明自己GPU强大的规格以及惊人的性能,NVIDIA在发布会和会后多次展示了由Tegra K1带来的实时渲染DEMO。其中包含了在开普勒发布时展示的人头DEMO,主要展示了皮肤模拟、表情模拟以及曲面细分技术,此外还有基于计算渲染的全局光照技术、Unreal Engine 4基于Tegra K1的多个DEMO等。从这些DEMO的演示效果来看,Tegra K1本身的性能和所能呈现的图形画面是令人震撼的,基本上超越了目前所有主流SoC至少一个世代。在PC平台上几乎所有的特效都可以在Tegra K1上呈现,虽然由于Tegra K1本身性能问题、部分DEMO缩减了特效,整体效果无法做得很完美,但至少Tegra K1在图形部分的跨越性和颠覆性毋庸置疑。
在Tegra K1发布时,NVIDIA还抛出了一份对比,宣称TegraK1的浮点计算能力高达365GFLOPS,已经远远超越了PS3和XBox 360。虽然这样的对比有吸引眼球的意味在内,但是不得不说,Tegra K1的具体性能还是非常令人满意的。目前一些消息称部分PC游戏在经过简单的处理后,就能直接运行在Tegra K1上,效果甚至不亚于PC平台。考虑到目前有多家厂商宣布基于Tegra 4的游戏机产品问世,我们不禁期待,Tegra K1的游戏机产品如果能以较低的价格,在安卓平台上达到XBox 360、PS3的水准,是否会引起一场革命?
第三方媒体公布的NVIDIA Tegra K1的性能测试,可以看出Tegra K1的性能已经超过了桌面级集成显卡Intel HD Graphics 4400。
Tegra K1的图形核心源自开普勒架构。从开普勒架构开始,NVIDIA在设计GPU时首先注重的是移动平台和性能功耗比。
由于基础架构一样,因此Tegra K1支持几乎所有桌面显卡的功能特性,同时功耗控制在2W以内。
NVIDIA在发布会上用搭载了Tegra K1的平板演示了著名的DirectX 11时代的人头DEMO,震惊全场。
根据NVIDIA官方数据,Tega K1的图形性能已经超越了XBox360和PS3。
下一代Tegra将使用性能功耗比更为优秀的Maxwell产品,从而保持和桌面端同步。
大量的功耗控制技术保证Tegra K1即使使用开普勒架构的GPU也能将功耗控制在2W以内。
开普勒的确很强大,但还有一个问题挥之不去,那就是功耗。开普勒再强大,依旧是面向桌面用户的产品,在SoC产品中能使用吗?根据NVIDIA在发布会上的数据,Tegra K1在GPU部分的功耗不超过2W,真的这么低?
这个数据实际上是有可能达到的:以GeForce GT 740M为例,这颗移动平台使用的GPU拥有两个SMX核心,包含了384个CUDA Core,它的TDP功耗为19W。其中3W左右会被用在内存控制单元、PCI- E总线以及其余的非GPU部分,这样剩余的功耗只有16W。此外,由于工艺改变,大约6W的额外漏电不复存在(Tegra K1采用了漏电更低、更适合移动平台的HPM工艺,并非桌面GPU使用的HP等工艺),功耗进一步降低到了10W左右。考虑到Tegra K1只有1个SMX,因此功耗会被控制在5W左右。在Tegra K1中,GPU观察到的大频率只有900~950MHz,比桌面动辄1GHz以上低了不少,而且使用的电压会更低,因此功耗降低到2W~3W并非难事。况且NVIDIA本身就对GPU的动态频率、动态电压技术烂熟于心,在动态调整的情况下实际运行功耗还会进一步降低。
除了本身在规格上进行改动外,NVIDIA还使用了大量的技术来保证Tegra K1的功耗不会超标。在GPU部分,NVIDIA使用了诸如Rail Gating(轨道栅极)、Power Gating(功率栅极)、Multi-Level Clock Gating(多极时钟栅极)、Optimized Interconnectand Data Patch(优化的互联和数据模块)、Idle,Low- utilizationand Active Regimes(闲置、低功耗和活跃状态的功耗控制)等多种技术来保证GPU功耗在绝大多数状态下都能处于较高的性能功耗比状态。
根据NVIDIA的数据,Tegra K1的GPU性能功耗比相比骁龙800的Adreno 330和苹果A7的PowerVR SGX6400大幅胜出。在NVIDIA给出的测试环境(GFXBench 3.0以及1080pOffscreen分辨率)中,Tegra K1在提供相同的性能时,功耗表现都远远好于对比机型,其每瓦特性能是对比机型的1.5倍。
NVIDIA在Tegra K1的发布会上还额外提到了色彩压缩技术,其技术思想并不困难,不过实现起来还是不太容易。简单来说,目前很多平板电脑、手机显示内容在像素级别来看,大部分都是相同的。比如一张黑色的背景上面漂浮着几个图标。除了图标和文字区域外,别的黑色背景部分的像素完全一样。还有网站的网页显示,大部分都是白色背景。这些黑色、白色以及其它的均一色彩部分,虽然简单,但是都牢牢占据了显示带宽——GPU又不认识哪些是一样的背景,哪些是内容,因此只能统统显示。色彩压缩技术的难点在于智能识别不需要压缩的文本和需要压缩的色彩部分,因此一直以来都没有很成熟的方案。
在Tegra K1上,NVIDIA提出了一种色彩压缩技术。简单来说,NVIDIA希望通过一种特殊的算法,将平板电脑上相同的色彩尽可能地压缩以节省带宽、从而降低能耗并提高效率。尤其对网页显示、背景显示等内容来说,色彩压缩后数据的节省能够提高能耗比。官方展示中,在待机画面下,Tegra K1的GPU经过色彩压缩后节约了多76%、少43%的数据带宽,整体表现很不错。需要注意的是,色彩压缩技术只对2D画面有效,3D画面下由于生成图形快速而多变,因此色彩压缩技术是无法实现的。
Tegra K1的色彩压缩技术对静态画面高可带来76%的带宽节省。
NVIDIA Tegra K1的大变化是采用了192个与PC同代次的开普勒架构CUDA Core,从而实现了手持移动芯片图形性能的飞跃。从之前的技术分析中,我们就可以认识到Tegra K1在图形性能方面的提升。不过,Tegra K1之所以被称为“革命性”的手持移动芯片,除了GPU部分的革新外,还有更多的创新被融合进包括CPU在内的其他部分。