Funciones implicadas en las operaciones de entrada/salida
Para que un computador pueda ejecutar un programa debe ser ubicado previamente en la memoria, junto con los datos sobre los que opera, y para ello debe existir una unidad funcional de entrada de información capaz de escribir en la memoria desde el exterior. Análogamente, para conocer los resultados de la ejecución de los programas, los usuarios deberán poder leer el contenido de la memoria a través de otra unidad de salida de datos.
La unidad de Entrada/Salida (E/S) soporta estas funciones, realizando las comunicaciones del computador (memoria) con el mundo exterior (periféricos). Los dispositivos periféricos que se pueden conectar a un computador se suelen clasificar en tres grandes grupos:
a) Dispositivos de presentación de datos. Son dispositivos con los que interactuan los usuarios, transportando datos entre éstos y la máquina, por ejemplo, ratón, teclado, pantalla, impresora, etc.
b) Dispositivos de almacenamiento de datos. Son dispositivos que forman parte de la jerarquía de memoria del computador. Interactúan de forma autónoma con la máquina, por ejemplo, discos magnéticos y cintas magnéticas.
c) Dispositivos de comunicación con otros procesadores. Permiten la comunicación con procesadores remotos a través de redes, por ejemplo, las redes de área local o global.
d) Dispositivos de adquisición de datos. Permiten la comunicación con sensores y actuadores que operan de forma autónoma en el entorno del computador. Se utilizan en sistemas de control automático de procesos por computador y suelen incorporar conversores de señales A/D y D/A.
Los dispositivos de transporte y presentación de datos representan una carga muy baja de trabajo para el procesador comparados con los dispositivos de almacenamiento. La siguiente tabla muestra las velocidades de transferencia típicas para diferentes dispositivos:
Aunque la velocidad de transferencia de los dispositivos de presentación de datos ha sido tradicionalmente lenta comparada con la de los dispositivos de almacenamiento, en los últimos tiempos la situación está cambiando. Cada vez más, los computadores se utilizan para manejar documentos multimedia que constan de gráficos, vídeos y voz. La siguiente tabla presenta algunos parámetros de transferencia para los dispositivos modernos de E/S multimedia:
Los gráficos requieren una gran capacidad de procesamiento de datos, hasta el punto que se han diseñado procesadores de propósito especial para manejar sofisticadas representaciones gráficas. El procesamiento de las imágenes gráficas puede requerir de 5 a 10 microprocesadores de alta velocidad.
El problema del vídeo es simplemente la animación de los problemas gráficos, ya que debe crearse una nueva imagen cada 1/30 de segundo (33 milisegundos).
El procesamiento de la voz es también elevado porque exige la creación o el reconocimiento de varios fonemas en tiempo real. De hecho es el medio que más capacidad de procesamiento requiere debido a que presenta el mayor grado de intolerancia por retrasos en el usuario.
Los dispositivos periféricos que pueden conectarse a un computador para realizar entrada y salida de información presentan, pues, las siguientes características:
- Tienen formas de funcionamiento muy diferentes entre sí, debido a las diferentes funciones que realizan y a los principios físicos en los que se basan.
- La velocidad de transferencia de datos es también diferente entre sí y diferente de la presentada por la CPU y la memoria.
- Suelen utilizar datos con formatos y longitudes de palabra diferentes
No obstante estas diferencias, existen una serie de funciones básicas comunes a todo dispositivo de E/S:
- Identificación única del dispositivo por parte de la CPU
- Capacidad de envío y recepción de datos
- Sincronización de la transmisión, exigida por la diferencia de velocidad de los dispositivos de E/S con la CPU
La identificación del dispositivo se realiza con un decodicador de direcciones. El envío y la recepción de datos tiene lugar a través de registros de entrada y salida de datos. Los circuitos de sincronización se manipulan por medio de registros de estado y control. El siguiente esquema representa gráficamente estas funciones:
Las tres funciones básicas se pueden realizar a través del bus del sistema que conecta la memoria y la CPU, o bien se puede utilizar un bus específico para las operaciones de E/S. Estas alternativas se traducen en dos formas de organización de los espacios de direcciones:
• Espacios de direcciones unificados
Las unidades de E/S se ubican en el espacio único de direcciones como si fuesen elementos de memoria. A cada unidad de E/S se le asigna un conjunto de direcciones (suficiente para diferenciar todos sus registros internos). La interacción entre CPU y unidad de E/S se realiza a través de instrucciones de referencia a memoria. El bus del sistema es único.
• Espacios de direcciones independientes (Memoria y E/S)
Las unidades de E/S se ubican en un espacio de direcciones diferente al de memoria. La interacción entre CPU y unidad de E/S se realiza a través de instrucciones específicas de E/S. La separación de espacios de direcciones puede soportarse con un bus único de uso compartido entre Memoria y E/S en función del estado de una línea de control MEM/IO:
Pero el desdoblamiento de espacios de direcciones puede responder a la existencia de dos buses independientes, uno para memoria (bus del sistema) y otro para E/S:
Fuente: Estructura de Computadores, Facultad de Informática, UCM