Ejercicios Tema 7: Entrada-Salida. Asignatura: Estructura de Computadores. Escuela Superior de Informática de Ciudad Real. Universidad de Castilla-La Mancha. 1. Si llamamos TP, TI y TD al tiempo de CPU que se necesita para realizar una transferencia de una sola palabra, empleando E/S controlada por programa, con interrupciones y con DMA respectivamente, se verifica la relación: a) TP<TI<TD b) TP<TD<TI c) TD<TP<TI d) TD<TI<TP Respuesta: d, el grado de participación de la CPU en una transferencia si se ordena de menor a mayor es DMAInterrupciones-E/S por programa. 2. Una CPU cuenta con 4 líneas de interrupción PI1, PI2, PI3, PI4, numeradas en orden creciente de prioridad, es decir PI1 tiene la prioridad mínima y PI4 la máxima. El sistema no permite anidamiento de interrupciones. Se supone que se producen 4 peticiones de interrupción en este orden: PI3, PI1, PI4, PI2. Teniendo en cuenta que las tres últimas se producen simultáneamente mientras se está ejecutando el programa de servicio de PI3, ¿en qué orden se tratan las interrupciones? a) PI3, PI4, PI3, PI2, PI1 b) PI3, PI4, PI2, PI1 c) PI3, PI1, PI4, PI2 d) Ninguna de las anteriores Respuesta: b) PI3, PI4, PI2, PI1. (RSI: rutina de servicio a la interrupción). RSI3 PI3 RSI4 RSI2 tiempo RSI1 PI1-PI2-PI4 3. El cronograma de la figura de arriba muestra la secuencia de activación de señales para una operación de lectura sobre un sencillo bus síncrono que conecta procesador y memoria. Si se sabe que el reloj del bus es de 125 Mhz, y se sabe que la máxima velocidad de transferencia obtenida es de 125 Mbytes/s, ¿Cuál es el tamaño de palabra del bus de datos? a) 1 Byte b) 16 bits c) 32 bits d) Ninguna es correcta Solución: c) 32 bits. freloj=125 MHz=125·106 ciclos/s (F) Vmax=125 MBytes/s=125·106 bytes/s (V) Tamaño del bus de datos? (B) Del cronograma se observa que se necesitan 4 ciclos (N) para transmitir un dato. V F B N 8 31.25 106 transferencias / s F N 125 106 ciclos / s 4 ciclos / transferencia B bits / transferencia 125 106 bytes / s 8 bits / byte 31.25 106 transferencias / s B 125 106 8 32 bits 31.25 106 Ejercicios Tema 7: Entrada-Salida. Asignatura: Estructura de Computadores. Escuela Superior de Informática de Ciudad Real. Universidad de Castilla-La Mancha. 4. Ahora supóngase para el mismo cronograma que el reloj del bus es de 75Mhz y que el ancho del bus de datos es de 16 bits, calcular la velocidad máxima de transferencia. a) 37.5 MBytes/s b) 1875·104 palabras c) Las dos son correctas d) Ninguna Solución: c) Las dos son correctas. freloj=75 MHz=75·106 ciclos/s (F) Tamaño del bus de datos: 16 bits (B) Vmax? (V) F B N 8 V 75 106 ciclos / s 16 bits 37.5 106 bytes / s 37.5 Mbytes / s 4 ciclos / transferencia 8 bits / byte V 37.5 106 1 palabra 18.75 106 palabras/ s 1875 104 palabras/ s 2bytes 5. La rutina de servicio de interrupción de un controlador de un CDROM dura 5 unidades de tiempo. La rutina de servicio de interrupción de un disco duro tarda 10 unidades de tiempo en procesarse. El tratamiento de una interrupción generada por una unidad de cinta gasta 15 unidades de tiempo. Sabemos que el disco duro tiene asignada la prioridad más alta y la unidad de cinta la más baja. Si se produce la siguiente secuencia de interrupciones: disco duro (instante t=0 unidad de tiempo), unidad de cinta (instante t=6 unidad de tiempo), CDROM (instante t=15 unidades de tiempo) ¿en qué instante (unidad de tiempo) terminará de procesarse la rutina de servicio de interrupción de una unidad de cinta si se permite anidamiento? a) 38 b) 30 c) 25 d) 20 Solución: b) 30 unidades de tiempo. Dispositivo CD HD Cinta t=0 t=6 t=10 RSI HD HD t=15 RSI Cinta HD Duración RSI 5 unidades 10 unidades 15 unidades t=20 RSI CD Cinta Prioridad 2 1 3 t=30 RSI Cinta CD Interrupciones 6. Un procesador dispone de ocho líneas de interrupción (numeradas del 0 al 7) y una política en la que las interrupciones con un número bajo tienen mayor prioridad sobre aquellas de número más alto. El procesador comienza sin interrupciones pendientes y se produce la siguiente secuencia de interrupciones: 4, 7, 1, 3, 0, 5, 6, 4, 2, 1. Suponga que la gestión de una interrupción tarda el tiempo suficiente para que se produzcan dos nuevas interrupciones y que no se produce anidamiento de interrupciones. ¿En qué orden se atiende la secuencia de interrupciones? tiempo RSI4 4 7 1 RSI1 RSI0 RSI3 RSI2 3 5 4 1 0 6 Solución: 4, 1, 0, 3, 2, 1, 4, 5, 6, 7. 2 RSI1 RSI4 RSI5 Interrupciones RSI6 RSI7 Ejercicios Tema 7: Entrada-Salida. Asignatura: Estructura de Computadores. Escuela Superior de Informática de Ciudad Real. Universidad de Castilla-La Mancha. 7. Un computador dispone de una unidad de disco con una velocidad de lectura de 2Mpalabras/s y con un buffer interno de 1Mpalabras que cuando se llena transfiere su contenido a la memoria principal utilizando DMA por ráfagas. El controlador de DMA tarda 4 ciclos de reloj en transmitir cada palabra. Cuando la CPU dispone en exclusiva del bus, las instrucciones emplean, en promedio, 8 ciclos de reloj en ser ejecutadas. Si la frecuencia de reloj del computador es 500 x 106 ciclos/s, en una operación de lectura del disco: ¿Cuántas instrucciones por segundo dejan de ser ejecutadas por la CPU? 2 Mpalabras/ s 4 ciclos / palabra 8 Mciclos / s El controlador de DMA necesita 8 Mciclos por segundo para transmitir los datos de la unidad de disco. 8 Mciclos / s 106 Instrucciones / s 8 ciclos / instrucción La CPU deja de ejecutar un millón de instrucciones por segundo. Si el controlador de DMA no actúa, la CPU puede ejecutar como máximo: 500 Mciclos / s 8 ciclos / instrucción 62.5 106 Instrucciones / s En términos relativos la CPU deja de tener acceso al bus el 1.6% del tiempo (1/62.5%). 8. Un computador con 13 líneas de direcciones tiene una memoria de 4096 palabras y utiliza entrada/salida localizada en memoria. ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno ocupa una sola dirección? a) 12 b) 13 c) 4096 d) Ninguna de las anteriores Solución: c) 4096. 213=8192; 8192-4096=4096 posiciones libres para periféricos de E/S. 9. Un computador dispone de un controlador de DMA transparente que es capaz de realizar una transferencia de E/S en cada ciclo de reloj. Se necesitan 5 instrucciones para programar el controlador y otras 10 para atender la interrupción que genera. El procesador consume 5 ciclos por cada instrucción, de los cuales solo 3 utilizan el bus. El reloj del sistema es de 20 MHz. Si las transferencias se programan de manera independiente en bloques de 10 palabras, ¿cuál es la máxima tasa de transferencia obtenida? a) 1 Mpalabras/s b) 2 Mpalabras/s c) 4 Mpalabras/s d) Ninguna de las anteriores Solución: b) 2 Mpalabras/s. Una instrucción son 5 ciclos de los cuales el controlador de DMA puede usar 2 para acceder al bus (ciclos de la fase de decodificación y ejecución). 5 instr. 25 ciclos Programar DMA 10 palabras con DMA transparente 5 instr. 25 ciclos 10 instr. 50 ciclos Para atender interrupción freloj=20 MHz=20·106 ciclos/s CPU: 5 ciclos/instrucción 10 palabras 0.1 palabras/ ciclo 100 ciclos 0.1 palabras/ ciclo 20 106 ciclos / s 2 106 palabras/ s