Imperializt Russia wrote:Corrian wrote:Is there actually any point in spending more on "Fancy" ram vs normal ram? My dad's basically said that there's been mixed feelings on that.
I'm sure there are diminishing returns like all things, but benefits nonetheless.
What is "fancy ram"?
Also I'm still apoplectic about my "up to 4GHz CPU" laptop, fucks sake.
OK, so there are five relevant numbers (beyond the capacity) for how fast your RAM is:
The first is the clock speed: quoted in either MT/s or MHz (the latter wrongly), usually in the name of the RAM, as something like "DDR4-2400", this is just the same as every other clock speed ever. More is betterer. For technical reasons, the number usually quoted as the speed of the RAM is actually
twice the clock speed (the "DDR" part of the RAM names stands for "Double Data Rate": this means that the data is transferred twice per clock cycle, so the number quoted is the actual effective speed - somewhat confusingly, CPUs use the opposite convention: modern CPUs operate at much higher IPC (Instructions Per Cycle) rates than old CPUs, so are far more powerful, even at identical clock speeds).
Timings: Usually quoted as a set of four numbers (eg 7-8-8-24).
The first number is the most important: it's the CAS Latency: This is the number of cycles that pass between the memory controller saying "hey, get me data from this column on the RAM" (NB: RAM is laid out in grids: we go row first, then column, so this is the best-case scenario for how long it takes to access data, when we're already in the right row), and that actually being available. It's measured in cycles, rather than in real time, so to get the actual latency, you need to divide it by the (doubled) clock speed. Note that this has no impact on actual bandwidth in most cases, but memory latency can also sometimes be a slowdown, so this is still important, even if you aren't doing anything that makes this mess up the bandwidth.
Row-Column Delay: How many cycles it takes to get access to the columns within a row after sending the "open row" command. Identical to the above, but only applies when opening a new row, so is less important.
Row Precharge Time: How many cycles it takes to close a row, roughly (NB: not actually this at all on an electrical level, but that's the effect). Identical to the above, but only applies when you need to close a wrong row first, so is even less important.
Row Active Time: In theory, this should be literally just the CAS Latency, plus the Row-Column Delay. In practice, it usually comes set slower for stability reasons. Note that the last three are all minimums: you can set things manually however you like.
There's a bunch of other numbers, but they're all pretty minor in terms of what they do. All of these can be fucked with through the BIOS, if you feel like it: pushing your RAM to higher frequencies than it was designed for generally requires loosening up the timings to maintain stability, so there's something of a balancing act to be done.