subsistema de e-s [01]

Upload: oz-mg

Post on 06-Jul-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.