Localidad de referencia


En ciencias de la computación , la localidad de referencia , también conocida como el principio de localidad , [1] es la tendencia de un procesador a acceder al mismo conjunto de ubicaciones de memoria repetidamente durante un período corto de tiempo. [2] Hay dos tipos básicos de localidad de referencia: localidad temporal y espacial. La localidad temporal se refiere a la reutilización de datos y / o recursos específicos dentro de un período de tiempo relativamente pequeño. Localidad espacial (también denominada localidad de datos [3]) se refiere al uso de elementos de datos dentro de ubicaciones de almacenamiento relativamente cercanas. La localidad secuencial, un caso especial de localidad espacial, ocurre cuando los elementos de datos se organizan y se accede a ellos linealmente, como atravesar los elementos en una matriz unidimensional .

La localidad es un tipo de comportamiento predecible que ocurre en los sistemas informáticos. Los sistemas que exhiben una fuerte localidad de referencia son excelentes candidatos para la optimización del rendimiento mediante el uso de técnicas como el almacenamiento en caché , la búsqueda previa de memoria y los predictores de rama avanzados en la etapa de canalización de un núcleo de procesador.

Para beneficiarse de la localidad temporal y espacial, que ocurre con frecuencia, la mayoría de los sistemas de almacenamiento de información son jerárquicos . La localidad equidistante suele estar respaldada por diversas instrucciones de incremento no triviales de un procesador. Para la localidad de sucursal, los procesadores contemporáneos tienen predictores de sucursal sofisticados y, sobre la base de esta predicción, el administrador de memoria del procesador intenta recopilar y preprocesar los datos de alternativas plausibles.

Hay varias razones para la localidad. Estas razones son metas a alcanzar o circunstancias a aceptar, según el aspecto. Las razones a continuación no son inconexas ; de hecho, la siguiente lista va desde el caso más general hasta casos especiales:

Si la mayor parte del tiempo la parte sustancial de las referencias se agrega en grupos, y si la forma de este sistema de grupos se puede predecir bien, entonces se puede utilizar para optimizar el rendimiento. Hay varias formas de beneficiarse de la localidad utilizando técnicas de optimización . Las técnicas habituales son:

La memoria jerárquica es una optimización de hardware que aprovecha los beneficios de la localidad espacial y temporal y se puede utilizar en varios niveles de la jerarquía de la memoria. La paginación obviamente se beneficia de la localidad temporal y espacial. Un caché es un ejemplo simple de explotación de una localidad temporal, porque es un área de memoria especialmente diseñada, más rápida pero más pequeña, generalmente utilizada para mantener los datos referenciados recientemente y los datos cerca de los datos referenciados recientemente, lo que puede conducir a aumentos potenciales del rendimiento.