宝剑锋自磨砺出!细谈RV770背后的故事
● 部分人很沮丧但是整个团队在继续发展
整个RV770设计花了大约三年时间,这意味着当我们讨论R600的失败时,那帮工程师正在设计RV770并对此持乐观态度。Carrell,Rick Bergman和其他人要求整个团队忘记发生在R600上的事情,忘掉AMD丢掉性能王座这个事情,致力于做好RV770。在我的整个采访中,我一直能感受到这样一个事实:整个RV770团队给AMD留下了深刻印象。整个团队没有分崩离析,尽管有不同意见,尽管对往哪个方向走有过摇摆,但是整个团队仍然团结有力。
AMD认为采取不追求绝对性能的设计策略是有意义的,但是如果失去了光环效应怎么办?历史上因为失去光环效应而失败的案例不甚枚举。对此AMD制定了严格纪律,把历史放在一边,做我们认为正确的事情。这不仅要求不受历史的影响,还要同以前养成的观念做斗争,即,要转变这样一种观念:在设计的时候从来不考虑芯片变大的限制。AMD通过RV770取得的成功使我想起了Intel的Atom设计团队。每一个团队成员在设计他们负责的模块的时候都面临着模块大小的严格限制,而这个限制从来不会被妥协。逆境中往往会涌现最好的人。在业界我听过最好的故事,就是Intel设计Banias的工程师,以及AMD设计RV770的工程师全身心的投入工作,而不管是否会被击倒。激情以一种有趣的方式成为一个人最强大的盟友。
● 对于功耗的规划
我们所有人都应该为把功耗当做免费的午餐而感到自责。Intel设计了5年的处理器,从来没有考虑过功耗问题,设计GPU的家伙同样如此。在R300和R420的时代,ATI从来没有考虑过功耗。在那个时候,对功耗的估计是如此的微不足道以至于ATI甚至没有找到一套好的估计功耗的方法。设计一款TDP被限定的产品是不可能的。现在AMD的工具好了很多,现在要达成功耗上的目标和达成时钟频率的目标或是芯片大小的目标没有什么不同。现在,功耗不会有大的变化(想想为什么高端CPU的功耗总是130W附近)。
每一个人的设计都面临功耗的限制,现在面临的问题是如何在功耗保持不变的情况下提高性能。现在我们的处理器,无论是CPU还是GPU变得更加高效,而不是傻傻的堆规模上去以此提高性能。架构上面临一个有趣的问题是,在一颗大约10亿个晶体管的芯片里传递数据要耗费很多的功耗。Carrell告诉我在45nm和32nm阶段,在FPU里传递数据的功耗和这个FPU进行乘法运算的功耗一样多。考虑到数据传递变成了一个越来越高功耗的任务,未来GPU的设计很重要的一点是要尽可能的保持数据存储在本地,减少数据传递到寄存器和片上缓存中。我们能看到更多的本地寄存器(Local register)以及更多的多层内存结构。随着芯片变得越来越复杂,把寄存器文件集中放到一个位置越来越困难。
AMD承认在R600的制造上功耗过大的问题。从那以后,AMD重新专注于功耗效率。当晶体管越来越小时,漏电也变成一个日益严峻的问题,有时候为了提高那点效率而使得漏电很高并不划算。假设你有一块100W的GPU,你愿意其中的40W都是因为漏电而被消耗掉吗?还是你想要其中的80W用来真正干事情,只有20W被浪费?Intel也同样汲取了P4的教训。