Ejercicio 5

Ejercicio 5

de Veronica Viviana Pintos Fernandez -
Número de respuestas: 2

Considere un CPU de 16 bits, operando con una memoria RAM de 16MB. Entre la
CPU y la RAM se coloca un cache L1 de 1 KB, organizado en líneas de 16 bytes. La
memoria es direccionable por bytes.

a) Indique cómo se interpreta la línea si se utiliza una función de
correspondencia asociativa por conjuntos de 2 vías. Halle el valor de todos los
parámetros relevantes.
b) Repita la parte anterior si se utiliza una función de correspondencia
directa.
c) Para los resultados de la parte anterior, indique si al acceder a las
siguientes posiciones de memoria ocurre un hit o un miss. Suponga la cache
inicialmente vacía.

1. 0x1A2C30
2. 0x1B2B34
3. 0x1B3331
4. 0x1B4432
5. 0x1B483F


PARTE A) Está bien que la dirección sea de 24 bits/ TAG = 15 bits; CONJUNTO = 5 bits; BYTE 4 bits?

PARTE B) Dirección de 24 bits/ TAG = 14 bits; LÍNEA = 6 bits; BYTE 4 bits?

PARTE C) No sé cómo resolver esta parte, lo que si me parece es que inicialmente hay un miss por estar la memoria cache vacía, luego va a memoria a buscarla, la carga en cache. 

Hay que ir viendo que por ejemplo al cargar en cache la dir 4) luego al buscar la dir 5) por lo de localidad espacial esta última ya puede estar cargada en cache?

 

Muchas gracias, 

Verónica.

En respuesta a Veronica Viviana Pintos Fernandez

Re: Ejercicio 5

de Federico Rivero -

Estimada:

PARTE A) Son correctos esos valores.

PARTE B) También correcto.

PARTE C) Lo que indicás del primer acceso es correcto :). Luego deberías verificar, para cada acceso posterior, si el bloque correspondiente se encuentra o no en cache. Para esto tenés que hacer un seguimiento del estado del cache.

Saludos!

          Federico

En respuesta a Federico Rivero

Re: Ejercicio 5

de Matias Rodal Medina -

Puede ser que den todos miss en la C? a los que les coincide el offset tienen distinto TAG, con lo que o van para el otro pedazo de cache si hay espacio (en el 2 way) o se sobreescriben y da miss

En la parte D, como se cuentan los hits de las instrucciones? por ejemplo de la comparacion y el incremento.. son hits siempre salvo la primera ejecución? eventualmente van a ser sobreescritos por el elemento del arreglo que tenga el mismo offset. Se cuentan estas cosas o solo los accesos a datos?