Blogia
Exposicion 3 de Arquitectura - Dispositivos De Entrada-Salida

E/S por acceso directo a memoria (DMA)

            La E/S por interrupciones ocupa menos tiempo de CPU que la E/S controlada por programa. Sin embargo, con cualquiera de las dos alternativas las transferencias de datos deben pasar a través de la CPU. Esto significa que la velocidad de las transferencias está limitada por la velocidad a la que la CPU atiende el dispositivo periférico, ya que tiene que gestionarlas ejecutando una serie de instrucciones. En la E/S controlada por programa la CPU está dedicada exclusivamente a la E/S, transfiriendo los datos a relativa velocidad, pero al precio de dedicarse a ello a tiempo completo. Las interrupciones liberan en buena medida a la CPU de la gestión de las transferencias, a costa de disminuir su velocidad, pues la rutina de servicio de las interrupciones contiene por lo general instrucciones ajenas a la propia transferencia. Ambos procedimientos manifiestan, pues, ciertas limitaciones que afectan a la actividad de la CPU y la velocidad de transferencia.

            Para poner de manifiesto de forma cuantitativa las limitaciones de la E/S programada y por interrupción, consideremos el siguiente supuesto: conexión de un periférico lento, una impresora láser. La CPU opera a 200 Mhz. y su CPI vale 2. La impresora opera a 20 páginas/minuto, con 3.000 caracteres (bytes) por página. Se trata de imprimir un bloque de 10 Kbytes ubicado en la memoria.

             E/S programada

             Una instrucción tarda en ejecutarse 2 * 5 ns = 10 ns, ya que el tiempo de ciclo     Tc = 1/Frecuencia = 1/200*106 seg. = 1/200*106 * 10-9 ns = 5 ns.

             La impresora imprime 20 * 3.000 = 60.000 caractéres/minuto = 1.000 caracteres/segundo = 1 Kbyte/s. Luego los 10 Kbytes los imprimirá en 10 segundos. 

La CPU está ocupada durante 10 segundos.

 

            E/S por interrupción         

           Para este caso habrá que conocer el número de instrucciones que se ejecutan dentro de la rutina de tratamiento de la interrupción. Supondremos que son 10 las instrucciones (3 para salvar contexto, 2 para comprobar el estado y bifurcar, 1 para la transferencia, 3 para restaurar contexto, y 1 para retorno de interrupción, RTI). La impresora genera una interrupción cada vez que está preparada para recibir un nuevo caracter. Para transferir los 10 Kbytes se producirán 10.000 interrupciones, lo que significa ejecutar 100.000 instrucciones. Luego la CPU se ocupa durante 105 * 10 ns = 106 ns = 106 * 10-9 s. = 0,001 s. = 1 milisegundo.

            La E/S por interrupción ha reducido en 10.000 veces el tiempo que la CPU está ocupada en atender la impresora. Sin embargo, la velocidad de la operación de E/S no ha cambiado, como era de esperar al estar dominada por la velocidad del periférico.        

1 comentario

Marco Nuñez -

Los puntos tratados en este blog se enfocan a algo muy comun en el dia a dia de las personas, muchos saben que existen dispositivos de entradas y salidas en un computador pero lo interesante de todo esto es ver y entender que existen 4 dispositivos clasificados debidamente y que son nada mas que la interaccion del usuario con la maquina, porque si no existerian estos dispostivos, no tendria mucho sentido tener un computador. La Entrada y salida de la informacion es la que nos permite sacar provecho de nuestros equipos!