Cas Latency vs CPU a tiempo de acceso a la memoria

Estoy tan confundido entre la latencia de cas y el tiempo de acceso entre la CPU y la memoria.

De acuerdo con esta página de wikipedia, leer 8 palabras de ddr3-1600 sdram toma 15 ~ ns, por lo que entre el controlador de memoria y sdram solo hay 15 ~ ns de latencia para leer 8 palabras.

Pero según esta y otras fuentes mencionan que el tiempo de acceso entre la CPU y la memoria (local) es de 60-100 ns.

Entonces, ¿de dónde vienen esos 40-80 ns adicionales?

Es porque hay más en la lectura de la memoria que simplemente usar /CAS, como debe haberse preguntado. Eche un vistazo a la interweb, hay un montón de texto en él. Además, eche un vistazo a una hoja de datos de SDRAM, las de Micron son buenas. No es una pregunta para este sitio, esto es solo un tutorial. Buena suerte con todo.
Notaré que la referencia de Stackoverflow está en el nivel del sistema , no en la interfaz sin formato.
Como dice Tony, los diagramas en una hoja de datos de DRAM deberían dejarlo lo suficientemente claro.

Respuestas (1)

Entre la CPU y la memoria en una CPU hay 3 capas de caché: L1, L2 y L3. Tienes que hacer que los 3 cachés "se pierdan" antes de tocar la memoria. Incluso después de tocar la memoria, esos datos tienen que retroalimentar la jerarquía de caché antes de llenar L1 y los registros para usar los datos.

Puede parecer un desperdicio, pero la ventaja de esto es que si intenta mantener sus datos en L1, puede operar con ellos mucho más rápido que cualquier tipo de memoria. Aquí es donde pueden surgir muchas mejoras en el rendimiento del software si comprende el hardware subyacente.