lunes, 31 de diciembre de 2012

Práctica 4: Jerarquías de Memoria - Cuestionario


Desarrollo de la práctica


Esta práctica es una extensión de la práctica anterior que se compone por cuestiones de tipo de test para poder evaluar el nuevo conocimiento adquirido en las jerarquías de memoria.

Concretamente, se comprende de 20 cuestiones tipo test, de las cuales vamos a destacar 8 preguntas comentando brevemente su respuesta:


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.

Dividida en dos partes dedicadas, una para instrucciones y otra para datos, mantiene en memoria aquellos que fueron solicitados más recientemente (localidad temporal). Por otra parte, al leer un dato o instrucción, leerá los ubicados en un bloque contiguo a ellos (localidad espacial).


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

Como bien sabemos, la memoria caché asociativa por conjuntos divide la caché en conjunto de bloques. Este conjunto de bloque son las vías posibles para albergar al dato o instrucción proveniente de memoria principal. En nuestro caso el tamaño son 2 bloques.


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.

Dado que cada dato o instrucción en memoria principal ya tiene su bloque asignado mediante los bits de índice y de etiqueta, no necesitamos una política de sustitución para reemplazar las direcciones de memoria.


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é

Como hemos dicho antes, mediante mapeado directo la página a reemplazar ya está determinada por lo tanto, si está ocupada, el dato o instrucción se sobrescribirá con el nuevo.


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.

Como los datos e instrucciones se ubicarán en cualquier bloque de la caché no necesitaremos identificadores  que indiquen correspondencia entre unos u otros bloques de la memoria principal y de la caché.


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.

Para una política asociativa por conjuntos se deben buscar todas las etiquetas del conjunto en el que puede estar el bloque.


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.

A diferencia de la escritura directa (write through) que siempre escriben en la memoria principal, la escritura retardada escribe sólo en la caché y lo hará en memoria principal cuando se llene la caché.


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.

El bit de modificación indica si sobre un bloque de la caché se ha escrito o no.


José Ezequiel Gallardo Marín

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.