Está en la página 1de 4

Ejercicios del tema de Memoria Cache

Ejercicio 1. 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 2. 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 tiene un tiempo de acceso de 40 ns y es capaz de transferir 8 bytes cada 10 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 3. 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]; // coonsidere 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]; Ejercicio 4. Resuelva el ejercicio 3 asumiendo que la cach es totalmente asociativa, con poltica de sustitucin LRU. Ejercicio 5. 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 6. 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 7 .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.

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. 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. Los procesos pueden direccionar 8 MB de memoria principal y sta se direcciona por bytes. Un acceso a memoria RAM consume 80 ns y a la cach 30 ns ( 1 ns = 109 segundos ). La cach es 2-asociativa. 1. 2. 3. Haga un dibujo de la estructura de la cach. Indique el nmero de lneas (tambin llamados conjuntos para las cachs asociativas) que tiene la cach. Diga cunto tiempo tardaramos en obtener un dato si se produce un fallo en la cach.

Ejercicios del tema de Memoria virtual


Ejercicio 1. 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 2. 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 3. 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. Ejercicio 4. 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 5. 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 6. Un computador posee un sistema de memoria virtual implementada mediante paginacin que

utiliza pginas de 4 Kbytes. El computador proporciona un espacio de memoria virtual de232 bytes y tiene 218 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 Bit de modificado 0 0 1 0 0 1 0 1 Marco de pgina/ Bloque de swap 1 7 9 14 8 3 25 16

Se pide: a) Indique el formato de la direccin virtual. b) Indique la direccin fsica correspondiente a la direccin virtual 0x00005B83 c) Cul es el tamao que ocupa el espacio de direcciones virtual de este programa?

Ejercicio 7. 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.

También podría gustarte