A lot of people I know when I ask them about their RAM are blissfully unaware what a gargantuan impact it has on their computer’s performance, and when they see the technical specifications on RAM are instantly deterred from even trying to find out anything more about it. I thought I’d try to dispel the magic a little by writing a little guide, an explanation, to what your RAM is, and what all the numbers stand for and how they each impact your computer’s performance.
First a little history:
Modern CPU’s get their speed on 2 factors: The external clock ((Front Side Bus clock or FSB Clock)the fundamental timing base for everything)) and the clock multiplier.
The first incident of a CPU using a multiplier to increase processing speed was known as Clock Doubling (now relegated to uselessness since we operate on 10x or even 15x multipliers), so, say you have an external clock running at 200mhz, and the clock multiplier is set to 10x, that gives you a 2ghz internal CPU clock.
Motherboards use something called a Memory Divider, or DRAM:FSB Ratio, IF the memory is dependant on FSB clock speed (you may need to research this yourself). By default this ratio is set to 1:1 (well usually anyway), and usually needs some higher end motherboards to be tweaked.
This is very important if you’re going to over- or underclock your computer, because it means you can only change your multiplier to do so, if you don’t have access in your BIOS to change the DRAM:FSB ratio, if you don’t want to compromise the integrity of your system because increasing the FSB speed also increases the RAM speed. Normally system memory is not built for overclocking, so it will become unstable.
I’ll work with some low numbers to make the math here a little simpler, since I’m not 100% awake right now. Suppose you have some DDR ram at 400mhz (Old PC-3200). Now suppose we overclock our 200mhz FSB clock to 250mhz, 250×10=2.5ghz. With a 1:1 DRAM:FSB ratio, the memory will now be operating at 500mhz, but it was made to operate at 400, so you’ll need to change that ratio if you want your system to remain stable for the first thing, and even if it is stable, you’ll be losing RAM clock cycles (one in five cycles will be wasted in this case, or 20% theoretical memory performance degradation).
So, if you can change your DRAM:FSB ratio, you’ll have to change it to 4:5. That way, the ram will keep operating at 400mhz, and the CPU works at 2.5ghz. Note that for different overclock speeds you’ll have to work out your own ratio.
Also note that our DDR is not at 200mhz like the FSB was initially, but double that. It’s EFFECTIVE speed is 400mhz, because DDR stands for Double Data Rate, but it’s operating on a 200mhz timing base.
DDR2 doubles that.
DDR3 doubles DDR2, etc.
As for the actual memory latency timings (seen as 4-4-4-12, 3-3-3-8 or similar), these represent Column Address Strobe (CAS) Latency (CL), which represent the amount of Clock Cycles between the moment a memory controller tells the memory module to access a particular column in a selected row, and the moment the data from the given array location is read from the module’s output pins.
The numbers stand for, in order: CL – TRCD – TRP – TRAS.
I’ve covered CL so I’ll take on the next ones:
TRCD: The number of clock cycles taken between the issuing of the active command and the read/write command.
TRP: The number of clock cycles taken between the issuing of the precharge command and the active command. (The precharge command closes memory that was accessed and the ‘active’ command signifies that a new read/write cycle can begin).
TRAS: The number of clock cycles taken between a bank active command and issuing the precharge command. The total time that will elapse between an active state and precharge state.
Simply put: The lower the CAS latency (given the same clock speed), the less time it takes to fetch data from it.
So you’ll want these as low as possible.
But it’s also worth noting that it will only work optimally on the system it’s rated for (200mhz FSB for DDR2 800mhz, for example). Memory with high ratings will work on systems with lower FSB speeds though, but they will in turn adapt the same speed as the FSB (DDR2 800 is essentially 4×200, which will change to 4x133mhz if the FSB is 133mhz), and this may cause timings to change unless you force them to different timings (not recommended at all until you actually know what the fuck you’re doing).
It might take memory less cycles to do things on lower FSB speeds, which may be important for you to calculate:
As I said, the numbers represent the number of cycles taken per request. The higher the FSB speed, the less time between cycles:
100mhz = 10ns per cycle.
133 = 7.5ns per cycle.
Etc.
For for CL3 memory that operates on 133mhz, it will take 7.5×3 ns do perform tasks, which comes to 22.5ns. However, the same memory might be rated as CL2 on 100mhz FSBs, which means it will take 10ns x 2 = 20ns to perform tasks.
But in general I recommend just going with higher clock speeds, because it’s a lot better for burst reads.
Especially now that clock speeds have become inflated to where they are the main priority.
I probably forgot a lot of things, and this is poorly edited, but at least this should cover the most important parts.