NForce2 and Dual Channel Memory. Is it a waste?

Whitedog

Diamond Member
Dec 22, 1999
3,656
1
0
Sunner brought something to my attention that I hadn't thought about. Maybe this has been discussed before, I don't know. So I'll bring it up again INCASE not.

I just bought an ASUS board with NForce2 chipset (A7N8x Deluxe.. nice board too :D ) and am running Dual 512MB PC2700 DIMMS (for double memory bandwidth they say?).

ANYWAY! If the bandwidth between the Chipset and the CPU is only 266MHz (whatever that equates to in GB/s I don't care at this point)... Then... what good does it do to have the bus between the Memory and Chipset running any faster than 266MHz? I mean, does stuff you have stored in memory go anywhere else besides the CPU?
I thought that graphics stored in Memory that get's passed to the video card has to be passed through the CPU first, so that would rule out Fast transfers from Memory to AGP? Unless I'm wrong about that.

I'm starting to see that the benifits are not that good for having this "Dual Channel" memory...

Someone enlighten me here. Does Graphics stored in System ram get passed directly to the AGP bus when requested? or does it have to go through the FSB first?

Thanks!
 

Lord Evermore

Diamond Member
Oct 10, 1999
9,558
0
76
The Athlon platform doesn't see a tremendous benefit from using dual channel for bandwidth. However the nforce chipset operates slightly differently from the way Pentium4 dual channel chipsets work. With a P4, the data is just split up between the channels so you get a total of double the data rate. With the nforce2, the chipset has two separate memory controllers acting independently. While one controller is retrieving data from memory, the other controller is communicating with the CPU (or DMA device) and preparing for access to the memory. When the first controller is done with the memory, the second controller starts its data transfer. This reduces overall latency slightly since there's less of a delay between one memory transfer and the next.

AGP does indeed communicate directly through the memory controller with the RAM, bypassing the CPU (any DMA-enabled device does in fact). However this only makes a difference if there is in fact AGP data being transferred. With most video cards these days, the onboard memory of the card is plenty for all the data to be stored. The data the video card has to manipulate has to come from the CPU first, to the video card. This is where AGP2X, AGP4X, AGP 8X comes in handy for bandwidth, however you're limited by the CPU frontside bus here (AGP 4X is essentially the same bandwidth as a 266MHz Athlon bus).

If the video card can't store all the data that it needs within onboard memory, then it will offload the data to the main memory, and this is where some extra memory bandwidth can come in handy. The CPU doesn't need to see that data, it is passed directly to and from main RAM. This is significantly slower than onboard memory though, so only extreme budget cards come with so little memory that they ever need to use AGP texturing. Onboard video also gets better performance from faster memory bandwidth of course, since they usually use the main memory entirely as their texture cache (except for those few boards with dedicated memory chips for the video).

The other side of the coin is that simply running the memory at 333MHz or 400MHz single-channel for more bandwidth isn't efficient, because the CPU bus and memory bus operate best when run at the same speeds. If they're run asynchronously, then one or the other may have to wait a clock cycle or two sometimes for the other bus to be ready for a transfer. (Of course with a P4, a single channel of memory can't come close to enough bandwidth, and is always going to be running asynchronously).

Whether you see a real performance difference depends entirely on the applications you use, and how memory bandwidth dependent they are, compared to their liking for low latency.