Materia: #organizacion_del_computador_II
Tags: Memoria, Teorema
Principio de localidad
En Ciencias de la Computación, se le conoce como principio de localidad a la tendencia del procesador a acceder al mismo conjunto de direcciones de memoria repetidas veces en un periodo corto de tiempo. Es decir, el uso reiterados de los mismos datos.
Un ejemplo de esto bastante cotidiano es al hacer un bucle en nuestro lenguaje de preferencia. En general, vamos a tener una variable que sirve de contador, que va a ser usada al principio (para la comparación) y al final (para el incremento o decremento) de cada iteración.
for (int i = 0; i < 10; i++) {
printf('%d', i);
}
En general, como los accesos a memoria son muy costosos queremos intentar que minimizar los mismos. El principio de localidad no siempre es cierto, pero en terminos generales nos sirve para deducir una tendencia del programa.
Tipos de localidad
Existen dos tipos de localidad cuando nos referimos a este principio: la localidad temporal y la localidad espacial.
La localidad temporal hace referencia al hecho de que si una dirección de memoria fue escrita o leida en un punto particular del programa, entonces va a ser referenciada posteriormente en el futuro cercano. Por esto mismo, lo que hacemos es copiar los datos de la memoria principal a las memorias de acceso rapido, como la memoria cache.
Por otro lado, la localidad espacial consiste en que si una dirección de memoria fue accedida en un punto particular de la ejecución, entonces las direcciones de memoria cercanas a esa también van a ser accedidas. En este caso, seria util saber el tamaño del area alrededor de la dirección de memoria para tener acceso rapido a los datos necesarios, de modo que nadie quede afuera.