Sei sulla pagina 1di 5

Ejercicios del tema 5.

Jerarqua de de Memoria
Ejercicio 1. Considere un computador de 32 bits con una cach de 64 KB asociativa por conjuntos de 4 vas y

un tiempo de acceso de 4 ns. El tamao de la lnea es de 128 bytes. El tiempo para servir un fallo es de 120 ns. El computador dispone de un sistema de memoria virtual que emplea pginas de 8 KB y tiene instalada una memoria principal de 1 GB. Indique de forma razonada: a) b) c) d) e) f) g) h) El nmero de lneas de la cach El nmero de conjuntos de la cach El tamao del bloque que se transfiere en un fallo entre memoria principal y cach. El formato de la direccin virtual. El nmero mximo de pginas en este computador. Qu es un marco de pgina? El nmero de marcos de pgina de este computador. El tamao del bloque que se transfiere entre disco y memoria principal cuando ocurre un fallo de pgina i) Calcular la tasa de aciertos necesaria para que el tiempo medio de acceso al sistema de memoria sea de 20 ns.

Ejercicio 2. Sea un computador con una memoria cach y principal con las siguientes caractersticas: o Tiempo de acceso a memoria cach de 4 ns o Tiempo de acceso a memoria principal de 80 ns o Tiempo para servir un fallo de cach de 120 ns o Poltica de escritura inmediata En este computador se ha observado que la tasa de aciertos a la memoria cach es del 95 % y que cada 100 accesos, 90 son de lectura. Calcular el tiempo medio de acceso a memoria. Ejercicio 3. Sea un computador dotado de una memoria cache con las siguientes caractersticas:

A. Tamao: 16KB con bloques de 32 bytes (8 palabras) B. Tiempo de acceso: 10ns Esta memoria est conectada a travs de un bus de 32 bits a una memoria principal que es capaz de transferir un bloque de 8 palabras en 120 ns. Se pide: Calcular la tasa de aciertos que es necesaria para que el tiempo medio de acceso al sistema de memoria sea de 20 ns.
Ejercicio 4 . Se dispone de un sistema con una memoria cach de 2 niveles. En la ejecucin de una determinada aplicacin, la tasa de aciertos de la cach de nivel 1 es del 90% y la tasa de aciertos de la cach de nivel 2 es del 95%. La aplicacin genera durante su ejecucin un milln de accesos a memoria. Indique de forma razonada: a) El nmero de accesos que se genera a la cach de nivel 1. b) El nmero de accesos que se genera a la cach de nivel 2. c) El nmero de accesos que se genera a memoria principal.

Ejercicio 5. Sea un computador de 32 bits que dispone de una memoria cach de 512 KB, asociativa por conjuntos de 4 vas y lneas de 128 bytes. Sobre este computador se desea ejecutar el siguiente fragmento de cdigo: int int int int a1[200]; a2[200]: i; s;

for (i=0; i < 200; i++)

s = s + a1[i] + a2[i]; Se pide: a) Indique de forma razonada el nmero de lneas y conjuntos de de la cach. b) Si se considera que la cach se encuentra vaca y que los valores de las variables i y s del cdigo anterior se almacenan en registros, indique, considerando solo los accesos al vector a1 y a2, la tasa de aciertos que se obtiene al ejecutar el fragmento de cdigo anterior.

Ejercicio 6. Sea un computador de 32 bits con una memoria cach de 256 KB, lneas de 64 bytes y un tiempo de
acceso de 5 ns. La cach es asociativa por conjuntos de 4 vas y se emplea la poltica de reemplazo LRU. Se pide: a) Indique el nmero de lneas y de conjuntos de la memoria cach del enunciado. b) Cul es el tamao de los bloques que se transfieren entre la memoria cach y la memoria principal? c) Si el tiempo para transferir un bloque de memoria principal a cach es de 200 ns, indique la tasa de aciertos a cach necesaria, de forma que el tiempo medio de acceso al sistema de memoria sea de 20 ns. Ejercicio 7. Se dispone de un computador con una memoria cach con un tamao de 64 KB para guardar instrucciones o datos de los procesos. El tamao de la lnea es de 64 bytes. La cach tiene un tiempo de acceso de 20 ns y un tiempo de penalizacin por fallo de 120 ns. La cach es asociativa por conjuntos de dos vas. Se pide: 1. Indique el nmero total de lneas de cach 2. Indique el nmero de conjuntos que tiene la cach. 3. Indique el nmero de lneas por conjunto 4. Haga un dibujo con la estructura de la cach 5. Diga cunto tiempo tardaramos en obtener un dato si se produce un fallo en la cach.

Ejercicio 8. Sea un computador de 32 bits con el juego de instrucciones del MIPS, que ejecuta el siguiente fragmento de cdigo cargado a partir de la direccin 0x00000000 li li li addi addi beq $t0, $t1, $t2, $t1, $t2, $t1, 1000 0 0 $t1, 1 $t2, 4 $t0, bucle

bucle:

Este computador dispone de una memoria cach asociativa por conjunto de 4 vas, de 32 Kbytes y lneas de 16 bytes. Calcule de forma razonada el nmero de fallos de cach y la tasa de aciertos que produce el fragmento de cdigo anterior, asumiendo que se ejecuta sin ninguna interrupcin y que la memoria cach est inicialmente vaca.
Ejercicio 9. Sea un computador de 32 bits con una memoria cach para datos de 8 KB y lnea de 64 bytes, poltica de correspondencia directa y poltica de escritura diferida o aplazada. Calcule la tasa de fallos global

double a[1024], b[1024], c[1024], d[1024]; // considere que un double ocupa 8 bytes y que los tres // vectores se encuentran // dispuestos en memoria de forma consecutiva. for (int i = 0; i < 1024; i++) a[i] = b[i] + c[i] +d[i]; Ejercicio 10. Resuelva el ejercicio 3 asumiendo que la cach es totalmente asociativa, con poltica de sustitucin LRU. Ejercicio 11. Resuelva el ejercicio 3 asumiendo que la cach es asociativa por conjuntos de dos vas y de cuatro vas y poltica de sustitucin LRU.

Ejercicio 12. Sea un computador de 32 bits con una memoria cach para datos de 32 KB y lnea de 64 bytes. La cach es asociativa por conjuntos de 2 vas. Considere los dos siguientes fragmentos de cdigo: int m[512][512]; sum = 0; for (i = 0; i < 512; i ++) for (j = 0; j < 512; j++) sum = sum + m[i][j];

int m[512][512]; sum = 0; for (i = 0; i < 512; i ++) for (j = 0; j < 512; j++) sum = sum + m[j][i]; considerando que la variable sum se almacena en un registro, calcule la tasa de fallos a memoria cach de los dos fragmentos (Observacin: la matriz se almacena por filas).

Ejercicio 13 .Un computador contiene una memoria principal de 32 K palabras de 16 bits y una cache de 4K palabras divididas en conjuntos de 4 lineas de 64 palabras por lnea. Suponga que la cache esta vacia. El procesador hace referencia a las palabras 0, 1, 2, 4351. Entonces repite esta secuencia 9 veces ms. La cache es 10 veces ms rapida que la memoria principal. Estime la mejora resultante por el uso de la memoria cache. Suponga que se utiliza una politica LRU para la sustitucin de bloques.

Ejercicios del tema de Memoria virtual


Ejercicio 1. Sea un computador de 20 bits con memoria virtual paginada con pginas de 1 KB y un total de memoria fsica de 256 KB. Se pide, de forma razonada y breve: a) Cul es el formato de la direccin virtual? Indique los campos y el nmero de bits de los mismos. b) Cul es el nmero mximo de entradas de la tabla de pginas (de un nivel)? c) Cuntos marcos de pgina tiene la memoria principal? d) Cules son los campos que se incluyen en una entrada de la tabla de pginas? Indique tambin para qu se utiliza cada uno de los campos. Ejercicio 2. Un computador posee un sistema de memoria virtual implementada mediante paginacin que

utiliza pginas de 8 KB. El computador proporciona un espacio de memoria virtual de 232 bytes y tiene 223 bytes de memoria fsica. Si la tabla de pginas correspondiente a un programa en ejecucin es la siguiente: Bit de presencia 1 0 1 1 1 1 0 0 0 1 Bit de modificado 0 0 1 0 0 1 0 1 0 0 Marco de pgina/ Bloque de swap 1 7 9 14 8 3 25 16 23 78

Se pide: a) Indique el formato de la direccin virtual. b) Indique la direccin fsica correspondiente a la direccin virtual 0x0000608A. c) Cul es el tamao que ocupa el espacio de direcciones virtual de este programa? d) Exprese en MB el tamao de la memoria principal.

Ejercicio 3. Sea un procesador con direcciones virtuales de 32 bits y pginas de 2 KB. Indique el formato de la direccin virtual, as como el nmero mximo de pginas que puede tener un programa en ejecucin en este computador. Ejercicio 4. Sea un computador de 18 bits con memoria virtual paginada con pginas de 4 KB y un total de memoria fsica de 512 KB. Se pide, de forma razonada y breve: e) Cul es el formato de la direccin virtual? Indique los campos y el nmero de bits de los mismos. f) Cul es el nmero mximo de entradas de la tabla de pginas (de un nivel)? g) Cuntos marcos de pgina tiene la memoria principal? h) Cules son los campos que se incluyen en una entrada de la tabla de pginas? Indique tambin para qu se utiliza cada uno de los campos.

Ejercicio 5. Si un computador trabaja con direcciones de 16 bits, y posee pginas de tamao 2 KB Qu tamao de memoria virtual podremos direccionar? Cuntas pginas tendr la memoria Virtual? Cul ser el tamao del marco de pgina? Suponiendo que la memoria fsica es de 8 KB, cuntos marcos tendremos? Cuntos bits de la direccin de memoria virtual se utilizan para seleccionar entradas en la tabla de pginas si esta es de nico nivel? Para que emplearemos los bits restantes de la direccin de memoria virtual? Cuntas entradas tendr la tabla de pginas?

Ejercicio 6. Sea un computador que utiliza pginas de 8 KB y que direcciona la memoria por bytes. Dada la direccin virtual 0x20018004, indique el tamao de la direccin virtual as como el nmero de pgina y el desplazamiento dentro de la pgina a la que hacen referencia. Ejercicio7. Sea un sistema con un espacio de direcciones virtual formado por 256 Kpginas de 8 KB cada una y una memoria fsica de 128 MB. Cuntos bits hay en la direccin virtual? Ejercicio 8. Considere un computador que emplea direcciones virtuales de 32 bits con pginas de 8 KB. Se pide: 1. Cul es el formato de la direccin virtual? 2. Cul es el nmero mximo de entradas que puede tener una tabla de pginas de un nico nivel? Por qu? 3. Dado el siguiente fragmento de cdigo:
int a[1000000]; for (j = 1; j < 890000; j++) { a[j] = a[j-1] + 1; }

y suponiendo que no hay ninguna pgina en memoria fsica y que los datos y las instrucciones se almacenan en pginas distintas, indique el nmero mnimo de fallos de pgina que se produce cuando se ejecuta dicho fragmento.

Ejercicio 9. Dado un sistema que emplea un esquema de paginacin con las siguientes caractersticas:

1. 2. 3. 4. 5. 6.

El nmero total de pginas es 512 y el tamao de la pgina es 8KB. La memoria se direcciona por bytes. Es espacio de memoria fsica es de 1MB. El sistema no tiene memoria cach, pero s TLB. La tabla de pginas no est paginada ni segmentada. El tiempo de acceso a disco es de 12ms, a memoria de 40ns y a la TLB de 20ns.

Se pide: a) El formato de las direcciones virtuales. Definir brevemente cada uno de los campos as como el nmero de bits que comprenden. Indicar tambin el tamao del espacio direcciones virtuales. b) Explique razonadamente el tamao en bits que ocupa la tabla de pginas, asumiendo que existen 3 bits de control en cada entrada de la tabla. c) Obtener razonadamente el tiempo de acceso mximo y mnimo a un dato de memoria.

Potrebbero piacerti anche