Práctica 4



PRÁCTICA 4: Sijem (2)

- Por José María Morales López - 



Para esta práctica hemos usado el programa SIJEM, que es un simulador de jerarquías de memorias.

Esta práctica es una continuación de la práctica 3, en la que se tiene que contestar a unas pregustas tipo test sobre la memoria caché y la utilización de los diferentes tipos de políticas de sustitución.


Para la realización de esta práctica como en la práctica anterior, se nos facilita el manual de manejo y se nos indica en cada pregunta los ficheros de configuración y de trazas de direcciones que ilustran la pregunta.

En  mi opinión donde falta información es en la práctica 3 puesto que una vez entendida dicha práctica, ésta es solo ir aplicando los conocimientos obtenidos. De todas formas añadiría en el principio de la misma información paso a paso de cómo utilizar los ficheros de configuración y de trazas de direcciones, por si no quedó clara en la práctica anterior o por si algún alumno no pudo asistir.




CUESTIONARIO

P1.- (Ejem4.cfg y crafty_d.trd) Si el tamaño de la memoria caché de nivel 3 es de 256KB y el tamaño de bloque es de 1KB, ¿Cuántos bloques puede almacenar la caché de nivel 3?
a. 32
b. 64
c. 256

P2.- (Ejem4.cfg y crafty_a.trd) Si el tamaño de la memoria caché de nivel 1 es de 16KB y el tamaño de bloque es de 1KB, y teniendo en cuenta que está dividida en instrucciones y datos, ¿Cuántos bloques puede almacenar cada una de las divisiones de la caché de nivel 1?
a. 4
b. 8
c. 16

P3.- (Ejem4.cfg y crafty_a.trd) Si el tamaño del bloque de memoria caché es de
1024 Bytes ¿Cuántos bits son necesarios para representar el desplazamiento dentro del bloque?
a. 4
b. 8
c. 10

P4.- (Ejem4.cfg y crafty_a.trd) ¿Qué ventajas aporta que la memoria caché de nivel 1 esté dividida en dos?
a. No aporta ventaja, sólo permite ordenar mejor las páginas.
b. Aumenta el tamaño de la caché de nivel 1.
c. Aprovecha mejor el principio de localidad.

P5.- (Ejem4.cfg y crafty_a.trd) ¿En qué posición se coloca un nuevo bloque dentro de la memoria caché sabiendo que estamos utilizando una estrategia de colocación de mapeado directo?
a. En la posición dada por la fórmula (Número de bloque) MOD (Número de bloques de caché).
b. En la posición dada por la fórmula (Identificador) MOD (Número de bloques de caché).
c. En cualquier posición libre que se encuentre.

P6.- (Ejem5.cfg y crafty_a.trd) ¿En qué posición se coloca un nuevo bloque dentro de la memoria caché sabiendo que estamos utilizando una estrategia de colocación completamente asociativa?
a. En la posición dada por la fórmula (Número de bloque) MOD (Número de bloques de caché)
b. En la posición dada por la fórmula (Identificador) MOD (Número de bloques de caché)
c. En cualquier posición libre que se encuentre.

P7.- (Ejem11.cfg y crafty_a.trd) ¿En qué posición se coloca un nuevo bloque dentro de la memoria caché sabiendo que estamos utilizando una estrategia de colocación asociativa por conjuntos?
a. En la posición dada por la fórmula (Número de bloque) MOD (Número de bloques de caché).
b. En la posición dada por la fórmula (Identificador) MOD (Número de bloques de caché).
c. En cualquier posición del conjunto dado por la fórmula (Número de bloque) MOD (Número de conjuntos de la caché).

P8.- (Ejem11.cfg y crafty_a.trd) ¿Cuál es el tamaño del conjunto de una memoria asociativa por conjuntos de 2 vías?
a. 1 bloque
b. 2 bloques
c. 4 bloques

P9.- (Ejem5.cfg y crafty_a.trd) ¿Qué ocurre cuando no existe ninguna posición en la memoria caché a la que copiar un nuevo bloque, y hemos elegido una política de sustitución al azar?
a. Se elige un bloque cualquiera para sustituir con el nuevo bloque.
b. El nuevo bloque no se escribe en la memoria caché.
c. Se elige el primer bloque de la memoria para sustituirlo con el nuevo bloque.

P10.- (Ejem6.cfg y crafty_a.trd) ¿Qué bloque de caché se reemplaza cuando elegimos una política de sustitución FIFO?
a. Un bloque cualquiera elegido al azar.
b. El bloque que lleva más tiempo en memoria.
c. Se reemplaza aquel bloque que lleva más tiempo en memoria sin ser usado.

P11.- (Ejem7.cfg y crafty_a.trd) ¿Qué bloque se reemplaza cuando elegimos una política de sustitución LRU?
a. Un bloque cualquiera elegido al azar.
b. El bloque que lleva más tiempo en memoria.
c. Se reemplaza aquel bloque que lleva más tiempo en memoria sin ser usado.

P12.- (Ejem9.cfg y crafty_a.trd) ¿Qué bloque se reemplaza cuando elegimos una política de sustitución LFU?
a. Un bloque cualquiera elegido al azar.
b. El bloque que lleva más tiempo en memoria.
c. Se reemplaza aquel bloque que haya sido usado el menor número de veces.

P13.- (Ejem4.cfg y crafty_a.trd) ¿Por qué no es necesaria una política de sustitución utilizando mapeado directo?
a. Porque nunca se reemplaza una página.
b. Porque la página a reemplazar ya está determinada.
c. Porque la página a reemplazar siempre se elige al azar.

P14.- (Ejem4.cfg y crafty_a.trd) ¿Qué ocurre cuando la posición de la memoria caché a la que debemos copiar la nueva página procedente de memoria principal no está vacía sabiendo que estamos utilizando una estrategia de mapeado directo?
a. La página de esa posición de memoria caché se sobrescribe con la nueva.
b. Se busca una nueva posición que esté libre.
c. La nueva página no se escribe en la memoria caché.

P15-. (Ejem5.cfg y crafty_a.trd) ¿Por qué no es necesaria la parte de índice en la dirección del bloque utilizando una estrategia de colocación completamente asociativa?
a. Porque la posición dentro de memoria caché no está definida, el bloque puede colocarse en cualquier posición.
b. Porque el identificador determina la posición dentro de memoria caché.
c. Porque la memoria caché nunca se llena.

P16.- (Ejem11.cfg y crafty_a.trd) ¿Para qué se utiliza la parte de índice en la dirección del bloque utilizando una estrategia de colocación asociativa por conjuntos?
a. Para obtener el conjunto donde colocar el bloque.
b. Para obtener la posición donde colocar el bloque.
c. Para obtener la posición del conjunto donde colocar el bloque.

P17.- (Ejem4.cfg y crafty_a.trd) Cuando se utiliza escritura directa (write-through):
a. La información se escribe en la caché y en la memoria principal.
b. La información se escribe sólo en la caché.
c. La información se escribe en la caché, en la memoria principal y en la memoria secundaria.

P18.- (Ejem4.cfg y crafty_a.trd) Cuando se utiliza escritura retardada (write-back):
a. La información se escribe en la caché y en la memoria principal.
b. La información se escribe sólo en la caché.
c. La información se escribe en la caché, en la memoria principal y en la memoria secundaria.
P19.- (Ejem4.cfg y crafty_a.trd) ¿Para qué se utiliza el bit de modificación de la memoria caché?
a. Indica si el bloque se ha modificado mientras se encontraba cargado en ese nivel de caché.
b. Indica si el bloque se ha modificado mientras se encontraba cargado en cualquier nivel de caché.
c. Indica que el bloque correspondiente a ese bloque en memoria principal se ha modificado.

P20.- (Ejem4.cfg y Crafty_a.trd) Ejecuta algunas líneas del programa y contesta, ¿Cuándo se actualiza el bit de modificación del bloque?
a. Cuando se produce una escritura en memoria.
b. Cuando se produce una lectura de memoria.
          c. Cuando hay una instrucción.





Repuestas:

  1. c
  2. c
  3. c
  4. c
  5. b
  6. a
  7. c
  8. c
  9. b
  10. b
  11. c
  12. c
  13. b
  14. b
  15. a
  16. b
  17. a
  18. b
  19. a
  20. a



No hay comentarios:

Publicar un comentario