PUERTA | PUERTA CS 2019 | Pregunta 11

Cierto procesador utiliza una caché totalmente asociativa de 16 kB de tamaño. El tamaño del bloque de caché es de 16 bytes. Suponga que la memoria principal es direccionable por bytes y utiliza una dirección de 32 bits. ¿Cuántos bits se requieren para los campos Etiqueta e Índice respectivamente en las direcciones generadas por el procesador?

(A) 24 bits y 0 bits
(B) 28 bits y 4 bits
(C) 24 bits y 4 bits
(D) 28 bits y 0 bits

Respuesta: (D)
Explicación: dado que el tamaño del bloque de caché es de 16 bytes, entonces bloque o el desplazamiento de palabra es de 4 bits. Caché totalmente asociativa de 16 kB de tamaño, por lo que el desplazamiento de línea debería ser,

= cache size / block size
= 16 kB / 16 B
= 1 k 
= 1024
= 10 bits Line or Index Offset 

El tamaño de bits de la etiqueta sería,

= processor address size - (line offset + word offset)
= 32 - 10 - 4
= 18 bits tag size 

Dado que no hay coincidencias de opciones, pero si asumimos que Line Offset es parte de Tag bits, por lo tanto,

Tag bits = 18+10 = 28 bits
Line or Index offset = 0 bits (since fully associative cache memory),
Word or block offset = 4 bits 

Manera alternativa:
sabemos en el mapeo totalmente asociativo,

Line size = block size = frame size 

El número de bits en la etiqueta se puede encontrar usando la siguiente fórmula

Number of Tag bits 
= Total number of bits in Physical Address - no of bits in Block offset 

Aquí no se proporciona el número de bits en el desplazamiento de bloque. Se puede encontrar usando

ceil(log2 Cache block size) = ceil(log2 16) = 4 

Asi que,

Number of Tag bits = 32-4 = 28 

No hay bits de índice en el mapeo totalmente asociativo, por lo tanto, los bits de índice = 0

Entonces, la opción (D) es correcta.

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *