You are on page 1of 28

Subsistema de E/S

INTRODUCCION
El sistema de E/S es una parte muy importante que
hace posible la comunicacin con el mundo exterior.
Est formado por varios dispositivos perifricos que
proporcionan un medio para intercambiar datos con
el exterior y que se comunican con el uP a travs de
una serie de Mdulos de E/S.
Estos mdulos contienen una serie de controladores
que se encargan de manejar el funcionamiento de
uno o varios perifricos.

Los mdulos no deben conectar directamente el


perifrico con el bus del sistema, sino deben ser
ciertamente inteligentes para poder realizar la
comunicacin entre perifrico y uP de forma eficiente,
considerando la siguientes caractersticas:
Existe gran diversidad de perifricos que usan
mtodos de operacin diferentes.
Los perifricos usan formatos y longitudes de palabra
diferentes a las que usa el uP, por lo que debe haber
algn mecanismo para adecuar las seales de ambos.

La velocidad de transferencia de datos de los


perifricos es ms lenta que la que tiene el uP con la
Memoria, por lo que resulta poco prctico usar el bus
de sistema de alta velocidad para comunicarse
directamente con los perifricos.
Los mdulos de E/S establecen una serie de reglas
(llamadas Interfaces) para conectarse con:
El uP y la Memoria a travs del bus del sistema o del
bus de expansin.
Los dispositivos perifricos
a travs de,
generalmente, enlaces dedicados para datos.
3

Fases en la operacin de E/S


A. Fase de direccionamiento

Se identifica al controlador del dispositivo objeto de la


transferencia.
Se indican las operaciones que se desean realizar
escribiendo un cdigo especial en algn registro del
controlador. Todos los registros de cualquier
controlador ocupan una direccin nica en el sistema
que dependiendo del tipo de uP puede ser en el mapa
global de direcciones (E/S mapeada en memoria) o
(E/S aislada).
Cuando el uP escribe una direccin en el bus, todos los
controladores la leen para determinar si se quiere
acceder a alguno de sus registros.
4

Se leen las lneas de control para saber si es L/E.


Se contesta al uP.
B. Fase de Sincronizacin y coordinacin de
operaciones de E/S: En esta fase se decide el
momento exacto donde debe comenzar la
transferencia de datos.
C. Fase de Transferencia de datos: Se llevan a cabo
las operaciones de L o E entre el controlador del
perifrico seleccionado con el MP (o en algunos casos
directamente con la Memoria).
5

En los controladores siempre existen una serie de


registros estndar para facilitar la sincronizacin entre el
procesador y el perifrico:
El Registro de control: permite programar el tipo de
operacin a realizar.
El Registro de estado: informa sobre el resultado de
la ltima operacin o la disposicin del controlador
para la recepcin o transmisin de datos.
Registro de datos: almacena temporalmente los
datos que van a ser transferidos.
Para operaciones con perifricos ms complejos se suele
utilizar uPs especiales denominados coprocesadores o
uPs convencionales denominados procesadores de E/S.
6

CLASIFICACION DE LOS
DISPOSITIVOS DE E/S
Las operaciones de E/S se realiza a travs de una
serie de dispositivos externos que suministran un
medio para intercambiar datos con el mundo exterior.
El dispositivo externo se conecta con el computador a
travs de un enlace o bus que va a uno de los
mdulos de E/S.
Este enlace sirve para programar, las operaciones,
intercambiar datos, comprobar el estado del perifrico
y el resultado de la operacin.
Los dispositivos perifricos son muy diversos. Una
forma de clasificarlos es teniendo en cuenta:
Comportamiento: E, S o almacenamiento.
Destino de la comunicacin: Humano o mquina.
Tasa de datos: Velocidad de transmisin.
7

Tabla comparativa de dispositivos de E/S


Dispositivo

Comportamiento

Conexin

Velocidad
(Kbps)

Teclado

Entrada

Humano

0.01

Ratn

Entrada

Humano

0.02

Digitalizador

Entrada

Humano

200.00

Impresora de linea

Salida

Humano

1.00

Impresora lser

Salida

Humano

100.00

Display grfico

Salida

Humano

30000.00

LAN

E/S

Mquina

200.00

Disco flexible

Almacenamiento Mquina

50.00

Disco magntico

Almacenamiento Mquina

2000.00
8

MODULOS DE E/S
El mdulo de E/S es responsable de controlar a uno o

ms dispositivos externos y de intercambiar datos entre


estos dispositivos y la memoria o alguno de los registros
del uP.
De acuerdo a ello, un mdulo de E/S debera constar de 2
interfaces: una interna (Al uP y a la Memoria) y otra
externa (a los perifricos).
Las funciones de un mdulo de E/S se pueden resumir en:
A. Control y temporizacin
Como el uP se comunica con los perifricos de forma
impredecible (depende de las necesidades de E/S del
programa), los recursos internos se comparten para
realizar una serie de actividades.
9

Por ejemplo, una transferencia de datos entre el


uP y un dispositivo externo puede llevarse de la
siguiente manera:
El uP pregunta al mdulo E/S el estado del
perifrico.
El mdulo E/S devuelve el estado.
Si el mdulo est operativo, el uP le da una
orden al mdulo de E/S para pedir la
transferencia de datos.
El mdulo de E/S obtiene una unidad de datos
del dispositivo externo.
Los datos se transfieren desde el mdulo de
E/S al uP.
10

B. Comunicacin con el uP
Decodificacin de la orden: las rdenes se envan al
mdulo escribiendo en alguno de sus registros y el
mdulo las enva al perifrico por el bus de control.
Datos: los datos se intercambian por el bus de datos
Notificacin del estado: como los perifricos son muy
lentos es necesario conocer el estado del mdulo. Este
usa lneas de estado como ocupado, listo y error para
indicar su disponibilidad.
Reconocimiento de la direccin: cada dispositivo
externo debe tener una direccin que debe reconocer
al mdulo que lo controla.
11

C. Comunicacin con el perifrico


Recoge el envo de rdenes, informacin de
estado y otros.
D. Almacenamiento temporal de datos
Los datos que van de memoria al mdulo llegan
en forma de rfaga, se almacenan en el mdulo y
poco a poco se van enviando al perifrico.
E. Deteccin de errores
El mdulo de E/S es responsable de la deteccin
de errores y de la notificacin de los mismos al
uP. Existen errores mecnicos, elctricos o
cambios en el patrn de bits transmitidos.
12

Para realizar una

operacin de E/S
el
uP
debe
generar
una
direccin
que
especifique
el
perifrico al que
se quiere acceder
dentro
de
un
mdulo de E/S.
Luego por el bus
respectivo
se
enviar la orden
que se quiere
ejecutar.

Buses de E/S

PROGRAMACION DE LAS ORDENES


EN LOS DISPOSITIVOS
Direcciones
Datos
Control

Registros de
datos y de
condicin

Decodificador de
direccin

Circuitos de
control

Interfaz de E/S

Dispositivo de entrada

13

Como existen muchos mdulos de E/S, cada uno


puede tener varios perifricos, se usa un identificador
nico (una direccin para cada uno de ellos).
Cuando el uP, la Memoria y la E/S comparten el
mismo bus se pueden diferenciar dos modos
distintos de direccionamiento:
E/S mapeada en memoria
E/S aislada

14

E/S MAPEADA EN MEMORIA


En

este caso existe un nico espacio de


direccionamiento que se comparte entre la memoria
y los perifricos.
Los registros de los controladores son tratados como
si fueran posiciones normales de memoria.
Las Lecturas y Escrituras a esas direcciones se
interpretan como rdenes para el dispositivo.
La ventaja es que se reduce el juego de
instrucciones, simplificando el diseo de la UC ya
que no se requieren instrucciones de E/S especiales.

15

Se puede usar todo el repertorio de instrucciones

empleado para acceder a memoria con las


operaciones de E/S.
La desventaja es que el diseo del mapa de memoria
es complejo y adems se necesita dispositivos
adicionales de decodificacin de direcciones para los
dispositivos externos.
Para que los usuarios no accedan a los registros de
los controladores el SO prohbe su acceso mediante
mecanismos especiales.
Usada inicialmente por la familia Motorola.
16

E/S AISLADA
En este caso el bus del sistema dispone de lneas de

L/E en memoria y de lneas adicionales para la L/E


de los registros de los mdulos de E/S.
Para acceder a un registro del controlador se usan
instrucciones especiales que activen las lneas de
E/S.
Para prevenir el acceso directo del usuario a los
controladores de perifricos, el SO prohbe la
ejecucin de las instrucciones de E/S cuando no se
est en el modo adecuado de trabajo.
Procesadores que usan este mtodo son los de
INTEL.
17

SINCRONIZACIN
La aparicin de eventos del exterior es impredecible.
El procesador necesita de algn medio para
sincronizarse con estos eventos y as poder
administrar las transferencias de E/S.
Existen 3 mtodos para ello:
a. Por prueba de estado
b. Por interrupcin
c. Por Acceso Directo a Memoria

18

Por prueba de estado


Cuando el uP ejecuta un programa y encuentra una

operacin de E/S la ejecuta y enva la orden al


controlador de perifrico.
El controlador realiza la accin con el perifrico y
modifica el registro de estado del mdulo de E/S,
pero no le comunica nada al uP.
Por ello, el uP debe comprobar peridicamente el
estado del perifrico para determinar si est listo
para aceptar o enviar datos.
Cuando el dato est en el buffer el uP lo lee y lo
guarda en alguno de sus registros.
Si no est listo debe esperar e intentar de nuevo.
19

La desventaja es que el uP pierde tiempo leyendo los

registros de estado en las consultas sin xito.


Varios perifricos pueden estar activos al mismo
tiempo por lo que se debe hacer un escrutinio
(polling) sobre todos los registros de los perifricos
para ver cul est listo.
Los manejadores de dispositivos (device handlers)
son rutinas que hacen estas tareas, existiendo una
distinta para cada caso.

20

Interrupciones
Para solucionar la sobrecarga debido al escrutinio, el

uP enva la orden a un mdulo especial y puede


hacer otra tarea.
Cuando el mdulo est listo para realizar la
operacin interrumpir al uP y realizar la
transferencia.
De esta manera se evita la espera del uP al
perifrico.

21

Acciones que se llevan a cabo al llegar una


interrupcin
1. El perifrico envia la interrupcin activando una linea de
2.
3.
4.

5.
6.
7.

control (INT).
El uP finaliza la instruccin en curso.
El uP comprueba si hay peticiones de interrupcin
pendientes.
El uP detiene la tarea que estaba realizando y guarda la
informacin suficiente para luego continuar su trabajo
(contador de programa).
El uP ejecuta la rutina de servicio de la interrupcin.
Dentro de la rutina el uP salva el estado de aquellos
registros que puedan modificarse.
Al terminar la rutina se restaura el valor de los registros y
se ejecuta la instruccin de retorno de interrupcin.
22

Ventaja: Respuesta rpida y el programador no tiene

que usar rutinas de muestreo al perifrico.


Desventaja: Aun con ello, cada dato transferido de la
memoria al perifrico tiene que pasar por el uP.
Identificacin de la interrupcin. Mtodos que
permiten identificar al perifrico fuente de la
interrupcin y si es que hay varias peticiones,
determinar la ms prioritaria. Entre ellos: exploracin
secuencial, daisy-chain y lneas individuales.
Enmascaramiento. Permiten inhibir las interrupciones
usando una mscara de bits. El uP tiene un registro
de enmascaramiento donde estn estos bits.
23

Transferencia de datos
dispositivo y memoria

entre

un

En el primer mtodo, el uP pasa los datos mediante

transferencia programada, a travs de instrucciones


ya sea de E/S o de memoria. Buena para
dispositivos lentos.
Para dispositivos con mayor rendimiento se usan las
interrupciones en donde se evita esperas
innecesarias del uP.
Otro mtodo poco usado y no analizado es la
transferencia de bloques de datos en donde el uP
sincroniza las transferencias y no puede hacer otras
tareas.
24

Es

deseable evitar el uso del uP en las


transferencias entre perifricos y memoria.
Para ello se destina un mecanismo en hardware que
genere las direcciones apropiadas de memoria y del
controlador y active las lneas de control necesarias.
Es decir, este controlador denominado DMA debe
ser capaz de actuar como maestro del bus del
sistema para poder realizar la transferencia.

25

Registros del controlador DMA


Contador: Indica la cantidad de datos a transferir.
De direccin de memoria: Almacena la posicin

donde va el primer dato.


Buffer de datos: almacenamiento secundario de
datos.
De estado: Almacena estado de la operacin.
De control: En l se escriben las operaciones a
realizar.

26

Operaciones
para
transferencia DMA

realizar

la

1. El uP inicializa al controlador de perifrico y al DMA

indicndole a ste ltimo: el nmero de bytes, la


posicin de inicio y el tipo de operacin.
2. El DMA espera a que el perifrico le indique que est
listo para transferir ( mediante una interrupcin).
3. Una vez listos los datos, el DMA inicia la operacin y
solicita el bus al uP, que le responde inmediatamente
(no es necesario esperar).
4. Cuando el DMA posee el bus coloca la direccin de
inicio en el registro de direcciones, reconoce la
peticin del controlador del perifrico y le pide los
datos.
27

5.

6.

El controlador de perifrico activa las seales de


control y suministra los datos. Cuando son
capturados por la memoria el DMA se lo indica al
perifrico.
El controlador de perifrico espera a que el
siguiente dato est disponible. El DMA devuelve el
bus, incrementa el registro de direcciones y
compara las direcciones de inicio y fin, si son
iguales la transferencia termina y el DMA
interrumpe al uP. Si no son iguales se espera a que
llegue la siguiente peticin de transferencia.
28

You might also like