memory - principios - principio de localidad de referencia
¿Qué es la localidad de referencia? (2)
Esto no importaría si su computadora estuviera llena de memoria súper rápida.
Pero desafortunadamente ese no es el caso y la memoria de la computadora se ve algo como esto:
+----------+
| CPU | <<-- Our beloved CPU, superfast and always hungry for more data.
+----------+
|L1 - Cache| <<-- works at 100% of CPU speed (fast)
+----------+
|L2 - Cache| <<-- works at 25% of CPU speed (medium)
+----+-----+
|
| <<-- This thin wire is the memory bus, it has limited bandwidth.
+----+-----+ <<-- works at 10% of CPU speed.
| main-mem | <<-- The main memory is big but slow (because we are cheap-skates)
+----------+
|
| <<-- Even slower wire to the harddisk
+----+-----+
| harddisk | <<-- Works at 0,001% of CPU speed
+----------+
Localidad espacial
En este diagrama, cuanto más cerca estén los datos de la CPU, más rápido podrá llegar a ella.
Esto está relacionado con la Spacial Locality
. Los datos tienen una localidad espacial si están ubicados juntos en la memoria.
Debido a que los patines baratos que somos RAM no es realmente acceso aleatorio, es realmente Slow if random, less slow if accessed sequentially Access Memory
SIRLSIAS-AM.
Por eso es inteligente mantener los datos relacionados juntos, para que pueda hacer una lectura secuencial de un montón de datos y ahorrar tiempo.
Localidad temporal
Los datos permanecen en la memoria principal, pero no pueden permanecer en el caché, o el caché dejaría de ser útil. Uno de los datos utilizados más recientemente se puede encontrar en el caché; Los datos antiguos se eliminan.
Esto está relacionado con temporal locality
. Los datos tienen una fuerte ubicación temporal si se accede al mismo tiempo.
Esto es importante porque si el elemento A está en el caché (bueno) que el Elemento B (con una fuerte ubicación temporal a A) es muy probable que también esté en el caché.
Estoy teniendo problemas para entender la localidad de referencia. ¿Alguien puede ayudarme, por favor, a entender qué significa y qué es?
- Localidad espacial de referencia.
- Localidad temporal de referencia
- Es un principio que establece que si un programa hace referencia a algunas variables, es muy probable que se haga referencia a las mismas nuevamente (más adelante en el tiempo, también conocida como localidad temporal ).
- También es muy probable que se haga referencia antes a cualquier almacenamiento consecutivo en la memoria ( localidad espacial )