写在访谈之前
当我步出AMD Santa Clara办公室的电梯时,我听到背后有人叫我名字。我回过头去却发现谁也不认识。不过这很正常,因为我是上了年纪的人啦,在这个行业里已经干了12年。谢天谢地Carrell Killerbrew根据一张照片认出了我。至于他是根据哪张照片认出我的,我不知道。
我们往前走,进了一个小房间,里面有一张桌子几把椅子,桌子中央有一个麦克风。屋里除了我,还有Carrell Killebrew,Eric Demers, Mike Schmit和Mark Leather(编者按:牛人云集啊,基本都是AMD的院士,可见AnandTech站长面子很大)。这些人中的大部分我都没有见过,但是听过他们的名字。最好情况下我们能和Technical Marketing的人交流,但是很少有机会能和主架构师或者院士打交道。但是今天,在这个房间里,我发现我和AMD和一群院士,一群最聪明的人在一起。
Carrell Killebrew是RV770项目的领导者,他正是你期望的那类人,带领一个工程师团队开发GPU。Carrell作了开场白,他说今天所有的谈话都会被记录在案,他假设所有人对这一点都没有异议。他问我我想谈什么,他给我了一些话题以供选择,比如GPU未来的趋势,GPU的架构,用GPU来实现视频的转码等等。或者他和其他人,可以谈谈RV770背后的故事。Carrell最后提出的话题引起了我的兴趣,我从来没有想象过这一点。当RV770在夏天发布的时候,我们想当然的认为这是款很好的产品,它搅乱了NVIDIA的架构体系,给了我们在$200和$300美金价位最有价值的产品。那时我们探寻了Readeon 4800系列的架构和性能,但是只花了一页的篇幅来讨论AMD的小核心(Small-die)策略。AMD过去8年中一直致力于制造越来越大的GPU。但是在RV770上,AMD反其道而行之,但是那时我居然没有注意这一点。我随意的提到这一点,谈论了下这个策略和NVIDIA的策略的不同之处,但是我没有深入进去。
通常情况下,类似AMD这样的制造商告诉我他们做了什么事,我通常都会问“为什么”。当Intel向我介绍Nehalem的Cache架构,我问他们为什么要这样设计并稍后发布了我的心得。对Radeon HD4800系列的每一个方面,我们也做了同样的事,但我们都忽略了最重要的一点!那就是设计GPU的策略。这篇文章我写得很艰难,没有图表,没有架构可以分析,我只是坐在这间房子里,听这些人谈话,这些人在两个小时时间里和我分享过去三年他们干的事情。我想把文章写得客观中立,我希望我会,因为在那个房间里和他们的交流是我跟AMD最好的一次交流。
序幕:让全世界为之一振的枪声
让我们回到2001年,那时ATI还是独立的公司,正在设计R300(Readeon 9700 Pro)。那时NVIDIA正统领着市场,ATI还不能推翻NVIDIA的王位。那时ATI正在讨论Radeon和Radeon 8500,公司内部认为要赢得市场,就必须赢得光环效应。如果ATI可以制造出最快的GPU,就能增加品牌认知度并培育品牌忠诚度,不只是卖出高端的GPU芯片,低端GPU的芯片的销售也能因此受益。但是最重要的一点是:那时高端产品的售价是$399--记住这一点。ATI里的每一个人都在思考他们必须设计最快的GPU,击败NVIDIA,所以Radeon 8500的继任者是一个大家伙。Radeon 8500采用0.15微米工艺,大概有六千万个晶体管。R300仍然采用0.15微米工艺,但是有1.1亿个晶体管,芯片面积基本是Radeon 8500的两倍。GeForce4(NV25)大概有6300万个晶体管。即使NVIDIA也不敢在150nm的工艺上造如此大的芯片。因此GeForce4的继任者准备采用130nm的工艺。我们都知道接下来的故事,R300最终被命名为ATI Radeon 9700 Pro,蹂躏了GeForce4。R300的成功坚定了ATI的策略:为了击败NVIDIA,芯片面积要不断增大,以后每一代的GPU都要更大更快。
重新评估策略:2005年设计RV770
记住导致成功的因素比记住成功更重要。2005年ATI的处境和当初设计R300的时候相似。R300的成功是因为ATI重新评估了制造GPU的策略。在那个时候,ATI决定造一颗大芯片来赢得高端,并将其转化为每一个价格区间都有竞争力的产品。值得一提的是R300的持续成功还部分归因于NVIDIA在GeForce FX上的失败。这是ATI上演的完美风暴。ATI造了一颗最大的GPU,NVIDIA在其后的一段时间里无法回应。正如Intel在试图疯狂提高P4的频率时撞上了功耗墙。但是2005年时,ATI开始发现GPU(当时ATI还称核心为VPU)过于庞大了。设计周期越来越长,芯片面积不断增长。制造如此大的GPU已经不是那么合算了。
设计芯片技术不是唯一,设计策略才是大局转变的关键
AMD认为一颗非常大的GPU,如果没有使用Repair Structures和Harvesting(两种技术我稍后会讨论)的话,只有30%是可用的。也就是说,对一片晶圆而言,每100个GPU只有30%是功能完好,可以零售的。制造如此复杂的电路成本是非常昂贵的,那些Fab的设备造价很容易就达到数十亿美金。所以不能让如此多的晶圆被浪费。谢天谢地有技术可以让30%可用变成90%可用。第一种技术称之为可修复性(Repair Structures)。其思想非常简单:设计冗余单元。如果芯片某个功能单元包含10个流处理器,实际上要设计11个流处理器。如果有瑕疵出现那么我们可以启用那个备用的流处理器。这种技术通常也用在片上内存(on-die memory)的设计上。这样当某一部分出现问题时,不会导致整个功能单元不能用。但是这个地方通常有个折中,如果你设计了太多的冗余单元,那么你就面临着芯片面积太大的风险,并且这些增大的面积对实际性能毫无贡献。但是如果你设计的冗余单元不够,那么你的良品率就不足。
第二种技术称之为Harversting,所有人肯定都很熟悉。其思想是:假设一片晶圆上功能完好的芯片只有很少一部分,但是我们并不丢掉那些有瑕疵的芯片,我们关闭某些功能单元,然后把他们当做低端芯片卖。例如,如果你设计某个功能单元包含了10个流处理器,预期只有30%的产品是10个流处理器都可用,50%的产品可用其中的8个。那么你可以把8个流处理器可用的芯片当做稍微低端的芯片卖。因此这种方法使得一片晶圆上80%的芯片都可用,如果可能的话,你还可以屏蔽更多的流处理器单元,使得接近100%的芯片都可用。良率会随着时间改善,如果你一直依赖于Harversting,那么这种方法最终会损害你的财务表现。在上面的例子中,随着良率的改善,越来越多的芯片10流处理器可用,但是你还是只能当成8流处理器卖。某种意义上说,值一块钱的东西你卖八毛钱。当然你也可以设计8流处理器的新版本,但是这会耗费额外的时间、金钱和工程师资源。
GT200系列就是采用Harvesting技术的典型。GeForce GTX260就是GTX280的Harvesting版本。随着良率的改善,NVIDIA推出了GeForce GTX 260+(216 SP)。但是要注意并没有为GT200系列设计任何的冗余单元。因此GT200系列的芯片上最多有240个流处理器,如果240个流处理器不能用的话,那么就当成GTX260或者GTX260+来卖。与之形成鲜明对比的是RV770系列,两个版本的RV770功能单元的规格都是一致的,所不同的只有频率和功耗的不同。从芯片的角度来看,AMD不必通过卖缩减版本的产品来保证良率(编者按:估计AnandTech站长当时还不知道Radeon HD4830)。注意,一家公司是否采用Harvesting技术并不会影响终端用户。在这种情况下,GeForce GTX260/260+实际上对终端用户是有利的,因为它具有和Radeon HD4870同样的价值。但是它无助于改善NVIDIA的财务表现,如果一家公司长期依赖于Harvesting策略的话,最终是要付出代价的。但是我怀疑NVIDIA会在事情变坏之前用55nm的GT200版本使自己全身而退。AMD并不想设计一颗GPU过度依赖于靠Repair和Harvesting来提高良率。于是一个杀手级的论断出炉:制造大型的GPU并非最符合客户利益。
思路进发:设计一款为需求而生的GPU
图为AMD在财政分析日上公开的图。
对桌面CPU市场而言,性能级产品只占7%左右。虽然这一部分贡献了大量的营收,但是市场的大头是主流级的产品。ATI在2005年就意识到这一点。高端的GPU变得越来越昂贵。R300上市价格是$399,但是随后我们看到$499、$599、$600的GPU。越来越高的价格是由于越来越大的芯片面积,以及采用类似Harvesting这样技术,保证不论GPU有多大,营收是稳定的。售价$399的R300同主流级的产品价格是足够接近的,这使得ATI能够花几个月缩减它的规模来占领其他市场区间。但是现在,缩减高端GPU的规模(编者按:这里的意思大概是设计出流处理数量更少的原生GPU)来占领主流级市场所花费的时间已经增加到了6-9个月。到现在为止,我们仍然看不到采用GT200架构的中端产品。NVIDIA把GTX280的发布价格定在$600,然后花9个月时间制造出价值$200的中端衍生品,这在AMD看来是在伤害消费者的利益(doing the market a disservice)。现在是时候来重新审视这个策略了。AMD不再想重新裁剪高端GPU的规模来制造中端CPU,他们想设计一款在$200-$300价格区间中最有价值的产品。要这么做就不得不推翻原来的策略,并且希望NVIDIA在某种程度上不要采用同样的策略。(编者按:其实从G80转型至G92这样的策略上,不多不少都显示了NVIDIA开始倾向着这样的想法)
打赌:NVIDIA会跟风采用同样策略吗?
在2005年的春天,ATI有R480在市场上(Radeon X850 系列)。它采用130nm工艺,是另一颗130nm芯片R420(Radeon X800)系列的改进版。从R420到R480的演进是非常重要的,因为NVIDIA会以此来推断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的演化远比很多人想象中的大,包括NVIDIA。那时Radeon X1800并不是很有竞争力,一方面因为它的延期,另一方面也因为G70的确很好。
AMD收购ATI后,Radeon X1900使NVIDIA让出了性能王座。AMD从R520到R580让人意想不到的变化无疑激怒了NVIDIA,NVIDIA习惯把持性能王座,它肯定不想王位被AMD夺去。在AMD内部,Carrell正在下一个赌注,他打赌NVIDIA会低估R580,NVIDIA会像评估R480一样评估R580。他打赌NVIDIA会被R580弄得大吃一惊然后弄出一颗比G70大得多的芯片。NVIDIA不想丢掉性能王座,G80会是一个怪兽。AMD原计划R520在2005的初夏上市,结果是10月才上市,差不多晚了6个月。正如我之前提到的,这个延期使得后续所有项目都被延期。整个R600家族都受此影响。AMD估计NVIDIA的G71会比R520快20%左右,并且不会估计到R580在架构上的大改变。(编者按:事实的确如此,G71仍然不敌R580,但其实在市场上,G71借助优秀的成本控制战胜了R580)
这是一场靠互相猜测上演的戏法
此时,AMD正在计划R600项目,知道这是一个大家伙。最开始预估芯片面积18mm x 18mm,然后变成19mm,然后是20mm。工程师一直在问Carrell,你觉得NVIDIA的芯片会比这还大?当然会,因为他们不想丢掉性能王座,在R580之后他们当然要重新夺回。R580的成功是否会影响到G80的大小和功耗在AMD内部一直被讨论。我很确定NVIDIA肯定会说他们的设计和AMD毫无关系,但是明显我们都知道AMD的地位,并且Carrell的预计是正确的,G80是一个大家伙。不只是因为G80优秀,还因为R600延期,延得太晚了。R600仍然被R520的延期影响,并且它自身还面临AA的硬件单元等一系列问题。即便不开AA,R600与G80的竞争也很艰难。AMD丢掉了GPU性能王座,AMD最大的芯片不能和NVIDIA竞争,其后一年,AMD的营收和市场占有率都不断下降。而与此同时,Carrell仍然试图让每个人都信服RV770的设计走了一条正确的道路,赢得性能王座并不像R300那会就意味着赢得一切!那时,他的论调听起来就像是一个疯子说的一样。当Carrell和他的同仁们正在规划RV770的时候,他们预想RV770不只是和对手同样大小的芯片相比要好,也要有足够的竞争力。因为NVIDIA仍然坚持大芯片这个模式。Carrell相信G80的继任者非常大,RV770有优势,因为NVIDIA不得不在设计上有很多改变。
Carrell和他的ATI同仁将会经历他们生命中的惊奇时刻!
网友评论