Question:
My question is derived from a question I had about the limitations of an AGP 4x bus vs. an AGP 8x bus. Originally I wanted to know "What's the fastest video card that I can run given the limitation of a 4x AGP slot?" But that got me thinking about this long discussion here:
Basically I have a very rudimentary (and maybe incorrect) understanding of how a graphics accelerator works but I think it's like this: The CPU has graphics instructions which it could do it it's own but since there's heavy load on the processor for graphics intensive computations the 'acceleration' model of processing them was developed where the instructions are offloaded onto the graphics card, though a bus like the PCI, AGP, or PCIe bus and sent to the card. The card then has several parallel high-speed floating point calculation pipelines inside the GPU which connect to the on-board graphics card memory. So there's another bus there--the bus between the graphics card's GPU and the graphic's card's memory. I'm confused on how this all works because it seems like there's a severe mismatch between the bus bandwidth.
The AGP bus is a 32-bit, 66Mhz bus, and at AGP 4x it is quad pumping, so that amounts to 32 bits * 66 Mhz * 4 / (8bits/byte) = 1056 MB/s bandwidth.
A GeForce 6 6800 Ultra has a 256-bit interface, running at 366.66Mhz of GDDR3, which amounts to 256 bits * 366.66 Mhz * 3 / (8bits/byte) = 35,200 MB/s or 35.2 GB/s of bandwidth.
So here already it seems like you've got a 35.2 GB of bandwidth on a card with a GPU running at something like 400 Mhz, which is all connected to this slow AGP 4x bus. I know these cards are old now but at the time around 2002 or 2004 this was a perfectly sensible combination. So what am I missing here? What's the explanation on why the graphics cards have so much power and bandwidth compared to the relatively slow buses that they run on? How are instructions offloaded to the GPU accelerator and returned back to the processor?
Even modern GPUs like the 192 GB/s of memory bandwidth GeForce GTX 580 still run on the PCIe 16x slot which has a bandwidth of 16GB/s.
Clearly I know just enough to be dangerous. Can someone please straighten me out on what is important, how accelerators work in general, and what the various bottlenecks would be in different situations? Am I looking at the wrong metrics here? It seems like I dont quite understand how the frames are drawn and how they get from instructions and data on a CPU & main memory through the PCIe bus to the GPU and GPU memory and back, and then eventually to your monitor.
Back-story:
I have an Intel D850EMV2 motherboard which has an "AGP connector supporting 1.5 V 4X AGP cards only." A while back I had my GeForce 6800 Ultra burn out and I needed to replace it in a hurry so the only AGP card I could find to replace it was a GeForce FX5500 which sadly was slower. I'm saving up to buy a new system but recently noticed that prices on some of these old parts had come down to the point of where I don't mind spending $20 for another 1/2GB of memory. So It got me thinking about re-upgrading my video card. So my original question is what's the fastest video card that I can run given the limitation of a 4x AGP slot.
My question is derived from a question I had about the limitations of an AGP 4x bus vs. an AGP 8x bus. Originally I wanted to know "What's the fastest video card that I can run given the limitation of a 4x AGP slot?" But that got me thinking about this long discussion here:
Basically I have a very rudimentary (and maybe incorrect) understanding of how a graphics accelerator works but I think it's like this: The CPU has graphics instructions which it could do it it's own but since there's heavy load on the processor for graphics intensive computations the 'acceleration' model of processing them was developed where the instructions are offloaded onto the graphics card, though a bus like the PCI, AGP, or PCIe bus and sent to the card. The card then has several parallel high-speed floating point calculation pipelines inside the GPU which connect to the on-board graphics card memory. So there's another bus there--the bus between the graphics card's GPU and the graphic's card's memory. I'm confused on how this all works because it seems like there's a severe mismatch between the bus bandwidth.
The AGP bus is a 32-bit, 66Mhz bus, and at AGP 4x it is quad pumping, so that amounts to 32 bits * 66 Mhz * 4 / (8bits/byte) = 1056 MB/s bandwidth.
A GeForce 6 6800 Ultra has a 256-bit interface, running at 366.66Mhz of GDDR3, which amounts to 256 bits * 366.66 Mhz * 3 / (8bits/byte) = 35,200 MB/s or 35.2 GB/s of bandwidth.
So here already it seems like you've got a 35.2 GB of bandwidth on a card with a GPU running at something like 400 Mhz, which is all connected to this slow AGP 4x bus. I know these cards are old now but at the time around 2002 or 2004 this was a perfectly sensible combination. So what am I missing here? What's the explanation on why the graphics cards have so much power and bandwidth compared to the relatively slow buses that they run on? How are instructions offloaded to the GPU accelerator and returned back to the processor?
Even modern GPUs like the 192 GB/s of memory bandwidth GeForce GTX 580 still run on the PCIe 16x slot which has a bandwidth of 16GB/s.
Clearly I know just enough to be dangerous. Can someone please straighten me out on what is important, how accelerators work in general, and what the various bottlenecks would be in different situations? Am I looking at the wrong metrics here? It seems like I dont quite understand how the frames are drawn and how they get from instructions and data on a CPU & main memory through the PCIe bus to the GPU and GPU memory and back, and then eventually to your monitor.
Back-story:
I have an Intel D850EMV2 motherboard which has an "AGP connector supporting 1.5 V 4X AGP cards only." A while back I had my GeForce 6800 Ultra burn out and I needed to replace it in a hurry so the only AGP card I could find to replace it was a GeForce FX5500 which sadly was slower. I'm saving up to buy a new system but recently noticed that prices on some of these old parts had come down to the point of where I don't mind spending $20 for another 1/2GB of memory. So It got me thinking about re-upgrading my video card. So my original question is what's the fastest video card that I can run given the limitation of a 4x AGP slot.