¿Cuáles son los significados de los campos de esta memoria caché?

0

Tengo un simulador de memoria caché con esta memoria de caché mostrada.

El tamaño del caché es de 64 bytes y el tamaño del bloque es de 8 bytes. ¿Cuál es la descomposición en campos? Si el tamaño del bloque es de 8 bytes, entonces log (2 ^ 3) = 3 bits son para el desplazamiento del bloque para señalar un byte dentro de un bloque. Para 64 bytes con 8 bytes por fila, tendrá 8 filas y, por lo tanto, 3 bits para los bits de índice, un bit es el bit sucio que debe marcar para los datos sucios y el resto = 25 bits son para la etiqueta. ¿Es correcta esta interpretación? Entonces, ¿qué se entiende por 31..6..3..2..0 y el color blanco y gris de la dirección entrante?

    

1 respuesta

2

Este caché aparentemente no opera en bytes sino en palabras de 32 bits; es decir, 2 palabras por línea.

Los números sobre la dirección están destinados a designar el índice de bits en la dirección de 32 bits. Al leer de derecha a izquierda, indican que un campo comienza en el bit 0, el siguiente campo comienza en el bit 2, luego comienza uno en el bit 3 y el último campo comienza en el bit 6 y se extiende hasta el bit 31, ambos inclusive.

Estos números indican que los bits 31 a 6 (25 bits) se usan para la etiqueta, los bits 5 a 3 (3 bits) se dirigen a la línea de caché, y el bit 2 selecciona una de las dos palabras en una línea.

Los bits 1 y 0 identificarían el byte dentro de una palabra, pero esto no concierne al caché basado en palabras; por lo tanto, no son utilizados por la lógica del caché y es por eso que el autor optó por atenuar su valor.

(Tenga en cuenta que los valores de los campos en la dirección deben leerse como "alineados a la derecha", es decir, la etiqueta es los 25 bits superiores de la dirección donde el bit más bajo (bit 6) representa el LSB (bit 0 ) del valor de la etiqueta. En otras palabras, los 25 bits superiores se desplazan a la derecha en 6 bits para obtener el valor real de la etiqueta. Lo mismo se aplica a los otros campos.)

    
respondido por el JimmyB

Lea otras preguntas en las etiquetas