前言:在Fermi发布之后,全世界所有显卡玩家与高性能运算行业客户都为其强大的性能所折服,当然动用超越AMD HD5000系列50%的晶体管集成度仅换取了10%的传统项目性能提升,也让更多用户感到不知所措。我很早就希望能通过一篇文章来和ZOL的读者们一起讨论Fermi架构设计方面的问题。
为什么NVIDIA要花费如此庞大的晶体管固执地坚持TLP(线程并行度)设计思路?为什么NVIDIA要不断添加周边资源以提升线程仲裁能力甚至不惜放弃纯浮点吞吐?为什么这颗GPU这么大这么热而在DirectX 10项目中只能打平设计简洁明快的HD5000系列?希望我们的读者从这篇文章中找到一些线索,也欢迎你利用页面的评论功能和我们共同交流。
● GT200以来的大核心战略值得商榷
GPU作为图形处理器,在通用计算的概念提出之前一直走着自己简洁明快的设计思路,为了实现更为复杂的图形场景,Shader操作的重要性逐步提升,但是在PC机3D游戏大量普及的DirectX 9时代,GPU中执行的Shader程序中,分支语句用的很少,在早期的GPU中,甚至不提供动态的分支语句。随后的发展远远超出了我们的想象,GPU可以用作更多领域的应用,同时在我们正在经历的DirectX 11时代,GPU的通用计算能力甚至又和传统的游戏相融合,Computer Shader技术正是这一融合的代表。
就是这样一条曲折复杂的发展过程,却折射出过去10年间GPU的架构发展路径,我们的GPU变得越来越大越来越热,显卡从没有外接供电,到逼迫PCI-E插槽不断升级供电能力,再到Fermi架构的GTX480至少需要一个500W额定电源才能稳定运行。
也许你会说这是整个业界的性能需求导致了这次发布的Fermi架构GTX400产品拥有如此之高的功耗,不过和它在传统项目中性能相当的HD5000系列显卡,却在功耗控制方面强于NVIDIA设计的产品,同时21亿个晶体管的HD5870和32亿个晶体管的GTX480在DirectX 10项目中平分秋色。
想法很好的GT200芯片 却造成了GPU产品线的严重缺失
从上图中我们能够看出,GT200芯片的设计思路,已经变为并行通用计算能力与图形处理能力并重,当然我作为通用计算的支持者,从未怀疑过这种构想和GPU以性能需求为导向的发展方向的正确性。但是最为一款显卡的核心,GT200芯片的设计思路已经发生了偏离,起码作为一家图形芯片厂商,为下游厂商提供一颗发热和功耗很高的芯片;为用户提供一款难以驾驭的产品,这是一个值得商榷的问题。
事实上在2005年,ATI和NVIDIA都面临这样的情况:造一颗最快的GPU,并提供稳定的驱动程序,那么就可以赢得市场。过去几年中,ATI一直是这么干的。但是在公司内部,有一些人认为是时候改变了。在很多方面ATI和NVIDIA都面临不同的挑战,NVIDIA从之前激进的工艺更新策略中汲取了教训,GT200很有可能仍然采用老的,更成熟的工艺,因此导致GT200的面积很大。
如上图,GT200面积的面积可以说是前所未有。代号GT200的新一代DX10芯片是NVIDIA作为08年暑期攻势的重点产品,和G92只是G80的改进版不同的是,GT200是真正在体系架构上进行了革新的产品,处理单元规模、内存配方面都有了不同程度的提升。
代号GT200的GeForce GTX 280是NVIDIA基于第二代统一着色器及计算架构的第一款产品,架构归属于为G100,在性能上相对上一代的产品(G80)来说快大约50%到100%。NVIDIA的旗舰GeForce GTX 280集成14亿晶体管电路,拥有240颗流处理器,配备了1GB GDDR3显存,采用了512-bit位宽,显存带宽高达141.7GB/s,成熟的65nm技术让GT200虽然庞大,但是功耗和发热都处于可控范围。
GT200晶体管集成度达到了14亿,而依然使用着65nm的制造工艺,因为这种工艺可以非常稳定地生产这种大体积的芯片,改进工艺反而容易出现不可预料的问题。
同时NVIDIA在GT200芯片设计方面提出了Gaming Beyond和Computing Beyond口号,我们可以理解为这颗芯片在提供优秀的图形性能前提下,同样对GPU的运算能力做了大幅度优化。这是NVIDIA在提出CUDA方案后,首次如此强调GPU的通用计算能力,但是我们现在审视这款产品就会发现,GT200在通用计算方面的努力甚至牺牲了一部分图形性能。
GT200代表了当时图形业界大的性能,同时一些先进特性让人们对这款GPU刮目相看,包括更大的显存容量、更高的显存控制器位宽(NVIDIA第一次尝试512bit位宽)、更强的指令调度能力和流处理器周边资源配合,当然还有首次支持IEEE754规格的双精度浮点支持。虽然NVIDIA一直没有忘记改进每瓦特以及每平方毫米性能,但是GT200带来的功耗和面积问题,还是让它的图形处理热效率相对于G92芯片有少许不足。
GT200的另一个问题是没有将芯片进行有效划分组合,这导致了GT200架构没有中低端产品。只是使用了Harvesting(屏蔽功能单元)的方式制造出了GTX260和GTX275等产品。这些产品的价格直到今天还在1000元人民币以上阶段徘徊,无法真正触及消费级市场。而消费者喜闻乐见的500-1000元显卡市场,还是由G80的衍生产品G92和GT210/220/240所控制,很多用户已经对这种市场划分方式感到索然无味。