你所不知道的NV和ATI在另一条战线上的较量 |
|
精华序号:388
来自论坛:小熊在线 《板卡论坛》
内容说明:
- ◎ 转贴一篇不错的文章-两个人的马拉松—你所不知道的NV和ATI在另一条战线上的较量(4693字) 公交53路 (706884)于2006/11/23(11:47:20)..
从G80发布前后截然不同的状况来看,ATI毫无疑问是一场长期的情报战的失败者
但是,其中的来龙去脉,现在拿出来看,还是蛮有意思的
如果你在Siggraph(美国数字图像协会)2001上丢一块砖头,大概就会砸到一个认为Nvidia是先说服Microsoft在DX8中采用其PixelShader技术,才因而得以充分运用其硬件的人。Cho的文章中早就提到,NVIDIA在DX7、DX8的切换过程中捞到了最大的好处,市场占有率增大了3倍以上
不过,由于在产品线多样化上分散了过多的精力(nForce 2、Xbox),以及盲目的轻敌,更重要的是ATI在从R200之后几乎完美的情报战,在R300上终于将之前蓄积的所有怨气加倍奉还。R300没有预兆的突然出现在世人面前,让人目瞪口呆,NV也根本没有准备。NV虽然知道自己由于工艺原因一拖再拖的NV30不可能与之对抗,但此时再做改动已经明显来不及了。
附图:R300——三场酣畅淋漓的胜利(情报+技术+市场)
由于GPU研发、产品周期和工艺转换的特殊性,NV和ATI是不可能再针对对手的产品为一款已经完成逻辑设计的GPU做重大改动的,所以提前获取对手的产品架构情报就成为决定自己下一代架构研发方向和定位的一个重要因素。从NV30到NV35就充分说明了这个问题,NV错误估计了DX8到DX9的过度时间,加上完全过时的情报和制程上的时间拖延,这个几乎还未出生就过时的架构在强调浮点算术运算能力的DX9中显得是如此的不合时宜。
由于PS 2.0不支持混合精度以及非浮点精度的指令,NV3X的ALU算术运算能力实在是可怜。R300具备8个能全速运行的FP24 mainALU,它们都支持co-issue;具备3D+1D并行能力;并且在一些特殊情况下有miniALU的帮助。而NV30只有4个具备4D FP32指令执行能力的mainALU,8个在DX9下毫无用处的FX12 combiner,而且mainALU居然不支持co-issue,RGB+A得分开执行。极端情况下双方的算术指令吞吐能力会相差4倍以上,加上寄存器方面的限制,NV3X被清除出高端是在正常不过的事了。
R3XX的Temp register策略(PS_2_0)完全是全速运行,基本上有多少就可以用多少,不会占用片外存储器。NV3X在编程上支持数量庞大的register(PS_2_a),但是所有的寄存器存取类似与材质fetch都不能在片内执行,而NV3X的片内register又数量不足,FP32 register的用量不能超过2个,FP16register 用量不能超过4个,否则register溢出会带来不可挽救的性能下降。如果一个FP32的shader用到5个Temp register,NV3X PS的Fill Rate就会降到原来的1/4。而NV35也只是把NV30的Combiner换成mini ALU而已,糟糕的寄存器策略没有得到任何改善,算术指令吞吐能力相比R3XX也非常寒酸。
附图:将NV3X问题推上顶峰的HL2 DEMO测试
实际上,遭受这个NV历史上最惨重的挫折之后,NV的整个产品策略,研发路线,乃至公司运做,都发生了翻天覆地的变化。除了立刻着手于2个新架构的研发,情报战也被提上前台,因为NV知道情报战不仅仅意味着争取时间,它还是一件极富艺术化的进攻手段。ATI当然也不会示弱,它的情报机构在R3XX时代曾经成功的瞒天过海。于是,NV与ATI之前一场看不见但极其有趣的情报战就此展开了。
在仔细分析了未来图形渲染发展的趋势后,NV50,也就是现在的G80体系,于2002年上半年被定项,它将是NV面向未来的架构,集中了众多的新玩意,支持DX10,风险较大,有一个比较长的研发周期。为了对抗R3XX及其后续产品,同时被提上日程的,还有NV30的改进版----NV40。也许马上就会有人出来反驳我,说NV40是全新的体系,跟NV3X没有任何关系,但请别激动,虽然NV40的前期工作可能早就展开,但从架构上来看,NV40确实是NV30的完美版,也肯定在NV3X的失败上吸取了教训。其实抛开运算能力不足这个大问题,NV3X的其他方面还算是不错的设计,加强的长指令槽,允许更长的shader,支持循环、子程序甚至是最初级的分支和流控制......可以说SM2.0a是SM3.0的雏形。
NV3X面临的主要问题就是寄存器策略和浮点算术指令单元执行能力不足,NV40重点改进了这2个方面。寄存器的限制舒缓到每个shader用到4个FP32 register都能保持峰值吞吐量,而重新设计的超标量的ALU流水线可以达到NV3X 8-16倍的指令吞吐能力,加上NV第一代真正的多执行诸体系和前卫的SM3.0特性支持,NV40将之前的颓势一扫而光。首次引入的性能/成本/架构平衡式设计更是让中端NV43如鱼得水,在市场上连续击败了对手两代产品(X600 X700)。
附图:NV4X获得了空前的成功,为NV扭转了乾坤,但有谁能想到它只是阴谋的开始呢
实际上,NV4X的成功与NV情报战的初次得手密不可分。ATI在R300的空前成功后,开始有些自大了,NV正是利用了这一点。于是,关于NV的复仇计划--NV4X的各种谣言漫天飞舞,NV宣称自己的NV40将是一款“8*2渲染流水线"的保守架构。不但各个网站,甚至连OEM端也透来了类似的消息,一切都表明NV的计划似乎已经被完全打乱,研发实力也不如想象的那么强,“8*2”架构的NV40眼看就要重导覆折。这些消息成功的骗过了ATI的情报机构,由于风险过大,而且也确实遇到一些困难,眼下NV又“不构成威胁”,ATI将R300的正统后续作品R400的时间表向后推迟了整整一代——现在我们大家都知道这个著名的难产儿的名字叫做R520。 ATI自信地在E3 2003上宣称,我们的下一代架构(指R420)“将比竞争对手快30%”,甚至当时计划中的最高端AGP产品线都只有X800Pro一款,完整16Pixel shader的X800XT将留给PCIE。
后来发生的事情大家都知道了,ATI完全是措手不及。一个礼拜内,9800XT的后继者换了三个——从X800Pro到X800XT再到X800XT PE,至于再后来闹得沸沸扬扬的“3DMark05发布前夜版驱动”,“无敌AF(NV现在的AF也够无敌的,没资格批评ATI)”事件,不过是开始而已。高端还好说,X800XT PE依靠官方超频跟6800U基本处于均势,但由于ATI还在算着如何利用自己的领先架构多圈点钱,R4XX的低端根本就没做考虑——9600+PCIE接口的老掉牙的X300 X600系列在NV43面前形同玩具,X700远水救不了近火,而且成本过高。加上后来SM3.0的迅猛势头,ATI在行销上完全矮了半截。这局ATI算是陪了夫人又折兵,高端市场占有率从R300时代的96%跌到30%以下,中端被6600系列灭门,低端如果不是X300SE旁上了Dell这个OEM大款,也凶多吉少。
ATI在R4XX以后,也意识到了情报战的重要性,R5XX一直密不透风,发布前除了工艺遇到问题之外没有任何其他消息。R5XX是一个相当先进前卫的架构,可以说是完全重新的设计。它借鉴了NV4X架构的突出处,其多执行褚架构,可编程MC,带MSAA的高动态范围渲染模式,每一个都可以在对手身上找到影子,但每一个都比对手做得更加完善。很明显的ATI风格——不实用的时候不做,做的时候就一定要实用。加上历来果断干脆的寄存器策略,全关联的Cache,以及独到的H-Z技术,ATI这次确实是用重金打造一个前所未有的完美体系。可以说是全面吸取了SM3.0精华的封刀之作。不过,本想卧薪尝胆雪耻的ATI,这次又陷入了NV早就算计好的圈套中。
NV在这个节骨眼上,早有预谋的突然改变了产品线代号,之前的“NVxx”统统被改称为“Gxx”,它们之间并没有什么必然的联系。这突然的变故又一次打乱了ATI情报部门的阵脚,G70到底是个什么东西?传言有很多种,但在发布前恐怕没人能想到它是什么样子。G70就在众多的猜疑和R520的难产中诞生了。看到G70实物的ATI大松了一口气,确实,G7X将NV4X的两个ALU都改为全功能,加入改进版的带宽节约技术,引入初步的频率异步架构,也只能算是NV4X的改进版,就像GF3到GF4,算不得什么新设计,但ATI很快就发现了NV新策略的致命之处——G7X最大的特点就是在于把一个成熟稳定,周遍支持充分,成本控制得恰倒好处的架构以最快的速度摆到ATI面前,也许发烧玩家会对这种旧瓶装新酒的做法嗤之以鼻,但因为成本和功耗改善而受益的肯定是NV和大多数消费者,GF7的中端也确实普遍比同档次A卡实惠。R580虽然按时发布夺回了王位,但哪会料到G71根本就不打算与之正面冲突呢?NV在极短的时间内就判断出了对手的弱点——R580成本过高,RV530又太弱,而短期内要在它们之间重新推出一款新产品,是根本不可能的。7900GT和7600GT直接切进了ATI产品线上的死穴,都是定位准确的经典教材。看到下面这张die size图,您就会明白谁才会是真正的胜利者了。
附图:R580 VS G71核心面积对比
ATI这局又失算了。赢了面子,输了肚子。7900GT在很长一段时间内,在2XXX元的市场根本没有对手。Longbow Research同期发布的市场调查报告也说明了这点,技术上的领先有时候并不能说明问题。
附图:Longbow Research在2006年9月的市场调查报告
不过,噩梦还没结束,既然整个NV4X和基于它的衍生架构G7X都是“权益之计”,那么NV30的“正统”后继者,又在哪里呢?答案当然是NV50。NV也为这个跨越4年的骗局,设下了一个完美的结尾。有谁还记得当年NV首席科学家David Kirk在谈他对统一Shader架构的看法时说出的那句“统一渲染架构不是DX10的必须,NV在短期内还不会采用统一Shader”?NV甚至还给了OEM客户两种完全不同的“G80”方案,还有人记得当年谣言四起的时候那个“16vs 32ps,两个vs可以当一个GS(或者说每个VS可以以半速跑GS),支持DX10”的“G80”吗? 这都是NV情报部门的杰作,我们大家,ATI,甚至还有OEM厂商,都被NV耍了。NV50到底是那张,G75?G80?G90?还是它干脆就已经被取消?NV突然变更产品线代号的做法再次让竞争对手的情报机构陷入两难。有谁可以想像得到一个厂商可以用两代产品和四年的时间,就换一个G80。ATI当然有理由对R600有信心,它们只是用NV40那套来对付NVIDIA,然后觉得自己的情报部门很高明,所以Roadmap上吹嘘自己是“全宇宙唯一正统US架构”,也是理所当然的了(当然NV的Roadmap也少不了各种王婆卖瓜的伎俩)。
附图:NV分离架构的“G80”,真是一张经典的暗度陈仓图
梦呓暂时说到这里,NV用一个精心设计的骗局成功的在市场上击败了对手,从NV3X的失败,到NV4X的大改,到G7X的平衡,我们看到的是一个“经典失败”架构的起死回生。而从X800,X1800那眼花缭乱的衍生型号,到X1600 X1650 X1900 X1950的自乱阵脚,ATI给人的感觉就是每次都慢了半拍,每次试图夺回主动权的举动,都会陷入对手更深层次的陷阱中。NV成熟的市场运做能力不得不让人惊叹。
就体系的延续性来说,而从NV3X首次开始尝试更灵活shader设计,到NV4X把ALU算术运算和多执行诸架构提到前台,再到G7X的性能/功耗平衡,内部频率异步架构,看似不起眼的每一个小细节,都为NV5X(G8X)打下了坚实的基础。现在,NV终于在NV50(G80)上彻底报了NV30的一箭之仇。NV50是一款比之前任何一块GPU都更接近纯数学运算的架构,它带来的也许不只是图形领域的变化。让我们期待它的倍速shader array和Gigathread在GPGPU领域大放光彩吧。
虽然对它的某些FANS不齿,但ATI一直是我很敬佩的一个公司,它的技术实力可以说是根NV各有所长,平分秋色。现在却倒在了NV看似不起眼的伎俩之下,落得个做他人嫁衣的下场,在感慨NV强悍的商业运做能力的同时,实在也让人为ATI嘘唏不已。希望R600能按时发布,R700也不要被取消,在竞争中受益的,永远是消费者。
- 这个嘛,昨天刚烧了块1900xt,NND,天亮就找至宝去~(空) 我都知道 (707003)于2006/11/24(07:47:52)..
- 學一學(空) babydonotcry (706912)于2006/11/23(13:46:38)..
- 好文(空) zzwfpe (706911)于2006/11/23(13:33:31)..
- 比看武侠小说还精彩,只不过......(46字) pandajing117 (706893)于2006/11/23(12:21:54)..
很多英文词组都看不明白,只是大概知道文章中每次新出现的一个英文词组肯定又是一招很厉害的必杀技
本论坛由小熊在线(www.beareyes.com)joyt制作及维护