Práctico 2 [Ej. 5]

Práctico 2 [Ej. 5]

de Cristian Andres Bauza Silva -
Número de respuestas: 4

Hola, 

Paso como me quedo este ejercicio por si alguien quiere comparar y capas

me pueden ayudar con una duda.

 

a)  - Cache 1024 Kb

     - Full asociativa  --> Tiene un solo Set

     - tamaño de linea = Memoria Cache / Cantidad de lineas = 210 / 2= 2bytes

     - cantidad de palabras x linea = tamaño linea / tamaño palabra = 2bytes / 2bytes = 2bytes ---> Neceistamos 5 bits para direccionar la palabra dentro de la linea.

     - Como es full asociativa existe un solo Set, por lo que no se necesitan bits para seleccionar el set.

=> [ 19 bits   TAG           |      5 bits word ]

 

b) Se transferirá tantos bytes como el tamaño de linea (2bytes)

 

c)  - Cache 32 Kbytes = 215 bytes

     - Asociativa x conjuntos 4 VIAS

     - 128 Lineas

     - tamaño de palabra = 2bytes (tamaño de linea de la cache anterior)

     - tamaño de linea = tamaño de chache / # lineas = 215 bytes / 2= 2bytes

     - # palabras = tamaño linea / tamaño palabra = 2bytes / 2bytes = 2palabras por linea

     - #Sets = #lineas / asociatividad = 128 / 4 = 32 = 2sets

=> [ 17 bits    TAG       |   5 bits   Set     |  2 bits   word ]

 

d) ¿Se transfiere 2 bytes porque la cpu es de 16 bits?,   CICLOS ¿¿¿?????

 

e) Se transfiere tanto como el tamaño de una linea de la cache L1 (2bytes)     CICLOS ¿¿¿¿?????

 

e) Se transfiere tanto como el tamaño de una linea de la cache L2 (2bytes)     CICLOS ¿¿¿¿?????

 

 

Como verán no se me ocurre como calcular los ciclos se tardan en realizar la transferencia!

 

Saludos! 

En respuesta a Cristian Andres Bauza Silva

Re: Práctico 2 [Ej. 5]

de Federico Rivero -

Hola!

Algunos comentarios sobre tu solución:

- Asumiste que la memoria era direccionable por palabras. Si bien no estaba aclarado y no había forma de deducirlo, lo más normal es que la memoria sea direccionable por bytes (esto no quiere decir que esté mal lo que hiciste, es simplemente un comentario).

- En la parte b) sería 2^6 bytes porque ese es el ancho de la línea.

- En la parte c) hay una trampita, y es que la dirección no se puede tomar así como viene, sino que hay que tomar sólo los primeros 19 bits de esta para indexar en la 2nda cache, pues estos son los bits con los que se direcciona de a bloque (los bits de 'palabra' direccionan palabras dentro de un mismo bloque). Por lo que queda todo igual pero el tag sería de 12 bits nomás.

- Con respecto a los ciclos de bus, cada ciclo de bus permite realizar una transferencia de su ancho entre los dispositivos anexados, por lo que en este caso se transfieren 16 bits por cada ciclo.

Cualquier duda volvé a preguntar o si no lo vemos en el práctico :D

Saludos,

       Federico

En respuesta a Federico Rivero

Re: Práctico 2 [Ej. 5]

de Usuario eliminado -

Tengo una duda. Cuando se dice: "CPU de 16 bits que emite direcciones de 24 bits" cual es el aporte del primer parámetro?

La duda surge justamente en este ejercicio, por que intentando resolverlo me encontré con que no tengo forma de saber el tamaño de palabra en la caché. 

Como se deduce que es de 2 bytes? Tiene que ver con ese primer parámetro que mencioné en la primer pregunta?

Muchas gracias.

En respuesta a Usuario eliminado

Re: Práctico 2 [Ej. 5]

de Federico Rivero -

Hola!

En realidad no hay manera de deducirlo, tiene que estar especificado. Lo más normal es que una dirección se corresponda con un byte de memoria, pero también puede ser que una dirección se corresponda con una palabra de memoria. Si ese es el caso, necesitás saber que el tamaño de la palabra de la arquitectura es 16 bits.

Saludos,

         Federico