Consulta sobre N-vias

Re: Consulta sobre N-vias

de Gustavo Brown -
Número de respuestas: 0

Si te entendí bien en ambos casos terminas haciendo lo mismo, pero yo lo veo conceptualmente más bien como tu primer caso. 

Es decir, tengo una cache de Z Kb con N vías. Supongamos que cada línea tiene B bytes (suponemos que la línea está dividida de a bytes)

Entonces tenes L=Z/B líneas en total. Luego como hay N vías tenes L/N conjuntos. Para cada conjunto en la caché hay disponibles N líneas para cachear N bloques de memoria asociados al número de conjunto.

Sea entonces c=log2(L/N) y b=log2(B)

Ahora una dirección se decodifica

|Tag | conjunto | byte |

Donde el campo byte tiene b bits, conjunto tiene c bits y el resto es para el tag. 

Cuando decodificas una dirección obtenés un número de conjunto. Luego se compara en paralelo el tag de la dirección contra los N tags asociados al conjunto en la caché para determinar si hay un hit. 

Saludos,

   Gustavo