数码科技

【RV770背后的故事 – ATI小核心成功之路】The RV770 Story: Documenting ATI’s Road to Success

【本文为AMD RV770项目的领导者Carrell Killebrew在2005年与Anandtech会面时,讲述的关于AMD设计RV770的幕后故事。从这篇文章中不难理解为什么从RV770至今,AMD会采取与NVIDIA不同的策略。】

一切的开端都源于这封邮件:

  Hi Anand,

  你和carrell的会面预约在明天下午三点,地点是ATI的Santa Clara办公室五楼大厅。他会告诉你那些770幕后的真正实情

  Chris


这封邮件来自Chris Hook,AMD的PR。在ATI被收购之前,我和他在一起共事了好几年。我总是给他出难题,他很擅长主持各种集会,却没法把我和ATI最优秀工程师面对面的机会处理妥当。



几年前的一次晚餐,看起来Chris Hook当时对我口中吐出的话语毫无兴趣 :)

最近Chris老是想证明我是错误的。他清楚无论是AMD举办的集会,还是每次举办发布会的奇葩地点,我都不怎么关心这些,我只想要产品和工程师们。今年早些时候Chris才私下让一位工程师出来和我交流关于AMD的生产和封装技术(好吧,和我约会很无聊)。那次之后Chris对我增加了一点信任,所以当他发给我上面那封邮件的时候,我就像猎犬一样竖起了耳朵。


为了这场下午三点的会议,我回到ATI Santa Clara,当我步出ATI Santa Clara办公室的电梯时,我听到背后有人叫我名字“Anand”。我回过头去却发现谁也不认识。不过这很正常,因为我是上了年纪的人了,在这个行业里已经干了12年。谢天谢地这次不是因为我健忘,一位后面才知道是Carrell Killerbrew的人根据一张照片认出了我。至于他是根据哪张照片认出我的,我不知道。可能AMD保留了Derek,Gary和我的照片,贴在墙上用于发泄怒气。

我们往前走了大概10米,进了一个小房间,里面有一张桌子几把椅子,桌子中央有一个麦克风。屋里除了我,还有Carrell Killebrew,Eric Demers, Mike Schmit和Mark Leather(基本都是AMD的院士)。


这些人中的大部分我都没有见过,但名字基本都有耳闻。AMD和被收购之前的ATI 在让我们和他们中最聪明的人交流这一点上,一直做得不怎么样。最好情况下我们能和technical marketing的人交流,但是很少有机会能和首席架构师或者任何院士(读作: 公认的天才头衔)打交道。但是今天,在这个房间里,我发现我和AMD的一群院士,一群最聪明的人在一起… 没有人是让工程师守口如瓶的AMD PR。

为了感谢Carrell,你要知道以前和我们谈论GPU的都是市场部的那帮人,说话通常是市场部的那付腔调。他们对付媒体的流程通常是这样的:放些幻灯片,大侃游戏是多么重要,然后会谈论些架构上的东西,谈一下新品,放一些通常我们并不关心的性能数据,最后作个总结。要知道是AMD打造产品,拿给我们媒体测试惊艳众人,还得保持公正性。AMD和媒体之间的交流方式相当没有说服力。


Carrell,却不一样。Carrell Killebrew是RV770项目的领导者。他正是你期望的那类人:领导一群工程师开发GPU。


Carrell作了开场白,他说今天所有的谈话都会被记录下来,他假设所有人对这一点都没有异议。


他问我我想谈什么,他给我了一些话题以供选择,比如GPU未来的趋势,GPU的架构,用GPU来实现视频的转码等等。或者他和其他人,可以谈谈RV770背后的故事。


Carrell最后提出的话题引起了我的兴趣,我从来没有想象过这一点。当RV770在夏天发布的时候,我们想当然的认为这是款很好的产品,它搅乱了NV的架构体系,给了我们在$200和$300美金价位最有价值的产品。那时我们探寻了Readeon 4800系列的架构和性能,但是只花了一页的篇幅来讨论AMD的小核心(small-die)策略。AMD过去8年中一直致力于制造越来越大的GPU。但是在RV770上,AMD反其道而行之,但是那时我居然没有注意这一点。我随意的提到这一点,谈论了下这个策略和NV的策略的不同之处,但是我没有深入进去。

通常情况下,类似AMD这样的制造商告诉我他们做了什么事,我通常都会问“为什么”。当Intel向我介绍Nehalem的cache架构,我问他们为什么要这样设计并稍后发布了我的心得。对4800系列的每一个方面,我们也做了同样的事。Derek Wilson和我花了几个小时给AMD打电话发邮件,我们试图把我们的脑袋包裹起来,以便我们可以用自己的观点来评价RV770的架构。但我们都忽略了最重要的一点:设计GPU的策略。这篇文章我写得很艰难,没有图表,没有架构可以分析。我只是坐在这间房子里,听这些人谈话,这些人在两个小时时间里和我分享过去三年他们干的事情。我想把文章写得客观中立,我希望我会,因为在那个房间里和他们的交流是我跟AMD或者ATI最好的一次交流。



序幕:震惊世界

让我们回到2001年,那时ATI还是独立的公司,正在设计R300(Readeon9700 Pro)。那时NVDIA正统领着市场,ATI还不能推翻NV的王位。最初的Radeon是不错的,但是糟糕的驱动限制了其性能的发挥。Radeon8500不能击败NV的GeForce4,Ti4200赢得了主流市场,Ti4600占据了高端的王位。那时ATI正在讨论Radeon和Radeon8500,公司内部认为要赢得市场,就必须赢得光环效应。如果ATI可以制造出最快的GPU,就能增加品牌认知度并培育品牌忠诚度,不只是卖出高端的GPU芯片,低端GPU的芯片的销售也能因此受益。但是最重要的一点是:那时高端产品的售价是$399–记住这一点。ATI里的每一个人都在思考他们必须设计最快的GPU,击败NV,所以Radeon 8500的继任者是一个大家伙。Radeon 8500采用0.15微米工艺,大概有六千万个晶体管。R300仍然采用0.15微米工艺,但是有1.1亿个晶体管,芯片面积基本是Radeon 8500的两倍。GeForce4大概有6300万个晶体管。即使NV也不敢在150nm的工艺上造如此大的芯片。因此GF4的继任者准备采用130nm的工艺。我们都知道接下来的故事,R300最终被命名为ATI Radeon 9700 Pro,蹂躏了GF4。正如Intel用Conroe蹂躏了AMD一样。R300的成功坚定了ATI的策略:为了击败NV,芯片面积要不断增大。以后每一代的GPU都要更大更快。GPU的战争开始了。



重新评估策略:2005年设计RV770

记住导致成功的因素比记住成功更重要。2005年ATI的处境和当初设计R300的时候相似。R300的成功是因为ATI重新评估了制造GPU的策略。在那个时候,ATI决定造一颗大芯片来赢得高端,并将其转化为每一个价格区间都有竞争力的产品。值得一提的是R300的持续成功还部分归因于NVIDIA在GeForce FX上的失败。这是ATI上演的完美风暴。ATI造了一颗最大的GPU,NV在其后的一段时间里无法回应。正如Intel在试图疯狂提高P4的频率时撞上了功耗墙。但是2005年时,ATI开始发现GPU过于庞大了。设计周期越来越长,芯片面积不断增长。制造如此大的GPU已经不是那么合算了。

img001.jpg

 
ATI认为一颗非常大的GPU,如果没有使用repair structures和harvesting(两种技术我稍后会讨论)的话,只有30%是可用的。意即:对一片晶圆而言,每100个GPU只有30%是功能完好,可以零售的。制造如此复杂的电路成本是非常昂贵的,那些fab的设备造价很容易就达到数十亿美金。所以不能让如此多的晶圆被浪费。谢天谢地有技术可以让30%可用变成90%可用。第一种技术称之为可修复性(repairablility)。其思想非常简单:设计冗余单元。如果芯片某个功能单元包含10个流处理器,实际上要设计11个流处理器。如果有瑕疵出现那么我们可以启用那个备用的流处理器。这种技术通常也用在片上内存(on-die memory)的设计上。这样当某一部分出现问题时,不会导致整个功能单元不能用。但是这个地方通常有个折中,如果你设计了太多的冗余单元,那么你就面临着芯片面积太大的风险,并且这些增大的面积对实际性能毫无贡献。但是如果你设计的冗余单元不够,那么你的良品率就不足。第二种技术称之为Harversting,所有人肯定都很熟悉。其思想是:假设一片晶圆上功能完好的芯片只有很少一部分,但是我们并不丢掉那些有瑕疵的芯片,我们关闭某些功能单元,然后把他们当做低端芯片卖。例如,如果你设计某个功能单元包含了10个流处理器,预期只有30%的产品是10个流处理器都可用,50%的产品可用其中的8个。那么你可以把8个流处理器可用的芯片当做稍微低端的芯片卖。因此这种方法使得一片晶圆上80%的芯片都可用,如果可能的话,你还可以屏蔽更多的流处理器单元,使得接近100%的芯片都可用。良率会随着时间改善,如果你一直依赖于Harversting,那么这种方法最终会损害你的财务表现。在上面的例子中,随着良率的改善,越来越多的芯片10流处理器可用,但是你还是只能当成8流处理器卖。某种意义上说,值一块钱的东西你卖八毛钱。当然你也可以设计8流处理器的新版本,但是这会耗费额外的时间、金钱和工程师资源。GT200系列就是采用Harvesting技术的典型。GeForce GTX 260就是GTX280的Harvesting版本。随着良率的改善,NV推出了GeForce GTX 260 Core 216。但是要注意并没有为GT200系列设计任何的冗余单元。因此GT200系列的芯片上最多有240个流处理器,如果240个流处理器不能用的话,那么就当成GTX260或者core 216卖。与之形成鲜明对比的是RV770系列,两个版本的RV770功能单元的规格都是一致的,所不同的只有频率和功耗的不同。从芯片的角度来看,ATI不必通过卖缩减版本的产品来保证良率。注意,一家公司是否采用Harvesting技术并不会影响终端用户。在这种情况下,GeForce GTX 260 Core 216实际上对终端用户是有利的,因为它具有和4870同样的价值。但是它无助于改善NV的财务表现,如果一家公司长期依赖于Harvesting策略的话,最终是要付出代价的。但是我怀疑NV会在事情变坏之前用55nm的GT200版本使自己全身而退。ATI并不想设计一颗GPU过度依赖于靠repair和harvesting来提高良率。于是一个杀手级的论断出炉:造这样一颗大的GPU并非最符合客户利益。

旁注:设计GPU

在我们深入那些艰深的话题之前,有必要理清头绪。ATI设计RV770花了3年,这意味着始于2005年。从芯片流片成功到最后的产品上市,中间需花费一年时间。另外的一年或是一年半的时间用于设计架构。我现在在Santa Clara碰面的这帮人正在讨论设计2012年的产品。我们正在讨论4 TFlops性能的产品,4倍RV770的性能。今天做出的决定会影响三年后的产品,某种意义上说,这是一场巨大的猜谜游戏。ATI不知道NV在2012年推出什么样的产品,NV也不知道ATI会怎么干。两家公司只是单纯的试图设计出对客户而言最好的GPU,希望自己的设计能在性能,架构和功耗间找到完美的平衡。让我举个例来让你认识到设计时的讨论有多激烈,Carrell,花了三周时间,每天晚上花三个小时来讨论多少冗余单元应该放到RV770里。为RV770设计冗余单元给ATI的挑战比以前的还要大,因为ATI不得不面临芯片面积有限制这个事实。只是简单的增加冗余单元,随之而来芯片面积也增加,这样并不能奏效。RV770里的冗余单元并不能增加性能,只会增加芯片面积。如果对一颗已经很大的芯片而言,这点面积的增加不算啥,但是对一颗瞄准性能级市场,芯片面积被严格限制的产品而言,这是一个巨大的挑战。



设计一颗适合主流大众的GPU

下图是AMD在他的财政分析日上公开的图。
 
img003.jpg
 
 

 对桌面CPU市场而言,性能级产品只占7%左右。虽然这一部分贡献了大量的营收,但是市场的大头是主流级的产品。ATI在2005年就意识到这一点。高端的GPU变得越来越昂贵。R300上市价格是$399,但是随后我们看到$499, $599, $600的GPU。越来越高的价格是由于越来越大的芯片面积,以及采用类似harvesting这样技术,保证不论GPU有多大,营收是稳定的。售价$399的R300同主流级的产品价格是足够接近的,这使得ATI能够花几个月缩减它的规模来占领其他市场区间。但是现在,缩减高端GPU的规模来占领主流级市场所花费的时间已经增加到了6-9个月。到现在为止,我们仍然看不到采用GT200架构的中端产品。NV把GTX280的发布价格定在$600,然后花9个月时间制造出价值$200的中端衍生品,这在ATI看来是在伤害消费者的利益(doing the market a disservice)。现在是时候来重新审视这个策略了。ATI不再想重新裁剪高端GPU的规模来制造中端CPU,他们想设计一款在$200-$300价格区间中最有价值的产品。要这么做就不得不推翻原来的策略,并且希望NV在某种程度上不要采用同样的策略。



打赌, NV会采用这样的策略吗

在2005年的春天,ATI有R480在市场上(Radeon X850 系列)。它采用130nm工艺,是另一颗130nm芯片R420(Radeon X800)系列的改进版。从R420到R480的演进是非常重要的,因为NV会以此来推断ATI未来的行动。ATI仍然在设计R520,也就是Radeon X1800,但是正如你们记得的那样,它延期了。R520的延期引发了多米诺效应,其后的每一个项目都受到了影响,包括R600,当然R600的延期还有其自身原因。当ATI审视R520的时候,发现它很大并且并不合算。因此在R520的基础上设计R580的时候,ATI做了一个让人意想不到的改变:打破1:1:1:1的比例。在R520中,ALU:TMU:ROP:Z的比例是1:1:1:1,但是在R580里,这个比例变为3:1:1:1。增加ALU资源但是不增加纹理单元和显存带宽。ATI注意到,应用程序对shader的运算能力的要求在增加但是对显存带宽的需求并没有增加。这个改变使得从R520到R580的演化远比很多人想象中的大,包括NV。那时X1800并不是很有竞争力,一方面因为它的延期,另一方面也因为G70的确很好。Radeon X1900让ATI重夺性能王座。ATI从R520到R580让人意想不到的变化无疑激怒了NV,NV习惯把持性能王座,它肯定不想王位被ATI夺去。在ATI内部,Carrell正在下一个赌注,他打赌NV会低估R580,NV会像评估R480一样评估R580。他打赌NV会被R580弄得大吃一惊然后弄出一颗比G70大得多的芯片。NV不想丢掉性能王座,G80会是一个怪兽。ATI原计划R520在2005的初夏上市,结果是10月才上市,差不多晚了6个月。正如我之前提到的,这个延期使得后续所有项目都被延期。整个R600家族都受此影响。ATI估计NV的G71会比R520快20%左右,并且不会估计到R580的改变。

diecomparison.png
 

此时,ATI正在计划R600项目,知道这是一个大家伙。最开始预估芯片面积18mm x 18mm,然后变成19mm,然后是20mm。工程师一直在问Carrell,你觉得NV的芯片会比这还大?当然会,因为他们不想丢掉性能王座,在R580之后他们当然要重新夺回。R580的成功是否会影响到G80的大小和功耗在ATI内部一直被讨论。我很确定NV肯定会说他们的设计和ATI毫无关系,但是明显我们都知道ATI的地位,并且Carrell的预计是正确的,G80是一个大家伙。如果ATI要为G80的优秀负责,至少付部分责任,那么ATI自己的死亡就是注定的了。不只是因为G80优秀,还因为R600延期,延得太晚了。R600仍然被R520的延期影响,并且它自身还面临做AA resolve的硬件单元有问题等一系列问题。即便不开AA,R600与G80的竞争也很艰难。ATI丢掉了性能王座,ATI最大的芯片不能和NV竞争,其后一年,ATI的营收和市场占有率都不断下降。而与此同时,Carrell仍然试图让每个人都信服RV770的设计走了一条正确的道路,赢得性能王座并不像R300那会就意味着赢得一切……那时,他的论调听起来就像是一个疯子说的一样。当Carrell和他的同仁们正在规划RV770的时候,他们预想RV770不只是和对手同样大小的芯片相比要好,也要有足够的竞争力。因为NV仍然坚持造过大芯片这个模式。Carrell相信G80的继任者非常大,RV770有优势,因为NV不得不在设计上有很多改变。Carrell和他的ATI同仁将会经历他们生命中的惊奇时刻(Carrell and the rest of ATI were in for the surprise of their lives…,不知道翻译得对不对)。



如果不打破现状,我们会很危险。


在2005年,ATI和NV都面临这样的情况:造一颗最快的GPU,并提供稳定的驱动程序,那么就可以赢得市场。过去几年中,ATI一直是这么干的。但是在公司内部,有一些人认为是时候改变了。在很多方面ATI和NV都面临不同的挑战,NV从之前激进的工艺更新策略中汲取了教训,GT200很有可能仍然采用老的,更成熟的工艺,因此导致GT200的面积很大。ATI选择走一条NV没有走过的路,制造工艺的演进更加迅速,以此造出更小面积的GPU。竞争对手偏爱造一颗越来越大的GPU,ATI分两面看待这个问题,他们没有遇到真正的竞争,他们可以干任何他们想干的事。对ATI而言,问题变成,小核心策略奏效吗?

 
img002.jpg
 
今天我们很容易说:“当然”。但是你要明白那是在2005年,RV770的规格正在被草拟的时候。想象坐在一大群人中,他们的工作一直是制造世界上最快的GPU,但是你却要对他们说,让NV取得性能王座,让NV获得光环效应,我们要做的是设计在$200-$300价格段最好的GPU。当时的情况就是如此。当然接下来就是白热化的讨论,是否ATI能把赌注下在不再造一颗最快的GPU,而是造一颗稍微低端的GPU上。

ATI把图形市场划分为5个区间:狂热级,性能级,平衡寄,主流级和入门级。在2005年夏,ATI决定瞄准性能级市场,而非狂热级市场。你可以认为性能级市场正是2002年R300竞争的市场。R300 $399的价格和Rademon 4870 $299的价格很接近,而GTX280发布的时候价格是$599。ATI把这看作是策略上的改变,R300当时为了性能可以不管芯片面积,而RV770不同,它面临这芯片面积和功耗的明确限制。我们今天知道,ATI内部很多人对RV770大开绿灯。Rick Bergman,决定把他的职业生涯和RV770拴在一根线上,因为如果RV770不成功,他要为此负责。Carrell回忆Rick Bergman和一群人坐在桌子旁讨论RV770的场景;Rick把头转向Matt Skynner,问他是否认为这个策略可行,是否造一颗比NV的GPU更小但是仍然能成功的GPU是可行的,是否我们能在性能级市场上制造光环效应。Matt很显然仔细思考了这个问题,他转向Rick说,我认为我们能。Carrell感到如果没有Matt Skynner的支持,ATI不可能走这条路。而Rick Bergman确保了RV770的项目被良好执行。当然也有很多非常聪明的工程师,他们造就了R300和R580这样的产品,但并不认同这个策略。有些人会说,如果ATI不弄出个和GT200能真正单挑的芯片,游戏就结束了。但是Carrell这样的人会说,这个策略是可行的,因为它是正确的方向。这就像政治,每一方都认为自己的观点是正确的,但是你只能选择一个。并且两方还要同处一个屋檐下,低头不见抬头见。



部分人很沮丧但是整个团队在继续发展

整个RV770设计花了大约三年时间。这意味着当我们讨论R600的失败时,那帮工程师正在设计RV770并对此持乐观态度。当然,这很艰难,ATI因为R600完全丢掉了性能王座。Carrell,Rick Bergman和其他人要求整个团队忘记发生在R600上的事情,忘掉ATI丢掉性能王座这个事情,致力于做好RV770。在我的整个采访中,我一直能感受到这样一个事实:整个RV770团队给ATI留下了深刻印象。整个团队没有分崩离析,尽管有不同意见,尽管对向哪个方向走有过摇摆,但是整个团队仍然团结有力。ATI认为采取不追求绝对性能的设计策略是有意义的,但是如果失去了光环效应怎么办?历史上因为失去光环效应而失败的案例不甚枚举。对此ATI制定了严格纪律,把历史放在一边,做我们认为正确的事情。这不仅要求不受历史的影响,还要同以前养成的观念做斗争,即,要转变这样一种观念:在设计的时候从来不考虑芯片变大的限制。ATI通过RV770取得的成功使我想起了Intel的Atom设计团队。每一个团队成员在设计他们负责的模块的时候都面临着模块大小的严格限制,而这个限制从来不会被妥协。逆境中往往会涌现最好的人。在业界我听过最好的故事,就是Intel设计banias的工程师,以及ATI设计RV770的工程师全身心的投入工作,而不管是否会被击倒。激情以一种有趣的方式成为一个人最强大的盟友。

我们所有人都应该为把功耗当做免费的午餐而感到自责。Intel设计了5年的处理器,从来没有考虑过功耗问题。设计GPU的家伙同样如此。在R300和R420的时代,ATI从来没有考虑过功耗。在那个时候,对功耗的估计是如此的微不足道以至于ATI甚至没有找到一套好的估计功耗的方法。设计一款TDP被限定的产品是不可能的。现在ATI的工具好了很多,现在要达成功耗上的目标和达成时钟频率的目标或是芯片大小的目标没有什么不同。现在,功耗不会有大的变化(想想为什么高端cpu的功耗总是130W附近)。每一个人的设计都面临功耗的限制,现在面临的问题是如何在功耗保持不变的情况下提高性能。现在我们的处理器,无论是cpu还是gpu,变得更加高效,而不是傻傻的堆规模上去以此提高性能。架构上面临一个有趣的问题是,在一颗大约10亿个晶体管的芯片里传递数据要耗费很多的功耗。Carrell告诉我在45nm和32nm阶段,在FPU里传递数据的功耗和这个FPU进行乘法运算的功耗一样多。考虑到数据传递变成了一个越来越高功耗的任务,未来GPU的设计很重要的一点是要尽可能的保持数据存储在本地,减少数据传递到寄存器和片上缓存中。我们能看到更多的本地寄存器(local register)以及更多的多层内存结构。随着芯片变得越来越复杂,把寄存器文件集中放到一个位置越来越困难。

ATI承认在R600的制造上犯了一个关键性的错误。在为R600选择晶体管制造工艺的时候,太执着于性能目标,为了获取更高的时钟频率。这样造成的部分后果是R600那糟糕的performance per watt性能,这一点我们的评测文章也注意到了。从那以后,ATI重新专注于功耗效率。当晶体管越来越小时,漏电也变成一个日益严峻的问题。有时候为了提高那点效率而使得漏电很高并不划算。假设你有一块100W的GPU,你愿意其中的40W都是因为漏电而被消耗掉吗?还是你想要其中的80W用来真正干事情,只有20W被浪费?Intel也同样汲取了P4的教训。



只是一个小问题:我们需要新的内存技术

R600拥有令人难以置信的512bit显存位宽,以此引出的问题是芯片面积很大因为你不得不进行复杂的绕线(route)。为了达成RV770的芯片面积目标,ATI需要256bit的显存位宽。但是如果使用现在的显存技术,256bit的位宽无法提供足够的显存带宽来达成RV770的性能目标。再一次想象那是在2005年,ATI决定完全抛弃过去赢得GPU战争的策略,即使这个小核心策略的成功要依赖于一种新的显存技术,在那时这个新的显存技术甚至连技术原型都没有。那时GDDR5的规范还没有最终确定,没有测试设备,没有界面设计,什么都没有。只知道GDDR5可以提供GDDR3两倍的带宽,这样就可以依靠256bit的显存位宽达成一个512bit显存位宽的目标。这正是ATI想要的,所以ATI决定采用GDDR5.

不幸的是GDDR5能否在2008年夏上市并不只是取决于ATI,内存制造商也有很多问题需要解决。ATI投入了很多金钱和工程师资源来和内存制造商紧密合作,以确保不仅GDDR5的规格要定下来,而且在2008夏GDDR5要可用,性能良好。注意只有RV770会用到GDDR5,这意味着只有ATI来独自推动这项新技术。
ATI做了很多工作来推动GDDR5,这是有风险的,即使RV770性能非常好,但是在上市时如果显存没有准备好,RV770仍然不得不延期。RV770嫁给了GDDR5,没有其他选择了。如果GDDR5不能在3年内准备好并投入生产上市,ATI将面临既没有高端GPU,也没有性能级GPU的窘境。

如果GDDR5工作正常,那么意味着RV770能够成功,并且从另一方面来讲,这是NV所不具备的。当然,这是建立在ATI的小核心策略是可行的基础上……



Dave Baumann拯救了Radeon HD 4850

ATI有这样的习惯:从媒体中选择好的评论员,然后招致到公司里。我们的第一个图形版块编辑,Matthew Witheiler,从杜克大学毕业后就加盟了ATI。在加盟ATI之前,他在AnandTech度过了3年的美好时光。在ATI,他最终成为了最年轻的产品经理。另一个杰出的评论员是Dave Baumann,来自于Beyond 3D。在Beyond 3D,Baumann在分析两款彼此竞争的产品时表现出了卓越的能力。他在ATI的一项主要工作就是在公司内部比较R600和G80,这是发生在2006年11月份的事情。很显然,G80对RV770有重大影响。虽然当时架构已经定了,但是时钟频率,电路板设计,显存大小等等都是在2008年初才定下来。最初,RV770的目标是R600的1.5倍,现在回过头去看,这是不够的。在接下来的一年半里,1.5倍R600的性能变成2倍R600的性能,最终达到了2.5倍R600的性能,而价格却是位于$200 – $300这个区间里。Dave在2008年二月变成了RV770的产品经理。考虑到他加盟ATI并不久,而且这个产品非常重要,这是件大事。RV670让我们看到了ATI重回竞争者的行列,但是ATI需要RV770让他们重回巅峰。
当Dave开始负责RV770的时候,很多产品的规格已经规划好了。芯片已经从fabs里流片回来。在这个时候,ATI的工程师并没有准备好或者并不愿意再对规格做改变。Baumann先生认为RV770XT不错(XT是HD 4870的内部代号),用他的话讲,规格很完美。对4870的唯一修改就是增加了第二条PCIe电源连接线,仅此而已。他关注的是另一个更重要的产品,RV770 Pro,即HD 4850,他认为规格有些低了。

让我们来了解下ATI当时的处境。你的工程师团队过去三年一直在设计一款可能失败的产品,因为这是同过去你所做过的完全不同的产品。你的上一代旗舰级GPU失败了(R600)。RV670做得不错,但是仍然没有从NV手中抢到多少市场份额。你刚刚完成一款全新的GPU的设计,但是这个年轻的产品经理却告诉你必须要做些改变。对Baumann而言,这是有胆识的行动,他并不看重脸面,他要的是帮助他的团队赢得胜利。最后的改变迅速而容易的发生了,这是发生在RV770上的真实故事。


Radeon 4850原来是256MB显存,500MHz的核心频率,900MHz的显存频率。Dave坚持认为4850需要512MB的GDDR3和625MHz的核心频率,以及933MHz的显存频率。他不但坚持这个规格,也使得工程师团队信服了这个规格并做了改变。Dave向工程师们论述为什么要改变规格以及市场需要怎样的规格。在讨论快结束时,他已经不需要说服他们了。板卡和ASIC团队拥护这样的改变。
如果没有这样的改变,4850不能对NV的GeForce 9800 GTX施加如此大的压力,它的价格也不会降得这么快。

最后的小插曲:板卡很快上市开卖

RV770的设计在2008年五月完成,六月开始制造。直到NDA解除那一天,公司内部仍然有人感觉小核心策略是错误的。但是他们后来很快发现这个决定是多么的正确,快得超出他们想象。Radeon HD4800系列最后遇到的一点小障碍发生在上市前一周。当Chris hook打电话给我,告诉我一些4850卡已经在欧洲开卖,我们拿到了第一块HD4850.ATI做了如下规定:我们可以谈论4850的性能,但是不能谈论4870的性能和RV770的架构。在30小时之内,我们发布第一份分析文章,做出了一个很明确的结论:ATI做了正确的事。GeForce 9800 GTX的价格突然暴降,以便维持竞争力,但是即使如此也不够,Radeon HD4850是$199价位最好的卡。
从台湾回来我一直在思考一件事:ATI怎么知道NV的计划或者是NV怎么知道ATI的计划,所以我很问得很直白:你们这些家伙从哪儿得到这些信息?回答不出意外:台湾。所有的板卡制造商都知道两家的信息并且常常共享信息。

ATI计划推进他们这一成功的策略,通过观察路线图我们可以得知,当ATI发布RV770时,NV在G92上没法大做文章。NV力求GT200像G80一样,他发布了一款全新的芯片,把价格定得高高在上,那些农民可能在2010年的某个时候买得起它。已有的产品线已经足够充实了。ATI幸运之处在于NV在2008年只有GT200,而且GT200的性能并不足够强。4850最初目标是性能超过8800GT,击败9800 GTX并不是必须的,毕竟9800 GTX卖$300,而4850只卖$200。4870的目标是击败9800 GTX。但是ATI没有想到的是4870如此的优秀以至于打败了GTX 260。ATI现在卖$300的卡可以和NV卖$400的全新设计的卡竞争。对ATI而言,RV770是一块蛋糕,美味超出预期。每个人都可以闻到它的香味,他们知道RV770会很好,但是他们没有估计到他会如此之好。NV的反应非常迅速,坦白讲,没有哪个公司可以如此迅速的反应,但是这不会改变ATI已经成功的事实。

现在没有人质疑Carrell的想法,每个人都同意这个策略是对的。我的问题是:多久ATI会再一次重新评估他们设计GPU的策略?第一次是2001年,造就了R300;第二次是2005年,造就了RV770。什么时候那些艰难的决定需要再一次做出?可能在2012/2013年前我们都看不到策略的改变。接下来的问题是NV会对ATI的策略做出何种反应?黄仁勋并不会乐意接受失败,尤其是像这样失败。NV仍然有很强的研发实力,过几年我们会看到RV770是如何影响NV的设计。可能NV也意识到小核心策略是对的,可能NV仍然坚持造很大的GPU,或许第三种可能也存在,只是我们没有想到。

接下来是什么?

正如R300一样,RV770的成功部分由于NV的失败。与NV30不同的是,GT200并没有延期,性能也不是差得离谱。它只是价格太高了。ATI制造出RV770很幸运,NV造了一颗如此巨大的GPU,因为它回避了两个主要的风险:55nm和GDDR5。这两点ATI都抓住了。下一轮的较量并不轻松,NV采用了55nm,最终也会使用GDDR5。ATI不可能每年都能发布4800这样的产品。即使现在NV试图通过激进的价格策略拉近差距,但是仍然面临没有任何GT200系列的主流产品的尴尬局面,在2010年之前都不会有。更别提把核心面积为576mm^2的芯片和ATI的260mm^2的芯片卖同样价格对NV财务的影响。Carrell非常坦白的告诉我不可能每一次都能做出完美的产品。他想这样,但是现实中这样是不可能的。有很多因素超出了ATI或者NV的控制,但是有时候机会降临然后又抓住了机会,就会造就4800或是9700 Pro这样的产品。Carrell补充到,在那些外部因素的限制的范围内,ATI能做最有竞争力的产品。在各种情况的限制下,有可能做到最好。也许它不能成为完美的产品,但是可以成为一款好产品。我特别问到RV8xx系列有何特别之处,他告诉我ATI有些非常有趣,非常创新,非常有用的技术会用到RV8xx系列中。我想问更多,但是考虑到Carrell和其他ATI同仁给我的信息,我不能太贪心。


还有Larrabee,最神秘的GPU,intel第一款可编程的GPU。自然的,我和Carrell在最后的30分钟里谈到了Larrabee。ATI和Intel,以及NV,都认为数据级并行会变得难以置信的重要。他是下一次计算机性能发展的新浪潮。我们还不清楚在桌面市场上数据级并行计算会以何种方式进行,但是如果它发生,这是一件大事。这间屋里的每一个人都对竞争对手表现了崇高敬意。像NV一样,ATI把Larrabee看成非常像CPU的GPU。对GPU而言,最大的挑战是让数据并行算法在GPU上能像在CPU上一样实现。ATI承认Intel在这方面有优势,因为Larrabee是基于X86的,对程序员而言,整个开发环境都很熟悉。ATI相信自己的GPU同Larrabee相比在性能上仍然占优(巨大的优势),但是Larrabee自出娘胎起就有编程上的优势。值得一提的是,无论谁制造GPU,ATI,NV或是Intel,程序员仍然需要重写数据并行的代码。ATI相信写出高效的并行代码需要一定功力,难度比程序员通常编写的代码要高一个数量级。如果你能够有效利用GPU的能力,你就能驾驭巨大的计算能力。你只需$170就可以获得大约1 TFLOPS的计算能力。如果你是个杰出的程序员,你当然知道如何看待下一波浪潮……


结语:

Derek和我花了6460个单词完成了4850和4870的评测文章。这篇文章我花了7788个单词。我所做的只是记录了那些导致RV770诞生的决定。我们评测的那些产品,无论好坏,都耗费了大量的心血。芯片架构师的生活是很艰难的,为某个产品呕心沥血三年,仅仅因为一些错误决定就招致一些评测网站尖酸刻薄的评论。如果我搞糟了一篇评测文章,下周我总是可以改正错误。如果一个芯片设计师设计了一个数十亿晶体管的GPU,但是在市场上遭致失败,他/她必须要等几个月或是几年才有机会东山再起。我在想芯片设计公司是否会提供心里咨询服务作为员工福利的一部分。

每一款芯片上市的背后都有数以千计的故事,无论好坏,它们中的大部分都不为人知。部分原因是我们花了如此多的时间在产品的褒贬上以至于我们很少有时间来讲述这些幕后的故事。当然有很多公司并不乐意披露他们的消息。Carrell给我这一级别的交流让我三生有幸,在这一点上,ATI/AMD让我印象深刻。我仍然要谢谢这些人,我所遇到的工程师,以及更多我没有遇到的人。NV也许对RV770团队的努力并不乐意,但是我们都受益了。如果你最终买了4800及其衍生产品,你已经知道你为什么会充满感激。如果你买了NV的产品,有很有可能少花了很多钱。我们常常说竞争对市场而言是好事,但是很少会有像RV770这样鲜明的案例来证明这一点。那些原来值$300的卡现在只值$200,一款全新的卖$400的卡突然间降到了$300。消费者赢了,RV770的团队瞄准了性能级市场,满足了消费者的需求。所有这些都起源于2005年,一些家伙想要掀起一场变革。

后记:这篇文章翻译完后感触颇深,国内论坛总是充斥着偏激,浮躁,半罐水响叮当的人。如果我们能少一分浮躁,多一份冷静,我们才能出现Beyond 3D这样的论坛,也才会出现像Dave Baumann这样的人。希望大家能继续满怀热情的进行自己喜欢的事……

剧毒术士马文

留学中 Comp.Arch|RISCV|HPC|FPGA 最近沉迷明日方舟日服 联系方式请 discord 或者 weibo 私信。目前不在其他平台活动。 邮箱已更新为[email protected]。 看板娘:ほし先生♥

相关文章

2 评论

    1. @Qwa:10年前的文章 复制粘贴的
      不是我翻的 gg

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部按钮