Ejercicios T5 PDF

Title Ejercicios T5
Author Alvaro Lopez
Course Organización de computadores
Institution Universidad Rey Juan Carlos
Pages 5
File Size 184.1 KB
File Type PDF
Total Downloads 58
Total Views 151

Summary

Ejercicios correspondientes la asignatura Organización de computadores, algunos de los cuales entraron en el examen de ese mismo año....


Description

Universidad Rey Juan Carlos Grado en Ingeniería Informática

Organización de Computadores

HOJA DE PROBLEMAS DEL TEMA 5. MEMORIA VIRTUAL

1. Sea un procesador con direcciones virtuales de 32 bits y páginas de 2KB. 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. 2. Considere un computador con direcciones virtuales de 32 bits y una memoria principal de 512MB, que emplea páginas de 4KB. Indique el formato de la dirección virtual y el número de marcos de página de este computador. 3. Sea un computador que utiliza páginas de 8KB y que direcciona la memoria por bytes. Dada la dirección virtual 0x20018004, indique el tamaño de la dirección virtual así como el número de página y el desplazamiento dentro de la página a la que hacen referencia. 4. Sea un sistema con un espacio de direcciones virtual formado por 256Kpáginas de 8KB cada una y una memoria física de 128MB. ¿Cuántos bits hay en la dirección virtual? 5. Sea un computador con memoria virtual y un tiempo de acceso a memoria de 60ns. El tiempo necesario para tratar un fallo de página en este computador es de 8ms. Si la tasa de aciertos es del 97%, ¿cuál será el tiempo medio de acceso a una palabra de este computador? 6. Considere un computador que emplea direcciones virtuales de 32 bits con páginas de 8KB. Se pide: a. ¿Cuál es el formato de la dirección virtual? b. ¿Cuál es el número máximo de entradas que puede tener una tabla de páginas de un único nivel? ¿Por qué? c. Dado el siguiente fragmento de código: int a[1000000]; for (j = 1; j < 890000; j++) { a[j] = a[j-1] + 1; } y suponiendo que no hay ninguna página en memoria física y que los datos y las instrucciones se almacenan en páginas distintas, indique el número mínimo de fallos de página que se produce cuando se ejecuta dicho fragmento. 7. Considere un computador que utiliza memoria virtual con direcciones virtuales de 32 bits y páginas de 4KB. De acuerdo a un estudio realizado sobre la utilización de las instrucciones de este computador, se ha determinado que en ausencia de fallos de página es capaz de ejecutar 50 millones de instrucciones por segundo. Además, se ha determinado que el porcentaje de utilización de sus instrucciones es el siguiente:  LOAD un 30%  STORE un 10%  MOVE un 10%  Operaciones aritméticas un 24%  Operaciones lógicas un 6%  Bifurcaciones un 20% Se pide:

1

a. Asumiendo que no hay fallos de página y que las instrucciones ocupan una palabra, determine el número de accesos a memoria por segundo que se realizan en este computador. b. Si la tasa de aciertos de página es del 95% y el tiempo para tratar un fallo de página es de 6ms, indique el número de instrucciones por segundo que es capaz de ejecutar este computador. 8. Se dispone de un computador con una CPU capaz de ejecutar 106 instrucciones por segundo, y un sistema de memoria virtual paginada con memoria principal que utiliza la política LRU de reemplazamiento de páginas. Mediante medidas realizadas en la ejecución de un conjunto de programas representativos de la carga típica del sistema, se ha observado que:  El 0.1% de las instrucciones hacen referencia a una página distinta a la página en la que se encuentran ubicadas.  De estas instrucciones, el 80% de las referencias son a páginas que están en memoria principal.  Cuando se trae una nueva página de disco a memoria, la página reemplazada había sido modificada en el 30% de los casos. Se sabe, además, que el tiempo medio que se tarda en servir un fallo de página (tiempo transcurrido desde que se produce el fallo hasta que la página llega a memoria) es de 20ms en el caso de que la página reemplazada haya sido modificada, y de 10 en caso contrario. Calcula el tiempo medio efectivo de ejecución por instrucción de programa de aplicación en este sistema, suponiendo que está ejecutándose un solo programa de aplicación y que el procesador está “ocioso” durante el tiempo en que duran las transferencias de disco. 9. Se dispone de un computador con memoria virtual, con una tabla de traducción (TLB), una memoria principal de 512Kbytes, dividida lógicamente en 65535 bloques de 4 palabras cada uno, a la que se accede a nivel de palabra, y de una memoria cache con capacidad de 16Kbytes y dividida en 256 conjuntos. La función de transformación utilizada es asociativa por conjuntos. Especificar el formato de la dirección, indicando la función que realiza cada conjunto de bits de la dirección en la memoria cache. 10. El sistema de memoria virtual de un computador tiene 16MB de capacidad, y dispone de una memoria física de 512KB. El tamaño de página es de 4KB y se realizan las siguientes referencias a páginas virtuales (se referencian todas las palabras contenidas en cada página): 17, 13, 9, 17, 17, 24, 25, 25, 25, 13, 13, 14, 15, 15, 13, 13, 24, 24, 36, 37 y 40. Se pide: a. Tamaño de la tabla de páginas b. Número total de accesos a memoria principal suponiendo que inicialmente la tabla de páginas está vacía. c. Número total de accesos a memoria principal suponiendo que inicialmente la tabla de páginas está vacía y que se dispone de un TLB de 32 entradas con una correspondencia totalmente asociativa. d. Si un acceso a memoria principal tarda t unidades de tiempo y se tarda 106t unidades de tiempo en leer una página de disco, ¿qué mejora en el tiempo de acceso produce el uso del TLB? Calcúlese este factor teniendo en cuenta el acceso a disco y sin tenerlo en cuenta.

2

NOTA: Se considerarán accesos a memoria todos aquellos accesos del programa de usuario así como los producidos por la actualización de la tabla de páginas y la carga de una página en memoria principal. 11. Sea un sistema con direcciones virtuales de 32 bits, direcciones físicas de 24 bits y páginas de 2 KB. a. Si se utiliza una tabla de páginas de un nivel, ¿cuál es el tamaño de cada entrada de dicha tabla? b. ¿Cuántas entradas se necesitan en la tabla de páginas? c. ¿Cuánta memoria se necesita para la tabla de páginas? 12. Sean tres máquinas con las siguientes configuraciones:  Máquina 1: cache de correspondencia directa con bloques de una palabra. Tiene una tasa de fallo por instrucciones del 4 % y una tasa de fallo por datos del 8 %.  Máquina 2: cache de correspondencia directa con bloques de cuatro palabras. Su tasa de fallo por instrucciones es del 2 %, y por datos del 5 %.  Máquina 3: cache 2-asociativa con bloques de cuatro palabras. Tiene una tasa de fallo por instrucciones del 2 % y una tasa de fallo por datos del 4 %. En dichas máquinas, la mitad de las instrucciones contienen una referencia a datos. Se considerará que la penalización por fallo es de 6 + el tamaño del bloque en palabras. El CPI de este programa en una máquina tipo 1 es de 2.0. Determinar qué máquina utiliza más ciclos en fallos de cache. 13. Considérese un sistema de memoria virtual con direcciones virtuales de 40 bits, páginas de 16 KB y direcciones físicas de 36 bits. ¿Cuál es el tamaño total de la tabla de páginas para cada proceso en esta máquina, suponiendo que los bits de validez, protección, suciedad y uso ocupan 4 bits y que todas las páginas virtuales están en uso? (Se considerará que las direcciones de disco no se guardan en la tabla de páginas.) 14. Dadas las siguientes direcciones de una arquitectura cuyas direcciones físicas y virtuales son de 32 bits y las páginas tienen un tamaño de 4 KB, ¿cuál es la dirección física que corresponde a cada una de las siguientes direcciones virtuales?  0x22433007  0x13385abc  0xabc89001 Número de página virtual 0xabc89 0x13385 0x22433 0x54483

Número de página física 0x97887 0x99910 0x00001 0x1a8c2

15. En un computador con multiprogramación, se observa que existen dos programas que referencian el mismo espacio virtual de direcciones pero obtienen resultados diferentes cuando cargan las direcciones. ¿Es esto un problema?

3

16. Se quiere diseñar un sistema paginado de memoria virtual de acuerdo con las siguientes especificaciones:  Tamaño del espacio virtual direccionable: 128K palabras.  Tamaño del espacio de direcciones físicas: 16K palabras.  Tamaño de página 512 palabras.  Traducción directa.  Sin memoria caché. Se pide: a) Calcular los bits necesarios para determinar el desplazamiento dentro de la página si el direccionamiento se produce a nivel de palabra. b) Calcular el número de páginas en memoria virtual. c) Especificar el formato de dirección virtual d) Calcular el número de páginas en memoria física (marcos de página). e) Especificar el formato de dirección física f) Dibuja la tabla de páginas de un proceso, la memoria principal paginada, el registro base que apunta al inicio de la tabla de páginas y explicar qué función tiene cada uno de los distintos campos de la dirección virtual y de la dirección física.

17.- Sea un computador de 32 bits que direcciona la memoria por bytes y que dispone de una memoria caché para instrucciones y una memoria caché para datos. Ambas memorias disponen de bloques de 8 bytes y una política totalmente asociativa. Considere los siguientes fragmentos de código: Código 1: for (i=0; i=0; i--) { b[i] = i; } donde a y b representan vectores de 211 números enteros de 32 bits y las variables i y tmp se almacenan únicamente en registros. La caché se encuentra inicialmente vacía y que el tamaño de la caché de datos es de 8 KB. Se pide: a) Indicar razonadamente en qué campos se divide una dirección de memoria y cuántos bits ocupa cada uno. b) Rellenar una tabla como la siguiente, considerando los 4 primeros elementos de a y b.

4

Elemento

Tipo de acceso (R/W)

Acierto/Fallo

a[0] … … … c) Las siguientes figuras ilustran los vectores a y b. Deducir razonadamente qué parte de éstos quedan en la memoria caché después de ejecutar el código 1 si se utiliza una política de reemplazo FIFO (First In, First Out). Deducir la tasa de acierto de caché del código 2, si éste se ejecuta inmediatamente después del código 1. 0

210 A

211

0

210 B

211

d) Deducir razonadamente qué conjunto de estas entradas quedan en la memoria caché después de ejecutar el código 1 si se utiliza una política de reemplazo LFU (Least Frecuently Used o utilizado menos frecuentemente). Deducir la tasa de acierto de caché para el código 2 si se ejecuta inmediatamente después del código 1.

5...


Similar Free PDFs