Entrada/salida programada

Para hacer la operación de E/S entre el procesador y el módulo de E/S, el procesador ejecuta un programa que controla toda la operación de E/S (programación, transferencia de datos y finalización).

A continuación, analizamos con más detalle la transferencia de un dato:

  1. Sincronización. Durante la sincronización, el procesador, como responsable de la transferencia, ejecuta un programa que mira constantemente el estado del periférico consultando el registro de estado del módulo de E/S. Este programa tiene un bucle que se ejecuta continuamente hasta que detecta el cambio de estado e indica que el periférico está preparado. Este método de sincronización se denomina sincronización por encuesta o espera activa.

    Mientras se lleva a cabo la sincronización, el procesador está dedicado al cien por cien a esta tarea y, por lo tanto, no puede atender a otros procesos o aplicaciones. Si esta espera es muy larga, puede degradar el nivel de prestaciones de todo el sistema. Por lo tanto, es recomendable que las transferencias hechas utilizando esta técnica sean cortas y rápidas.

  2. Intercambio del dato. Durante el intercambio del dato, si es una operación de lectura (entrada), el procesador lee el registro de datos del módulo de E/S para recoger el dato enviado por el periférico, y lo guarda en memoria; si es una operación de escritura (salida), el procesador toma de la memoria el dato que queremos enviar al periférico y lo escribe en el registro de datos del módulo de E/S. Tanto este ejemplo como la descripción del proceso de sincronización y transferencia de datos se ha hecho siguiendo un modelo simplificado de operación de E/S. Hay que tener presente que para programar una rutina que lleve a cabo una operación de E/S con un periférico concreto hay que conocer las direcciones de los puertos de E/S asociadas a los registros del módulo de E/S que gestiona este periférico y el significado o la utilidad de cada uno de los bits. Dada la gran variedad de periféricos y su creciente complejidad, interpretar toda esta información es una tarea bastante complicada y generalmente son los propios fabricantes quienes desarrollan estas rutinas.