HardwareTutoriales

Sistema de E/S: todas las claves que debes conocer

El sistema de E/S en un ordenador es algo esencial. Como bien sabes, por definición, una computadora, u ordenador, básicamente por definición es una unidad de procesamiento, una unidad de memoria y una unidad de E/S. Todo aquello que cuente con esto se puede considerar un ordenador por sí mismo. Además, el sistema E/S es más importante de lo que muchos piensan, ya que sin él no funcionarían los periféricos, lo cual resultaría inútil para las personas, porque no se podría obtener información del ordenador ni tampoco introducirla…

¿Qué es el E/S?

sistema E/S

El sistema E/S (Entrada y Salida), en inglés I/O (Input y Output), se refiere a la estructura y los elementos que posibilitan la interacción entre los dispositivos de entrada/salida y el procesador principal. El sistema E/S se encarga de trasladar información entre el computador y los periféricos, como teclados, ratones, pantallas, impresoras, dispositivos de almacenamiento externo, redes, entre otros.

El E/S abarca controladores, buses de datos, puertos y protocolos de comunicación que facilitan el vínculo entre el usuario y el ordenador. Los controladores actúan como intermediarios entre los dispositivos de entrada/salida y el sistema operativo, permitiendo una transmisión eficiente de datos en el formato adecuado. De este modo, el usuario puede obtener información del equipo mediante periféricos de salida como el monitor, la impresora, los altavoces, etc., y también puede introducir información para que sea procesada con os periféricos de entrada, como el micrófono, teclado, ratón, etc.

Como puedes ver en la imagen superior, el sistema de E/S actúa como si de una memoria se tratase, incluso tiene su propio controlador de memoria o MMU. Es decir, los periféricos son, ante la CPU y el sistema, direcciones de memoria. Cada periférico tendrá una y de este modo se puede realizar un proceso de acceso.

Dicho de otro modo, en los periféricos de entrada se lee esta dirección para obtener la información que está introduciéndose. En los periféricos de salida se realizarán escrituras en dicha dirección para mostrar la información. Mientras que en los periféricos de entrada y salida se pueden hacer tanto lecturas como escrituras.

¿De qué se compone el sistema E/S?

puertos placa base

El sistema de E/S consta de las siguientes partes:

  • Controlador de E/S: es un elemento crucial que actúa como intermediario entre el hardware de E/S y el sistema operativo. Su función principal es administrar las operaciones de lectura y escritura, traduciendo las solicitudes del software en señales y comandos comprensibles para el dispositivo periférico.
  • Host o controlador de bus: tiene la responsabilidad de establecer la conexión física entre el dispositivo periférico y el bus de datos de la computadora. Su tarea es controlar la transferencia de datos, así como el direccionamiento y los protocolos de comunicación específicos del dispositivo.
  • Bus de datos o medio de transferencia: es un conjunto de cables y líneas de comunicación que conectan el procesador central, la memoria y los dispositivos periféricos. El bus de datos facilita la transferencia de datos entre estas diferentes partes del sistema informático. También podría ser una tecnología inalámbrica, usando ondas electromagnéticas por el medio aéreo.
  • Dispositivos periféricos: son los componentes externos que se conectan a la computadora. Estos dispositivos pueden clasificarse en tres categorías.

Además, los periféricos pueden ser, como bien sabes, de tres categorías:

  • De entrada: permiten al usuario enviar información o comandos al equipo para generará algún tipo de acción o proceso. Algunos ejemplos comunes de dispositivos de entrada son el teclado, el ratón, el escáner, el micrófono, el joystick, el volante para simuladores, etc.
  • De salida: son dispositivos que muestran o reproducen la información generada por el equipo. Algunos ejemplos de dispositivos de salida son el monitor, la impresora, los altavoces, etc.
  • De entrada y salida: permiten tanto la entrada como la salida de datos. Algunos ejemplos de dispositivos de entrada y salida son la pantalla táctil, algunos mandos de juego con respuesta, una impresora multifunción, los sistemas de realidad virtual, etc.

¿Cómo funciona el sistema E/S?

Como debes saber, existen varios métodos de gestión del sistema E/S o de funcionamiento que debes conocer:

Polling o sondeo

Método del sistema E/S Polling

El sondeo o polling en el sistema E/S (Entrada/Salida) es una técnica utilizada para verificar el estado de los dispositivos periféricos en un sistema informático. En esta técnica, el procesador o controlador de E/S realiza un seguimiento constante de los dispositivos periféricos para determinar si están listos para enviar o recibir datos.

El proceso de sondeo comienza con el controlador de E/S enviando una solicitud de estado a un dispositivo periférico específico. Una vez enviada la solicitud, el controlador de E/S espera una respuesta del dispositivo periférico. Y en este caso puede ocurrir que:

  • Si el dispositivo está listo para enviar o recibir datos, envía una respuesta afirmativa al controlador. En este caso, el controlador procede a realizar la transferencia de datos necesaria.
  • Si el dispositivo periférico no está listo, puede enviar una respuesta negativa al controlador de E/S, indicando que no puede realizar la transferencia en ese momento. El controlador puede entonces repetir el proceso de sondeo periódicamente hasta que reciba una respuesta afirmativa.

Como puedes ver, el sondeo es un enfoque sencillo pero tiene algunas limitaciones. Requiere recursos de procesamiento para realizar el seguimiento constante de los dispositivos periféricos, lo que puede generar una carga adicional en el sistema. Además, puede haber retrasos en la transferencia de datos si los dispositivos periféricos no están siempre listos cuando se realiza el sondeo. Por estos motivos, poco a poco se ha ido abandonando hasta llegar a los actuales sistemas de E/S que usan métodos más modernos.

Interrupciones (IRQs)

Método de interrupción
Fuente: Vreyn.com

En un sistema de E/S, una interrupción o IRQ (Interruption Request) se refiere a una señal o solicitud de interrupción que un dispositivo periférico envía al procesador central para indicar que requiere atención.

Cada dispositivo periférico está asignado a un número específico de IRQ. Cuando un dispositivo necesita comunicar algo importante o realizar una operación, envía una señal de interrupción a través de su IRQ asignada al procesador central. El procesador, a su vez, suspende temporalmente la tarea actual que está ejecutando y atiende la interrupción del dispositivo periférico.

El sistema operativo gestiona y asigna las IRQ a los diferentes dispositivos periféricos para evitar conflictos. Por lo general, las IRQ más bajas se reservan para dispositivos periféricos de mayor prioridad y los dispositivos con menor prioridad se asignan a IRQ más altas. De esta manera, se garantiza que los dispositivos críticos reciban una respuesta inmediata del procesador.

Cuando se recibe una señal de interrupción a través de una IRQ, el procesador guarda el estado actual de la tarea en ejecución y salta a una rutina de servicio de interrupción (ISR o Instruction Service Interruption). La ISR se encarga de manejar la solicitud del dispositivo periférico y realizar las acciones necesarias. Una vez que se completa la ISR, el procesador retoma la tarea en la que se encontraba antes de la interrupción.

El uso adecuado y la gestión eficiente de las IRQ son fundamentales para garantizar un rendimiento óptimo del sistema de E/S. Sin embargo, al igual que el método anterior, también tiene sus inconvenientes, por ejemplo, los conflictos o la penalización de rendimiento de la CPU al tenerse que hacer cargo de estas tareas. Por eso, este método también fue dejado de lado para usar el moderno DMA.

DMA (Direct Memory Access)

DMA sistema de E/S
Fuente: Open4Tech.com

El sistema de acceso directo a memoria, o DMA (Direct Memory Access), es una técnica utilizada en sistemas de E/S para permitir que los dispositivos periféricos trabajen sin la intervención constante de la CPU. El objetivo del DMA es mejorar la eficiencia de las transferencias de datos y reducir la carga de trabajo del procesador en la gestión de la E/S.

En lugar de utilizar el enfoque de polling o las IRQs, que requieren la intervención activa del procesador, el DMA utiliza un controlador DMA dedicado para facilitar la transferencia directa de datos entre los dispositivos periféricos y la memoria principal. El funcionamiento se resume en los siguientes pasos:

  1. Configuración: el controlador DMA se programa para especificar la ubicación de origen y destino de los datos, así como la cantidad de datos a transferir.
  2. Inicio de la transferencia: se activa para iniciar la transferencia de datos. El controlador notifica al dispositivo periférico y accede directamente a la memoria principal sin la intervención del procesador.
  3. Transferencia de datos: mueve los datos entre el dispositivo periférico y la memoria principal de forma autónoma, sin requerir la participación del procesador. Puede realizar transferencias en bloque o de forma continua, dependiendo de la configuración.
  4. Finalización de la transferencia: una vez completada la transferencia, el controlador DMA puede generar una interrupción o notificar al procesador sobre la finalización de la operación.

Por tanto, el tener un chip controlador DMA que haga estas funciones tiene algunas ventajas claras con respecto a los métodos anteriores, como:

  • Reducción de la carga del procesador: al delegar la transferencia de datos al controlador DMA, el procesador se libera de la tarea intensiva de gestionar la E/S. Esto permite un uso más eficiente del tiempo de procesamiento y evita cuellos de botella en el rendimiento.
  • Menor latencia: puede realizar transferencias de datos más rápidas en comparación con el polling y las IRQs, ya que no hay una espera activa.
  • Mayor flexibilidad: permite configurar transferencias de datos en bloques o de forma continua, lo que proporciona mayor flexibilidad en la gestión de la E/S y la optimización del rendimiento del sistema.

Ahora ya conoces un poco más de este sistema de E/S y su funcionamiento. No olvides comentar si tienes dudas o sugerencias de algo que te gustaría que expliquemos el funcionamiento, por ejemplo…

Isaac

Geek de los sistemas electrónicos, especialmente del hardware informático. Con alma de escritor y pasión por compartir todo el conocimiento sobre tecnología.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba