TEMA 7 (ENUNCIADOS) EJERCICIO 1 Un ordenador dispone de una memoria principal organizada en 64 bloques de 8 palabras cada uno y una memoria caché de 8 líneas. Muestra el formato de las direcciones para cada una de las políticas de ubicación indicadas: a) Correspondencia directa. b) Correspondencia asociativa. c) Correspondencia asociativa de conjuntos de dos vías. EJERCICIO 2 Disponemos de una memoria principal de 1M palabras con un tiempo de acceso de 400ns y de una caché de 16K palabras cuyo tiempo de acceso es de 50ns. La capacidad de cada línea de caché es de 8 palabras y se utiliza correspondencia asociativa de conjunto, siendo el tamaño del conjunto de 256 palabras. Se pide: a) Formato de una dirección. b) Tiempo de acceso a memoria si la probabilidad de acierto de la caché es 0,95. EJERCICIO 3 Un ordenador tiene una memoria física de 4 G palabras y una caché de 128 palabras. Utiliza una correspondencia asociativa de conjunto de 4 vías con 8 palabras por bloque. a) Muestra el formato de una dirección. b) ¿A que líneas de la caché puede asignarse la dirección 000010AF? c) Si las direcciones 000010AF y FFFF7Axy pueden ser asignadas simultáneamente al mismo conjunto de caché, ¿qué valores pueden tener los dígitos x e y? EJERCICIO 4 Disponemos de un sistema jerarquizado de memoria constituido por una memoria principal de 1 M palabras y una caché de 16 K palabras con líneas de 2 palabras. La escritura de bloques se realiza de forma diferida con asignación. El algoritmo de sustitución de bloques es FIFO. A partir de la dirección $80000 se introduce el programa dado a continuación en el que cada instrucción ocupa una palabra de memoria. I1: I2: I3: ETQ LD ST DBNZ R2,(R3)+ R2,(R4)+ R5,ETQ -- R2=(R3); R3=R3+1; -- (R4)=R2; R4=R4+1; -- R5=R5-1; Si R5 no es cero, salta a ETQ; 1 I4: STOP -- Fin de ejecución; Las etiquetas I1, I2, I3 e I4 se utilizarán como referencia abreviada a las instrucciones y a las posiciones de memoria que las contienen. Para referirnos a otras direcciones de memoria utilizadas por el programa, lo haremos también mediante las etiquetas: A : $A0002 B : $A0003 C : $B0002 D : $B0003 Los valores iniciales de los registros utilizados son los siguientes: R3 $A0002 R4 $B0002 R5 2 Todas las cuestiones expuestas a continuación deben responderse para estas tres políticas de ubicación: a) Directa. b) Asociativa. c) Asociativa de conjuntos de 2 vías. 1) ¿Cuál será el formato de las direcciones? 2) Efectúe un seguimiento de la ejecución del programa indicando en cada momento la instrucción que se está ejecutando y las posiciones de memoria afectadas. Utilice para ello las etiquetas de referencia abreviada. 3) Suponga que el programa ejecutado fuera totalmente representativo del software que se va a ejecutar en esta máquina ¿Cuál sería la probabilidad de fallo de caché? 4) ¿Durante la ejecución del programa, cuántas cargas de bloques se producirían en la caché si la escritura de bloques fuera inmediata sin asignación? Ejercicio 5 Un procesador genera direcciones virtuales de 64 bits siendo las páginas de 32 KBytes. Tiene un TLB con 128 entradas, una memoria caché L1 de 8 KBytes y otra L2 de 2 MBytes, los tres elementos organizados con correspondencia directa. La memoria principal consta de 2 GBytes con bloques de 32 Bytes. a) ¿Cuales son los bits de la dirección que identifican el número de página? b) ¿Cuales son los bits que identifican la línea del TLB a la que hay que acceder? c) ¿Con qué bits se localiza la línea adecuada en la caché L1? d) ¿Cuantos bits necesita una entrada del TLB para indicar el marco? e) ¿Cuantos bits necesita el campo etiqueta de la caché L2? 2 Ejercicio 6 Un computador cuya unidad de direccionamiento es el byte presenta las siguientes características: Memoria virtual de 128 GB. Memoria física de 1GB. Páginas de 16 KB. Bloques de 16 B. Caché unificada de 256 KB con correspondencia asociativa de conjuntos de 4 vías. Cada descriptor de la tabla de páginas contiene la siguiente información: Identificador del proceso (entre los 256 posibles). Bit de presencia. Bit de ensuciado. 6 bits para la protección. Número de marco. Se pide: a) Calcular el número de páginas. b) Calcular el número de marcos de página. c) Calcular el número de conjuntos. d) Calcular el número de bloques. e) ¿Cuál será el tamaño de la tabla de páginas? f) ¿En qué líneas de caché puede almacenarse la dirección física F0014? g) ¿Qué direcciones físicas se pueden almacenar en la línea 9 de caché? h) ¿Qué páginas se pueden cargar en el marco 9? i) ¿Qué direcciones virtuales se pueden cargar en el primer byte del marco 9? 3