Electronic – Cas Latency vs Cpu to Memory Access Time

cpulatencymemory

I'm so confused between cas latency and access time between cpu and memory.

According to this wikipedia page, reading 8 word from ddr3-1600 sdram takes 15~ns,so between memory controller and sdram there is only 15~ns latency for reading 8 word.

But according to this and other sources mention that access time between cpu and (local)memory is 60-100ns?!

So where that extra 40-80ns comes from?

Best Answer

Between the CPU and memory in a CPU is 3 layers of cache: L1, L2 and L3. You've got to get all 3 of those caches to "miss" before you'll ever touch memory. Even after you touch memory, that data has to then feed back down the cache hierarchy before populating L1 and the registers to actually use the data.

It might seem wasteful, but the advantage of this is that if you try and keep your data in L1, you can operate on it much faster than any sort of memory. This is where a lot of software performance improvements can come from if you understand the hardware underneath.