8/17/2019 Subsistema de E-S [01]
1/28
1
INTRODUCCION
• El sistema de E/S es una parte muy importante quehace posible la comunicación con el mundo exterior.
• Está formado por varios dispositivos periféricos que
proporcionan un medio para intercambiar datos conel exterior y que se comunican con el uP a través deuna serie de Módulos de E/S.
• Estos módulos contienen una serie de controladores
que se encargan de manejar el funcionamiento deuno o varios periféricos.
Subsistema de E/S
8/17/2019 Subsistema de E-S [01]
2/28
2
•Los módulos no deben conectar directamente elperiférico con el bus del sistema, sino deben serciertamente inteligentes para poder realizar lacomunicación entre periférico y uP de forma eficiente,
considerando la siguientes características:Existe gran diversidad de periféricos que usanmétodos de operación diferentes.
Los periféricos usan formatos y longitudes de palabra
diferentes a las que usa el uP, por lo que debe haberalgún mecanismo para adecuar las señales de ambos.
8/17/2019 Subsistema de E-S [01]
3/28
3
La velocidad de transferencia de datos de losperiféricos es más lenta que la que tiene el uP con laMemoria, por lo que resulta poco práctico usar el busde sistema de alta velocidad para comunicarse
directamente con los periféricos.•Los módulos de E/S establecen una serie de reglas(llamadas Interfaces) para conectarse con:
El uP y la Memoria a través del bus del sistema o del
bus de expansión.Los dispositivos periféricos a través de,generalmente, enlaces dedicados para datos.
8/17/2019 Subsistema de E-S [01]
4/28
4
A. Fase de direccionamiento
Se identifica al controlador del dispositivo objeto de latransferencia.
Se indican las operaciones que se desean realizar
escribiendo un código especial en algún registro delcontrolador. Todos los registros de cualquiercontrolador ocupan una dirección única en el sistemaque dependiendo del tipo de uP puede ser en el mapaglobal de direcciones (E/S mapeada en memoria) o(E/S aislada).
Cuando el uP escribe una dirección en el bus, todos loscontroladores la leen para determinar si se quiereacceder a alguno de sus registros.
Fases en la operación de E/S
8/17/2019 Subsistema de E-S [01]
5/28
5
Se leen las líneas de control para saber si es L/E.
Se contesta al uP.
B. Fase de Sincronización y coordinación deoperaciones de E/S: En esta fase se decide elmomento exacto donde debe comenzar latransferencia de datos.
C. Fase de Transferencia de datos: Se llevan a cabo
las operaciones de L o E entre el controlador delperiférico seleccionado con el MP (o en algunos casosdirectamente con la Memoria).
8/17/2019 Subsistema de E-S [01]
6/28
6
En los controladores siempre existen una serie deregistros estándar para facilitar la sincronización entre elprocesador y el periférico:
El Registro de control: permite programar el tipo deoperación a realizar.
El Registro de estado: informa sobre el resultado dela última operación o la disposición del controladorpara la recepción o transmisión de datos.
Registro de datos: almacena temporalmente losdatos que van a ser transferidos.
Para operaciones con periféricos más complejos se sueleutilizar uPs especiales denominados coprocesadores ouPs convencionales denominados procesadores de E/S.
8/17/2019 Subsistema de E-S [01]
7/28
7
CLASIFICACION DE LOSDISPOSITIVOS DE E/S
Las operaciones de E/S se realiza a través de unaserie de dispositivos externos que suministran unmedio para intercambiar datos con el mundo exterior.
El dispositivo externo se conecta con el computador através de un enlace o bus que va a uno de losmódulos de E/S.
Este enlace sirve para programar, las operaciones,intercambiar datos, comprobar el estado del periféricoy el resultado de la operación.
Los dispositivos periféricos son muy diversos. Unaforma de clasificarlos es teniendo en cuenta:Comportamiento: E, S o almacenamiento.
Destino de la comunicación: Humano o máquina.
Tasa de datos: Velocidad de transmisión.
8/17/2019 Subsistema de E-S [01]
8/28
8
Tabla comparativa de dispositivos de E/S
Dispositivo Comportamiento Conexión Velocidad
(Kbps)
Tecl ado Ent r ada Humano 0. 01
Rat ón Ent r ada Humano 0. 02
Di gi t al i zador Ent r ada Humano 200. 00
I mpresor a de l i nea Sal i da Humano 1. 00
I mpresor a l áser Sal i da Humano 100. 00
Di spl ay gr áf i co Sal i da Humano 30000. 00
LAN E/ S Máqui na 200. 00
Di sco f l exi bl e Al macenami ent o Máqui na 50. 00
Di sco magnét i co Al macenami ent o Máqui na 2000. 00
8/17/2019 Subsistema de E-S [01]
9/28
9
MODULOS DE E/S
El módulo de E/S es responsable de controlar a uno omás dispositivos externos y de intercambiar datos entreestos dispositivos y la memoria o alguno de los registrosdel uP.
De acuerdo a ello, un módulo de E/S debería constar de 2interfaces: una interna (Al uP y a la Memoria) y otraexterna (a los periféricos).
Las funciones de un módulo de E/S se pueden resumir en:
A. Control y temporización Como el uP se comunica con los periféricos de forma
impredecible (depende de las necesidades de E/S delprograma), los recursos internos se comparten pararealizar una serie de actividades.
8/17/2019 Subsistema de E-S [01]
10/28
10
Por ejemplo, una transferencia de datos entre eluP y un dispositivo externo puede llevarse de lasiguiente manera:
El uP pregunta al módulo E/S el estado del
periférico.El módulo E/S devuelve el estado.
Si el módulo está operativo, el uP le da unaorden al módulo de E/S para pedir latransferencia de datos.
El módulo de E/S obtiene una unidad de datosdel dispositivo externo.
Los datos se transfieren desde el módulo deE/S al uP.
8/17/2019 Subsistema de E-S [01]
11/28
11
B. Comunicación con el uP
Decodificación de la orden: las órdenes se envían al
módulo escribiendo en alguno de sus registros y el
módulo las envía al periférico por el bus de control.
Datos: los datos se intercambian por el bus de datos
Notificación del estado: como los periféricos son muy
lentos es necesario conocer el estado del módulo. Este
usa líneas de estado como ocupado, listo y error para
indicar su disponibilidad. Reconocimiento de la dirección: cada dispositivo
externo debe tener una dirección que debe reconocer
al módulo que lo controla.
8/17/2019 Subsistema de E-S [01]
12/28
12
C. Comunicación con el periférico
Recoge el envío de órdenes, información deestado y otros.
D. Almacenamiento temporal de datos
Los datos que van de memoria al módulo lleganen forma de ráfaga, se almacenan en el módulo ypoco a poco se van enviando al periférico.
E. Detección de errores
El módulo de E/S es responsable de la detecciónde errores y de la notificación de los mismos aluP. Existen errores mecánicos, eléctricos ocambios en el patrón de bits transmitidos.
8/17/2019 Subsistema de E-S [01]
13/28
13
PROGRAMACION DE LAS ORDENESEN LOS DISPOSITIVOS
Para realizar unaoperación de E/Sel uP debegenerar unadirección que
especifique elperiférico al quese quiere accederdentro de unmódulo de E/S.
Luego por el busrespectivo seenviará la ordenque se quiereejecutar.
Decodificador de
dirección
Registros de
datos y de
condición
Circuitos decontrol
Dispositivo de entrada
Interfaz de E/S
Direcciones
Control
Datos
B u s e s
d e
E / S
8/17/2019 Subsistema de E-S [01]
14/28
14
Como existen muchos módulos de E/S, cada uno
puede tener varios periféricos, se usa un identificador
único (una dirección 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
8/17/2019 Subsistema de E-S [01]
15/28
15
E/S MAPEADA EN MEMORIA
En este caso existe un único espacio de
direccionamiento que se comparte entre la memoria
y los periféricos.
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 diseño de la UC ya
que no se requieren instrucciones de E/S especiales.
8/17/2019 Subsistema de E-S [01]
16/28
16
Se puede usar todo el repertorio de instrucciones
empleado para acceder a memoria con las
operaciones de E/S.
La desventaja es que el diseño del mapa de memoriaes complejo y además se necesita dispositivos
adicionales de decodificación de direcciones para los
dispositivos externos.
Para que los usuarios no accedan a los registros de
los controladores el SO prohíbe su acceso mediante
mecanismos especiales.
Usada inicialmente por la familia Motorola.
8/17/2019 Subsistema de E-S [01]
17/28
17
E/S AISLADA
En este caso el bus del sistema dispone de líneas deL/E en memoria y de líneas adicionales para la L/Ede los registros de los módulos de E/S.
Para acceder a un registro del controlador se usan
instrucciones especiales que activen las líneas deE/S.
Para prevenir el acceso directo del usuario a loscontroladores de periféricos, el SO prohíbe laejecución de las instrucciones de E/S cuando no seestá en el modo adecuado de trabajo.
Procesadores que usan este método son los deINTEL.
8/17/2019 Subsistema de E-S [01]
18/28
18
SINCRONIZACIÓN
La aparición de eventos del exterior es impredecible.
El procesador necesita de algún medio para
sincronizarse con estos eventos y así poder
administrar las transferencias de E/S.
Existen 3 métodos para ello:
a. Por prueba de estado
b. Por interrupción
c. Por Acceso Directo a Memoria
8/17/2019 Subsistema de E-S [01]
19/28
19
Por prueba de estado
Cuando el uP ejecuta un programa y encuentra unaoperación de E/S la ejecuta y envía la orden alcontrolador de periférico.
El controlador realiza la acción con el periférico y
modifica el registro de estado del módulo de E/S,pero no le comunica nada al uP.
Por ello, el uP debe comprobar periódicamente elestado del periférico para determinar si está listopara aceptar o enviar datos.
Cuando el dato está en el buffer el uP lo lee y loguarda en alguno de sus registros.
Si no está listo debe esperar e intentar de nuevo.
8/17/2019 Subsistema de E-S [01]
20/28
20
La desventaja es que el uP pierde tiempo leyendo los
registros de estado en las consultas sin éxito.
Varios periféricos pueden estar activos al mismo
tiempo por lo que se debe hacer un escrutinio(polling) sobre todos los registros de los periféricos
para ver cuál está listo.
Los manejadores de dispositivos (device handlers)
son rutinas que hacen estas tareas, existiendo una
distinta para cada caso.
8/17/2019 Subsistema de E-S [01]
21/28
21
Interrupciones
Para solucionar la sobrecarga debido al escrutinio, el
uP envía la orden a un módulo especial y puede
hacer otra tarea.
Cuando el módulo esté listo para realizar laoperación interrumpirá al uP y realizará la
transferencia.
De esta manera se evita la espera del uP al
periférico.
8/17/2019 Subsistema de E-S [01]
22/28
22
Acciones que se llevan a cabo al llegar unainterrupción
1. El periférico envia la interrupción activando una linea decontrol (INT).
2. El uP finaliza la instrucción en curso.
3. El uP comprueba si hay peticiones de interrupción
pendientes.4. El uP detiene la tarea que estaba realizando y guarda la
información suficiente para luego continuar su trabajo(contador de programa).
5. El uP ejecuta la rutina de servicio de la interrupción.
6. Dentro de la rutina el uP salva el estado de aquellosregistros que puedan modificarse.
7. Al terminar la rutina se restaura el valor de los registros yse ejecuta la instrucción de retorno de interrupción.
8/17/2019 Subsistema de E-S [01]
23/28
23
Ventaja: Respuesta rápida y el programador no tieneque usar rutinas de muestreo al periférico.
Desventaja: Aun con ello, cada dato transferido de lamemoria al periférico tiene que pasar por el uP.
Identificación de la interrupción. Métodos quepermiten identificar al periférico fuente de lainterrupción y si es que hay varias peticiones,determinar la más prioritaria. Entre ellos: exploraciónsecuencial, daisy-chain y líneas individuales.
Enmascaramiento. Permiten inhibir las interrupcionesusando una máscara de bits. El uP tiene un registrode enmascaramiento donde están estos bits.
8/17/2019 Subsistema de E-S [01]
24/28
24
Transferencia de datos entre undispositivo y memoria
En el primer método, el uP pasa los datos mediante
transferencia programada, a través 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 método 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.
8/17/2019 Subsistema de E-S [01]
25/28
25
Es deseable evitar el uso del uP en las
transferencias entre periféricos y memoria.
Para ello se destina un mecanismo en hardware que
genere las direcciones apropiadas de memoria y del
controlador y active las líneas 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.
8/17/2019 Subsistema de E-S [01]
26/28
26
Registros del controlador DMA
Contador: Indica la cantidad de datos a transferir.
De dirección de memoria: Almacena la posición
donde va el primer dato.
Buffer de datos: almacenamiento secundario dedatos.
De estado: Almacena estado de la operación.
De control: En él se escriben las operaciones a
realizar.
8/17/2019 Subsistema de E-S [01]
27/28
27
Operaciones para realizar latransferencia DMA
1. El uP inicializa al controlador de periférico y al DMAindicándole a éste último: el número de bytes, laposición de inicio y el tipo de operación.
2. El DMA espera a que el periférico le indique que está
listo para transferir ( mediante una interrupción).3. Una vez listos los datos, el DMA inicia la operación y
solicita el bus al uP, que le responde inmediatamente(no es necesario esperar).
4. Cuando el DMA posee el bus coloca la dirección deinicio en el registro de direcciones, reconoce lapetición del controlador del periférico y le pide losdatos.
8/17/2019 Subsistema de E-S [01]
28/28
28
5. El controlador de periférico activa las señales de
control y suministra los datos. Cuando son
capturados por la memoria el DMA se lo indica al
periférico.
6. El controlador de periférico 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 DMAinterrumpe al uP. Si no son iguales se espera a que
llegue la siguiente petición de transferencia.
Top Related