Ejercicios resueltos de E/S - Escuela Superior de Informática

Anuncio
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
Descargar