Open Rolivares2 opened 11 months ago
¡Hola!
El tema de ese ejercicio es que te indican que las palabras son de 4 bytes y que las direcciones generadas del programa son siempre direcciones de palabras (y no de segmento de palabra). De esta forma, por ejemplo, la primera palabra de memoria estará dada por cuatro direcciones: 0000000000, 0000000001, 0000000010, 0000000011. Si te fijas, como las palabras son de 4 bytes, los 2 bits menos significativos te dan el índice de cada uno de los bytes de la palabra de memoria. Por lo tanto, para la revisión de los segmentos de dirección de memoria (tag, índices, offset), te quedas solo con los 8 bits restantes, es decir:
En resumen, para resolver bien este ejercicio es primero detectar cuántas direcciones usa una palabra de memoria para posteriormente hacer la desagregación de los bits.
¡Espero que se entienda! :)
Me quedó clarísimo, muchas gracias!
@Geeermy el bit de validez donde queda representado?? o solo basta con mencionarlo?
En ambos casos, solo guardas un bit de validez por cada línea. No es parte de la dirección, es un bit que se almacena para cada línea de la caché y que se actualiza a medida que esta se llena. Este nunca es parte de la dirección, se guarda exclusivamente en la caché.
¡Saludos!
Hola, tengo una duda, aquí los bits para el tag no deberían ser los restantes de la dirección? Es decir, 6 bits. Cómo se llega a que son 4 bits?