● 只要肯改,就是好样的
我们可以肯定AMD并不是不知道单元复用率问题的所在,RV870的失误或者说倒退并非源自技术积累和技术选择方面的失误,否则AMD也不会在RV870取得了看起来相当大的成功的时候选择转身掉头。
我们在前页提到过,以单元的绝对数量激增来换取单位时间内有效动作总次数是一种治标不治本的方法。它虽然能够在短期内弥补单元复用率不足带来的性能需求压力,但也随之带来了单元绝对数量的激增。假定每次都需要提升最少100%的总规模才能弥补单元复用率带来的不足,那么RV870之后如果继续采用这种策略,接下来的AMD构架将需要3200个ALU单元才能够满足需求。更何况实际上随着单位绝对数量的激增,每个单元增加所带来的弥补将会被规模庞大的数量所带来的新的复用率问题所拖累,因此实际上如果要继续维持旺盛的性能增长,所需要的ALU规模增量将肯定要大于100%。无论是互联线长还是晶体管总量,这都已经远远超过了当时乃至现在所能够承受的极限。
RV870愚蠢地坚持VLIW等问题,严重的影响了AMD后续的构架改革
另一方面,靠单元激增来换取性能的方法,在面对Compute Shader的需求时也显得效果极其有限。RV870的确拥有相当不错的DirectX 9及DirectX 10性能,其功耗发热方面更是可圈可点,但在面对DirectX 11需求,尤其是越来越“真实”的DirectX 11需求时,RV870表现出了令人吃惊却又是情理之中的羸弱。以地铁2033以及当时即将出现的寒霜2引擎为代表的新一代DirectX 11应用,将Compute Shader的作用以及对构架数学能力的需求越来越清楚的表现了出来,RV870单元复用率低下所带来的不错的功耗发热表现,在无法满足实际需求的绝对性能面前也显得不再那么有说服力了。
可制造性方面的沉重负担和需求的日渐明显,让AMD意识到了危险的存在,是时候做一些实际的工作来提升构架的单元复用率,进而开始将自己导向正确的道路上了。
做出艰难转身的Cayman构架
09年末到来的Cayman构架,是AMD近年来意义最重大的构架改变。Cayman构架第一次引入了Dual ACE引擎,为整个构架引入了更加充沛的线程管理能力,并在AMD构架中首次引入了宏观并行度这一概念。除此之外,Cayman还将传统的VLIW 5体系修正成了VLIW 4,更加宽松的超长字节指令打包规则以及更小的体积,让新的ALU团簇和程序端同时获得了一定的解放。在此基础上,Cayman还进一步完善了LDS的读写和操作方式。更好的线程管理能力、更小的吞吐限制以及更加灵活充沛的缓冲资源,三个与单元复用率息息相关的要素的改进让Cayman拥有了比过去更好的单元复用率。
对VLIW的改革提升了单元复用率
受限于RV870过低D线带来的恶劣影响,Cayman无法拥有过大的芯片面积,因为种种原因并未彻底抛却VLIW以及并不彻底的宏观并行度改进也最终令Cayman在单元复用率方面没能出现质的飞跃,这些要素在一定程度上都限定了Cayman的图形性能表现。但其在DirectX 11领域,尤其是Compute Shader应用层面的进步,以及通用计算层面的提升还是让所有人都看到了希望的曙光。
我们都清楚万事开头难的道理,不管这一步迈的多么艰难,只要能迈出第一步,就应该获得肯定和喝彩。正是这艰难的第一步,最终造就了我们今天看到的Tahti构架。
推荐经销商