Vous êtes sur la page 1sur 5

Primera Gua Sistemas Operativos

Profesor: Raimundo Vega. Ayudante: Vctor Velsquez 29 de abril de 2012

Cuestionario
1. Listar y denir brevemente los cuatro elementos principales de un computador. Resp: Un computador se compone de una memoria principal, que almacena datos e instrucciones; una Unidad Aritmtico Lgica (ALU) capaz de operar en datos binarios; una Unidad de Control, que interpreta instrucciones en memoria y las ejecuta; y los Dispositivos de entrada y salida (I/O)) operados por la Unidad de Control. 2. Dena las dos categoras principales de los registros del procesador. Resp: Registros visibles al usuario: Permiten al programador assembler minimizar las referencias a memoria principal, optimizando el uso de registros. Para lenguajes de alto nivel, un compilador optimizador intentar hacer elecciones inteligentes de cuales variables asignar a los registros y cuales a locaciones de memoria principal. Algunos lenguajes de alto nivel, como C, permiten al programador sugerir que variables deben guardar en los registros. Registros de Control y Estado: Usados por el procesador para controlar las operaciones del mismo y por rutinas del sistema operativo con privilegios para controlar la ejecucin de programas. 3. En trminos generales, cules son las cuatro acciones distintas que una instruccin de mquina puede especicar? Resp: Operaciones Procesador-Memoria: Los datos pueden ser transferidos desde el procesador a la memoria y viceversa. Procesador-I/O: Los datos pueden ser transferidos desde o hacia un perifrico al transferir entre el procesador y el mdulo I/O. Procesamiento de Datos: El procesador puede ejecutar algunas operaciones aritmticas o lgicas sobre los datos. Control: Una instruccin puede especicar que la secuencia de ejecucin sea alterada. 4. Qu es una interrupcin? Resp: Una interrupcin es un mecanismo por el cul otros mdulos (I/O, memoria) pueden interrumpir la secuencia normal de un proceso. 1

5. Cmo se trabajan las interrupciones mltiples? Resp: Una forma de trabajar con interrupciones mltiples es deshabilitar otras interrupciones mientras una est siendo procesada. Otra forma es denir prioridades para las interrupciones y permitir a interrupciones de ms alta prioridad interrumpir interrupciones de menor prioridad. 6. Qu caractersticas distinguen a los distintos elementos de una jerarqua de memoria? Resp: Costo, capacidad y acceso. 7. Qu es la memoria cach? Resp: La memoria cach es una memoria que es ms pequea y ms rpida que la memoria principal y que es interpuesta entre entre el procesador y la memoria principal. La cach acta como un buer para locaciones de memoria recientemente usadas. 8. Cul es la diferencia entre un multiprocesador y un sistema multicomputadora? Resp: un multiprocesador es una mquina formada por un conjunto de procesadores que comparten el acceso a una memoria comn, cada procesador ejecuta su propio programa, debiendo todos ellos compartir la memoria principal comn. Una multicomputadora es una mquina compuesta por varios nodos, estando cada nodo formado por un procesador, su memoria principal y, en su caso, elementos de E/S. Al contrario de los multiprocesadores, en las multicomputadoras, los programas de dos procesadores no pueden compartir datos en memoria principal. 9. Cul es la distincin entre localidad espacial y localidad temporal? Resp: La localidad espacial se reere a la tendencia de ejecucin para involve un nmero de locaciones de memoria que estn La localidad temporal se reere a la tendencia de un procesador para acceder a locaciones de memoria que han sido utilizadas recientemente. 10. En general, Cules son las estrategias para explotar (sacar provecho de) la localidad espacial y la localidad temporal? Resp: La localidad espacial es explotada usando bloques de cach ms largos e incorporando mecanismos de pre-captura (capturar items de uso anticipado) entro de la lgica de control de cach. La localidad temporal es explotada manteniendo instrucciones recientemente usadas y valores de datos en memoria cach y adems, explotando una jerarqua de cach.

Problemas
1. Considera un microprocesador de 32-bit hipottico, teniendo instrucciones de 32-bit compuestas de dos campos. El primer byte contiene el opcode y el resto una operacin inmediata o una direccin de operacin. a) Cul es la capacidad mxima de memoria direccionable (en bytes)? Resp: 224 = 16 MBytes b) Analice el impacto en la velocidad del sistema si el bus del microprocesador tuviese: 1) Un bus de direccin local de 32-bit y un bus de datos locales de 16-bit, o Resp: Si el bus de direccin local es de 32 bits, la direccin completa puede ser transferida de una sola vez, y decodicada, hacia la memoria. Sin embargo, como el bus de datos 2

es de solo 16 bits, requerir dos ciclos para alcanzar una instruccin de 32 bits o un operando de 32 bits. 2) Un bus de direccin local de 16-bit y un bus de datos locales de 16-bit. Resp: Los 16 bits colocados en el bus de direcciones no pueden acceder a la memoria completa. As, es necesario un control de interfaz de memoria ms complejo para captar ambas partes de la direccin (dado que el microprocesador terminar en dos pasos). Para una direccin de 32 bits, uno puede asumir que la primera mitad se decodicar para acceder a una la en memoria, mientras que la segunda mitad es enviada para acceder luego a una columna en memoria. En adicin a esta operacin de dos pasos, el microprocesador necesitar dos ciclos para capturar la instruccin/operando de 32 bits. c) Cuntos bits son necesarios para el contador de programa y el registro de instrucciones? Resp: El contador de programa debe tener al menos 24 bits. Tpicamente, un microprocesador de 32 bits tendr un bus de direcciones externo de 32 bits y un contador de programa de 32 bits. Si el registro de instrucciones contendr la instruccin por completo, necesariamente deber tener 32 bits de largo; si slo va a contener el op-code entonces solo necesitar 8 bits de largo. 2. En, virtualmente, todos los sistemas que incluyen mdulos DMA, el acceso DMA a la memoria principal tiene una prioridad mas alta que el acceso del procesador a la memoria principal. Por qu? Resp: Si un procesador es detenido mientras lee o escribe en memoria, normalmente no debera ocurrir dao, a excepcin de una pequea prdida de tiempo. Sin embargo, puede haber una transferencia DMA desde/hacia un dispositivo que est enviando/recibiendo datos en un ujo (ej: disco o cinta), y no puede ser detenida. As, si el mdulo DMA es detenido (se le deniega el acceso continuo a memoria principal), se perdern datos. 3. Un computador consiste en una CPU y un dispositivo I/O D conectado a memoria principal M va un bus compartido con un ancho de bus de datos de una palabra. La CPU puede ejecutar un mximo de 106 instrucciones por segundo. Una instruccin promedio requiere cinco ciclos de procesador, tres de los cuales usan el bus de memoria. Una operacin de lectura/escritura en memoria usa un ciclo de procesador. Suponga que la CPU est continuamente ejecutando programas background que requieren el 95 % de su razn de ejecucin de instrucciones, pero no cualquier instruccin I/O. Asuma que un ciclo de procesador es igual a un ciclo de bus. Ahora suponga que bloques muy largos de datos sern transmitidos entre M y D. a) Si se usa I/O programada y cada transferencia de una palabra requiere que la CPU ejecute dos instrucciones, estime la razn mxima de transferencia de datos I/O, en palabras por segundo, posible a travs de D. Resp: El procesador puede dedicar solo 5 % de su tiempo a I/O. As, la mxima razn de ejecucin de instrucciones I/O es 106 0,05 = 50000 instrucciones por segundo. La taza de transferencia I/O es, entonces, 25000 palabras/segundo. b) Estime la misma razn si se utiliza transferencia DMA. Resp: El numero de ciclos de mquina disponibles para control DMA son: 106 (0,05 5 + 0,95 2) = 2,15 1o6 3

Si asumimos que el mdulo DMA puede usar todos estos ciclos, entonces, la razn mxima de transferencia I/O es sta. c) Considere el siguiente cdigo: begin for i := 1 to 20 step 1 do for j := 1 to 10 step 1 do a[i] := a[i] j od od end 1) De un ejemplo de localidad espacial en el cdigo. Resp: Una referencia a la primera instruccin es inmediatamente seguida por una referencia a la segunda. 2) De un ejemplo de localidad temporal en el cdigo. Resp: Los 10 accesos a [i] dentro del loop for interno, que ocurren dentro de un intervalo pequeo de tiempo. 4. Considere un sistema de memoria con los siguientes parmetros: T c = 100ns Cc = 0,01cents/bit T m = 1, 200ms Cm = 0,001cents/bit a) Cul es el costo de 1 MByte de memoria principal? Cost = Cm 8 106 = 8 106 cents = $80 b) Cul es el costo de 1 MByte de memoria principal usando tecnologa de memoria cach? Cost = Cc 8 106 = 8 104 cents = $800 c) Si el tiempo de acceso efectivo es 10 % mayor que el tiempo de acceso a la cach, cul es la tasa de aciertos (Hit Ratio H? 1,1 T1 = T1 (1 H)T2 0,1 100 = (1 H)(1200) H = 1190/1200 5. Un computador tiene una cach, memoria principal, y un disco usado para memoria virtual. Si una palabra referenciada est en la cach, se requieren 20ns para acceder a ella. Si est en memoria principal pero no en la cach, 60ns son necesitados para cargarla en la cach (sto incluye el tiempo de revisin de la cach), y entonces la referencia es iniciada nuevamente. Si la palabra no est en memoria principal, se requieren 12ms para obtenerla del disco, seguidos por los 60ns 4

para copiarla en la cach, y luego la referencia de iniciada nuevamente. El Hit Ratio es 0,9 y en la memoria principal es de 0,6. Cul es el tiempo promedio, en ns, requerido para acceder a la palabra referenciada en este sistema? Resp: Estos son los tres casos a considerar: Localizacin de la palabra referenciada En cach No en cach, pero en memoria principal Ni en cach ni en memoria principal As, el tiempo promedio podra ser: Avg = 0,9 20 + 0,06 80 + 0,04 12000080 = 480026ns 6. Suponga que se usar un stack por el procesador para manejar llamadas de procedimiento y retornos. Puede ser sustituido el contador de programa por el tope del stack? Resp: S, slo si el stack ser utilizado para almacenar la direccin de retorno. Si el stack es tambin usado para pasar parmetros, entonces el esquema solo va a funcionar si es la unidad de control la que remueve parmetros, en vez de instrucciones de mquina. En el ltimo caso, el procesador necesitara ambos, un parmetro y el PC en el tope del stack al mismo tiempo. Probabilidad 0,9 0,1 0,6 = 0,06 0,1 0,4 = 0,04 Tiempo total para el acceso en ns 20 60 + 20 = 80 12ms + 60 + 20 = 12000080

Vous aimerez peut-être aussi