
Algunos
ejemplos de dispositivos I/O son:
1.____________________
2.____________________
3.____________________
4.____________________
5.____________________
Los puertos
pueden ser de:
¿Cuántos puertos posee este dispositivo y de cuantas líneas es cada puerto?

Con las líneas
de dirección A0 y A1 se direcciona cada puerto y el Registro de
control.
Por medio del
registro de control es posible programar los puertos en tres modos:
Modo B: En
dos grupos de 12 bits, 8 bits para un puerto de entrada o salida y los restantes 4 bits
para handshaking.
Modo C: En dos
puertos bidireccionales de 8 bits y el resto para handshaking.
El
handshaking es un diálogo que se da entre el CPU y un puerto o entre el puerto y el
dispositivo periférico.

Por
medio del terminal Tx_Listo el puerto le pregunta a la impresora si le puede enviar más
datos a través del bus. La impresora le contesta activando la línea Rx_Listo, cuando
está lista para recibir más datos para
imprimir.
1. Polling
(Sondeo)


El procesador está continuamente entrando a una subrutina que examina cada puerto para ver si llegó información o para saber si el dispositivo está ocioso y puede escribir en este.
2. Interrupciones
Explique
utilizando el siguiente dibujo, como el

En este ejemplo ¿Qué pasa con el vector de interrupciones? ....

Bajo este esquema de varios dispositivos interrumpiendo al CPU, cada vez que un puerto genera una interrupción, el CPU se va a una subrutina de atención a interrupciones única que se encarga de sondear cual puerto solicitó la interrupción.
Normalmente en cada puerto hay una bandera que se activa si este desea ser atendido por el CPU.
Por medio de la subrutina de atención a interrupciones, el CPU revisa cada bandera para ver cual puerto debe ser atendido.
Otra opción es utilizar un controlador de interrupciones que se puede programar para que guarde un vector de interrupciones diferente para cada puerto conectado a este
También se puede programar el esquema de prioridades que se le desee asignar a los puertos.
Incluso se pueden bloquear algunos puertos en un momento dado
El DMA es un procesador dedicado para la transferencia de datos (con una razón de transferencia de 6:1 más rápido con respecto al CPU).
El DMA le solicita al CPU que libere los buses por medio de la línea HOLD. Cuando el CPU libera los buses, le avisa al controlador de DMA que puede utilizar los buses, por medio de la línea HLDA (handshaking).
El DMA hace la transferencia entre la unidad de disco y la memoria.
Si la unidad de disco es muy lenta, entonces el DMA devuelve el control al CPU y cada vez que la unidad de disco está lista, el DMA le roba un ciclo al CPU.
Obsérvese que el DMA puede congelar al CPU en diferentes puntos dentro de un Ciclo de Instrucción. Cosa que el sistema de interrupciones no puede hacer.
Revisión del tema: