POPPUR爱换

标题: 提一个问题:对z单元进行填充率测试,结果依赖于shader吗? [打印本页]

作者: panjanstoneborg    时间: 2010-1-7 01:04
标题: 提一个问题:对z单元进行填充率测试,结果依赖于shader吗?
举个例子就是
nv40的z单元是在ROP里边的,假定12ps的6800,6800gs有16组ROP,那么它的z填充率是12x2xfreq还是16x2xfreq呢?
作者: Edison    时间: 2010-1-7 01:55
6800gs rop 是 8 个吧。
因此 z-fill 是 2 Zop percycle  x 8 x freq。
作者: panjanstoneborg    时间: 2010-1-7 09:50
本帖最后由 panjanstoneborg 于 2010-1-7 16:02 编辑
6800gs rop 是 8 个吧。
因此 z-fill 是 2 Zop percycle  x 8 x freq。
Edison 发表于 2010-1-7 01:55

没有资料表明nv42是8rop吧,那nv40的6800标 呢?
其实就是想弄明白,在shader数少于像素输出时,对z的填充率有没有影响
xbitlabs以前有对z-fill的测试,但是从结果来看感觉他的程序写的有问题

----------------
nv42确实12rop,6800agp也是,nv40的rop和mc还不是绑在一起的
看来是到了g80以后才是绑在一起的
作者: panjanstoneborg    时间: 2010-1-10 01:15
b3d上的demirug是什么人啊……
关键段子
At first you need a rasterisation that is able to output enougt quads per clock to fill the pixelprocessors. On they other side of they pixelprocessor you need enough ports to transfer the information to the ROPs. And for sure you need enough ROPs for the finish.

Lets look at the NV30. The pixelprocessor is able to output 4 Pixel with color and Z Information or 8 Pixel with only Z-Information. I am not sure if there are two Z-calculation units in the pixelprocessor or if nVidia use some parts of the normal color calculation for the 4 additional Z values. After the pixelprocessor they need some addition ROPs. But this ROPs dont need alphatest or alphableding. Only Z and Stencilops are needed.

A more complete "multipixel per pipe" solution is the NV31. In this case we have two pipes with two tmus but 4 ROPs after they pixelprocessor. If they pipeline is used in they doppel pumped modus they rasterisation unit combines two pixel in one. They texturcoordinate from the first pixel is the first coordinate. They second pixel use the second coordinate. The tmus work as normal but at the end of the pixelprocessor pipe both texturvalues are transferd to different ROPs. nVidia use something like this bevor in the NV10.
作者: panjanstoneborg    时间: 2010-1-10 01:24
6800gs rop 是 8 个吧。
因此 z-fill 是 2 Zop percycle  x 8 x freq。
Edison 发表于 2010-1-7 01:55


那就是不依赖与shader的数量了?
作者: Edison    时间: 2010-1-10 02:00
12 ROP 就是 2 Z-op per cycle * ROP 频率。

这个操作用 shader 来完成的话有些浪费资源,虽然理论上 shader 也能跑。
作者: panjanstoneborg    时间: 2010-1-10 14:46
其实本来是想搞清楚nv31、nv34到底是怎么回事的,很久以前就想不明白了。
nv3136有4rop,我本来以为会和nv30的是一样的,但是现在看来不能做8z。
nv34我原来以为只有2rop,但是16bit下color fiirate能到900m左右,如果是4rop为什么和nv31差了近30m的晶体管?而且在xbitlabs上fillrate测试结果相差很大。350/350 vs 325/325 两者带宽的压力应该相当啊。难道z compression和c compression对fillrate测试都有这么大影响?
有一种说法是nv31实际有3vs但是有两组不能用。
nv3134都是2ps,nv31能做到大于1000m的color fill,说明纯粹fillrate测试是不依赖于shader数量的。
不知道说的对不对
作者: Edison    时间: 2010-1-11 17:33
gf fx 5200 可能是史上最诡异的 gpu 架构,到现在我都还不是很清楚它的配置是怎样的。
作者: panjanstoneborg    时间: 2010-1-11 19:47
也许从晶体管数去分析会靠谱一些,但是我不清楚各个模块使用晶体管的情况,不同芯片配置的缓存数量也不一样,也说不清楚这些缓存是不是占用晶体管的主要因素。
但是从nv31—》nv36只有多2m(不知道换foundry会有多大偏差),nv30-》35多5m,基本和ps数量成比例的。很可能nv31就是3vs的。那么nv34只有1vs甚至可能没有vs,能少多少晶体管呢?




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4