[GF100架构深入剖析之三]
5、二级缓存
GF100拥有一个768KB容量的统一二级高速缓存,为所有载入、存储、纹理请求提供服务,可在整个GPU中提供高效、高速的数据共享,它取代了之前的二级纹理高速缓存、ROP高速缓存和片上FIFO。
GT200上的二级缓存是只读的,而GF100的既能读又能写,而且是完全一致的。
值得一提的是,统一的高速缓提供了统一的读写路径,从而保证程序正确运行,也是NVIDIA GPU支持C/C++程序的关键因素。
6、ROP单元与抗锯齿
GF100有六个ROP分区,每个ROP分区内又有八个ROP单元(上代架构的两倍),总计48个,相同地址的原子指令性能是GT200的最多20倍,邻近存储区的操作执行速度最高7.5倍。
由于压缩效率的提升,一级更多ROP单元能够更有效地渲染这些无法压缩的较小基元,GF100的8x MSAA抗锯齿性能得到了大幅提升。在《鹰击长空》中,4x MSAA抗锯齿模式下GF100比GT200快1.6倍,到了8x MSAA GF100就能快2.3倍,仅比自己的4x MSAA慢了区区9%。
GF100还新增了32x CSAA覆盖采样抗锯齿模式,包括8个多重采样(MS)和24个覆盖采样(CS),并能在所有样本上支持透明至覆盖(Alpha-to-Coverage)。
由于覆盖采样对存储器的要求很低,因此32x CSAS的性能在很大程度上可与8x MSAA相媲美,测试显示在各种游戏中只慢大约7%。
TMAA(透明多重采样抗锯齿)也能从CSAA中获益。透明至覆盖并不在DX9 API中,所以DX9游戏无法直接使用,这时候通过采哦那个透明测试(Alpha Test)技术,TMAA能够转换DX9程序中旧的着色器代码,使其使用透明至覆盖,在与CSAA结合提升图像质量。