4.4 OPERACIONCIONES DE ENTRADA Y SALIDA



Administrador de entrada y salida

4.4 Operaciones de entrada y salida


Tanto en la E/S programada como la basada en interrupciones, la CPU 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 CPU y la E/S consiste en que el controlador del dispositivo se pueda encargar de efectuar la transferencia de datos. Esta técnica se denomina acceso directo a memoria (DMA, Direct Memory Access).

ACCESO DIRECTO A MEMORIA (DMA)
Este dispositivo permite la transferencia directa de información entre la memoria y los periféricos o viceversa, sin requerir intervención alguna por parte del procesador.
·         El DMA necesita:
  1. Registro: almacena la dirección de memoria desde donde se produce la transferencia.
  2. Registro contador: guarda la longitud de bloque a transferir.
  3. Bits: indica si la operación es de lectura o escritura.
  4. Bloque de control: controla el funcionamiento del sistema.

·         Existen 3 tipos de transferencia para el máximo  aprovechamiento del bus:
  1. Por ráfagas: el DMA toma el control del bus y no lo suelta hasta terminar la transferencia.
  2. Por robo de ciclo: el DMA toma el bus durante un ciclo enviando una palabra cada vez.
  3. Transparente: se aprovechan los ciclos en que el procesador no usa el bus.




OPERACIONES DE E/S
Existen varias operaciones, las más importantes son las siguientes:
Lectura
El canal transfiere a memoria principal un bloque de palabras de tamaño especificado en el campo número 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. 



No hay comentarios:

Publicar un comentario