其它
趋势网(微博)讯:
一步登“天”
“你说什么?NV终于要换移动智能芯片的GPU架构了?”
“是啊,终于不用再看NV4X的老脸了。”
“那NV这次要换什么架构啊,都三年了,这次总该给我们Unified Shader了吧。”
“厄,听说是Kepler。”
“……不会吧?这么跳跃?NV想要一步登天么?”

两男孩玩火烧死萨摩耶狗主人发声
地铁工地龙门吊坍塌砸中轿车
校长与离异女教师恋爱被定师德不合格
这样“为之一顿”的对话,相信很多关注移动智能平台的用户在最近都经历过。在一个月前的GTC2013上,NVIDIA公布了最新的Tegra芯片路线图,其中最大的亮点莫过于代号Logan,引入Kepler架构的Tegra 5芯片。Tegra 5图形架构的大幅跨越不仅令人眼前一亮,更为业界带来了各种各样的猜测,难道NVIDIA终于要在Tegra上发力,企图甩掉包括高通以及Imagination在内的一系列竞争对手并一统智能移动平台GPU业界了么?

GTC2013上公布的最新Tegra架构路线图
如果您也是这么想的,那我们恭喜您——您中圈套了。
Kepler架构进入移动智能平台的确为NVIDIA在该领域的竞争增添了许多筹码,但这仅是一个通往更深层次目标的努力过程的副产品,并不是NVIDIA的最终目的。NVIDIA的深层目的长期以来并未充分的暴露,但Logan的出现让这一目的更清晰的展现在了我们的面前。在今天的文字中,就让我们一起来看看NVIDIA究竟在打着什么小算盘吧。
Tegra的足迹
在弄明白NVIDIA究竟想干什么之前,我们不妨先来进行一些准备活动,一起回顾一下Tegra的发展历程。按照架构特征以及芯片所处状态划分,Tegra架构发展历程可以被划分成三个不同的阶段——Tegra1,Tegra2~Tegra4,以及Tegra5之后的CUDA Tegra。
作为初涉SoC领域的作品,初代Tegra是NVIDIA发展史上值得纪念的一笔。2008年2月发布的这款基于ARM处理器架构的芯片将NVIDIA从桌面成功的带入了移动芯片领域,它采用了ARM 11内核的处理器搭配改进自NV3X ISA的显示核心,并将这些架构统一集成到一颗单芯片系统(System-on-a-Chip)中,这一搭配形式为后续四代的Tegra芯片奠定了基础。Tegra芯片打开了一片全新的市场,让NVIDIA具备了初步的SoC设计经验,同时也暴露出了NVIDIA在该领域的诸多不足,初期的Tegra芯片甚至被各种bug限制到难以使用的地步。但通过该款产品,NVIDIA还是收集了包括功耗管理模式、单片机系统设计以及异构系统配合在内的许多宝贵经验。

NVIDIA的第一款SoC芯片——Tegra
经过大量的努力改进,NVIDIA终于在接下来的产品中提供了令用户满意的debug结果,那就是Tegra家族的第一款“堪用”的产品——Tegra 2。Tegra 2采用了升级后的ARM处理器架构,双核Cortex-A9以乱序双发射等先进特性提供了较之ARM 11更为出色的处理其性能,而显示部分则部署了基于NV4X ISA改进而来的,拥有1VS+1PS的GeForce ULP。接下来的Tegra 3中,NVIDIA将处理器更换为具有vSMP特性的4+1核心Cortex-A9,GPU部分则在维持ISA的基础上提升规模至1VS+2PS,最新出现的Tegra 4架构再次升级成了4+1核心的Cortex-A15,GPU部分的规模被提升到了6VS+12PS,但整体而言,其ARM处理器+NV4X ISA GPU的布局依旧没有改变,而且最引人注目的是尽管处理器经历了从ARM 11一直到Cortex-A15的三次架构升级,但GPU的架构核心却一致维持在了NV4X ISA。过去三年中Tegra架构的革新演变给人一种NVIDIA一直都在致力于处理器架构的升级和芯片设计经验的积累,GPU端的更新已然被遗忘了的感觉。

Tegra2~4的架构演进
接下来,正当所有人都在猜测NVIDIA什么时候才会升级自己的SoC GPU ISA,让其进入时下最流行的Unified Shader阶段时,NVIDIA却在GTC2013上公布了让所有人都感到意外的新Tegra架构——代号Logan的Tegra 5架构跳过了Unified Shader,直接引入了支持DirectX 11及CUDA、拥有通用计算属性的Compute Shader的Kepler架构,而其后的代号Parker的Tegra 6架构则更进一步的将GPU ISA提升到了Maxwell,并且由此而将异步运算的统一运算架构带入到了SoC领域。这种突然到来的“飞跃”,让我们短时间以内对NVIDIA的SoC架构研发步伐产生了不小的困惑。

基于Kepler架构的GK104核心照片
NVIDIA是一家桌面图形领域起家的计划和目的性都很强烈的公司,它的SoC芯片的图形部分自然会以业已成型的桌面GPU ISA为基础,发展轨迹自然也会跟桌面GPU有相当的重合。NV4X ISA是NVIDIA与2004年4月发布的第二代DirectX 9图形架构,秉承当时图形API的特点,它采用了Vertex Shader和Pixel Shader分离的Custom Shader设计。按照已经存在的桌面GPU产品演进路线,接下来的GPU ISA将会陆续完成从Custom Shader ALU向Unified Shader ALU再向Compute Shader ALU转变的节奏,我们原则上应该会看到基于Tesla GPU ISA(G80/GT200)的改进型才对。
于是我们的问题来了——为什么NVIDIA跳过了Unified Shader,直接大跨度的将Kepler引入到了SoC GPU ISA领域?为什么这一跨越会发生在Logan身上?
为什么是Kepler?
为什么NVIDIA选择了NV4X~Kepler的一步到位的更新?为什么NVIDIA选择在现在放弃custom shader?这其中有许多看上去很合理的原因。工艺制程的升级、Kepler在桌面所表现出的优秀性能功耗比特性产生的吸引、移动智能平台图形API更新到DirectX 11的需求、甚至其他竞争对手造就的压力似乎都可以被拿来解释NVIDIA“一步登天”的SoC GPU ISA升级。但对于我们来说,这些理由都太过表象而且不够坚实,关于NVIDIA跨过Unified Shader ALU架构并直接进入Compute Shader ALU阶段的诱因,我们的着眼点放在了同Logan一起到来的新特性上,那就是CUDA。

CUDA
CUDA(Compute Unified Device Architecture)是NVIDIA在桌面经营了多年的GPU运算环境,它允许CPU和GPU在框架内形成异构计算结构,同时允许程序使用GPU的ALU直接完成数学应用,将其运算能力用以解决图形以外应用需求。在CUDA环境下,GPU具备了并行处理通用数学任务的能力,从而跳出了传统的“图形处理器”的角色限定,很多过去只能由通用处理器来完成的“通用”任务现在都可以交给GPU来完成了。

CUDA架构
CUDA对运算设备的需求与图形API不同,更加偏重于运算和数学应用环境的CUDA要求GPU的通用计算特性更为突出。Unified Shader虽然具备执行数学运算的能力,但其整体结构仍然倾向于吞吐而非灵活,在面对复杂多变的数学应用及自然的运算能力需求时表现并不出色。如果要想让运算机构更高效的执行CUDA应用,比Unified hader ALU更灵活的Compute Shader ALU才是更好的选择。在NVIDIA的发展路线上,衔接在Custom Shader架构也就是NV4X/G7X后面的是G80/GT200,如果为更好的满足CUDA特性需求而绕过Unified Shader架构,那么可选的架构就只有Fermi和Kepler了。相比Fermi,Kepler能够提供更好的性能功耗比特性以及运算特性,所以NVIDIA在Tegra 5中的选择也就不奇怪了。

接近Logan GPU的桌面GPU架构——GK107
Logan中Kepler的“一步登天”,实际上并不是NVIDIA选择激进发展路线,简单的希望借Kepler一劳永逸的解决SoC图形领域性能及性能功耗比需求的表现,它更多是NVIDIA回应CUDA需求所进行的必要抉择。那么接下来,我们的问题就又被向前推进了一步——是谁造就了CUDA层面的诉求,让NVIDIA为了更好的运算特性而在Logan以及其后的Parker架构中引入运算特性更佳的架构的呢?是Tegra的传统目标,当下正如日中天的移动智能平台么?
我们的答案多少有些出人意料,推动CUDA进入SoC领域的要素并不是移动智能平台,而是一个在众人眼中传统的甚至有些古板的“大工业”代表——汽车。
你说什么?汽车?
以Tegra芯片涉足汽车工业对于NVIDIA来说并不是一个新鲜的举动,实际上Tegra最早的用户之一就是汽车工业,Audi最先在旗下的MMI系统中部署了Tegra芯片作为其显示输出设备,紧随其后的兰博基尼、Tesla、宝马以及大众也将不同时代的Tegra纳入到了自己的中控及人机交互界面当中。汽车工业的独特属性及其背后蕴含的巨大利益,是我们得出前页答案的直接原因。

第一代Tegra芯片
首先,同时也是最显而易见的好处就是利润。一套车载Tegra芯片解决方案的售价可以数倍甚至十几倍于移动智能平台的Tegra芯片,原本20美元的产品,在经过更严格的工业设计并符合了汽车工业的质量需求之后,其身价便可以轻松提升至过百美元,而这一过程并不会对芯片良率提出过高的要求,因此也就不会过大的提升芯片成本。所以同样卖一颗Tegra芯片,汽车工业领域能够产生的利润显然远大于移动智能平台。

Tegra最昂贵的的用户——兰博基尼Aventador LP700-4
其次,尽管在很多人眼中传统工业是夕阳产业的代名词,但相比于手机等移动智能平台,传统工业有更加坚韧的需求和生命力。移动智能平台的确是目前最炙手可热的领域,但诚如它对PC尤其是低端PC领域的冲击甚至是取代一样,未来肯定还会有新的“新鲜玩意儿”来取代它的位置。与移动智能平台相比,汽车这样一个拥有百年基业同时无可替代的大工业显然更稳健持久,它的发展不像移动智能平台那样充满了不确定性同时受到种种掣肘(比如说电池),汽车工业造就的刚需所带来的利润也更加丰沛。如果能够抓住汽车工业,NVIDIA自然也就能够获得一张相当不错的“长期饭票”了。

Tegra最新的用户之一:已经发售的2013款BMW 750i
那么汽车工业的Tegra需要些什么呢?传统的显示功能够么?
让我们看看NVIDIA在汽车工业里都打算用Tegra芯片做些什么吧——根据NVIDIA在先期公布的资料,Tegra在汽车工业中的功用主要涵盖信息娱乐与导航、仪表组以及驾驶员辅助三个方面。除了车内显示系统以及影音中控这些传统图形相关的应用之外,NVIDIA还计划让车载Tegra更大范围的介入驾驶员辅助系统,车辆安全系统,车辆环境信息收集系统等等一系列复杂的控制环节。

车载Tegra与CUDA配合实现的各种运算辅助功能
这些环节所面对的任务已经不再仅仅是传统Tegra芯片能够应付的显示输出,它们都需要大量的数学运算和处理过程才能实现。传统汽车工业的做法是加入大量专门设计的FPGA甚至ASIC芯片来完成信息数据的运算和处理,而NVIDIA又没有相关的FPGA/ASIC芯片的解决方案,它显然更希望依赖Tegra架构来完成这部分工作。让Tegra具备完成通用的数学处理过程,能够将运算能力用于显示系统以外的手段是什么呢?
没错——CUDA。
为什么是Logan?
汽车工业为NVIDIA提供了更广阔的前景和利润空间固然是好事,但怎么吃到利润才是问题的关键。为了让Tegra能够在未来顺利的取得汽车工业的长期饭票,NVIDIA确实付出了不少辛劳,它在拓展通用计算的处理能力,提升运算架构性能功耗比,完善CUDA,改善开发环境以及创造生态等领域都进行了大量工作。

G80~GF100架构发展示意
首先,NVIDIA需要准备一个能够执行通用计算能力的硬件架构作为基础,这同时也是NVIDIA每一条产品线都有的需求。在经过了漫长艰苦的努力之后,NVIDIA的GPU ISA最终进化到了形态比较完整且性能功耗比不错的Kepler,这不仅让NVIDIA守住了传统产品线领域,也为拓展汽车工业市场打下了基础。

如果没有移动智能平台,NVIDIA不可能获得SoC芯片的相关经验
智能移动平台不仅是NV大力拓展的新业务领域,同时也是重要的目的实践环节和组成部分,想要以SoC进入汽车工业,首先先要造的出来一颗SoC芯片才可以。NVIDIA曾经是SoC领域的门外汉,它需要这个领域芯片设计制造的经验,而如果在经验匮乏的前提下贸然将复杂度较高的GPU ISA融入到SoC芯片中,不仅会让优秀的GPU ISA受到诸多限制从而损失性能,还会增加形成产品以及获取必要经验的难度。所以在智能移动平台,NVIDIA以难度较低的Custom Shader架构不断完善积累关于SoC芯片的方方面面,并且为更高等级的GPU ISA向单芯片系统领域扩张做着准备,这就是NVIDIA在Tegra上固守NV4X架构长达三年的重要原因之一。

全新的CUDA 5.0
在进行前两步的同时,NVIDIA还进行了非常关键的步骤,那就是CUDA的完善以及相关生态环境的培养。从2008年开始,CUDA的注册开发者数量在NVIDIA不遗余力的推广之下已经形成了数量庞大的群体,这部分开发者的参与不仅为CUDA应用和开发完善提供了支持,同时也为NVIDIA创造与CUDA相关的生态提供了条件。在这些开发者的支持以及NVIDIA自身的投入共同推动下,CUDA得到了良好的完善和丰富,不仅改善了编程环境并提升了执行效率,与硬件的结合日益紧密,同时还向包括工业应用在内的更多通用应用领域进行了拓展。


借由Tegra实现的可自由显示的全像素化多功能汽车仪表组
当一切准备就绪,尤其是CUDA与Tegra芯片的结合已近完成时,NVIDIA将会把上述努力的结果结合在一起进行呈现。Logan的“一步登天”,无疑就是NVIDIA认为自己已经准备就绪的信号。

NVIDIA汽车事业部总监Danny Shapiro
我们不知道NVIDIA是不是打准备做Tegra的第一秒开始就是这么打算的,但整个Tegra架构向汽车工业的拓展无疑是一个漫长而复杂的计划,不可能是黄仁勋前两个月一拍脑门想出来的结果。Tegra对汽车工业的渗透均始于其出现之时,NVIDIA汽车事业部的组建以及宣布将CUDA应用在汽车领域也已经有些年月了,这些迹象都表明NVIDIA对于汽车工业的“觊觎”是早有预谋的。所以别以为NVIDIA的Tegra只是为了抢高通、三星或者苹果的饭碗,醉翁之意不单单在酒,汽车工业同样也是NVIDIA未来努力的重点目标。
属于NVIDIA的“云图”
同往常一样,除了现象以及现象背后深层次的问题之外,我们同样关心现象对未来所产生的影响。全新Tegra架构图的发布以及NVIDIA对汽车工业的介入,无疑为我们勾勒了更加清晰的NVIDIA未来路线,传统GPU ISA、移动智能平台以及汽车工业SoC三者的并存和衔接,将在未来成为左右NVIDIA命运的中心。

属于NVIDIA的“云图”
作为运算架构的最核心,GPU ISA依旧会是NVIDIA全力研发和推进的重点。它的功用依旧和现在一样,除了面向HPC和GRID,应对运算、云计算和工业设计等领域的需求,同时还会向下延伸到PC和个人云,以此为主平台来完善GPU/统一架构的运算能力,开发者环境以及CUDA的应用和生态。所以不用担心什么显卡会消亡之类的事情发生,在相当长一段时期内图形卡都将会继续发展,因为它是NVIDIA运算架构的基础。但现在的低端和入门级将会因为智能移动平台的介入以及核显的崛起而被逐渐取代,因此NV可能会逐步放弃这一领域,将注意力和资源倾斜到千元以上级别显卡市场。

NVIDIA的未来图形架构:支持Stacked DRAM特性的Volta
移动智能平台同样会继续发展,并从GPU架构设计中汲取灵感和先进技术,NVIDIA会将更多先进的桌面GPU架构和技术小型化之后应用于智能移动平台的SoC芯片,同时进一步丰富由此延伸的生态环境,协助完善CUDA,创造收益并积累更多的SoC设计及使用经验,改善Tegra相关的应用并进一步完善和丰富用户体验,进而为汽车工业SoC领域提供更多助益。值得一提的是非常特殊的存在——Shield,它可以与GRID相互形成促进,共同完善生态并成为一个优秀的“试验场”。

Tegra生态的另一助益——Kayla系统
汽车工业SoC的部署将会进一步进入快车道,CUDA的完善度以及SoC芯片的性能决定了汽车工业领域的进度,SoC芯片将开始更多的接管和取代汽车上现有芯片的功用。可以预见的是,NVIDIA不光会将目光局限于车载娱乐机信息系统当中,它最大的野心将在于以一颗芯片完成整个车身中所有PCM包含部分的功能,包括车载信息反馈系统,影音娱乐系统,安全控制及其他工程控制系统。另外,NVIDIA在统一架构中的进度也将会对这一过程产生深层次的影响。

Tegra在汽车领域的应用
受限于篇幅,我们今天关于NVIDIA Tegra架构路线图以及汽车工业的讨论实际上进行的并不完全。尽管我们解析了Tegra架构发展的深层次目的,但对于其中的诸多细节还触及尚浅。NVIDIA“云图”中各个组成部分的关系和联系究竟是怎样的?CUDA的发展状况究竟如何?移动智能平台是否可以说是NVIDIA向汽车工业的一个过渡?统一运算架构在未来又会对Parker架构以及NVIDIA的汽车工业布局产生怎样的影响?还有很多问题需要更为详尽说明才能变得明晰。不能言尽对我们来说是一件很痛苦的事,所以我们会在近期推出本文的后续深入探讨版本,如果您渴望知道这些问题的答案,请相信,我们是不会令您失望的。