I don't understand how the x1900 works

Wolfpup

Member
Jan 25, 2006
151
1
81
(BTW, I used to post here under a different name, but can?t remember my login, so?)

Over the years I?ve felt like I?ve had a good grasp on how video hardware works-like a lot of you I?m just as interested in HOW it works as I am in how powerful it is?

But I have to admit, I don?t ?get? how modern hardware like the x1900 is set up. It has 8 vertex pipelines, okay, I get that. But what does it mean that it has 48 pixel pipelines, yet only 16 texture units? In the past, it?s always been one (or occasionally two) texture units per pixel pipe.

Meanwhile, the Geforce 7800GTX has 24 pixel pipes, and only 16 ?rops? according to an Anandtech article when that part launched. What does that mean? How is a ?render output pipe? different from a ?pixel pipe?, and why are there different numbers of them?

And finally, what?s the deal with X-Box 360?s Xenos GPU? Discounting the second die with basically a 10MB frame buffer, the GPU has around 200-230million transistors if I?m remembering correctly-yet it supposedly has 48 pipelines that can do either pixel or vertex stuff. How can that number be correct with only 200 millionish transistors? How can that be correct when it clearly doesn?t have the raw processing power of the highest-end GPUs on the PC market?

And what does it mean when pipelines are divided into groups? Like in the Radeon x1900 there are 12 groups of 4 pixel pipes, and in 360?s Xenos there are 3 groups of 16 combined pixel/vertex pipes. Why are the pipes in groups? What advantages/disadvantages are there to that versus having them all be independent?

Basically I don?t feel like I have a solid grasp on how this all works anymore. I can?t be the only one! Can anyone shed some light on it all?
 

ElFenix

Elite Member
Super Moderator
Mar 20, 2000
102,414
8,356
126
it has sixteen texture units, 48 pixel shaders, etc etc. these aren't arranged into traditional pipes where things stay in the same linear pipe. they're arranged in load balanced units, so that the output from one unit can be sent to the input of any other unit, iirc. or maybe it all stays within the same quad.