PIPELINING

AGP uses pipelining to increase speed. Pipelining organizes data retrieval into a sort of assembly-line process. The graphics card receives multiple chunks of data in response to a single request.

AGP overlaps the memory or bus access times for a request ("n") with the issuing of following requests ("n+1"..."n+2"... etc.). The first step of execution is performed on the first instruction, and then when the instruction passes to the next step, a new instruction is started. In the PCI bus, request "n+1" does not begin until the data transfer of request "n" finishes. Hence, PCI bus is much slower than the AGP bus.  

This process is very similar to ordering a many course dinner. Either you can order all of the courses at one time, or order one course, and then wait for the waiter to bring the food, and then order the second course. In both cases, the order of the food will be the same.


http://developer.intel.com/technology/agp/tutorial/chapt_4.htm

However, pipelining has several drawbacks. First of all, it is very complex. The processor has to do a lot of work to keep the pipeline moving. This makes it expensive as well. The greater problem is data dependencies. This happens when the execution of the second instruction requires the result from an earlier execution. Therefore, the processor will have to wait for the first instruction to be executed. This will cause a stall in the pipeline, causing a lot of delay. For example:-

A = A++

B = A + B 

In this case the second instruction can only be executed after the first one finishes.

Next >>

Home
 
AGP
 
The Road to AGP
Features of AGP
Increased Bandwidth
Dedicated use to the Graphics Card
Pipelining
Sideband Addressing
Direct Memory Execute
Requirements of AGP
 
Graphics Cards & Chips
 
Anatomy of a Graphics Card
Graphics Processing
Market Spotlight
Future of Graphics Cards
 
References