Fermi是否挑战半导体工艺极限
一颗拥有了众多改进并且重新设计的GPU芯片,总是能引起我们的无限遐想。Fermi架构的GF100核心拥有多大的理论浮点值我们在文中几乎没有提及过,而让我更着迷的是Fermi如何继承G80和GT200的优秀传统,将实际和理论的差值降到最小。
前文已经告诉大家,Fermi用追加大量的寄存器和线程调度资源解决了这一问题,让编程者不再迷茫怎样改写程序才能达到最佳状态,用户也不必担心自己的GPU会不会因衰减太过严重而远离标称性能。
但是以上两项改进,让Fermi付出了太大的晶体管代价,有人甚至疑惑Fermi是如何在一块芯片上装进了512个CUDA核心,也有人称这种行为是NVIDIA赌博式的激进,最终要付出代价……
实际上Fermi面临的问题在两个层面,首先是半导体物理学极限。普遍观点认为过高的晶体管集成度会给一块芯片造成不能承受的发热和功耗,但是如何量化“过高”这个概念?实际情况是Fermi的30亿个晶体管在应用40nm工艺时,尚未触碰这个问题。我们得到的消息是Fermi的运行频率和功耗都可控,最主要的一点是GTX480功耗在250W左右,没有超越PCI-E 2.0规范要求的300W。
台积电40nm工艺内部互联层示意图
但是GPU芯片的内部互联线长数据大家可以仔细对比。据我们了解,R600的内部互联线长达到19000公里,RV770到了27000公里,如果RV770不换掉ringbus环形内存总线,线长可能要超过40000公里,现在R800在AMD的全力改进下稳定在了36000公里。理论上基于IC设计层面,R800还可以继续扩展规模,但是实际操作中几乎已经不可能了。IC设计中,不是晶体管多内部互联线长就会过度,要看芯片具体结构,大量重复的单元才会导致线长急剧放大。
内部互联线长对芯片互联层数提出了极高要求,ATI一味增加GPU重复单元(流处理器)的做法,导致AMD手头已经没有继续上攻互联层的技术储备了,目前是9/14,既逻辑互联层为9,物理互联层为14。
而NVIDIA的芯片规模一直较大,却拥有各种复杂的非重复单元,最后使得硕大的GT200芯片拥有不到20000公里的内部互联线长,这个值小于AMD目前最大的GPU核心R800只是和曾今的R600差不多,N卡的互联线长平均只有同代A卡的60%。Fermi的具体数据尚不得而知,但是我们根据GPU内部单元设置,推测在线长方面Fermi没有障碍。
最终的芯片面积方面,R800核心面积334mm2,FermiGF100核心面积576mm2,新工艺的启用使得两者都比不上55nm工艺的GT200b大。更稀松的芯片布局使得Fermi没有挑战到半导体工艺的物理极限,同时对供电的需求并不算太高,较大体积的芯片,唯一需要挑战的就是最终良品率。
大个头的Fermi架构面临的问题是完全不可回避的。如上图所示,根据BSN原来的估计,每片300mm晶圆所能产出的GF100最大片数为130片。不过后来他们得知GF100芯片的真实尺寸为24x23.9mm(或24x24mm),这个数值据称与65nm制程的GT200 GPU核心尺寸完全一样,面积均为570平方毫米。这样经过计算,每片300mm晶圆上能产出的最大GF100片数为94个。
GF100在A1步进制程时,每片300mm晶圆上产出的合格GF100芯片只有9片,也就是说良率仅不足10%,A2步进制程的出台便顺理成章了,不过据BSN掌握的消息显示,A2步进的良率大约是25%左右,也就是说每片300mm晶圆能产出24-26片合格芯片,这样每片芯片的价格在208美元左右,这种价格已经接近两片AMD Cypress芯片R800核心的价格。目前上市的则是A3制程的Fermi核心,良品率进一步提升,但价格还是明显高于R800芯片。我们分析得出Fermi虽然没有挑战半导体工艺极限,但是至今还是受成本压制,如果良品率不能得到有效提升,NVIDIA很难将投入产出比最大化。