Quick conceptual question about clock frequencies and DDRx

RedSky_Eagle

Reputable
Jan 29, 2015
43
0
4,530
So I am getting ready to teach a class on PC hardware and I am having a bit of a conceptual issue. Given that CPUs are faster than memory, DDRx should make your RAM theoretically double the frequency, since it is sending data on the rising and falling edge of the clock. What happens if RAM is more than half of the CPU's clock frequency?

For example, CPU frequency is 3.5 GHz and RAM frequency is 2000 MHz (2 GHz). Now, RAM is transmitting data on the rising and falling edges, but that would technically give it a clock frequency of 4 GHz (or at least, it is sending data 4 billion times every second) and the CPU should not be able to keep up with that. How does this work? Where is my disconnect?
 
Solution
This is a little over my pay grade, but I'll take a swing.

1) DDR rates are the doubled rate. So you 2GHz ram is actually 1GHz. The 2GHz is the doubled rate. If you manually set this up in your bios, you would set your RAM to operate at 1GHz.

2) Your memory controller is now located within the CPU. So I don't think it's possible to have a memory controller that could/would clock ram above that of the CPU. I think the best you could achieve is a theoretical 1:1 ratio.

smashjohn

Reputable
Aug 14, 2017
574
12
5,365
This is a little over my pay grade, but I'll take a swing.

1) DDR rates are the doubled rate. So you 2GHz ram is actually 1GHz. The 2GHz is the doubled rate. If you manually set this up in your bios, you would set your RAM to operate at 1GHz.

2) Your memory controller is now located within the CPU. So I don't think it's possible to have a memory controller that could/would clock ram above that of the CPU. I think the best you could achieve is a theoretical 1:1 ratio.
 
Solution

RedSky_Eagle

Reputable
Jan 29, 2015
43
0
4,530


That makes a lot of sense. So the theoretical 2 GHz clock rate is actually 1 GHz, transferring data on the rising and falling edges, therefore making it 2 GHz. Thank you!
 
Ram and cpu speed are completely independent. The only thing they have in common is bclk. The memory controller being on the cpu has no effect other than efficiency. You can have a 1ghz cpu run 4ghz ram and still be starved of data or 4ghz cpu run 1ghz ram and have plenty of ram bandwidth to spare. Cpu cores, number of ram channels, etc., this is a much more complicated subject than just speed.

Ram doesn't do any work, ie no calcualtions, but a cpu does. So ghz is not the same here. They are just the same measuring unit for things that happen in 1 second. Frequency is only one piece of the puzzle for bandwidth (ram) or instructions per clock (cpu). Also don't forget any data given to the cpu also gets transferred out and that data is then transferred to graphics cards or other devices where data is going all simultaneously so ram would need to have higher bandwidth than just the connection to the cpu.