● 一个厨子引发的危机
有人的地方就会有争议、争执甚至是争斗,GPU领域自然也不例外。不管ROP单元是忙活装修的粉刷匠,还是演绎火的艺术的大厨,安分守己的他似乎并未躲开成为事件中心的命运。
ROP承担着最终混合和输出图形的任务,它所需要处理的像素几乎等于前面所有步骤处理像素的总和,它的最终效率也决定着整个流水线的效率,即便前面的单元再强大再高效,如果ROP单元不足,整个体系就会遭遇到Fillrate wall,无法将上游过来的诸多图形元素进行混合也就无法完成输出,最终的帧数自然会受到影响,HD5830/6790就是明显的例子。
ROP单元削减一半的HD6790芯片
因此,保障ROP的总效率对GPU构架来说是极其重要的。由于Z/stencil检查和操作、AA以及blind过程都十分耗费显存带宽以及ROP自身的资源,因此与别的单元独善其身不同,为了获得更好的ROP动作效率,人们不仅要增加ROP的总数量,同时还要为其配置充足的显存带宽及显存控制器资源。
说配就配?难道晶体管不要钱的么?
以常规GPU的结构来看,每增加一个ROP/MC,不仅要添置这些单元及其配套资源的晶体管,还要考虑星形互联的crossbar总线所带来的沉重负担。动辄数亿的晶体管增量,对任何一颗GPU来说都不是一个小数目。在制程上限和芯片面积限定了晶体管总数的前提下,ROP这种近乎于喝水一般消耗晶体管的单元,势必会影响到其他单元所能够占有的资源总量。
那能不能找一个不怎么浪费晶体管又能提升性能的方法呢?似乎有,比如Imagination的TBR/TBDR。
TBDR全称Tile-based Deferred Rendering,它通过将每一帧画面划分成多个矩形区域,并对区域内的所有像素分别进行Z值检查,在任务进入渲染阶段之前就将被遮挡的不可见像素剔除掉。由于在渲染之前进行Z-culling操作,TBR/TBDR理论上能够大幅削减进入shader以及ROP的像素数量,这不仅大幅降低了系统对像素的处理和输出压力,更极大的节约了显存带宽及空间的开销。
问题来了——既然有这样的技术,为何不用呢?
尽管Imagination以及其TBR技术在几年前已经自桌面领域败亡至SoC及其他低功耗芯片领域,目前桌面GPU的几乎全部灵魂也都是由当年那一场胜负决定的,可以说今天桌面GPU的尊严和荣耀,都是由更大数量的ROP/MC这一理念所带来的。
但伴随着近年来移动领域的迅猛增长,Imagination因为在智能手机及平板电脑平台,特别是苹果平台上稳定的统治地位而不断壮大,功耗性能及晶体管消耗比例暂时占优的TBR/TBDR技术大有重归桌面领域的趋势,Imagination的Roadmap中颇具挑衅性质的MBX及SGX MPx系列就很能说明问题。如果Imagination凭借苹果为其带来的厚厚一叠美金最终成功回归了桌面领域,并且以TBR/TBDR技术重新占领市场甚至是主流,那就意味着对几年前那场胜负的完全推翻,以及对近年来桌面GPU发展思路的极大否定。
山雨欲来风满楼啊。