La Localidad Temporal (Temporal Locality) es un principio fundamental en la ciencia de la computación y la arquitectura de sistemas que postula que los elementos de datos o instrucciones que han sido accedidos recientemente tienen una alta probabilidad de ser accedidos nuevamente en un futuro próximo. Este concepto es una de las dos formas principales de localidad de referencia, siendo la otra la Localidad Espacial. La Localidad Temporal se manifiesta en el comportamiento de los programas, donde bucles, variables de contador y estructuras de datos accedidas repetidamente exhiben este patrón, permitiendo optimizaciones significativas en el rendimiento del sistema.
Este principio es ampliamente explotado en la implementación de jerarquías de memoria, como las cachés de CPU (L1, L2, L3). Cuando la CPU accede a un dato, este se carga en la caché. Debido a la Localidad Temporal, si ese dato se necesita de nuevo pronto, se encontrará en la caché de acceso rápido en lugar de tener que recuperarse de la memoria principal (RAM) o del almacenamiento secundario, que son órdenes de magnitud más lentos. Otros ejemplos incluyen los Translation Lookaside Buffers (TLB) en la gestión de memoria virtual, que almacenan traducciones de direcciones virtuales a físicas recientemente usadas, y los buffers de bases de datos que mantienen en memoria las páginas de datos accedidas con mayor frecuencia para reducir las operaciones de I/O a disco.
Para un arquitecto de sistemas, comprender la Localidad Temporal es crucial para diseñar sistemas de alto rendimiento y eficientes. Permite tomar decisiones informadas sobre el tamaño y la estrategia de las cachés en hardware y software, la organización de los datos en memoria para maximizar los 'cache hits', y la elección de algoritmos que exhiban un buen comportamiento de localidad. Ignorar este principio puede llevar a 'cache misses' frecuentes, degradando severamente el rendimiento. Por ejemplo, al diseñar un sistema de procesamiento de datos, un arquitecto considerará cómo la estructura de los datos y el patrón de acceso afectarán el uso de la caché, optando por algoritmos que reutilicen datos en periodos cortos o estructuras de datos que agrupen elementos relacionados para mejorar no solo la Localidad Temporal sino también la Espacial. La compensación principal reside en el costo de la memoria caché (más rápida pero más cara y limitada) frente a la memoria principal (más lenta pero más barata y abundante).