ℹ️
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
notion image
 

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 nn 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) → nn
  • Tamaño de los bloques (en words) → q=log2(x)q = \log_2(x)
  • Tamaño de palabra (en bytes) → p=log2(x)p = \log_2(x)
Etiqueta
Desplazamiento de palabra
Desplazamiento de byte
nqpn - q - p
qq
pp

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 directa
Bits del desplazamiento de byte (p)(p)
Sabiendo que el tamaño de palabra es de 4 bytes
p=log2(4)=2 (bits)p = \log_2(4) = 2\small\ (bits)
Bits del desplazamiento de palabra (q)(q)
Sabiendo que el tamaño de los bloques es de 16 palabras
q=log2(16)=4 (bits)q = \log_2(16) = 4\small\ (bits)
Bits de la etiqueta
Sabiendo que las direcciones son de 32-bits y tambien sabiendo pp y qq
etiqueta=3242=26 (bits)etiqueta = 32 - 4 - 2 = 26\small\ (bits)
La distribución de los bits de la dirección sale así
notion image