Examen Diciembre 2016 - Pregunta 3 - Rango direcciones bloque

Examen Diciembre 2016 - Pregunta 3 - Rango direcciones bloque

de Juan Pablo Aguilar Viera -
Número de respuestas: 6

Buenas! Mirando la solución de esta parte teórica no entendí como obtiene el rango de direcciones del bloque de memoria para un cache hit.

Letra:

Considere una CPU de 32 bits con memoria totalmente direccionable de a byte y una cache de 16KB con

lineas de 32 bytes de largo con una funcion de correspondencia directa. Considere que la cache tiene

almacenada la dirección 0x4C3D2E1F (y su bloque asociado).

Indique 2 nuevas direcciones de forma tal que la primera resulte en un cache hit y la segunda resulte en

un remplazo del bloque que contiene a la dirección 0x4C3D2E1F en la cache.

En la solución:

No entiendo cuando dice:

"Esto es que la línea que contiene a 0x4C3D2E1F, almacena las direcciones entre 0x4C3D2E100 y 0x4C3D2E1F. Cualquier dirección en ese rango dará un hit, por ejemplo: 0x4C3D2E1A".

El rango no sería, dejando fijo el TAG y variando LINE y BYTE -> 0x4C3D0000 a 0x4C3D3FFF?

Alguien me puede explicar como llego a ese rango de direcciones en la solución? 

Gracias!


En respuesta a Juan Pablo Aguilar Viera

Re: Examen Diciembre 2016 - Pregunta 3 - Rango direcciones bloque

de Federico Rivero -

Estimado:

No, el rango se calcula dejando fijo TAG y LINE y variando el campo BYTE. Si se cambia el campo línea, se buscará en otra línea del caché y por lo tanto seguro no habrá hit en ese bloque.

Saludos,

        Federico

En respuesta a Federico Rivero

Re: Examen Diciembre 2016 - Pregunta 3 - Rango direcciones bloque

de Juan Pablo Aguilar Viera -
Muchas gracias por la respuesta Federico. Supongo entonces que en la solución hay un cero de más, no? Es decir, el bloque iría desde la dirección 0x4C3D2E10 a 0x4C3D2E1F. Gracias!
En respuesta a Juan Pablo Aguilar Viera

Re: Examen Diciembre 2016 - Pregunta 3 - Rango direcciones bloque

de Federico Rivero -
No, el rango es correcto. El campo byte tiene 5 bits.


Saludos, 

          Federico

En respuesta a Federico Rivero

Re: Examen Diciembre 2016 - Pregunta 3 - Rango direcciones bloque

de Rodrigo Ignacio Garcia Laborde -

No entiendo como el rango es correcto:

"Esto es que la línea que contiene a 0x4C3D2E1F, almacena las direcciones entre 0x4C3D2E100 y 0x4C3D2E1F. Cualquier dirección en ese rango dará un hit, por ejemplo: 0x4C3D2E1A".

La direccion 0x4C3D2E100 ni siquiera es de 32 bits. Aparte 0x4C3D2E1A ni siquiera esta en el rango que aparece en la solucion ya que es menor que ambos limites. Me parece que deberia ser 0x4C3D2E00 no?

En respuesta a Rodrigo Ignacio Garcia Laborde

Re: Examen Diciembre 2016 - Pregunta 3 - Rango direcciones bloque

de Juan Pablo Aguilar Viera -

Buenas! Si, seguramente en la solución se les pasó un 1 de más en el rango de direcciones. Para mi, como bien decís vos, el rango de direcciones variando los 5 bits menos significativos va de 0x4C3D2E00 a 0x5C3D2E1F.