Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ARQUITECTURA DE COMPUTADORAS
CAPITULO IV
UNIDAD DE
ENTRADA/SALIDA
AO 2012
IV.1 - INTRODUCCIN:
Las unidades de entrada y de salida, que a veces se agrupan
en una sola, denominada unidad de entrada/salida, canal de e/s o mdulo para el
intercambio de informacin, tiene o tienen la misin de conectar los mdulos de la
mquina con los dispositivos externos de la misma, denominados PERIFRICOS.
Podemos preguntarnos porqu no se conectan los perifricos
directamente al bus del sistema, y as nos evitamos una serie de problemas. En mquinas
muy pequeas, evidentemente as se lo hace, pero los perifricos que pueden ser as
conectados deben tener un alto grado de inteligencia, y no todos permiten una operacin
de este tipo, sino que en general, si bien poseen cierta lgica de control, son conducidos
de diversas maneras, poseen diferentes longitudes de palabra y diferentes formatos de
datos.
Por otra parte, la velocidad de los perifricos es mucho menor que
la del procesador, por tanto es necesario interponer algn tipo de amortiguador (buffer)
que contenga los datos el tiempo necesario para que ellos los acepten.
Entonces, se requiere siempre un mdulo de E/S, que tiene dos
funciones primordiales:
unidades
unidades
unidades
unidades
de
de
de
de
discos rgidos
discos flexibles
discos pticos
cinta magntica
impresoras
escaneadores
graficadores
pantallas
sensores
actuadores
modems
sistemas de audio
sistemas de video
sistemas para interconexin a redes
Dispositivos estos que pueden clasificarse en cinco grupos:
del
descarga gaseosa (tubos fluorescentes) o mediante LEDs, o sea diodos emisores de luz,
que son ms brillantes y de menor consumo y ms duracin.
V.2.2 - DRIVERS DE DISCOS:
Como tercer elemento infaltable en toda computadora, estn los
discos, tanto el rgido como por lo menos uno flexible, anque estos ya han sido
desplazados por los discos pticos compactos y los DVD o sea los discos digitales
verstiles. Su mecanismo de arrastre y lectura/escritura, es conocido como drive. El drive
contiene toda la electrnica necesaria para el control, el intercambio de datos y la
emisin de seales de estado, ms los mecanismos elctricos necesarios no solo para
hacer girar el disco, sino tambin para mover las cabezas de lectura/escritura.
El transductor en este caso es capaz de convertir las seales
elctricas binarias, representativas de cada bit, en pulsos de corriente aptos para excitar
las cabezas durante la escritura, y adems para convertir las seales ledas en cdigos
binarios.
V.3 - MODULOS DE ENTRADA/SALIDA:
Ya dijimos al comienzo que un mdulo de entrada/salida es la entidad que
dentro de una computadora, es responsable del intercambio de datos con los perifricos.
Estos mdulos tambin pueden tener una interfase interna, hacia el resto de la mquina,
y una o varias interfaces externas, dirigidas a distintos dispositivos.
V.3.1 - FUNCIONES DE LOS MDULOS DE E/S.
Las principales funciones caen dentro de las siguientes categoras:
- Control y Atiempamiento
- Comunicacin con la UCP
- Comunicacin con los perifricos
- Almacenamiento y adecuacin de datos.
- Deteccin de errores
En cualquier momento la UCP puede comunicarse con uno o mas
perifricos, de forma no predecible, dependiendo de las necesidades de E/S que tenga el
programa. Los recursos internos, tales como memoria principal y bus del sistema,
pueden ser compartidos entre un gran nmero de actividades, incluyendo entrada/salida
de datos. Adems la entrada/salida de datos incluye requerimientos de atiempamiento y
control, para coordinar el trfico entre las fuentes internas y los dispositivos externos.
Por ejemplo, el control de la transferencia de datos desde un
perifrico a la UPC necesita de la realizacin de los siguientes pasos:
a
que
los
perifricos
son
bastante
lentos,
es
importante conocer el estado del mdulo de
E/S. Por ejemplo, si se le solicita a un
mdulo de E/S que enve un dato a la UCP,
este
puede
no
estar
listo
para
su
transmisin,
por
cuanto
todava
est
trabajando sobre un pedido anterior. Esto es
reportado mediante una seal de estado. Las
seales de estado ms comunes son: OCUPADO y
LISTO, pero puede haber otras para indicar
varias condiciones de error.
ACCION
ASOCIADO A
Teclado
Ratn
Entrada por voz
Scanner
Salida por voz
Impresora de Lnea
Impresora Lser
Presentacin Grfica
UCP a Buffer de Salida
Terminal de Red
Red a LAN
Disco ptico
Cinta Magntica
Disco Magntico
Entrada
Entrada
Entrada
Entrada
Salida
Salida
Salida
Salida
Salida
Entrada o Salida
Entrada o Salida
Almacenamiento
Almacenamiento
Almacenamiento
Humano
Humano
Humano
Humano
Humano
Humano
Humano
Humano
Humano
Mquina
Mquina
Mquina
Mquina
Mquina
VELOCIDAD
(Kbytes/seg)
0,01
0,02
0,02
200.00
0,6
1.00
100.00
30.00
200.00
0,05
200.00
500.00
2000.00
2000.00
mdulo, o puede servir para direccionar dispositivos externos, para lo cual el mdulo
deber reconocer y generar las direcciones correspondientes.
Finalmente, cada mdulo debe contener la lgica especifica para
interconectarse con cada dispositivo que el controla.
Algunas de estas unidades de E/S, funcionan en modo tal que la
UCP prescinde del tipo de dispositivo conectado, de sus seales elctricas o componentes
mecnicos, y an de su funcionamiento, como para remitir solamente seales de lectura
y escritura, por lo cual puede acelerar su velocidad de operacin.
Tal mdulo, es conocido ms bien como procesador de E/S, dado
que se hace cargo de la mayor parte de las tareas de ese tipo. El ms simple y primitivo,
en cambio es el que controla un solo dispositivo, y es conocido como controlador de E/S,
o controlador de dispositivos.
El primero se utiliza en grandes computadores, mientras que el
segundo es tpico de las microcomputadoras.
IV.4 - ENTRADAS Y SALIDAS PROGRAMADAS:
Hay tres tcnicas posibles para realizar las operaciones de E/S:
- ENTRADA/SALIDA PROGRAMADA: La UCP ejecuta un
programa que le otorga el control total de la
operacin, incluyendo el sensado del estado
del dispositivo, enviar un comando de lectura
o escritura, y transferir los datos. Este
mtodo es el que menos se aplica, por ser un
derrochador del tiempo de la UCP, que no
puede hacer ninguna otra operacin durante
esta ejecucin.
-
Figura IV.4 - Diagrama de flujo de tres tcnicas para la entrada de un bloque de datos.
DIRECCION
200
202
INSTRUCCION OPERANDO
COMENTARIO
CARGAR AC
"1"
ALMACENAR AC
517
INICIAR LECTURA TECLADO
CARGAR AC
517
OBTENER BYTE DE ESTADO
RAMIFICAR SI
202
HACER LAZO DESPUS DE
<SIGNO> = 0
LEER
CARGAR AC
516
CARGAR EL BYTE DE DATOS
a) E/S por mapeo de memoria.
DIRECCIN INSTRUCCIN
200
COMENZAR E/S
201
PROBAR E/S
RAMIFICACIN
NO PREPARADA
ENTRADA
OPERANDO
COMENTARIO
5
INICIAR LECTURA TECLADO
5
CONTROLAR TERMINACIN
201
HACER LAZO DESPUS DE
LEER
5
CARGAR EL BYTE DE DATOS
b) E/S aislada.
Figura IV.5 - E/S por memoria mapeada y E/S aislada.
Esto funciona as: Desde el punto de vista del mdulo de E/S, el ha
recibido un comando de LEER de parte de la UCP, por lo que proceder a la lectura del
dato en el perifrico direccionado. Una vez que el dato est en registro de datos del
mdulo, sgte enva una seal a la UCP (interrupcin), por una lnea de control, y espera
hasta que el dato le sea requerido.
Cuando la UCP realiza el requerimiento, el mdulo le entrega el dato en
bus de datos, y queda a la espera de una nueva operacin.
Desde el punto de vista de la UCP, el proceso es como sigue: la UCP
entrega un comando de Lectura, y sigue con la ejecucin de ese u otro/s programa/s. Al
final de cada ciclo de instruccin, controla la presencia de interrupciones, cuando
encuentre una, la UCP guardar el contexto (o sea los contenidos del contador de
programa (CP) y de sus registros) correspondientes al programa en ejecucin, y pasa a
procesar la interrupcin.
En nuestro caso, la UCP leer el contenido del bus de datos y lo
almacenar en la memoria. Luego proceder a restaurar el contexto del programa en el
que estaba trabajando, o de algn otro, y reasume su ejecucin.
En la figura IV.5.b, se muestra el uso de una interrupcin de E/S para
leer un bloque de datos. En comparacin con lo mostrado en la figura IV.5.a, la
interrupcin acta ms eficientemente que la E/S programada, debido a que elimina las
demoras por espera. Pero sin embargo, el procedimiento tambin insume una gran
cantidad de tiempo, por cuanto cada palabra dato debe pasar por la UCP en su camino
desde la unidad de entrada hasta la memoria.
IV.5.1 - PROCESAMIENTO DE INTERRUPCIONES:
La presencia de una interrupcin dispara cierta cantidad de eventos,
tanto en el hardware del procesador como en el software. La figura IV.6, muestra una
secuencia tpica.
Cuando un dispositivo de E/S completa una operacin, ocurre la
siguiente secuencia de eventos de hardware:
cuando la UCP detecta una seal de interrupcin, emite una seal de Prueba (TEST
I/O), colocando la identificacin de cada uno de los perifricos, en forma secuencial,
sobre las lneas de direccin, hasta que uno conteste afirmativamente.
Una forma alternativa, es la de disponer un registro de estados
direccionable en cada mdulo de E/S, que son ledos por la UCP a fin de determinar cual
ha emitido el pedido de interrupcin, con lo que el procesador carga la rutina especfica
para ese dispositivo.
La desventaja de este sistema es el consumo de tiempo, siendo a tal
efecto mucho ms efectivo el encadenamiento margarita, que provee, de hecho, una
votacin por hardware. Un ejemplo de esta configuracin es dada en la figura IV.7,
donde est aplicado al arbitraje de un multibus.
La lnea de pedido de interrupciones es compartida por todos los
mdulos de E/S. Cuando la UCP detecta una interrupcin, enva una seal de
reconocimiento que se propaga en serie por todos los mdulos hasta que detecta el
causante. El mdulo contesta disponiendo una palabra en las lneas de datos, esta
palabra es considerada como un vector y es el identificador del dispositivo, que es
utilizado por la UCP para apuntar a la rutina de servicio adecuada al perifrico. Esta
tcnica tambin es denominada "interrupcin vectorizada".
La otra tcnica que hace uso de interrupciones vectorizadas, es el
arbitraje del bus, donde un mdulo de E/S primero gana el control del bus, antes de que
pueda alcanzar la lnea de interrupcin requerida. En consecuencia, solo un mdulo por
vez puede tener la lnea, y cuando la UCP detecta el pedido, responde por la lnea de
reconocimiento, entonces el mdulo puede entregar su vector en las lneas de datos.
Las tcnicas indicadas sirven para reconocer al mdulo que realiz
el requerimiento, pero tambin pueden proveer la forma de asignar prioridades cuando
se superponen los pedidos. En un sistema con mltiples lneas, la UCP tomar primero la
de mayor prioridad. Con votacin por software, el orden en el cual son consultados los
mdulos puede indicar su prioridad, y el orden en el cual estn dispuestos los mdulos en
el encadenamiento margarita acta tambin como asignacin de prioridad. Finalmente,
en el arbitraje del bus se puede emplear un esquema de prioridades, tal como se indic
anteriormente.
IV.5.3 - CONTROLADOR DE INTERRUPCIONES INTEL 8259A:
Este controlador provee una sola lnea para el requerimiento de
interrupcin (INTR) y una sola para su reconocimiento (INTA). A fin de hacer que el
procesador 8086 pueda manejar una amplia variedad de dispositivos, y posea
estructuras de priorizacin, se lo configura con un arbitrador de interrupciones externo
de este tipo. En la figura IV.8 se tiene un diagrama de bloques del mismo.
En la figura IV.9, se muestra el uso del circuito para conectar hasta
ocho mdulos. Si es necesario conectar una mayor cantidad, se debe emplear una
disposicin en cascada del mismo, que puede manejar hasta 64 mdulos.
realizar.
- La direccin del dispositivo.
- La locacin de memoria de arranque para la lectura o la
escritura.
- La cantidad de palabras que deben ser escritas o ledas.
del mdulo DMA. Esta configuracin, que puede ser muy econmica, es claramente
ineficiente, dado que tal como en la E/S programada, cada transferencia de una palabra,
insume dos ciclos de bus.
El tiempo, medido en ciclos de bus, puede ser reducido sustancialmente
si se integran las funciones de la DMA con las de E/S. Tal como se indica en la figura
IV.14.a, ello ocurre cuando se intercala el mdulo DMA entre los mdulos de E/S y el bus
del sistema.
An ms se mejora el sistema, si se dispone un bus de E/S, conectado al
bus del sistema mediante un mdulo de DMA, tal como se indica en la figura IV.14.c.
IV.7 - CANALES DE ENTRADA Y SALIDA Y PROCESADORES:
Segn ya comentramos anteriormente, a medida que las computadoras
evolucionaron, tambin lo hicieron las unidades de entrada y salida, en forma tal de ir
integrando funciones, hasta convertirse en verdaderos canales de entrada/salida.
IV.7.1 - EVOLUCION DE LAS FUNCIONES DE ENTRADA Y SALIDA:
Los pasos evolutivos pueden resumirse en la siguiente forma: