El mapeo directo es un método de almacenar información para un fácil 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 la memoria de acceso aleatorio (RAM) que se reserva con el propósito de recuperar datos fácilmente. Con el mapeo directo, a cada dato en la memoria se le asigna un espacio en la caché, que comparte con otros datos. Los datos de la caché se sobrescriben constantemente a medida que se necesitan nuevos datos.
Un caché está organizado en líneas. Cada línea solo es lo suficientemente grande 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 resulta en aciertos de caché se denomina tasa de aciertos. Si los datos que solicitó el usuario no están en la caché, la computadora los encontrará en la memoria. Se depositará una copia de los datos en la caché para que se puedan encontrar rápidamente la próxima vez que el usuario los solicite, en teoría aumentando la tasa de aciertos. Todo esto sucede entre bastidores. El usuario no sabe si los datos recibidos provienen de la caché o de la memoria.
El mapeo directo es un método para decidir dónde se almacenarán los bloques de memoria en la caché. A cada bloque de memoria se le asigna una línea específica en la caché. Dado que la caché es más pequeña que la memoria, varios bloques compartirán una sola línea en la caché. Si una línea ya está llena cuando es necesario 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 una caché de mapeo directo, la línea se reescribirá con frecuencia. Esto da como resultado muchos errores porque es menos probable que los datos que necesita la computadora sean 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 menor que otros modelos de mapeo de caché.