博海拾贝

英伟达是如何炼成的?

640

文/常心悦 周文君 温俊 梁晴玟

来源/远川科技评论(ID:kechuangych)

今天,当你走进显卡市场,映入眼帘的各类产品大多属于同一家公司——英伟达(Nvidia)。砥砺多年,如今的英伟达赫然在芯片界拥有着无可撼动的巨头地位。回顾英伟达披荆斩棘的逆袭之路,让我们回到那个群雄林立、硝烟四起的精彩年代:

1993年,30岁的黄仁勋与两位合伙人一起创办了Nvidia,作为自己的而立之礼。

1995年,Nvidia的第一款芯片NV1四处碰壁,公司只剩下30天的周转资金。

1998年,Nvidia推出RIVA TNT,与当时如日中天的3dfx的Voodoo卡分庭抗礼。

1999年,第一颗GPU——GeForce 256诞生,成为Nvidia在显卡史上留下的浓墨重彩的一笔。

2000年,Nvidia收购了曾经的对手3dfx,凭借着GeForce系列加冕为“显卡之王”;另一边,ATI不甘示弱地推出了Radeon DDR,AN对峙拉开序幕。

2006年,经过与ATI长达6年的拉锯战,Nvidia获胜,并发布CUDA架构,迈向了新的革命进程。

十几年的时间说长不长,但放在芯片行业已足够使沧海变桑田,物转又星移。在一轮轮硝烟弥漫的商业战中,对手换了一个又一个,英伟达却始终屹立不倒,不断书写着传奇。

那么,英伟达是如何在群雄争霸、变幻莫测的市场中审时度势,百炼成钢的呢?本文将分五个部分加以分析:

1. 前情概要:从VGA到GPU

2. 首次亮相,出师不利

3. 背水一战,后来居上

4. 定义GPU,对峙ATI

5. 一统天下,发布革命性CUDA架构

前情概要:从VGA到GPU

说到显卡,就不得不提它的由来——VGA Card。最初的显卡称为显示适配器,是不受关注的电脑主板上的小芯片。随着人们对PC图形界面的需求越来越高,显示适配器的彩色显示能力大大增强,VGA card也从主板上独立出来,显卡这才诞生,但名称并未固定下来:

VGA Card的第一代产品,是由ATI发布的 ATI VGA Wonder(图像显示卡),它只有输出图像功能。

到了第二代,Graphics Card(图形加速卡)已经具备了图形处理能力,将CPU从大量图形计算工作中部分解放了出来,微软Windows界面运行更加流畅。

到了第三代,Video Card(视频加速卡)具备了视频辅助解码功能,此时仍是ATI主导发布。

经过了单色、彩色、2D、视频,到了3D时代,显卡市场迎来了新局面。1996年,3dfx旗下的Voodoo系列异军突起。第四代3D加速卡革新了所有PC图形处理器,也开启了显卡史上的“战国时代”。

激烈的市场竞争加快了技术的更迭,1999年,英伟达发布了第五代显卡~GPU(图形处理器),硬件T&L赋予了GPU更多的图形计算能力,显卡由此上升到了与CPU比肩的高度。

从输出图形的微小芯片,到足以与CPU相提并论的图形处理器,显卡一步步从边缘走向舞台中心,而英伟达也是这样逐步登上图形市场之巅的。

首次亮相,出师不利

英伟达的故事,要从1993年说起。

那年,刚从斯坦福毕业两年的黄仁勋怀揣着雄心壮志,与Curtis Priem和Chris Malachowsky两位合伙人创办了Nvidia。英伟达的初衷是瞄准3D领域,研发用于加快游戏中3D图像渲染速度的专用芯片,以带来更逼真的显示效果。

当时的显卡市场情况并不乐观,3D技术蓄势待发,2D统治力仍然在线。

市面上已有20多家图形芯片公司,后起之秀层出不穷,市场趋于饱和。同时段ATI已发展多年,S3又凭借着出色的2D画质,击败了对家Trident,盛极一时。英伟达所面临的对手不可谓不强大。

但彼时的英伟达初出茅庐,工程师们一腔热血,潜心打磨了两年,终于推出了第一款面向游戏主机的图形卡芯片NV1。然而,这样一款被寄予厚望的匠心之作,却差点将英伟达扼杀在摇篮里。

英伟达为什么出师不利?其根本原因还是显卡与API的适配性出了问题。

电脑由不同硬件组成,由软件发布指令驱动硬件完成相应工作。显卡作为重要的硬件,其设计必然要能够执行软件的指令,而连接显卡与软件的重要环节就是图形API。

图形API是一个大量底层图形指令的集合,软件只需将自己所要进行的工作表达成特定的函数,进而根据API中规定好的指令功能设定出函数的执行和指令的调用方式,便可以调用硬件来执行这些函数,完成图形的表达工作。而被调用的硬件,即显卡,其设计则需要遵循API的需求。因此,显卡的实际性能表现是由其与API的契合度决定的。

英伟达在NV1的设计上,集成了最大最全的游戏方案,迥异于市面上的所有其他芯片产品。NV1不仅同时支持2D、3D处理能力,还拥有当时流行的音频处理能力,按理来说性能应该很能打。

然而,英伟达选择了方形绘图来实现游戏的的3D效果,它能让NV1用更少的计算量来显示更光滑的3D物体。

事不凑巧,在NV1发布的同一年,微软开发出了采用多边形成像技术的图形编程接口——Direct3D标准,加上此前SGL发布的OpenGL,两者都是采取三角形绘图渲染。

NV1采取的非主流设计,使它既不支持 OpenGL标准,也不支持后来的 direct X 标准。与主流的API标准相悖,意味着NV1完全无法兼容行业通用标准。

此外,NV1身兼众多功能,这也使开发成本居高不下,产品最终的售价高达399美元,是同期其他同类产品价格的两倍。价格过高和需求不匹的双重压力下,NV1竞争优势并不突出,销量冷淡。

产品刚面世就跌了个大跟头,英伟达举步维艰,运营资金一度只能维持公司运转30天。

纵使NV1让英伟达开局不利,但它让游戏届大佬世嘉看到了英伟达的技术潜力。关键时刻,世嘉将濒危的英伟达拉上了岸。

游戏机与PC不同,有自己的API,而且英伟达集成 2D 和声卡的做法也很适合游戏机。世嘉要求调整 NV1 的架构,并用在土星游戏机上,随后成为了NV1芯片的最大客户。NV1有了用武之地,终于可以大展身手。

有了第一次合作之后,世嘉又找到了英伟达,希望他们来做下一代主机dream cast的显示芯片,但英伟达没有抓住这个机会。在帮助世嘉开发NV2的时候,英伟达坚持基于方形绘图的设计理念与世嘉产生分歧,双方的合作就此中止。

与世嘉合作破裂,研发中的 NV2 芯片也因此流产,但世嘉提供的700万美元开发资助并未收回,这也成为了英伟达的救命稻草。靠着这700万美金,英伟达终于摸到了市场的脉象。

背水一战,后来居上

头两次的失败给初生的牛犊狠狠浇了两盆水。英伟达终于意识到,自己首先是一家公司,其次才是一家技术公司。闭门造车能够成功的前提是出门合辙,衡量硬件开发成功的标尺握在软件的手里。

1997年,英伟达推出全球首款128位3D处理器riva128。riva128使用了三角形绘图,加入了 OpenGL 和 Direct X 等主流 API 的支持。它也是当时最早的支持AGP1x规范的显示芯片之一。此外,riva128采用了当时最新的NV3核心,频率能达到100MHz,制造工艺350nm,晶体管数量300万。

凭借低廉的价格与高性能的2D/3D加速,riva128迅速获得设备制造商(OEM)的认可。1997年底,Dell、Gateway和Micron相继使用了riva 128。零售市场上,Diamond、STB、ASUS、ELSA和Canopus等也都相继推出了基于riva128的产品。

riva128在前四个月内出货量突破100万台,这一成功为英伟达积聚了足够的资金发展后续产品,也让英伟达得以进一步挑战当时的市场霸主——3dfx。

1996年,3dfx公司推出Voodoo图形芯片组。Voodoo是一款为游戏玩家量身定制的产品,专注于3D加速卡, 并支持D3D和OpenGL。Voodoo是一块3D子卡,需要配合2D显卡才能工作,但它可以跑出非常惊艳的 3D 画面。

而英伟达的riva 128,显示核心最大仅仅支持4MB显存,3D分辨率只有800×600,在总体性能上与Voodoo仍有一定差距。

当时的显卡市场,可谓是3dfx一枝独秀。在Voodoo统治市场的鼎盛时期,3dfx占据了3D加速器市场80-85%的份额。

为什么Voodoo会如此受市场追捧呢?原因离不开它独有的 API——Glide。

Glide是专为Voodoo卡打造的底层API,使得Voodoo无须硬件厂商额外提供API就可以直接开发游戏。在当时,Glide被公认为最好的3D接口程序,具有超高的易用性和稳定性。

由于Glide免费授权,90年代后期的绝大部分顶级游戏都支持Glide,比如极品飞车、雷神之锤系列等。当时的 PC 游戏也掀起一股 “Glide” 热潮,即使价格远高于同时期的riva128,不少人依然愿意花高价选择Voodoo。

1997 年 11 月,3dfx推出Voodoo2。Voodoo2性能暴增,它的像素单元从一组升级到了两组,频率从 50 兆提高到了 90 兆。

此外,Voodoo2 还有一个杀手锏——SLI。凭借SLI,机器可以插入两张Voodoo2,获得成倍的性能提升。在那个平均工资都只有 600 块的时代,一张Voodoo2的价格就一度高达 3000元。加上初代Voodoo的成功,不断有游戏厂商寻求合作,最终Voodoo2成为了 3 dfx 最成功的一款产品。

面对强势的3dfx,英伟达紧追不舍。

1998 年,英伟达推出TNT,与 Voodoo2竞争市场。相比 riva 128,TNT像素渲染管线增加到了两根,与此同时,TNT也加入了 32 位色深的支持,相比同期只支持 16 位的Voodoo2,性能大幅提升,成为当时速度最快的3D加速卡。

但由于0.25微米制程在当时没有完善,英伟达只好采用0.35微米制程,TNT也只能在90MHz下工作,实际上,TNT 性能未能赶超Voodoo2,而是互有胜负。

好在,英伟达的渠道广,赢得了各大 OEM 厂商、板卡厂商的信任。在各大厂商的帮忙之下,英伟达扭亏为盈,站上了与3dfx争霸的擂台。

那么英伟达又是如何击败当时的巨头3dfx呢?

在科技的比拼中,实力永远是制胜的第一位。而在瞬息万变的芯片行业,创新与质量便是实力的代名词。

随着微软Direct X的更新完善,3dfx引以为傲的独家API Glide在功能和效率上却仍在原地踏步,因此逐渐失去了游戏开发商的青睐。到了1999年,大量游戏开始转投Direct X和OpenGL。直到2000年12月,3dfx才宣布其Glide专有图形API以开源形式提供。

除了在图形API方面固步自封,3dfx的第二个问题出在代工厂。

为了在激烈战局中维持利润,3dfx于1998年收购了一线板卡厂商STB。但该公司使用的代工厂,与台积电以及联华电子相比,质量和生产成本都完全没有竞争力。

此外,在团结产业链方面,3dfx也犯了大错。由于收购STB,3dfx放弃了其他板卡厂商并收回芯片授权,自己生产显卡。这一举动激怒了技嘉,帝盟等一众板卡制造商,它们纷纷转投英伟达的怀抱。

无独有偶,在此前的1997年,3dfx就因上市需要公开资料,将世嘉DC的详细参数公布于众,导致违约,两家对簿公堂,最终世嘉终止与3dfx的合作。

昏招迭出之下,3dfx后续推出的Voodoo3没能履行其架构和功能设置的承诺。

反观同期英伟达的riva TNT2,则采用了台积电的250nm工艺,并提供了最初的TNT所希望的性能,全面胜过了Voodoo 3。

因而,到了1999年初,英伟达与3dfx的争霸赛逐渐没有了悬念,随着下半年英伟达向市场投以重磅炸弹,显卡市场开启了“楚汉争雄”阶段。

定义GPU,对峙ATI

1999年10月1日,纷争不断的显卡市场响起了一记惊雷。

英伟达发布了GeForce 256 SDR,这是一款基于台积电220纳米工艺、集成了2300万个晶体管的芯片,是世界上第一颗 GPU(图形处理器)。

GeForce 256第一次在显卡中加入了硬件T&L,即transforming&lighting(坐标转换和光照计算),能够进行大量浮点运算,从而将原本依赖于CPU的3D计算剥离到显卡上,释放了大量CPU资源,在使得游戏运行更流畅的同时,也大幅提高了画面的精细度。

显卡的地位随着GPU时代到来而大大提高,成为了游戏电脑中最核心的硬件。

此外,GeForce 256 也是史上第一款256位的显卡,带来了有史以来最大的一次性能提升。首发的SDR版本相比TNT2只过去了半年,性能却有60%的提升,两个月后发布的DDR版本又在SDR版的基础上提升了30%的性能。

英伟达凭借着GeForce 256这张卡皇领先的T&L引擎和翻倍的性能,打得各路对手不知所措。在台式机版本上市一个月后,英伟达宣布了他们第一个适用于专业工作站的产品——Quadro,即基于GeForce 256的SGI VPro V3和VR3。

2000年12月25日,英伟达以 7000 万美元外加 100 万股股票,总计 1.1 亿美元的价格收购了 3 dfx 的资产和专利,此时放眼市场,能够与英伟达一战的只剩下了ATI。

当年,英伟达的利润为4100万美元,是1998年的十倍,相比老牌巨头ATI的1.6亿美元,虽仍有一段距离,但这股增长的劲头不容小觑。

英伟达过关斩将,终于在世纪之交与ATI展开了正面对决,而这场拉锯战一打就是六年。

英伟达的GeForce 256为其带来了无限荣耀,随后发布的继任者GeForce 2 GTS又将上一代的性能大幅提升。在英伟达的步步紧逼下,ATI决定放手一搏,建立一条全新的游戏产品线。

2000年8月,全世界第一张Radeon显卡上市了,它就是Radeon DDR,ATI宣称其为“有史以来为台式PC设计的最强大的图形处理器”,ATI也凭借其卓越的T&L性能和对即将推出的Direct X 8的支持而勉强追上了英伟达的步伐,暂且保住了图形市场份额第一的位置。

但反攻也随之到来。

英伟达于2001年2月27日发布了GeForce 3,给GPU带来了一项突破性的改变——可编程顶点着色器,用于更紧密地控制多边形网格运动和更流畅的动画序列,大大改进了传统的GPU工作流程。

微软随后推出的Direct X(dx) 8第一次引入了Shader model的概念,制定了可编程着色器的标准,使得GeForce 3成为了超高分辨率下的视觉王者。

但由于支持Shader model的游戏当时尚未推出,GeForce 3最初的表现并不出众,这就使ATI有了喘息之机。

ATI在2001年10月推出了新一代的旗舰显卡,Radeon 8500,搭载了大幅改进过的R200 GPU,并首次支持到 dx 8.1,领先于GeForce 3的dx 8,性能几乎达到前一代Radeon DDR 的2.5倍。同时,Radeon 8500还带来了其他先进技术,令微软也对ATI另眼相看。

在GF3系列的低时钟Ti 200和超频Ti 500型号的前后夹击下,Radeon 8500表现依然不俗,A卡从这时打响了“驱动战未来”的名号。

然而,N卡的市占率并没有受到太大影响,这要归功于英伟达对产品线的部署。

早在256时期,英伟达就通过DDR、SDR和TNT三个系列实现了高中低端全面布局,再到GeForce 2时期的旗舰版GeForce 2 ultra、高端GeForce 2 Ti、甜品GeForce 2 Pro、中端GeForce 2 gts 和 低端的GeForce 2 MX,覆盖了显卡市场的每个死角,只有消费者想不到,没有英伟达卖不到。

至此,英伟达控制了32%的图形市场,ATI为19%。

Nvidia在2002年2月发布了GeForce 4,从MX系列到高性能的Titanium系列(Ti 4400和Ti 4600),加上基于TSMC的150nm工艺,全方位满足不同消费者对性能和性价比的需求。

面对GeForce 4出色的销量,ATI破釜沉舟,选择放弃R200的旧架构,用时一年打造出了R300,即Radeon 9700 Pro,这也成为A卡最高光的时刻。

Radeon 9700 Pro有许多“第一”的光环:全球第一款支持DX 9和SM(Shader model)2.0,全球第一款使用AGP 8倍速接口,全球第一款配备256bit位宽的128 MB DDR显存……这枚显卡的核心里包含1.07亿个晶体管,能够完成DX 9的海量浮点运算,还支持高级渲染器语言HLSL,在画面效果大幅飞跃的同时还降低了开发难度。

与R300相比,GeForce 4的性能遭到全面碾压,即使是高端的Ti 4600,很多游戏运行起来也落后R300一倍以上。R300标着和Ti4600相同的定价,提供的却是翻倍的性能,自然广受游戏厂商的欢迎。

面对ATI的逆风翻盘,英伟达这一次没有给出及格的反应。

在错过了微软DX 9架构确立的消息后,英伟达推出的FX系列由于兼容问题和高温自燃事故全面崩盘。

曾经的手下败将3dfx在搬到英伟达之后终于实现了复仇,交出了糟糕的NV30图形芯片——臭名昭著的“吸尘器”FX 5800和速度较慢的FX 5800 Ultra,甚至还落后于预定期限,更别提追上ATI了。

在这一回合里,ATI始终凭借着优越的驱动程序保持领先,市场的天平开始向A卡倾斜。于是英伟达痛定思痛,迅速投入了下一代DX9.0c 显卡的研发。

功夫不负有心人,2004年英伟达又向沉寂许久的显卡市场投下了一颗重磅炸弹——GeForce 6800 Ultra(NV40),首次支持Direct X 9.0c、SM 3.0,叠加Nvidia的PureVideo解码和播放引擎,还引入了SLI技术,即允许多个GPU连接在一起,从而显著提升单台机器的图形处理能力。

另一边,ATI仅在一个月后就拿出了R400c 应对,但只是沿用R300的架构,并不支持DX 9.0c、SM 3.0。

2005年,英伟达与ATI继续交错发布新产品,战况激烈。ATI的年度收入达到22亿美元,创下公司历史最高纪录。然而,净利润却下滑至1,690万美元,这是受累于加速迭代产品和高额的研发费用。光靠ATI的力量已经无力再与英伟达竞争。

2006年10月25日,ATI被CPU巨头AMD收购,AMD因此背负了巨额债务。

负债累累的AMD在CPU方面应战英特尔,在GPU方面应战英伟达,不同的强敌使其一时难以招架,随之带来市场份额下滑与显卡发布延期,这就给英伟达创造了宽松的发展空间,使其进一步抢占了更多的市场份额。

AN争霸战,终于以英伟达的胜利告终。

一统天下,发布革命性CUDA架构

随着显卡大战走向终结,GPU的发展也迎来了一个转折点。

在当时,英特尔的CPU可以通过多线程技术被所有计算机应用分享,但GPU还只能通过OpenGL/Direct X等接口跟用户交互。到了2005年,主要的GPU制造商都使用顶点着色单元和像素渲染单元两种计算资源。然而,合理配置这两种资源的问题却始终没有得到完美解决。特别是两种处理器数量的最佳比例是随应用的变化而变化的,因此经常出现一种处理器不够用、而另一种处理器闲置的情况,这就限制了高性能运算技术的发展。

虽然当时英伟达的传统游戏和专业绘图业务并没有这样的高性能运算需求,英伟达首席科学家David Kirk却认为,从长远看,让原本只做3D渲染的GPU技术通用化,有重大战略意义。

如果能够给GPU装备一组完全相同的、具有较强编程能力的内核,根据任务情况在顶点和片元处理任务之间动态分配,问题就会被完美地解决了,而这套编程体系正是著名的CUDA(Compute Unified Device Architecture)技术。

David Kirk最终说服黄仁勋,投入大量资源研发能够让GPU变得通用化的CUDA技术,并让每一颗英伟达GPU都支持CUDA。这一举动在当时被视为不计成本的疯狂之举,绝对是一场赌上全部身家的押注。

在技术方面,芯片面积增大、散热增加、成本上升、故障率增高;同时,还要保证每款产品的软件驱动都支持CUDA,这对英伟达的工程师来说是巨大的工作量。

在资金方面,一旦项目启动,每年砸到CUDA的研发成本估算就有5亿美元,而当时公司全年的总收入约30亿美元。更何况,在当时CUDA只是一个与公司核心业务关系不紧密的软件平台。最后来看,自CUDA推出以来,英伟达在将GPU转化为更通用的计算工具上投入了将近100亿美元。

从G80开始,英伟达GPU体系结构已经全面支持通用编程,同时英伟达也推出了CUDA编程技术,为GPU通用程序设计提供了第一套完整工具。在G80之后,英伟达又推出G90、Fermi、Kepler和Maxwell等多代GPU,其通用计算能力越来越强大。

而此时,计算行业也正在发生着变革,摩尔定律带来的计算提升速度正在放缓,这也让当初借此统治芯片市场的英特尔地位发生动摇。诸多芯片设计公司试图从无到有打造更专业的芯片,并让该类芯片与英特尔处理器一同运行。

英伟达不需要从头做起,只要重新定位已有的芯片,利用在CUDA项目中开发的芯片和软件,就打造出一个广受程序员和企业欢迎的技术平台。

芯片战争还在继续。

在AI领域,芯片制造商之间的斗争才刚开始。英特尔接连重金收购了可编程芯片制造商Altera、专注于研究深度学习和机器视觉的其他创业公司、还有为汽车生产自动驾驶设备的以色列公司Mobileye。谷歌也在自研人工智能芯片,在TPU的助力下,谷歌在围棋比赛中击败了世界冠军柯洁。

但无论是谁,都无法在通用计算领域真正与英伟达争雄。

尾声

分久必合,合久必分。经历了战国混战、楚汉争雄,英伟达成为显卡市场毋庸置疑的统治者。

但英伟达一路上的挫折实在不少,黄仁勋也不是一个全知全能的创业者。创业初期执意用方形绘图的技术路线,追求尽善尽美的全能产品定义,都是英伟达曾经犯过的致命错误。但是,好在黄仁勋悬崖勒马,在存亡危急之秋力挽狂澜,最终成长为一个在商业上高度理性、却又保持积极进取、知道犯错就打脸改正的企业家。

而英伟达一路崛起和升级打怪的关键,在于敏锐把握商业环境中的关键变量,永远比对手先行一步。

正是在世纪之交的显卡大战中,黄仁勋天才般地聚集了GPU行业成功所需的核心要素:

在图形API上,英伟达开放拥抱direct x和OpenGL,摒弃闭门造车的陋习;

在产品定义上,英伟达率先将硬件T&L等功能从CPU解放出来,重新定义了GPU,并逐渐修炼出娴熟的刀法,为不同的人群和市场定位出高、中、低端产品,最大化市场收益;

在技术路线上,英伟达广泛吸取业界的前瞻性概念并加以激进实现,率先支持shader model和发布CUDA,都是无与伦比的杰作;

在晶圆代工上,英伟达与台积电结成了牢固的同盟,由此开始了长达二十多年的战斗友谊,产业链上游始终稳如磐石;

在板卡和OEM厂商上,英伟达团结了最多的产业链下游,巩固了市场渠道。

在剧烈动荡的芯片市场,黄仁勋在混沌变化的环境中建立了全面稳固的支撑,英伟达的创新冒险也由此变得不再那么高风险而致命,而是可以一步一步,搭建起通往通用计算的天梯,完成对计算世界的整合。

英伟达的神话至今还在延续。太平洋西岸的中国,一场对标英伟达的创业潮徐徐拉开了帷幕。

那么,谁能成为中国的英伟达呢?

来源:远川科技评论 微信号:kechuangych

退出移动版