1) Se dispone de un computador de 32 bits con la siguiente

Anuncio
1) Se dispone de un computador de 32 bits con la siguiente estructura:
MP
CPU
CACHE
DISCO1
DISCO2
.......
DISCO
n
El sistema de memoria está formado por una Memoria principal cuyo
tiempo de acceso es de 550nseg y una caché con un tiempo de acceso
de 50nseg con un hit ratio del 90% y una política de actualización
write-back.
La CPU realiza 9x106 peticiones por segundo al sistema de memoria y
se dispone de discos cuya velocidad de transferencia es de 1Mbyte/seg.
a) Se pide calcular cuantos discos se pueden conectar al sistema sin
afectar al rendimiento de la CPU en más de un 25%.
Nota: Considerar despreciable el tiempo en realizar el write-back.
Solución:
a)
 Se harían 0,75 x 9x106 =6,75 x106 peticiones a memoria
/seg para afectar menos del 25% el rendimiento de la CPU.
 Cada disco transfiere 1Mbyte/seg -> 256 Kpalabras/seg ->
218 palabras /seg.
 Por tanto el cuello de botella para las transferencias estará
en el tiempo de respuesta de la memoria o en la capacidad
de tráfico del bus.
- T. acceso medio a memoria = 50x0,9+550x0,1=100ns
- La memoria permite 1/100x10-9= 107peticiones/seg que tendrán que
repartirse entre CPU y E/S.
- Si la CPU hace 6,75 x106 pet/seg a memoria quedarán libres para el
disco en 1 seg: 107 - 6,75 x106 =3,25 x106,
sabemos que cada disco transfiere 218 palabras /seg-> 3,25 x106/218
=12,39, es decir se podrán soportar hasta 12 discos.
2) Sea un sistema de disco con las siguiente características: 1021
bytes/sector, 48 sectores/pista, 120 pistas/superficie y 8 superficies; el
tiempo medio de movimiento de pista a pista es de 6 mseg y la velocidad
de rotación del disco es de 360 rpm. Una CPU lee un sector del disco
utilizando E/S controlada por interrupciones. Se produce una
interrupción cada vez que se transmite un byte. Si tarda 2 seg en
procesar cada instrucción, ¿Qué porcentaje máximo del tiempo estará la
CPU ocupada en la operación de E/S?.
Si se empleara un controlador DMA para la transferencia y se supone
una interrupción por sector, ¿Qué porcentaje máximo del tiempo estará
la CPU ocupada en la operación de E/S?.
Solución:
360 rpm  6 rps  tarda 1/6 en dar una vuelta completa.
tsector =
1/6
48
= 3.47 ms
tbytes =
3.47 x 10-3
1024
= 3.39 s
2 s
3.39 s
x 100 = 59%
% CPU =
3) Elegir una de entre las opciones para cada apartado.
a) Un controlador de interrupciones.
1. Indica la fuente de interrupciones.
2. Decide el periférico que debe ser atendido.
3. Sirve para ampliar el nº de líneas de interrupciones
de la CPU.
4. Todas son ciertas.
b) La línea INTA.
1. Indica que está pendiente un reconocimiento de
interrupción.
2. Indica que está pendiente y sin reconocer una
interrupción.
3. Permite saber que la interrupción pendiente ha sido
reconocida.
4. Indica que la CPU está preparada para reconocer
una interrupción.
c) En un sistema con Daisy Chain, la prioridad de un módulo
depende:
1. De la prioridad asignada a su línea de interrupción
en la cadena.
2. De la CPU.
3. Del controlador de interrupciones de la cadena.
4. De su posición en la cadena.
Solución:
a) 4 b) 3 c) 4
4) Se dispone de un computador que funciona a una velocidad de 107
ciclos/seg y en el que, en promedio, una instrucción emplea 4 ciclos
máquina y cada operación de lectura o escritura de memoria dura 1
ciclo máquina.
Determinar la máxima velocidad de transferencia de datos, en palabras
por segundo, para los siguientes casos:
a) E/S controlada por programa y empleando 3 instrucciones en
transferir cada palabra.
b) DMA con estrategia de transferencia por ráfagas.
c) DMA con estrategia de transferencia por robo de ciclos.
d) DMA con estrategia de transferencia transparente y suponiendo
que en cada instrucción, en promedio, hay 2 ciclos en los cuales
la CPU no utiliza el bus.
Solución:
a) E/S y 3 I
1 instrucción  4 ciclos
x = 12 ciclos
3 instrucciones  x
107 ciclos
1 palabra
*
= 8.3 x 105 palabra/seg
Vmax =
seg
12 ciclos
b) Ráfagas
107 ciclos
1 palabra
*
= 107 palabra/seg
Vmax = seg
ciclo
c) Robo de ciclo
107 ciclos
1 palabra
*
= 2x106 palabra/seg
Vmax = seg
5 ciclos
d) Transparente 2 ciclos sin usar el bus.
Vmax =
107 ciclos
2 palabra
1 instruc
= 5x106 pal/s
*
*
seg
1 instruc
4 ciclos
5) Supongamos que el número de ciclos de reloj para una operación de
polling (escrutinio) es de 100 y que el procesador lo ejecuta con un reloj
de 50Mhz. Determinar la fracción del tiempo de CPU consumido en la
operación de escrutinio para los tres casos siguientes, suponiendo que
se escribe con suficiente frecuencia para que no se pierda ningún dato:
b) El ratón debe ser escrutado 30 veces por segundo para asegurar
que no falla ningún movimiento hecho por el usuario.
c) El disquete transfiere datos al procesador en unidades de 16 bits
y tiene una velocidad de datos de 50KBytes/seg.
d) El disco duro transfiere datos en unidades de palabra de 32 bits y
puede transferir a 2MBytes/seg.
Solución:
a) Ciclos para escrutinio: 30x100=3000 ciclos/seg.
% T. Proc. =
3000x100
50 x 106
= 0,006 %
Es el porcentaje de tiempo que se emplea en escrutar el ratón.
b) Sabemos que en una operación de escrutinio se transfieren 2
bytes. Por tanto para mantener la velocidad del disco se tienen
que realizar 50K/2 operaciones de escrutinio/seg.
Ciclos para escrutinio: 25K * 100 = 2500x 210ciclos/seg.
% T. Proc =
2500x 210 x100
50 x 106
= 5,12 %
c) En una operación se emplean 4 bytes.
Ciclos para escrutinio: 2Mb/4 =500K x100 ciclos/seg.
% T. Proc =

500K x 100 x 100
= 100 %
50 x 106
Esto sería un grave problema por que en el acceso al disco
duro el procesador quedaría totalmente ocupado.
6) Suponiendo el mismo procesador del ejercicio anterior, es decir con
una frecuencia de trabajo de 50Mhz y con una velocidad de
transferencia entre disquete y procesador de 50Kbytes/seg en unidades
de 16 bits. Obtener la fracción consumida por el procesador sabiendo
que la transferencia es mediante interrupciones y que el disquete se
activa transfiriendo solamente el 10% del tiempo de la operación de
E/S. Suponer que el gasto para cada transferencia, incluyendo la
interrupción, es de 100 ciclos de reloj.
Solución:
En cada transferencia se transfieren 2 bytes.
Para mantener la velocidad: 50K/2 = 25K transferencias /seg.
Ciclos para escrutinio = 25Kx100=2500x 210ciclos/seg.
Suponiendo que el disco este siempre activo:
% T. Proc =
2500x 210 x100
50 x 106
= 5,12 %
Como solo se activa el 10% de tiempo de transferencia:
% T. Proc =
5,12
10
= 0,512 %
7) Suponemos nuevamente un procesador que trabaja a 50Mhz y cuya
disco duro transfiere unidades de 32 bits a una velocidad de
2Mbytes/seg. Suponer inicialmente una transferencia de DMA que
utiliza 1000 ciclos de reloj para el procesador, y suponer que el
tratamiento de la interrupción a la terminación de un DMA necesita 500
ciclos de reloj para el procesador. Si el disco utiliza DMA y en cada
bloque transfiere 4KB. ¿Qué fracción del procesador se consume si el
disco está transfiriendo activamente el 100% del tiempo?
Solución:

Sabemos que el disco transfiere a 2Mbytes/seg y el DMA
transfiere bloques de 4KB. Luego cada transferencia DMA
tarda:
4KB/2MB/seg = 2x10-3 seg/transferencia.
 Si una transferencia DMA emplea 1000+500 ciclos por
interrupción:
1500/2x10-3=750x 103 ciclos/segundo

Si ahora dividimos por los ciclos de CPU:
% T. Proc =
750 x103
= 1,5 %
50 x106
Como vemos no se consumen todos los ciclos del procesador como
ocurría en E/S por programa.
Descargar