PS3专用图形处理器RSX专业技术分析报告

二:RSX的Shader运算能力比G70增长28%?

  G70的Shader架构,其实是以GeForce 6800(NV40)为基础,不过对Pixel Shader的并行运算( parallelism )进行了加强;例如,NV40在Pixel Shder内部拥有2个引导操作单元,不过其中的1个单元不能执行1个周期内芯片演算的数据量总和,而G70则能做到这一点,而我们现在猜测RSX同G70一样。

  虽然G70和RSX的Shader架构几乎完全相同,但是两者的性能还是有差距的,原因在于运行频率的高低,根据Nvidia的官方数据,G70的默认频率为430MHz,而RSX为550MHz,频率方面的差距在28%,那么两者的Shader运算性能差距能够达到理论上的28%吗?

  根据Nvidia公布的G70资料显示,Vertex Shader引擎具备4路 VLIW单元和1个梯状单元,可以并行处理5个数据;故计算得知一个周期内包括10个浮点指令操作,而G70的Vertex Shader引擎数目是8条,因此,最近计算得到的G70浮点运算能力为:

  (4路+1梯形) X 2FP(浮点操作 MADD) = 10FP/周期;10个FP(浮点操作)×8Shader×430MHz=34.4GFlops

  而G70的Pixel Shader引擎中,具备2个梯形操作单元以及4路×2 SIMD单元,此外还拥有可以处理处理算数指令(mini ALU)的FP16规格化处理单元(共7路),因此,G70的Pixel Shader引擎浮点效能如下:

  ((4路 x 2 单元 + 2梯形单元) x 2 FP) + 7 规格化处理器单元 = 27 FP操作/周期:27 FP x 24 Shader x 430MHz = 278.6GFLOPS

  有了这样的计算公式,我们可以很轻松地计算出频率为550MHz的RSX的Vertex Shader和Pixel Shader引擎的浮点运算能力:

  Vertex Shader

  10 FP x 8 Shader x 550MHz = 44GFLOPS

  Pixel Shader

  27 FP x 24 Shader x 550MHz = 356.4GFLOPS

  总共为44GFLOPS + 356.4GFLOPS = 400.4GFLOPS

  而 Xbox 360 GPU(R500)的Shader浮点运算能力为240GFLOPS,虽然数值上仅为RSX的60%,但是由于R500和RSX在开发架构上有不小的区别,RSX是分离的VS/PS设计,Xbox 360 GPU是一体化的设计,故R500的实际性能并不能仅从数字上来判断。

RSX图形核心的浮点运算能力


提示:键盘也能翻页,试试“← →”键