Hi. I have several questions which are somewhat related.
1) In a Core 2 system, suppose I have a large, contiguous block of data in RAM, of which a currently running process wants to make a copy (to be placed in a different location in RAM). Does the CPU simply instruct the memory controller "copy the block beginning here and ending there to this location", with the northbridge taking it from there, or is there more "hands-on" involvement of the CPU in the copy process? In particular, does all the data copied have to go through the CPU first?
2) Suppose I have a Core 2 system running at an FSB of 400MHz (1600 MT/s quad-pumped). The minimum speed I can run DDR2 RAM in this case (at least, with all motherboards I know of) is 800 MT/s. Each transfer of the FSB is 64 bits, so the total transfer rate is 12.8GB/s. Meanwhile, the transfer rate of the RAM is 6.4GB/s per channel, so with dual-channel the total is 12.8GB/s. Does this mean that any further increase in RAM speed will have no effect on the rate of data transfer between the CPU and RAM?
3) What are the advantages to running RAM at above the minimum speed? One is probably reduced latencies, but this seems less important. If the answers to #1 and #2 are "no" and "yes", I'd say the main significance is improved performance in memory-copy scenarios. Is this right?
Thanks.
1) In a Core 2 system, suppose I have a large, contiguous block of data in RAM, of which a currently running process wants to make a copy (to be placed in a different location in RAM). Does the CPU simply instruct the memory controller "copy the block beginning here and ending there to this location", with the northbridge taking it from there, or is there more "hands-on" involvement of the CPU in the copy process? In particular, does all the data copied have to go through the CPU first?
2) Suppose I have a Core 2 system running at an FSB of 400MHz (1600 MT/s quad-pumped). The minimum speed I can run DDR2 RAM in this case (at least, with all motherboards I know of) is 800 MT/s. Each transfer of the FSB is 64 bits, so the total transfer rate is 12.8GB/s. Meanwhile, the transfer rate of the RAM is 6.4GB/s per channel, so with dual-channel the total is 12.8GB/s. Does this mean that any further increase in RAM speed will have no effect on the rate of data transfer between the CPU and RAM?
3) What are the advantages to running RAM at above the minimum speed? One is probably reduced latencies, but this seems less important. If the answers to #1 and #2 are "no" and "yes", I'd say the main significance is improved performance in memory-copy scenarios. Is this right?
Thanks.