RAM: Can anyone explain the relationship between CAS latency and frequency?

darkenedaura

Member
Jul 8, 2005
50
0
0
Hi all, I'm fairly noobish to this hardware stuff, and a couple of friends have been talking about overclocking ram and I had a few quetsions for the brilliant anandtech community ^_^

1. What is the relationship between CAS latency and frequency? Is it better to have super low CAS timings, such as like.. 2-2-2-5 or something of that realm with a freq. of PC3200/DDR400, or to have higher frequency (sayPC4000/ DDR500), but with higher CAS times?

2. What is the difference between DDR and DDR2? Which is better/more effective?

3. On most motherboards (like the one I'm getting; an ASUS A8n SLI deluxe 939), I see that it takes RAM of upto PC3200/DDR400; if I want to use DDR500, what do I have to do? Can I even do this? And if I can, is it even worthwhile?

To put everything in persepective, I'm more of a gamer than anything else; I don't do anything exceedingly crazy, but I'm just curious.

Thanks in advance!
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
This is not really HT. Please use the search function and check out the General Hardware/CPUs and Overclocking forums, or take a look on Google.

In a (small) nutshell:

1. CAS Latency describes how many (RAM) clock cycles it takes to do certain operations. Generally, for P4s it is better to have a higher frequency, and for Athlon64s it is better to have tighter timings. AT's memory testing articles go into much more detail on this.

2. DDR2 is a newer spec, and can reach higher clock speeds, but has higher latency. Please search for more information.

3. You would have to overclock the speed of the memory controller in the CPU. Please see the stickied thread in the CPUs and Overclocking forum for far more information about how A64s respond to various memory speeds/timings.

In practice, the difference between CL3 DDR400 and CL2 DDR500 is maybe 5% (in most applications).
 

freethrowtommy

Senior member
Jun 16, 2005
319
0
0
I, like you, would like to know the answer to question one.

2. DDR - uses more voltage, runs at a lower frequency, less bandwidth due to that frequency difference
DDR2 - uses less voltage, can run at much higher frequencies, timings aren't as tight as DDR, greater bandwidth
Basically, for the A64 system, you only have one choice in DDR. With Intel's newer offerings, you can use DDR2. Right now, the difference is hardly any. As DDR2 speeds ramp up, you will start to see a great difference.

3. Yes, you can use DDR500 in your system no problem. Basically, it is just DDR running at 250mhz as opposed to 200 mhz, generally at looser timings. This ram would aid in overclocking, as you can run the bus at 250 no problem with the RAM keeping up. This stuff is usually quite a bit more expensive and some RAM can hit this speed and well past it that is DDR400. With the A64, you can always run a divider, if you don't want to get overclocking RAM.
 

Fox5

Diamond Member
Jan 31, 2005
5,957
7
81
CAS timings and what not and frequency aren't completely unrelated. I remember there was a formula to calculate latency based on your CAS timings and frequency, anyhow a faster speed with the same timings will have lower latency, but often to achieve faster speeds you need to raise the timings.(or significantly bump up voltage)
 

BitByBit

Senior member
Jan 2, 2005
473
2
81
The CAS latency of memory modules in nanoseconds is a function of the latency in cycles and frequency.
For a DDR400 CL3 module, the latency in nanoseconds is calculated as follows:

Latency/ns = T X CAS

Where T is the period of the clock cycle, and CAS refers to the latency in cycles.

So, for a 200MHz DDR400 CL3 module, the latency is given by:

(1 / 200 X 10^6) X 3 = 15ns.

If you want to calculate the latency in ns of other modules, just substitute your own values into this formula:

(1 / clock cycles per second) X CAS Latency in cycles.

<Edit>
That can also be rewritten as: CAS Latency / Clock speed (actual)
</Edit>


Don't forget, the above calculates the theoretical latency of the memory module.
It does not give you the latency the processor sees, which is more dependent on the memory interface speed.

Also, if you want to calculate the equivalent latencies for modules of different frequency and CAS latency, then first find the latency in ns of the modules you want to compare with.
For example, if you want to find the equivalent latency of a CAS2 DDR400 and a CAS3 module of unknown frequency, just put them equal to eachother, rearranging to make the unknown the subject.
We know that the latency in ns of a CAS2 DDR400 module is 10ns (2/3 of 15ns) using the example above.
To find out the frequency a CAS3 module must reach to achieve the same latency, do it as follows:

10ns = (1 / Clock speed) X 3 {Simplifying...}
10ns = 3 / Clock speed {Making Clock speed the subject...}
Clock speed = 3 / 10E-09 [1 ns = 1E-09 s]
Clock speed = 3 X 10^8 = 300MHz.

Of course, common sense could have revealed the clock speed necessary in that case, but that formula can be used for more complicated examples.

It should be pointed out that memory performance is not determined by latency alone, however.
Memory is very often accessed in bursts, that is, once the initial access penalty (latency) is over, data is transmitted every clock cycle. In the example above, a CAS3 DDR600 module will outperform a CAS2 DDR400 module most of the time.

On the subject of which platform prefers lower latency and which prefers bandwidth, it isn't as simple as the P4 preferring bandwith and the Athlon preferring lower latency.
The Athlon XP couldn't make use of the bandwidth of faster memory modules in dual channel mode simply because it used a 64-bit 400MHz FSB, which could only utilise the bandwidth of one DDR400 module. The P4 has a 64-bit FSB but with an effective speed of 800MHz, meaning it responds well to moving from DDR333 to DDR400 memory in dual channel mode.
The degree of benefit a processor can derive from higher bandwidth memory is really determined by the maximum sustained execution rate it can manage. Of course, memory bandwidth isn't a problem if the processor's caches are being used fully, but in the cases of encoding and compression for example, memory bandwidth suddenly becomes a bottleneck.
The Athlon 64, with its ultra-fast memory interface still benefits from higher memory bandwidth. Looking at gaming benchmarks for example, the benefit derived from higher bandwidth can be anything up to 10%.

If the memory cannot feed the processor with the data it needs at a high enough rate, then pipeline bubbles are going to start to appear. The faster the processor, the higher its throughput, and in order to keep the pipeline full, it needs to be supplied with data that much more quickly.