Dual channel question

whit80

Distinguished
Jun 6, 2007
34
0
18,530
I mistakenly installed RAM in the wrong slot when I upgraded from 1GB to 2 GB recently. Initially I had one 512 module in slot one of each channel for a total of 1 GB RAM. When I added another module of 1 GB RAM, I mistakenly put it in slot 2 of channel A, giving channel A 1.5 GB and channel B still at 512. The manual for my board, which I finally got around to reading, says this is OK but only 512 of RAM in each channel will run in dual channel mode like this, with the extra 1GB of RAM running in single channel mode. They call this "flex" mode. Well, I went ahead and fixed this, making sure there was 1 GB of RAM in channel A and B. When I booted up my system, I expected a noticeable performance improvement, but I ran a bunch of high end apps and games on my system, and I didn't really notice any difference. Anyone have an opinion on whether I should have noticed any improvement in my system performance after fixing this type of problem. Thanks in advance!
 

jackluo923

Distinguished
Mar 12, 2007
453
0
18,780
Your application are probably not memory bandwidth intensive meaning it doesn't need a lot of memory. You could measure the improvement using benchmark softwares such as SiSandra 2006.
 

whit80

Distinguished
Jun 6, 2007
34
0
18,530
So I guess there is no noticeable practical difference in performance if the dual channel RAM is not split exactly evenly. It must be one of those things that is small enough you would only really see it if you ran performance diagnostics on the system. Would that be a fair assumption?
 

jackluo923

Distinguished
Mar 12, 2007
453
0
18,780
Well... I think it would be better explained as this. (mondoman please correct me if i'm wrong)

The programs you used does not utilize all the bandwidth the ram can support.

instead of this

no noticeable practical difference in performance if the dual channel RAM is not split exactly evenly.

Supposedly, Dual channel ram can double the memory's bandwidth, but in real scenario its less than 75% increase. Right now, memory bandwidth doesn't not bottleneck the performance of your programs. If you're using a program that can uses a lot of memory bandwidth, you'll benefit from dual channel.
 

Mondoman

Splendid
There are two aspects.
1. What jl was getting at: if a program isn't spending a lot of time waiting for data to be transferred to/from main memory, improving that transfer speed won't have a big effect on the overall program.
2. The memory bus is only part of the path: the data also goes through the North bridge and FSB to get to/from the CPU. You didn't mention what your FSB and memory bus speeds are, but DDR2-800 is enough to saturate an 800MHz FSB even in single-channel mode.

Remember also that the FSB is very slow relative to the processor core, about 6-11x for C2Ds and 15-25x for Pentiums. To minimize that bottleneck, the CPU has L1 and L2 memory caches that normally operate at full core speed, or sometimes half core speed, so frequently-used data and even the data from the next memory locations in line are stored there and accessed at core or half-core speed. Each core has 1-2MB of such cache in current C2Ds.

Although there is not an enormous difference, in recent years Intel has emphasized the bigger-cache approach to minimize starving the core of data/instructions from memory, while AMD has emphasized speeding up main memory access by integrating the memory controller inside the CPU, saving some latency and connecting the memory directly to the CPU w/o a potential FSB bottleneck in between.
 

whit80

Distinguished
Jun 6, 2007
34
0
18,530
Thanks for the reply. So I guess what I'm seeing with my system is what is an overall minor performance difference since the first GB of system RAM is working in dual channel mode anyway.