Número de bits para la etiqueta, el índice y el bloque en un caché de mapa directo

0

Suponga que tiene un caché de 64 bytes en un sistema con direcciones de memoria de 16 bits. Si el caché se asigna directamente y tiene un total de 10 bytes de sobrecarga de etiquetas, ¿cuántos bits se utilizan para la etiqueta, el índice y el desplazamiento de bloque dentro de la dirección de memoria de 16 bits?

Encontré esto en el libro de texto Organización y diseño por computadora de Patterson y Hennessy, y esperaba que alguien pudiera trabajar en ello por mí. En particular, tengo curiosidad por saber qué es la "sobrecarga de 10 bytes de etiqueta" y cómo afecta a la solución. ¿Cómo se encuentran generalmente la etiqueta, el índice y el desplazamiento de bloque dado un diseño de caché?

    
pregunta Bob John

2 respuestas

1

Le sugiero que explore este enlace y pruebe todas las combinaciones posibles. Encontré esto interesante cuando inicialmente estaba tratando de aprender sobre técnicas de mapeo de caché.

enlace

    
respondido por el Rancho
0

"10 bytes de sobrecarga de etiquetas" es la cantidad de memoria que está utilizando para almacenar las etiquetas de caché.

Por lo general, dividirías la dirección como:

bits de etiqueta | bits de índice | bloque de bits de compensación

Los bits de desplazamiento de bloque deben ser suficientes para indexar cada byte en una línea de caché (bloque). (Por lo tanto, log-base-2 del tamaño de bloque). Los bits de índice se utilizan para decidir qué línea de caché mirar (por lo que debe ser log-base-2 del número de líneas de caché). los bits son lo que queda, y deben compararse con la etiqueta en la línea de caché.

Sugerencia para resolver el problema: en una memoria caché asignada directamente, los bits de índice + bits de compensación de bloque siempre deben ser lo suficientemente exactos para abordar de forma única cada byte de la memoria caché (por lo tanto, log-base-2 de 64 en su caso .)

Entonces, sabes que los bits de etiqueta deben ser los bits _ restantes. Y tienes que dividir tus 10 bytes = 80 bits de sobrecarga de etiquetas entre las etiquetas. Así que eso te dice cuántas etiquetas puedes tener. Lo que le dice cuántas líneas puede tener, lo que le dice cuántos bits de índice necesita.

    
respondido por el Wandering Logic

Lea otras preguntas en las etiquetas