最强智能芯 Teqra X1深入解读
- 来源:微型计算机 smarty:if $article.tag?>
- 关键字:英伟达,解读 smarty:/if?>
- 发布时间:2015-03-25 10:26
英伟达每年都会在CES展会正式开展的前一天,单独发布自己的全新移动产品。2013年是Tegra 4,2014年是Tegra K1,而2015年则是Tegra X1。在之前的64位Tegra K1处理器中,英伟达已经带来了自研的Denver核心的CPU和Kepler架构的GPU,那么在Teqra X1上又会有什么新变化呢?
在2015年的CES展会前,英伟达发布了全新的Tegra X1处理器。就像去年这个时候发布的Tegra K1那样,Tegra X1的出现,再次以超强的性能和架构设计吸引了所有人的眼球。虽然由于各种各样的问题,英伟达的移动处理器在Tegra 2、Tegra 3时代之后几乎再也没有出现在手机等设备上(除了Tegra 4版的小米3),但是这并不意味着英伟达就此放弃了这个市场。移动计算市场很大、发展速度很快、可以发掘的点也很多;Tegra X1正是英伟达在兼顾传统市场的情况下,向移动计算及智能设备市场迈出的重要一步。
Tegra Xl:英伟达的Plan B
从英伟达2013年公布的产品计划来看,在使用Kepler架构的Tegra K1过后,是一款代号为“Parker”的处理器。“Parker“使用的是16nm的Fin FET工艺、Denver的CPU核心、Maxwell的GPU核心,其性能相当于2011年发布的Tegra 2的大约100倍。不过事情并非如路线图般顺利。由于英伟达的主要代工合作伙伴台积电在16nm工艺的研发和生产上遇到重大困难,本该在2015年就迈入量产的16nmFinFET工艺直到现在也没有任何具体的产品出现,甚至传闻台积电16nm工艺试产还会延期至2015年中期——这意味着即使台积电一切顺利,本该在2015年早期开卖的“Parker”处理器很可能直到2015年中期还没有投入生产,开卖时间更是要推迟到2016年以后。这整整比路线图晚了一年,要知道移动市场一年时间足以改变一切了,怎么办呢?令人欣慰的是,虽然台积电没有给出革命性的16nmFinFET工艺,但还是搞出来了一个28nm全代工艺之后的“半代工艺”:20nm。不过,台积电的这次20nm工艺也难以令人满意:首先,新工艺只有一个版本,几乎就是专为移动设备而来;其次,新工艺的价格和性能显然不成正比,诸如GPU这样的大核心使用新工艺完全没有任何突出的优势。但形势比人强,于是在2014年的GTC上,早已得知消息的英伟达更改了路线图,Tegra K1后的“Parker”被“Erista”替代,在针对“Erista”的描述中,MaxweII的GPU架构还在,可是“大核心”的Denver架构CPU在当前的工艺下实在“无力回天”,于是从架构图上默默的消失了。现在我们都知道了,“Erista”上消失的Denver架构,被ARM公版的Cortex-A57和Cortex-A53替代了,这就是现在的Tegra X1,也是英伟达的“PlanB”——一款处理器部分采用ARM公版架构、GPU使用了无敌的Maxwell架构的性能怪兽。同时改变的还有性能描述,这次“Erista”的性能只有Tegra 2的大概60到80倍了,比起之前的100倍缩水不少。不管怎样,工艺也是处理器的一部分,只可惜天不遂人愿。不过即使如此,在此状态下诞生的的Tegra Xl,依1日是你未来几个月能买到的最强悍的移动处理器,没有之一。
CPU音B分:除了核心都是自行设计
我们先来看—下Tegra X1处理器的CPU架构和设计。正如前文所说,由于工艺的延迟以及市场竞争的需要,英伟达不得不购买ARM公版架构授权并使用20nm工艺制造以保持自己在市场上的竞争力。在下代产品中,英伟达有可能继续使用自研的Denver架构并加以改进,加强自己在ARM硬件产品架构上的话语权。目前已知的消息是,Tegra X1配备了八颗CPU核心,其中四颗采用了高性能的Cortex-A57架构,剩余四颗采用的是Cortex-A53架构。在缓存规格方面,四颗高性能核心配置了2MB的L2共享缓存,每个核心分别配备了48K BL1指令缓存和32KBL1数据缓存;四颗节能核心总计配备了512KB的L2缓存,每个核心拥有32KB的L1指令缓存和同样大小的L1数据缓存。Tegra X1的缓存设计和Tegra K1的四核版本比较类似,都是高性能核心配置了2MB的L2缓存,高性能核心和节能核心的缓存配置都拥有缓存一致性。
不过根据一些外媒资料,和常见的采用类似核心方案的处理器有所不同的是,Tegra X1并没有直接使用ARM官方的CCI-400总线以及big.LITTLE技术。英伟达宣称自己之前在诸如“4+1”架构的Tegra 3、Tegra 4、Tegra K1等处理器上有着丰富的经验,因此采用了自行研发的总线架构将大小核心对应配置并获得出色的性能和较低的功耗。和big.LITTLE技术有所不同的是,Tegra X1上的设计并非采用常见的全局公开调度(global task scheduling),而是改用了核心簇迁移(cluster migration)一这项技术使得每一对大小核心会在恰当的时候自行切换。虽然英伟达没有明说,但不出意外的话用户看到的应该只有四颗核心,这还有待产品上市后进一步验证;而全局公开调度使用下所有核心都可以被系统自动调用,面向用户的也是八颗核心。一般说来,采用核心簇迁移会导致一定的性能损失,尤其是在没有缓存一致性的情况下,因为数据在核心迁移过程中需要保持不同核心的相同工作状态,因此延迟不可避免。但是据称Tegra X1的方案能够解决这些问题,整体效能也更出色。另外在节能方面,英伟达宣称Tegra X1上所采用的自家System EDP Management能耗管理技术要比ARM官方的IPA更为有效,因此也没有采用公版方案。
在介绍了一堆技术后,英伟达还给出了有关Tegra X1的一些性能、功耗对比。用于对比的对象是Tegra X1的开发机和三星Galaxy Note 4,后者的处理器是Exynos5433,在系统升级后改名为Exynos 7410。根据官方数据,Tegra Xl相比Exynos5433,在相同功耗下能够提供1.4倍的性能,或者在相同的性能下功耗仅为后者的一半。这样的结果看起来很不错,不过一般来说,工程开发机拥有比较好的散热和电力供应,因此处理器比较难以遇到过热降频等问题,但是对安置在手机中的处理器来说,遇到过热降频等问题的可能性就比较高了。因为英伟达没有说明测试的环境和项目,所以这个数据只供大家参考使用。
总的来说,Tegra X1的处理器部分虽然使用了ARM公版的Cortex-A57和Cortex-A53核心,但也仅仅就这样了,因为处理器之外的总线、节能方案甚至处理器之间的组织架构都完全是私有的技术。很显然,英伟达在处理器设计上又向前迈进了一步,不但能够自行研发核心架构,还能从容布局整个处理器其他设计。无论是Tegra K1的64位版本还是现在的Tegra X1,英伟达都在一步步地迈向完全自主设计,力争成为掌控行业上游核心技术的厂商。
GPU部分:无敌的Maxwell
英伟达在GPU研发上转向以性能功耗比为衡量标准是从KepIer架构才开始,从Kepler到Maxwell,人们看到了英伟达在GPU能耗比方面做出的重大进步。在能耗比得到大幅度提升后,桌面使用的复杂GPU架构终于可以在移动设备上大展宏图。尤其是据称Maxwell本身就是专为移动设备设计的,桌面平台更像是其“移植”版本,这也让人们对Maxwell的强悍性能充满了期待。现在,Tegra X1将这种期待变成了现实。
Tegra Xl GPU的技术和规格
先来看有关Tegra X1的GPU架构方面的内容。Tegra X1的GPU包含了两组SMM阵列,其中一组阵列拥有128个流处理器单元(也叫CUDACore),两组就是256个。相比之前Tegra K1的SMX的192个CUDACore,Tegra X1的CUDA Core数量提升了33%,考虑到Maxwell架构更高的性能功耗比,如果输出相同性能的话,Tegra X1的GPU只需要更少的电能就能完成工作。
继续深入每个SMM来看,Tegra X1的SMM和桌面版GPU比如GTX 980、GTX 750Ti几乎没有太大差别,每个SMM内依1日被分割为四个区域,每个区域拥有32个CUDA Core,控制单元等其他组件依1日分成四份,分别对应四个区域。有关Maxwell的核心架构以及CUDACore设计的相关内容,本刊在之前的文章中已经描述过多次,有兴趣的读者可以自行查看。在其他的规格方面,根据官方数据,Tegra X1的GPU部分配备了2组几何处理单元、16个纹理单元、16个ROP输出单元以及64bitLPDDR4内存(和CPU部分共用)。需要注意的是,Tegra X1大幅度提升了GPU中ROP的数量,相比Tegra Kl的4个ROP单元,Tegra X1提升至16个,这显然是为4K@60Hz显示准备的,再加上Tegra X1有效显示带宽的提升,更多的ROP也显得更有价值。
说完了规格,再来看看Tegra X1的相关技术特性。这部分基本上与桌面版本的GPU完全相同,Tegra X1完整支持包括Open GLES 3.1、Open GL4.5、Android Extension Pack(AEP)、DirectX 12.0以及CUDA6等技术规范。在特色技术方面,Tegra X1拥有包括Polymorph Engine 3.0、第三代Delta色彩压缩算法、端到端的存储数据压缩等,其他的图形特技术特性包括完整硬件支持的曲面细分技术、纹理绑定技术、体积光照技术、Multi-Projection加速、保守光栅化算法、多帧抗锯齿等。
这里需要额外提及就是Tegra X1支持的存储数据压缩技术。在桌面端的GPU上,相关压缩技术为桌面GPU带来了不错的效能,但在移动端,受制于功耗和规模,优秀的数据压缩技术带来的可不仅仅是“锦上添花”,反而更像是“雪中送炭”。以Tegra X1为例,它的内存位宽仅为64b㈦即使使用了频率较高的LP DDR4(名义频率应该为3200MHz,带宽25.6GB/s),但是考虑到CPU和GPU对数据的需求,这样的带宽还是严重不足的,尤其在目前移动设备拼命飙升分辨率的情况下,Tegra Xl要实现对诸如4K这样的高分辨率设备的完美支持,数据压缩技术必不可少。
在Tegra X1上,除了在桌面GPU上已经实现的色彩压缩技术外,Tegra Xl还额外支持端到端的存储数据压缩。这一技术的优势在于,GPU和系统内存之间的双向交换以及系统内存到显示控制器的数据传递都使用压缩过的数据,无疑能够大大节约内存带宽和存储资源,尤其是在CPU和GPU共用一个内存接口、带宽明显不足的情况下。根据官方的数据,Tegra X1相比Tegra Kl,在GPU方面可以再度节省大约30%—45%的数据带宽;也就是说以原始数据为100的话,Tegra X1的数据会压缩至35到60左右,数据带宽节省幅度惊人。
Tegra Xl GPU性能预览
说起Tegra X1的GPU性能,就不得不提及官方发布会上那1T Flops的惊人数据。不过英伟达还是耍了一个小花招——并没有说明Tegra X1 1TFlops的性能是在怎样的精度下得来的。如果是FP32,无论功耗还是规模现在看起来都不允许,如果是FP64更是标准的黑科技。现在我们知道了,Tegra X1的1TFlops指的是半精度FP16,它的FP32计算性能为512GFlops。
由于半精度计算较高的效率和较低的功耗,因此在移动设备上的应用还是很广泛的,比如游戏、图形计算以及人脸识别等,都或多或少需要半精度的参与。英伟达推出的车载平台Drive PX就大量使用半精度计算。但是问题来了,Tegra X1所使用的Maxvuell架构GPU,并不原生支持半精度计算(原生支持FP32),那么Tegra X1是如何做到1TFlops的呢?
实际上,Tegra Xl在遇到半精度数据时,会将两个FP16计算合成一个FP32的计算,然后交由原生支持FP32的CUDA Core完成。但是,这样的合成是有条件的,两个FP指令需要都是加法、乘法或者乘加运算。在最理想的情况下,1GHz的Tegra X1能够实现1TFlops的FP16计算(IGHzx2FMAx2xFP16x256),但是在最不理想的情况下,1GHz的Tegra X1只能实现512G Flops的计算一一此时所有的半精度FP16指令都不能合成,只能直接送入FP32的CUDA Core中计算。在实际使用中,无论是1TFlops还是512GFlops都很少出现,因此Tegra X1的真实半精度计算性能在两者之间,根据软件和优化的不同而略有差异,但应该都不会低于800GFlops。目前绝大部分主流移动处理器的GPU都能原生支持FP16,这可能是Tegra X,l使用桌面版GPU所带来的小小遗憾吧。
对于实际的测试性能,英伟达官方给出了三张图表来说明。首先是有关视觉计算性能方面,Tegra 2和Tegra 3、Tegra 4的性能表现都很差,不值一提,真正的改变是从Tegra K1开始,其计算能力大概在400G Flops左右,在Tegra Xl上这个数据提升到了1TFlops。在3D基准测试方面,官方数据显示Tegra Xl的性能最高可达Tegra K1的两倍,至少也能达到Tegra K1的1.5倍,相比苹果A8X,其性能提升也在约0.5~1倍之间。英伟达还单独提及了Unreal Engine 4引擎下的成绩,Tegra X1在高负荷下展示出了比Tegra K1强悍得多的性能,整体性能提升幅度高达1 3倍之多。
没有具体的数据始终不过瘾,现在外媒已经披露出了一些测试成绩。Anandtech的测试表明,Tegra X1在, 1080p分辨率、离屏模式下运行GFX Bench 3.0的Manhattan场景时,平均帧数为63.6FPS,苹果A8X只有32.6FPS,Tegra K1是31.7FPS,Tegra Xl相比后两者高了大约1 00%。在Base MarkX中,Tegra X1的成绩大约是56.9FPS,苹果A8X大约为40.2FPS,Tegra K1则为36.3FPS,Tegra X1比A8X也高了大约41%。更偏向于实际游戏的3DMark中,Tegra X1拿到了58448分,A8X为31871分,Tegra Kl则是36688分,Tegra X1比A8X高了大约83%。至于功耗方面,Anandtech测得Tegra X1的GPU功耗大约只有1.51W,相比A8X的2.67W只有后者的56%;再考虑其性能.基本上Tegra X1的GPU部分能耗比能够达到A8X GPU能耗比的大约2倍。如果这个数据可靠的话,苹果所采用的Power VR系列GPU-直引以为豪的能耗比,在Tegra X1的Maxwell面前几乎不值一提。再加上英伟达去年决定开放GPU lP授权,也许移动GPU市场战火即将开始。
说完了性能,最后来看看GPU部分的功耗。比较奇怪的是官方没有公布任何有关功耗的详细数据,只是给出了Tegra X1和Tegra K1在1080p分辨率、离屏模式下运行GFXBench 3.0的Manhattan场景时性能和功耗的对比情况。可见Tegra X1在相同的性能输出时只需要耗费更少的电能,而相同的功耗下又能提供强得多的性能。
uncore部分:全面支持4K视频
对Tegra X1的CPU和GPU部分都有了比较深入的了解后,下面我们来看—下非核心部分。一般来说,非核心部分并不提供主要的性能输出,但是它们的规格和设计依1日严重影响着用户的使用体验,尤其是在视频播放、摄像头能力等方面。Tegra X1的CPU和GPU堪称性能无敌,那么uncore部分又如何呢?
首先来看带宽。其实前文也有提及,Tegra X1采用了64bit LPDDR4内存接口(可向下兼容LPDDR3),最大可支持LPDDR4 3200内存,带宽可达25.6G B/s。这样的带宽相比之前Tegra K1的14.9G B/s,最大提升了71%,能够更好地满足高负载压力的需求。此外,由于带宽更高、改用LPDDR4以及工艺、架构、压缩技术改进等原因,全新的内存带宽控制器相比之前的产品大概能提升1.1倍的能效比。
Tegra X1的显示输出能力也备受关注。官方数据显示Tegra X1能够支持最大3840 x2160@60Hz的输出能力,相比之前Tegra K1的3200x2000@60Hz提升了大约30%;此外,Tegra X1还可以支持VESA显示流数据压缩功能(Displaystream compression)。在接口支持方面,Tegra X1提供了HDMI 2.0和HDCP 2.2功能,比之前产品的HDMIl.4也大大迈进了一步。
在最受关注的视频编解码能力方面,Tegra X1也非常出色。Tegra Xl支持最高4K@60Hz的H.265、VP9、10bit色彩的H.265的视频解码,编码方面支持4K@30Hz的VP8、H.264、H.265视频编码,这也就意味着Tegra Xl在高清视频播放上几乎不存在任何问题。
其他方面,Tegra×1目前支持eMMC 5.1,ISP方面支持双ISP,最高处理能力为1.3G Pixels/s,支持最大100M像素的摄像设备,最高可支持6个摄像头输入。在JPEG图像编解码方面,Tegra X1的速度高达600MPixels/s,能够充分满足大国片的编解码输出。
英伟达的野望:Tegra X1走向汽车平台
其实,在英伟达Tegra X1的发布会上,对Tegra X1本身的介绍只是一部分,重头戏反而是发布会后半部分两套基于Tegra X1的汽车平台的介绍。这两套汽车平台分别是数字化驾驶员座舱计算套件Drive CX以及自动驾驶计算套件Drive PX。显然,英伟达已经考虑到目前Tegra在手机市场发展遇阻,平板市场整体又处于下滑状态,如果不开启新的市场,那么整条移动产品线就岌岌可危了。好在Tegra系列有强悍的性能和母厂几乎无敌的图形技术打底,在汽车市场上反而具有独特的优势。除了硬件外,多年的驱动、游戏开发合作以及CUDA系列软件开发者的合作,也使得英伟达在软件上颇具实力。汽车厂商正面临着数字化转型,英伟达软硬一起上,市场前景应该非常不错。
先来看看Drive CX。简单来说,Drive CX就是将整个汽车仪表盘完全数字化并附带大量辅助性功能的一整套解决方案。这个解决方案包含了以Tegra X1为核心的硬件设备和以Drive Studio为核心的软件套装,两者相辅相成,形成了整套汽车视觉计算的解决方案。
其实现在很多厂商都在制作针对汽车仪表盘的数字化方案,不过受制于平台性能以及本身的技术缺陷,这些产品实际效果并不令人满意,颇有早期游戏市场2D转向伪3D的感觉——希望加强视觉效果和应用体验,但是却不得门路。直到近来移动计算厂商纷纷加入汽车大战,汽车的数字化转型才拥有了足以支撑华丽视觉效果和强悍、多样功能的软硬件方案。Tegra X1以及Drive CX整套解决方案的出现,又将这种竞争变得更为激烈。根据官方介绍,Drive CX中软件部分Drive Studio基于Android系统,兼容任何Android应用,整个场景输出和驾驶界面渲染完全3D化。
在发布会上英伟达展示了一些应用场景,包括全3D化的导航、立体实现的仪表盘、各种控制信息的3D实现、大量的多媒体功能。此外,由于整套设备基于Android系统,开放性足够,因此也带来了名为“高级驾驶辅助系统”( Advanced Driver Assistance Systems,简称为ADAS)的解决方案,汽车厂商可以和英伟达合作,实现对车身雷达、超声波探测器、摄像头等设备的综合调用和控制,实现自动泊车、辅助变道、适应性巡航控制、汽车安全保障、防碰撞等诸多技术。从应用角度来看,DriveCX的实现比较容易,目前已经有多家厂商准备推出搭载类似技术的车型,这说明对这些技术本身的研发已经很到位了,DriveCX将其综合在一起加强推出,市场阻力应该不大。
接下来再来看看Drive PX。简单来说,这是一套自动驾驶技术的开发平台。硬件方面使用了两颗Tegra X1处理器,浮点性能约2.3TFlops(FP/16),支持最多12路摄像头输入,像素处理能力约为,1.3G Pix/s。在强悍的硬件背后,是英伟达设计的一套自动驾驶系统,这套系统可以根据车体外探测器、摄像头、网络数据的输入信息,综合调用CPU、GPU、VPE、ISP等处理模块,实时处理路况信息,并通过神经网络技术,将信息反馈给云端的Tesla超级计算机,然后获取超级计算机的信息并将处理状况加入学习记忆——这就是一个可以自我学习的、云端和本地联系在一起的自动驾驶机器人控制系统。英伟达还特别介绍,这套系统中CUDA占据了很重要的地位,看来英伟达多年前栽下的树,现在终于要在除了高性能计算之外的行业开花结果了。汽车市场前景无限,CUDA大有可为啊。
在演示中,英伟达展示了在Tegra X1上使用Drive PX的部分结果,可以看到Drive PX现在可以自动识别红绿灯、汽车尾灯,注意并识别道路标志牌、各种类型的车辆、警察、自行车、宠物、儿童等道路上可能遇到的诸多内容,并合理避让或者停止汽车。此项功能衍生的“Surround Vision”自动拍摄停车场的信息,自动规划停车路径并辅助泊车。
不过话说回来,目前自动汽车驾驶还处在早期研发阶段,如此巨大的市场,未来应该如何发展,目前大家都在探索过程中。Tegra X1以及Drive PX的出现,也只能说是英伟达早早就埋下了伏笔,希望至少能在未来庞大的市场份额中分一杯羹。谁都有梦想,万一成功了呢?
Tegra Xl:瞄准更大市场
到这里,有关Tegra X1的介绍就基本结束了。不过临近结尾,大家可能发现有一个内容还没有提及,那就是Tegra X l的功耗表现。在发布会上,官方提及Tegra X1的TDP功耗不会超过15W,随后部分资料显示Tegra X1的功耗大约在10W左右。如此高的功耗,对于Tegra X1在手机、平板等设备上的使用,无疑是巨大的门槛。或许这也是Tegra X1主要应用方向开始向汽车等对功耗不是很敏感的领域转移的原因之一。
当然,这样的高功耗并不是不能控制的,按照半导体芯片的规律,只要降低电压和工作频率,相应的工作功耗自然会随之下降。只不过对于在基带芯片方面存在天生短板,原本就在手机、平板市场处于劣势的英伟达来说,Tegra X1如果为了平板、手机等不确定的市场而降低频率和电压,从而牺牲芯片性能,也许是一件得不偿失的事情。在没有确定的客户之前,以最强悍的性能为卖点更有助于提高Tegra X1芯片的价值。
总的来看,Tegra Xl是一款出色的处理器,它强悍的性能和优秀的架构设计足以应对未来市场一年甚至两年的竞争,尤其是Tegra X1的GPU部分,几乎吊打市场上任何竞争对手,显示了英伟达在GPU研发中强悍的技术实力。现在,Tegra Xl和Drive CX以及Drive PX-起出现,推广重点也放在了智能汽车行业,显示英伟达不再满足于在传统的游戏、移动计算市场打拼,而将目光转向更广阔、更大的市场。Tegra X1对于英伟达来说,也许是迈向更大市场的开端。
文/李实
