NV3x Wiki Table - How wrong am I?

swaaye

Entirely Suboptimal
Legend
Supporter
I tried to put together a table of the rather complex NV3x architecture.
http://en.wikipedia.org/w/index.php?title=GeForce_FX_Series&oldid=81424182#GeForce_FX_models

Can you guys tell me what's wrong with this? I have a nagging feeling that it's horribly flawed somehow (aside from the colors lol). It's basically a compilation of info found thru the forum search here. And maybe some info from some reviews / 3dchipset.

One thing I'm curious about is where I got the hardwired T&L unit idea from. I actually made this table about a year ago. Did NV3x have a DX7 T&L unit or was it emulated thru vertex shaders?

I'd also like to discuss how much NV4x is similar to NV3x. If that is true at all.
 
The hardwired T&L idea came from the fact that the throughput rate for fixed function was typically much higher than for vertex shaders. I'm not convinced that there ever was a hardware fixed function pipeline, however. The shaders in the NV3x were VLIW, and nVidia was never able to get the compiler up to speed (I believe this was mentioned in one of the early NV4x interviews). So it may just be that nVidia was able to spend much more time optimizing for the finite number of combinations of fixed function calls, making fixed function calls that much faster for processing time reasons.
 
I didn't know about the MAD operation being limited to FP16. Is 15.2 GFLOPs accurate for the FX 5950 Ultra?
 
Last edited by a moderator:
The FX indeed was a fixed function pipeline with some extensions for shades. For example, register combiners from GF4 were present on the FX and could be used after the pixel shaders. Actualy, FX was not a "bad" card, it had nice features if used corrently. As I recall the situation, Microsofts early DirectX 9 specs did include fixed-point types, with fp types as extension, so Nvidia designed the FX according to it. But DirectX turned another way out... Still, you could mention that the FX series was pretty advanced at the moment, even if it had no floating-point horsepower. They had no texture redirection limits, supported large shaders and derivatives. If used right, they could do nice things ( I remember playing with FX and OpenGL long time ago) with solid performance and good quality, but it was real pain in ass :)
 
I was under the impression, that the additional FP-Units on NV35 and up were only FP16-capable. 5600 XT had only 64 Bits to Memory, IIRC.
 
Last edited by a moderator:
I was under the impression, that the additional FP-Units on NV35 and up were only FP16-capable. 5600 XT had only 64 Bits to Memory, IIRC.
This is correct. The FX12 ALUs on NV30 were replaced by FP16 ALUs with NV35.
 
Ok. I changed the mini ALU details for NV35 and NV36 to FP16 instead of FP32. And, yes apparently there was a 64-bit FX 5600 XT (but also a 128-bit version too).

Thanks for the info folks.
 
This is correct. The FX12 ALUs on NV30 were replaced by FP16 ALUs with NV35.

Not correct. These are FP32 units. However the 2 "mini-ALUs" can only output one FP32 MAD per cycle.

With FX5900/5700 you can get per cycle and per PS pipeline :
2 textures + 1 FP32 MADs
2 textures + 2 FP32 MULs or ADDs
2 textures + 2 FP16 MADs
2 FP32 MADs
3 FP16 MADs
1 FP32 MAD + 2 FP32 MULs or ADDs

Registers were the problem as you could not use more than 2 FP32 registers per pixel to keep it working at full speed. 4 FP16 registers were available. That's the reason why FP16 was used widely and not because the mini-ALUs were not FP32 capable.
 
Ok, I changed them back to FP32 at Wiki. Do my pixel pipe, ROP, and vertex shader counts seem ok? I know that NV3x was very odd in that respect...

Say with NV34 / 5200.
0 textures = 4x0?
w/ textures = 2x1? 2x2?

or is that just for 5600/NV31?

will consult 3D Tables too
 
Both 5200 and 5600 had the same throughput in the pixel shaders. These are 2 pixel shading pipelines designs but with a kind of fast mode to output 4 pixels per cycle with single texturing.
-> 2x2 design with a fast 4x1 limited mode
 
Both 5200 and 5600 had the same throughput in the pixel shaders. These are 2 pixel shading pipelines designs but with a kind of fast mode to output 4 pixels per cycle with single texturing.
-> 2x2 design with a fast 4x1 limited mode

this is excatly what I've been saying in the discussion page Swaaye
 
Both 5200 and 5600 had the same throughput in the pixel shaders. These are 2 pixel shading pipelines designs but with a kind of fast mode to output 4 pixels per cycle with single texturing.
-> 2x2 design with a fast 4x1 limited mode

What is the difference between 5200 and 5600? Just memory optimizations and clock speed?
 
One thing I'm curious about is where I got the hardwired T&L unit idea from. I actually made this table about a year ago. Did NV3x have a DX7 T&L unit or was it emulated thru vertex shaders?

I believe that even the DX7 T&L unit was already a “Vertex Shader 0.Xâ€￾ and the made it simply more programmable with every new generation.

Another reason than hand optimized shader code could be that there are some shortcuts possible with T&L that can save some instructions.
 
Im pretty sure thats it, because my old 5200 Ultra could under some instances pwn a 5600

k. I've always wanted to pick up a 5200 Ultra, to mess with. I'm, for some odd reason, fascinated by that pathetic little chip. :LOL:
 
I believe that even the DX7 T&L unit was already a “Vertex Shader 0.X” and the made it simply more programmable with every new generation.

Another reason than hand optimized shader code could be that there are some shortcuts possible with T&L that can save some instructions.

Well, I've been messing with a K6-III+ 616 MHz (112 x 5.5) system lately. I have a FX5600 256MB in it right now. Prior to that I had a Radeon 7500 installed. I've run 3DMark2001SE on both boards while in that system.

http://service.futuremark.com/orb/projectdetails.jsp?projectType=6&projectId=9152655
http://service.futuremark.com/orb/projectdetails.jsp?projectType=6&projectId=9152701

A suspicious result. 7500 beats 5600 @ DX7 T&L. :LOL: I believe there's definitely something wrong with it on that platform. This though is what raised my suspicions of 5600 not having a real T&L unit. Notable though is that 5600 and 7500 both required older drivers to function on the platform (P6/K8/Netburst optimizations?). The Radeon 2D was messed up in speed w/ latest drivers (unaccelerated weirdness), and the 5600's 3D was totally non-functional (D3D & OGL) until I got down to the 56.x series. I had to scour sites for older ATI 9x drivers cuz AMD has reduced their archive to nothing.

I'm not sure I believe these results because of the driver issues. Also, 5600 did crash on the advanced pixel shader test.

I will say though that my old Radeon 8500 competed very well with this particular FX 5600 in Guild Wars on a Barton 2.4 GHz. Tried that a while back. The 5600 ran it quite badly. I think the 8500 may have actually been faster, if you can believe that.
 
Last edited by a moderator:
Well, I've been messing with a K6-III+ 616 MHz (112 x 5.5) system lately. I have a FX5600 256MB in it right now. Prior to that I had a Radeon 7500 installed. I've run 3DMark2001SE on both boards while in that system.

http://service.futuremark.com/orb/projectdetails.jsp?projectType=6&projectId=9152655
http://service.futuremark.com/orb/projectdetails.jsp?projectType=6&projectId=9152701

A suspicious result. 7500 beats 5600 @ DX7 T&L. :LOL: I believe there's definitely something wrong with it on that platform. This though is what raised my suspicions of 5600 not having a real T&L unit. Notable though is that 5600 and 7500 both required older drivers to function on the platform (P6/K8/Netburst optimizations?). The Radeon 2D was messed up in speed w/ latest drivers (unaccelerated weirdness), and the 5600's 3D was totally non-functional (D3D & OGL) until I got down to the 56.x series. I had to scour sites for older ATI 9x drivers cuz AMD has reduced their archive to nothing.

I'm not sure I believe these results because of the driver issues. Also, 5600 did crash on the advanced pixel shader test.

I will say though that my old Radeon 8500 competed very well with this particular FX 5600 in Guild Wars on a Barton 2.4 GHz. Tried that a while back. The 5600 ran it quite badly. I think the 8500 may have actually been faster, if you can believe that.

I cant say much for a 5600 never owning one, but I know my 5200 Ultra did worse than my Ti-4400 in just about everything, including Elite Force and Elite Force 2. But it also was better than my old Ti-200 in older games, so id have to say a 5200 Ultra is about equal to an 8500 or Ti-500 in terms of speed, so on that basis id have to say a 5600 would be slightly faster 2-3% faster at best.
 
k. I've always wanted to pick up a 5200 Ultra, to mess with. I'm, for some odd reason, fascinated by that pathetic little chip. :LOL:

Ive got one around here somewhere still I think, if i find it ill let ya know. I do know it would play FarCry at medium at 10x7 in SP and did HL2 at medium at 10x7, COD2 at 10x7 Medium DX7, and my it would play I mean over 35FPS.
 
Ive got one around here somewhere still I think, if i find it ill let ya know. I do know it would play FarCry at medium at 10x7 in SP and did HL2 at medium at 10x7, COD2 at 10x7 Medium DX7, and my it would play I mean over 35FPS.

If ya have one, that'd be cool. I'd pay for your shipping no prob.

I also wanted to say that the 5600 played Quake 2 much better than the 7500. It was noticeably smoother. The 7500 played it actually somewhat choppy. I was surprised by that. Considering this is a K6-III+ @ 616 MHz with CAS 2-2-2 PC133 and Quake 2 with the 3DNow! patch (for K6-2, no less) , I didn't expect it to be choppy at all. It wasn't with the 5600.
 
Back
Top