Ejercicios Jerarquía de Memoria Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Memoria caché CPU 2. Memoria principal cache Memoria virtual … lw $t0 vector … M. virtual 2 M. principal M. secundaria ARCOS @ UC3M Alejandro Calderón Mateos Problema Sea un computador cuyo sistema de memoria es el que se describe a continuación: Una memoria principal: Una memoria caché: Tiempo de acceso: 200 ns (incluida la gestión del fallo de caché) Tiempo de acceso: 10 ns. La probabilidad de acierto en caché (h) es del 95% Se pide: a) Calcule el tiempo medio de acceso a memoria en dicho computador ARCOS @ UC3M Alejandro Calderón Mateos Problema Sea un computador cuyo sistema de memoria es el que se describe a continuación: Una memoria principal: Una memoria caché: Tiempo de acceso: 40 ns (incluida la gestión del fallo de caché) Tiempo de acceso: 10 ns. Se pide: a) Calcule la tasa de aciertos de la memoria caché para que el tiempo medio de acceso a memoria sea, como máximo de 20 ns. ARCOS @ UC3M Alejandro Calderón Mateos Problema Sea un computador con una memoria caché y principal con las siguientes características: Tiempo de acceso a memoria caché de 4 ns (Tca) Tiempo de acceso a memoria principal de 80 ns (Tmp) Tiempo para servir un fallo de caché de 120 ns (Tfallo) Política 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. Se pide: a) Calcular el tiempo medio de acceso a memoria (Tm). ARCOS @ UC3M Alejandro Calderón Mateos Problema Sea un computador cuyo sistema de memoria como el que se describe a continuación: Una memoria principal de tipo DRAM de 512 Mbytes y un tiempo de acceso de 200 ns, incluida la gestión del fallo de caché. Una memoria caché con las siguientes características: Tamaño: 16 KBytes Tamaño de la línea: 64 Bytes. Función de correspondencia: asociativa por conjuntos de 4 vías Política de reemplazo: FIFO (First In, First Out) Tiempo de acceso: 10 ns. La probabilidad de acierto en caché (h) es del 95% ARCOS @ UC3M Alejandro Calderón Mateos Problema (cont.) Se pide: a) Haga un dibujo de la estructura de la memoria caché descrita, indicando el número de conjuntos y el tamaño de cada conjunto en bytes ARCOS @ UC3M Alejandro Calderón Mateos Problema Sea un computador de 32 bits con el juego de instrucciones del MIPS, que ejecuta el siguiente fragmento de código cargado a partir de la dirección 0x00000000 bucle: li li li addi addi bneq $t0, $t1, $t2, $t1, $t2, $t1, 1000 0 0 $t1, 1 $t2, 4 $t0, bucle ARCOS @ UC3M Alejandro Calderón Mateos Problema (cont.) Este computador dispone de una memoria caché asociativa por conjunto de 4 vías, de 32 Kbytes y líneas de 16 bytes. Se pide: Calcule de forma razonada el número de fallos de caché y la tasa de aciertos que produce el fragmento de código anterior, asumiendo que se ejecuta sin ninguna interrupción y que la memoria caché está inicialmente vacía. ARCOS @ UC3M Alejandro Calderón Mateos Problema Sea un computador de 32 bits con una memoria caché para datos de 8 KB y línea de 64 bytes. Sea el siguiente fragmento de código: /* considere que un double ocupa 8 bytes y que los tres vectores se encuentran dispuestos en memoria de forma consecutiva */ double a[1024], b[1024], c[1024]; ….. for (int i = 0; i < 1024; i++) a[i] = b[i] + c[i]; Se pide: a) Calcular la tasa de fallos global si la política de correspondencia es directa y la política de escritura es diferida o aplazada ARCOS @ UC3M Alejandro Calderón Mateos Contenidos 1. Memoria caché CPU 2. Memoria principal cache Memoria virtual … lw $t0 vector … M. virtual 11 M. principal M. secundaria ARCOS @ UC3M Alejandro Calderón Mateos Problema Sea un procesador con memoria virtual paginada de direcciones virtuales de 32 bits y páginas de 2 KB. Se pide: a) Indique el formato de la dirección virtual, así como el número máximo de páginas que puede tener un programa en ejecución en este computador ARCOS @ UC3M Alejandro Calderón Mateos Problema Si un computador trabaja con direcciones de 16 bits, y posee páginas de tamaño 2 KB ¿Qué tamaño de memoria virtual podremos direccionar? ¿Cuántas páginas tendrá la memoria virtual? ¿Cuál será el tamaño del marco de página? ¿Suponiendo que la memoria física es de 8 KB, cuántos marcos tendremos? ¿Cuántos bits de la dirección de memoria virtual se utilizan para seleccionar entradas en la tabla de páginas si esta es de único nivel? ¿Para que emplearemos los bits restantes de la dirección de memoria virtual? ¿Cuántas entradas tendrá la tabla de páginas? ARCOS @ UC3M Alejandro Calderón Mateos Problema Dado un hipotético computador con memoria virtual paginada con un espacio de direcciones virtuales de 64 KB, una memoria física de 8 KB. En este computador, que direcciona la memoria por bytes, el número de páginas por proceso es como máximo de 512. En un instante de tiempo dado, la tabla de páginas del proceso en ejecución contiene la siguiente información: 14 ARCOS @ UC3M Alejandro Calderón Mateos Problema (cont.) Se pide: 15 Calcule el tamaño de cada página y el número de marcos de página. ¿Cuántas páginas tiene asignadas el proceso en ejecución? ¿Para qué se utiliza el bit M? Indique el formato de las direcciones virtuales especificando el tamaño de los campos y el significado de cada uno. Indique las direcciones físicas, en decimal y hexadecimal, correspondientes a las direcciones virtuales 258 y 1973 expresadas ambas en decimal. ¿Por qué una referencia a la memoria virtual suele requerir dos accesos a memoria física? ¿Conoce alguna técnica para evitar duplicar el tiempo de acceso en esquemas de memoria virtual? PM marco/bloque 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 000010 000001 000110 000000 000100 000011 000100 000010 000110 000101 000000 000111 000011 000101 000001 000111 ARCOS @ UC3M Alejandro Calderón Mateos Ejercicios Jerarquía de Memoria Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid