| |||
| Pipelines Exactl what is pipelines for video cards? How do they work. I heard the clock speed isn't everything, pipelines are important too. An exmaple: Are they like "pipes" where the more "pipes" there is, "more water is transfered"?
__________________ |
| ||||
| Every modern CPU has an instruction pipeline, including the GPU on a graphics card (the GPU is really just a specialized CPU). Pipelines are a way to increase the speed of the CPU by dividing the work of executing an instruction into a number of small individual tasks which can then be executed in parallel, rather like the way an assembly line works. This is in general a Good Thing, because it allows the CPU clock speed to ramp up more easilly, thus giving us machines with ever higher clock speeds. Thus, longer pipelinen generally mean faster CPUs. Unfortunately, it also has a down side. If something occurs that the CPU wasn't expecting, it has to dump the contents of the entire pipeline and refill it. This is what is known as a cpu or pipeline stall. This is a Bad Thing. So what can occur to cause a stall? 1) A missed branch prediction. 2) A data dependecy. 3) A system interrupt. 4) ... There are lots of things that can do it, but the 3 I listed above are the biggies. Lots and LOTS of engineering time goes into dealing with issues 1 and 2. So, the longer the pipeline, the worse the effect of a pipeline stall. Intel and AMD both take fundamentally different approaches to this issue, hence the reason they perform differently on different types of applications. AMD uses a shorter pipeline than Intel, and so has a lower maximum speed, but because of the shorter pipeline, an AMD chip is able to do more work per clock cycle on a particular instruction than the Intel chip. On the other hand, the Intel chip can reach a higher clock speed. Depending on the type of application you are running, one architecture might be of more benefit to you than another. For example: There is not a lot of work that has to be done for most basic math instructions such as add, subtract, multiply, or divide. As a result, any application that is heavy on this kind of stuff (such as video or audio encoding) is going to tend to benefit more from Intel's high clock speed than from AMD's greater work per clock. On the other hand, if you routinely run a lot of different applications all at the same time, particularly office type applications, or even games, you will probably get more benefit from the AMD chip because it takes less of a hit on task switching (which results in a pipeline stall). Intel partly compensates for this by using HyperThreading, but the basic premise still applies. Now, wind this back around where it started: Having a long pipeline in a GPU could THEORETICALLY help its performance in certain types of rendering applications. Since I'm no expert on graphics, I couldn't tell you what kind of applications would benefit the most.
__________________ Avatar and sig graphic by Pitch. Subscribers! Ask about a custom graphic or avatar today! Gizmo Thermal Diode Mod and Direct-Die Water Block 8-Cheetah 18GiB U-2 SCSI MegaRAID Enterprise 1500/128MiB Samsung SyncMaster 955DF TTGI/Superflower TTS-520 PSU ![]() ![]() ![]() |
| ||||
| Gizmo did an AWESOME job of explaining what a pipeline is, and the benifits of long vs. short. So, we have a CPU or GPU with a pipeline which is splitting our work up into smaller, "easier to chew" chunks of work. By breaking an instruction up into several small ones, MHz can be increased without having to put much more additional stress onto the CPU's logic. Modern CPUs and GPUs take this idea one step further. Not only do they have a pipeline, they have multiple pipelines (the Pentium 1 was Intel's first CPU with more than one pipeline). An architecture using multiple pipelines is called superscalar. By having multiple pipelines, a CPU can run several instructions that don't depend on each other simultanously. For example, the CPU could have two instructions waiting, the first being "A = B + C" and the second "Z = X + Y". Since neither calculation depends on the other, the CPU can run both in their own pipelines to increase speed. The problem with multiple pipelines though is that each pipeline requires it's very own logic circuits. If you have 2 pipelines you'll need 2 ALUs, 2 FPUs, etc. One ALU can't be used by two pipelines at the same time, so multiple parts have to be built. This increases production cost, and uses up valuable silicon. Here's where GPUs come into the picture. The number of pipelines you commonly see referenced for a GPU is the number of "pixel pipelines" it has. Each pixel pipeline calculates the color of an individual pixel. Lighting, texturing, etc must all be calculated by the pipeline to come up with the final result. This is the area of the GPU that pixel and vertex shaders come in. They modify specific values which change the color of the pixel based on some short instruction list. Each pixel pipeline can apply either one or two textures per pass. For example, you'll see references to "8x1" "4x1" "4x2" etc. The first number is the number of pipelines the card has, and the second is the number of textures that pipeline can apply in one pass. If a pixel has multiple textures on it, then both textures must be taken into account for the final color. In a "x1" system, a pixel with 2 textures will have to be run through a single pipeline two times, whereas a "x2" system could apply both textures on the same pass. Theoretically "8x1" is as efficient as "4x2", but only when each pixel has two textures on it. When a majority have more or less than two textures, one will be more efficient than the other. The more pipelines the better, though the more expensive it is to build. A card with 12 pipelines would be awesome, but would cost an inordinate amount of money. JigPu
__________________ - OCForums Member - (I come here when it's down or nothing's going on ) |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Rate This Thread | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| x800xt only 12 pipelines | chuckied | Graphics and Sound cards; Speakers and other Peripherals | 2 | 17th February, 2005 02:07 PM |
| Flashing Bios of 9500np to 9700np, can it enable 8 pipelines? | roders | Graphics and Sound cards; Speakers and other Peripherals | 1 | 15th July, 2003 07:42 AM |