Estructura de I/O

De Departamento de Informatica
Saltar a: navegación, buscar

Contenido

Dispositivos de I/O

Los dispositivos de I/O, también llamados E/S por entrada y salida, son dispositivos periféricos que permiten que el computador se "comunique" con el usuario mediante la entrada y salida de datos. Se trata de hardware, por el cual pueden entrar datos, salir o los 2 al mismo tiempo en el caso de dispositivos modernos.

Dispositivos de entrada

A través de estos el usuario introduce datos, como imágenes o sonido por ejemplo. Entre estos encontramos ejemplos como el mouse, el teclado, el micrófono, etc.

Dispositivos de salida

En los dispositivos de salida encontramos los que permiten que el usuario reciba la información desde el computador, como por ejemplo el monitor, los parlantes, la impresora, etc.

Módulos de I/O

Estructura de un módulo de I/O

Los módulos de I/O tienen las siguientes funciones básicas:

  • Conectar con la CPU y memoria vía bus del sistema.
  • Conectar con los periféricos mediante conexiones de datos particularizadas.

Funciones o requerimientos principales

  • Control y temporización.
  • Comunicación con la CPU.
  • Comunicación con los periféricos.
  • Buffer de datos.
  • Detección de errores.

Los recursos internos del sistema, tales como memoria o bus, están compartidos por distintas actividades. Por ello, los módulos tienen requerimientos de control y temporización. Por ejemplo, el control de transferencia de datos entre un periférico y la CPU debe seguir la siguiente secuencia:

1. La CPU pide al módulo I/O el estado del periférico deseado.

2. El módulo I/O proporciona el estado.

3. Si el periférico está listo, la CPU solicita la transferencia de datos por medio de un comando al módulo I/O.

4. El módulo I/O obtiene el dato del periférico.

5. El dato se transfiere desde el módulo a la CPU.

Si el sistema emplea un bus, cada interacción entre CPU y I/O implica uno o más arbitrajes de bus.

Técnicas de entrada/salida

Programable

El módulo realiza la instrucción que le encarga la CPU y coloca los bits correspondientes en el registro de estado. Es responsabilidad de la CPU comprobar periódicamente el estado hasta que se complete la instrucción.

Controlada por interrupción

La CPU encarga una operación al módulo y continúa realizando otras tareas. Cuando el módulo concluya la operación, interrumpirá a la CPU para transferir los datos. La CPU realiza la transferencia y continúa después en el lugar en que se quedó con la otra tarea. Es necesario que la CPU sepa cuál módulo generó la interrupción y priorizarlas de ser necesario.

Este método es más eficiente que el anterior, pero implica un gran tiempo de dedicación de la CPU al servicio de interrupciones, ya que la transferencia de cada palabra implica guardar y recuperar el contexto de la tarea en curso.

Acceso directo a memoria

Las técnicas anteriores necesitan la intervención de la CPU para transferir datos entre memoria y módulos I/O. Esto tiene dos inconvenientes:

  • La velocidad de transferencia está limitada por el tiempo que necesita la CPU para testear y servir al periférico.
  • La CPU debe ejecutar una serie de instrucciones por cada transferencia I/O.

Cuando se necesita transferir grandes cantidades de datos, el acceso directo a memoria (DMA) es más eficiente. Esto implica la inclusión de un módulo adicional al bus del sistema. El módulo de DMA es capaz de sustituir a la CPU tomando control del bus. La CPU puede continuar con otra tarea, mientras el DMA transfiere el bloque de datos, palabra a palabra. Cuando la transferencia se ha completado, el DMA interrumpe a la CPU.

Anexos

Referencias

Enlaces externos

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas