● GeForce 8800Ultra并非那么完美
提出这样的一个观点,笔者并非是指它仍在上一代硬解码技术的遗憾或是高昂的价格,而是它的当家利器:MIMD。
笔者不想过多的谈论MIMD与SIMD的优劣或区别:这只是两种不同的取向。MIMD的架构具有良好的软件适应性,即使再复杂的指令也会被拆分成数条1D指令,然后由效率接近100%的SP去执行。这是一种“看低”的设计,nVIDIA为指令的适应性吃过苦头:GeForce 6/7系列显卡曾在几个由XBOX360移植的游戏中惨败给“3:1架构”Radeon X1000系列,也许这给了nVIDIA一些启示。
关于3:1笔者不想多做叙述,MIMD的架构可以避免类似于GeForce 6/7系列显卡曾发生的“意外”。但MIMD的软件适应性这也只是“避免惨剧的发生”的一种设计,所谓的适应性对保证显卡整体性能的强大并不是最重要的组成部分,毕竟效率与效能是两个概念。
NFS10—GeForce 7永远的痛
因失去软件优化而最终失败的例子有很多,例如末代Pentium4的Prcscott,其架构庞大而艰深,令人很难能够读懂。对Prcscott进行优化需耗费程序员大量的精力,这是最终导致其不成功的原因之一。MIMD架构具有很好的软件适应性,也有很强的软件依赖度。这种依赖度与仲裁机构有关:上百个数量庞大的SP群需要它们进行调配;成千上万条线程需要它们去转切;分频设计带来的高延迟需要他们去遮盖……nVIDIA不惜以超过1亿晶体管为代价为G80编制了庞大的仲裁机构,它已然成为GeForce 8800Ultra与G8X的灵魂。
我们无法用一个确切的数字去形容它,但有一点可以肯定:nVIDIA拥有全球数一数二的驱动开发团队。G8X架构面临着与Prcscott类似的问题,但它的生机要大的多:它的仲裁机构只是庞大,并不繁杂。即使是这样,为它编写驱动时不得不考虑到多达128个的SP在各种状况下的编排;成千上万条线程与控制器间的调度等等……
恰逢微软发布了下一代操作系统:Vista,而Vista下的3D子系统与WINDOWS下大相径庭……这不可不谓是雪上加霜的消息。然而这还不够,nVIDIA的竞争对手AMD(ATI)有可能累积了更多的经验,这一方面源于3:1架构中“统一PS架构”的观摩,另一方面比G80出世更早的游戏机芯片C1也使ATI在对US编程方面在时间上领跑一年。为了摆脱这种困境,nVIDIA孤注一掷全力开发G8X的驱动软件,甚至为此放弃了使用已久并广受好评的统一驱动架构。在G80发布的半年时间里,我们可以感觉到nVIDIA驱动上的进步。
也许将G8X体系对软件的依赖度定性为软肋太过武断,随着驱动的进步,也许会有更多潜在的性能从G8X体系中挖掘出来。新的特性决定了这一代的显卡在发布之后还会有一段研发周期在等着它,现在就要完整无误的对它进行全面论述,这为时尚早。