Esta estrategia consiste en dar total libertad a los bloques para ocupar cualquier linea. Para elegir que línea supone un acierto, se utiliza el algoritmo de reemplazo
🟢 Ventajas
- Máxima flexibilidad
🔴 Inconvenientes
- Dificil de implementar
Asignación de la línea a un bloque
Un bloque puede asignarse a cualquier línea
Consulta de un dato en base a su dirección
Revisar la página de la correspondencia directa para saber más sobre este proceso
La búsqueda de un dato en caché a través de esta estrategia se hace de forma simultanea en todas las líneas de la caché
Distribución de los bits de una dirección entre los diferentes parámetros
Debemos recordar que para extraer la información contenida en los bits de una dirección según esta estrategia, debemos conocer los siguientes parámetros
- Tamaño de las direcciones de memoria (en bits) →
- Tamaño de los bloques (en words) →
- Tamaño de palabra (en bytes) →
Etiqueta | Desplazamiento de palabra | Desplazamiento de byte |
Ejemplo
Enunciado
Sabiendo que los parámetros de la memoria y la caché son:
- Bloques de 16 palabras
- Palabras de 4 bytes
- Direcciones de 32 bits
Hallar todos los parámetros a partir de la dirección
0x12345678
según la estrategia de correspondencia directaBits del desplazamiento de byteSabiendo que el tamaño de palabra es de 4 bytes
Bits del desplazamiento de palabraSabiendo que el tamaño de los bloques es de 16 palabras
Bits de la etiquetaSabiendo que las direcciones son de 32-bits y tambien sabiendo y
La distribución de los bits de la dirección sale así