OTanto
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.
OUna
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. 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:
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).
OExisten
varias operaciones, las más importantes son las siguientes:
OLectura: 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.
OEscritura: el
canal transfiere datos de memoria principal al dispositivo. Las palabras se
transfieren en el mismo orden que en la operación de lectura.
OControl: se utiliza
esta orden para enviar instrucciones específicas al dispositivo de E/S, como
rebobinar una cinta magnética, etc.
OBifurcació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.
La unidad
de Entrada/Salida (E/S) soporta estas funciones, realizando las
comunicaciones del computador (memoria) con el mundo exterior (periféricos).
Los dispositivos periféricos que se pueden conectar a un computador se suelen
clasificar en cuatro
grandes grupos:
O Dispositivos
de presentación de datos. Son dispositivos con los que interactúan los
usuarios, portando datos entre éstos y la máquina, por ejemplo, ratón, teclado,
pantalla, impresora, etc.
ODispositivos
de almacenamiento de datos. Son dispositivos que forman parte de la jerarquía
de memoria del computador. Interactúan de forma autónoma con la máquina, aunque
también sirven para el intercambio de datos con el usuario, por ejemplo, los
discos magnéticos.
ODispositivos
de comunicación con otros procesadores. Permiten la comunicación con
procesadores remotos a través de redes, por ejemplo, las redes de área local o
global.
ODispositivos
de adquisición de datos. Permiten la comunicación con sensores y actuadores que
operan de forma autónoma en el entorno del computador. Se utilizan en sistemas
de control automático de procesos.