• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Pixel Pipeline Perplection...

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

tLove

Member
Joined
Jun 17, 2005
Location
California, PA
Ok, I can't find a good forum post on this topic, so I was wondering what it all means...

I'm still an amature when it come to video cards and still dont understand why some things work or what they do. So anyway, what does everybody mean when they say "pipes" when refering to GPU's. Why are more better, how come there are always 8, 16, 32, 12... and not like 10? WHATs GOING ON!!

Just curious, feels like it should be a sticky next to something like the SLI tab in nVidia section.
 
Pixel Pipelines, or "Pipes" as we call them, are the part of the GPU which determine information about a pixel. Pretty much all we care about for pixels is their color, which essentially means that the purpose of the pipes is to calculate the color of every pixel on the screen.


To begin at the simple question of why there are always X pipelines on a card and not Y, we'll look at a block diagram:
setup%20engine.jpg


The image above is a block diagram of the pixel processing engine on the X800. You'll notice that there are four units in the engine. Each of these units is known as a "quad pipeline". If you look closely, you'll see four pixel pipelines in each quad, thus the name. This grouping of 4 pipelines into a single unit is the reason why you always see pipeline counts that are divisible by 4 (eg 4, 8, 12, 16, ...). I'm not positive how nVidia arranges their own pipelines, however, since the number of piplines their cards have is also always divisible by 4, I would imagine they use a similar quad scheme.

Zooming in on a single quad, we can clearly make out each of the four pipelines:
quad%20pipeline.jpg

You'll notice that pretty much every pixel-related operation is contained here. We've got the pixel shader, fog effects, anti-aliasing, and more. Using the various data that the pipeline recieves from the setup engine (which takes the geometry and assigns pixel-related data like color, texture, etc) it can color in all the triangles of the geometry. Obviously this illustrates how the X800 tackles the process, though functionally nVidia's cards (and nearly any card from any company for that matter) should be similar by including various units to calculate pixel colors based on geometry and data sent to it.


There is also a different kind of pipeline, called a "vertex pipeline", which essentially is like a pixel pipeline, but dealing only with vertex data (position of geometry in 3d space, morphing of geometry, vertex shaders, etc). Cards usually have fewer vertex pipelines than pixel piplines because geometry power is usually not as needed as pixel power (increased resolution and AA place serious strains on the pixel pipeline, and leave the vertex pipeline pretty much alone).

Obviously, the more piplines you have (whether they are pixel or vertex) the better. When one has more pixel pipelines, the card has more power to deal with increased resolution (more pixels in a frame), AA (more calculation for each pixel in a frame), pixel shading (more calculation for each pixel in a frame), and other effects. When a card has more vertex pipelines, it has more power to deal with increased geometry (more triangles in a frame), lighting (vertex pipe figures out how light is striking a triangle [though the pixel shader will apply the color of that light]), and vertex shading (morphing of geometry such as cloth effects).


*Block diagrams blatently ripped from DriverHeaven's X800 Architecture page. If you want to get more in depth to how the X800 architecture works (including vertex pipes, memory interface, setup engine, etc) then I would definatly check it out :) Heck, if you're just interested in how cards work in general, it would be great since many cards work in the same general way.
JigPu
 
Wow, that was exactly what I wanted! A page that practically explains how most GPU's work the way they do. Thanks a bunch, bookmarking that site. :beer:
 
Back