La pregunta como se indicó no es del todo respondible. Una palabra se ha definido como 32 bits. Necesitamos saber si el sistema es "direccionable por byte" (puede acceder a una porción de datos de 8 bits) o "direccionable por palabra" (la porción accesible más pequeña es de 32 bits) o incluso "direccionable por media palabra" (el La porción más pequeña de datos a la que puede acceder es de 16 bits.) Debe saber esto para saber qué le dice el bit de orden más bajo de una dirección.
Entonces trabajas de abajo hacia arriba. Supongamos que el sistema es byte direccionable.
Luego, cada bloque de caché contiene 8 palabras * (4 bytes / palabra) = 32 = 2 5 bytes, por lo que el desplazamiento es de 5 bits.
El índice para un caché mapeado directo es el número de bloques en el caché (12 bits en este caso, porque 2 12 = 4096).
Entonces la etiqueta es todos los bits que quedan, como usted ha indicado.
A medida que el caché se vuelve más asociativo pero se mantiene del mismo tamaño, hay menos bits de índice y más bits de etiqueta.