4.4. operaciones de entrada y salida.

Tanto en la E/S programada como la basada en interrupciones, la UCP debe encargarse de la transferencia de datos una vez que sabe que hay datos disponibles en el controlador. Una mejora importante para incrementar la concurrencia entre la UCP y la E/S consiste en que el controlador del dispositivo se pueda encargar de efectuar la transferencia de datos, liberando de este trabajo a la UCP, e interrumpir a la UCP sólo cuando haya terminado la operación completa de E/S. Esta técnica se denomina acceso directo a memoria (DMA, Direct Memory Access).
Cuando se utiliza acceso directo a memoria, es el controlador el que se encarga directamente de transferir los datos entre el periférico y la memoria principal, sin requerir intervención alguna por parte del procesador. Esta técnica funciona de la siguiente manera: cuando el procesador desea que se imprima un bloque de datos, envía una orden al controlador indicándole la siguiente información:

Resultado de imagen para entrada y salida
  • Tipo de operación: lectura o escritura.
  •  Periférico involucrado en la operación.
  • La dirección de memoria desde la que se va a leer o a la que va a escribir directamente con el controlador de dispositivo (dirección).
  • El número de bytes a transferir (contador).
Donde el campo Operación corresponde al código de operación de las instrucciones máquina normal. Especifica la operación que debe realizar la CCW. La unidad de control decodifica este campo y envía las señales adecuadas de control al dispositivo. Existen varias operaciones, las más importantes son las siguientes:
    Resultado de imagen para entrada y salida
  • Lectura: el canal transfiere a memoria principal un bloque de palabras de tamaño especificado en el campo nº de palabras, en orden ascendente de direcciones, empezando en la dirección especificada en el campo dirección del dato.
  • Escritura: el canal transfiere datos de memoria principal al dispositivo. Las palabras se transfieren en el mismo orden que en la operación de lectura.
  • Control: se utiliza esta orden para enviar instrucciones específicas al dispositivo de E/S, como rebobinar una cinta magnética, etc.
  • Bifurcación: cumple en el programa de canal la misma función que una instrucción de salto en un programa normal. El canal ejecuta las CCW en secuencia, salvo cuando aparece una CCW de este tipo, que utiliza el campo dirección del dato como la dirección de la siguiente CCW a ejecutar.
  • Hemos visto como se utilizan los programas de canal para realizar operaciones de E/S. Estos programas residen en la memoria principal del computador y se ejecutan en el canal. Vamos a examinar ahora la forma en que la CPU inicia y supervisa las operaciones de E/S, es decir, el programa de canal. En el IBM S/370 existen cuatro instrucciones máquina que la CPU puede utilizar para estos fines. Son las siguientes:
    •  START I/O Inicia una operación de E/S. El campo de dirección de la instrucción se emplea para especificar el canal y el dispositivo de E/S que participa en la operación.
    • HALT I/O Finaliza la operación del canal.
    • TEST CHANNEL Prueba el estado del canal.
    • TEST I/O Prueba el estado del canal, el subcanal y el dispositivo de E/S.
    Una operación de E/S se inicia con la instrucción START I/O. La ubicación del programa de canal en la memoria principal viene definida en la palabra de dirección de canal (CAW: Channel Address word), que siempre está almacenada en la posición 72 de la memoria principal.Resultado de imagen para entrada y salida

Comentarios

Entradas más populares de este blog

5.2. nocion de archivo real y virtual.

1.6 Núcleo.

1.5 Estructura : Niveles o estratos de diseño.