◆ 更高效的图形与计算架构:VLIW4
从三年前的R600开始,一直到今天,AMD的GPU一直坚守着VLIW5处理器的SIMD架构,产品经历了Radeon HD 2900、HD 3000系列、HD 4000系列、HD 5000系列和HD 6800系列,核心换了一代又一代,不变的是它基本架构,都是在R600架构上进行工艺升级、规模扩张、算法优化等等改良。
流处理器的规模不可能无限的扩张,AMD必须在架构效率上下更多功夫,单纯从软件驱动优化上着手似乎已没有太多上升空间,AMD开始着眼于硬件架构上的优化。在Cayman核心中,VLIW处理器中的ALU数量被精简到了4个,抛弃了VLIW5处理器中的ALU.trans,我们称Cayman的这种VLIW为VLIW4处理器。
应该说Cayman核心是自R600以来,在硬件架构上变动最大的一个。VLIW4回归到了传统ALU的4D模式,只是变成了更灵活的4个1D。对于一个部门来说,显然管理4个人比管理5个人更简单高效,或许AMD也是这么想的。
和VLIW5不同的是,VLIW4中的四个ALU功能都是对等的,可以实现4-way Co-issue操作,原来由ALU.trans完成的特殊函数操作现在也可以交给这四个ALU来完成了,不过一个特殊函数操作需要占据四个指令发射中的3个。
虽然VLIW4减少了ALU.trans,但性能上并没有下降,每个时钟周期内每个ALU完成的操作与Cypress核心(Radeon HD 5800系列)的VLIW5处理器一样,另外,VLIW4处理器在一个周期内可以完成一次双精度操作,VLIW5也是一个周期内完成一次双精度操作,比例从5:1提高到了4:1。
AMD声称,VLIW处理器结构的改变(VLIW5->VLIW4),同样核心面积的条件下能带来10%的性能提升,简化了指令调度和寄存器管理,提升逻辑电路利用率。
从VLIW5改变到VLIW4,随之而来的是晶体管和功耗的大幅增加,假设一共有1600个流处理器,如果采用VLIW5,那么就是320组,只需要320个指令发射端,如果采用VLIW4,就是400组,需要400个指令发射端,而且VLIW处理器的分支执行单独和通用寄存器都相应的增加了,也就是说增加了80个指令发射端、80个分支执行单元和80个通用寄存器,这些新增的单元需要消耗大量的晶体管。
以Radeon HD 6970为例,它一共有1536个流处理器,但晶体管数达到了26.4亿,核心面积达到389mm2,而采用VLIW5的Radeon HD 5870,有着更多的1600个流处理器,晶体管数却只有21.5亿,核心面积也只有334mm2。功耗更是从HD 5870的188W激增到了HD 6970的250W。虽然这些增长并不全是VLIW结构变化引起的,但也占有绝大部分。