Skip to main content

¿Qué es el mapeo directo?

El mapeo directo es un método para almacenar información para facilitar el acceso en una computadora. La información utilizada recientemente se almacena en un caché para que la computadora pueda encontrar rápidamente la información la próxima vez que la necesite. En la programación de computadoras, un caché es una pequeña sección de memoria de acceso aleatorio (RAM) que se reserva con el propósito de recuperar fácilmente los datos. Con el mapeo directo, a cada pieza de datos en la memoria se le asigna un espacio en la memoria caché, que comparte con otras piezas de datos. Los datos de la memoria caché se sobrescriben constantemente a medida que se necesitan nuevos datos.

Un caché está organizado en líneas. Cada línea es lo suficientemente grande como para almacenar un bloque de datos y una etiqueta para identificar de dónde provienen los datos. Cuando un usuario solicita un dato, la computadora primero escanea el caché para ver si la información está allí. Si es así, la información se devuelve al usuario. Esto se conoce como un acierto de caché, que es más rápido que recuperar los datos de su ubicación original.

El porcentaje de solicitudes que da como resultado aciertos de caché se denomina tasa de aciertos. Si los datos que solicitó el usuario no están en la memoria caché, la computadora los encontrará en la memoria. Se depositará una copia de los datos en la memoria caché para que se pueda encontrar rápidamente la próxima vez que el usuario lo solicite, en teoría aumentando la tasa de aciertos. Todo esto sucede detrás de escena. El usuario no sabe si los datos recibidos provienen de la memoria caché o la memoria.

La asignación directa es un método para decidir dónde se almacenarán los bloques de memoria en la memoria caché. A cada bloque de memoria se le asigna una línea específica en el caché. Como el caché es más pequeño que la memoria, múltiples bloques compartirán una sola línea en el caché. Si una línea ya está llena cuando se necesita escribir un nuevo bloque, se sobrescribirá un bloque antiguo.

Aunque el mapeo directo es una forma muy simple y fácil de diseñar un caché, presenta algunos problemas. Si un programa accede continuamente a múltiples bloques de datos que comparten la misma línea en un caché de mapeo directo, la línea se reescribirá con frecuencia. Esto resulta en muchos errores porque los datos que la computadora necesita son menos propensos a ser los datos que están realmente en esa línea de caché en este momento. Por lo tanto, el mapeo directo tiene una tasa de aciertos más baja que otros modelos de mapeo de caché.