Today’s software is increasing in graphic intensity. Even mundane business software uses icons, charts and animations. When you add 3D games and educational software to the equation, one can see that there is a crunch in bandwidth for graphical information. With newer software and games getting much more graphics intensive, the PCI bus is maxed out. In fact, the PCI bus, once considered very fast, can now be considered a bottleneck.
Intel knew this very fact, and in response, they designed the Accelerated Graphics Port, or AGP. In short, AGP uses the main PC memory to hold 3D images. In effect, this gives the AGP video card an unlimited amount of video memory. To speed up the data transfer, Intel designed the port as a direct path to the PC’s main memory.
AGP sounds groundbreaking, and it is, no doubt, the latest craze in the need for graphical speed. But, in the real world, it is questionable if AGP really improves performance.
One can easily see why the need for a new graphical interface is needed. While PCI served us well, and still continues to do so, it is bogged down by the demand of full screen 3D graphics. It works well for 2D business software and most games, but intense 3D challenges the bandwidth limitations. For true 3D, there is much information that must be transferred for a single image. For a discussion of these elements, see Elements of 3D.
In July of 1996, Intel rolled out AGP. In theory, it can support speeds four times as fast as the PCI bus, roughly 528 Mb/second. As stated above, it uses the main memory to store all 3D information, including textures and the Z-buffer. This rids us of a prime problem of PCI video — textures add reality to what we see on screen. The Z-buffer creates an illusion of depth. Both of these take up loads of memory, and they use the same chunk of memory. Therefore, manufacturers were forced to choose between textures or the z-buffer. Often, they had to design software that was weak in both areas in order to deal with the PCI bus. With AGP, this restriction is gone.
To create lifelike 3D images, the CPU must perform intensive 3D calculations. The graphics controller processes the texture data and bitmaps. In many cases, the controller must read elements from 7 or 8 different textures and average them into a single pixel on the screen. When this calculation is performed, the pixel must be stored in the memory buffer. Because these textures are so large, they cannot be stored on the video card’s buffer. With AGP, they instead are stored in the main system memory. Because of this, it is recommended that you have a large amount of system memory in your machine — this should be no problem due to the low prices of RAM. Intel, no doubt, took this into account when they decided to use your RAM for graphics.
To access the texture data from the main memory, AGP uses a technique called Direct Memory Execute, or DIME. In short, this connects the memory directly to the AGP/PCI chipset. This lets the graphics card access the textures in the main memory, which is limited only by the amount of memory you have in your system.
AGP transmits data on the rise and fall of a clock cycle. Since one clock cycle is four rises and falls, just like a wavelength of a sine wave, AGP sends data four times per clock cycle. This is why it is four times faster than the PCI bus, which sends data once per clock cycle. This AGP is called 2x AGP. In the future, Intel plans to fine tune the timing — the effect will be theoretical throughputs of 1 GB per second, called 4x AGP.
Like PCI, AGP uses a 32-bit connector. But, there is a difference. The AGP connector has 64 contacts, just like the old MCA adapter. AGP uses a 64-bit wide data path. This extra contact provides new roadways for the pipeline and queue of data requests. Another difference is that AGP uses an extra eight sideband address lines that allows the controller to issue simultaneous commands while also accessing all 32 of the main data pathways. This is called Sideband Addressing, or SBA. All this comes together to give AGP a faster throughput then PCI.