De entrada y salida

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 14 de febrero de 2022; las comprobaciones requieren 2 ediciones .

Entrada-salida (del inglés  input/output , I/O ) en informática: la interacción entre un procesador de información (por ejemplo, una computadora ) y el mundo exterior, que puede ser una persona (sujeto) o cualquier otra información sistema de procesamiento. La entrada es la señal o los datos recibidos por el sistema, y ​​la salida es la señal o los datos enviados por (o desde) este. El término también se puede utilizar como designación (o adición a la designación) para una acción específica: "realizar E/S" significa realizar operaciones de entrada o salida . Los dispositivos de E/S son utilizados por una persona (u otro sistema) para interactuar con una computadora. Por ejemplo, los teclados y los ratones  son dispositivos de entrada de computadora especialmente diseñados, mientras que los monitores y las impresoras  son dispositivos de salida de computadora. Los dispositivos para la comunicación entre computadoras, como módems y tarjetas de red , generalmente sirven como dispositivos de entrada y salida al mismo tiempo.

Clasificación

La asignación de un dispositivo como dispositivo de entrada o de salida depende de la perspectiva. Los ratones y los teclados toman las interacciones físicas realizadas por un usuario humano (en relación con el usuario, estas serán acciones de salida) y las convierten en señales que la computadora puede entender. La salida de información de estos dispositivos es su entrada a la computadora. De manera similar, las impresoras y los monitores reciben señales de entrada que emite una computadora. Luego convierten estas señales en una forma que una persona puede ver o leer. (Para los usuarios, el proceso de lectura o visualización de tales representaciones de información es la entrada o recepción de información).

En la arquitectura de computadoras, la combinación de un procesador y la memoria principal (es decir, la memoria desde la cual el procesador puede leer y escribir directamente en ella usando instrucciones especiales ) constituye el "cerebro" de la computadora, y desde este punto de vista, cualquier intercambio de información con esta combinación, por ejemplo, con unidad de disco , implica entrada-salida. El procesador y los circuitos electrónicos que lo acompañan implementan E/S mapeadas en memoria , que se utilizan en la programación de bajo nivel cuando se implementan controladores de dispositivos .

El sistema operativo de alto nivel y el software utilizan otros conceptos y primitivas de E/S más abstractos. Por ejemplo, la mayoría de los sistemas operativos implementan programas de aplicación a través del concepto de . Los lenguajes de programación C y C++ , así como la familia de sistemas operativos Unix , tradicionalmente resumen archivos y dispositivos como flujos de datos que se pueden leer, escribir o ambos. La biblioteca estándar de C implementa funciones para trabajar con flujos de entrada y salida.

En el contexto del lenguaje de programación Algol-68 , los mecanismos de entrada y salida se denominaron colectivamente intercambio . La biblioteca de intercambio Algol-68 reconoció los siguientes archivos estándar (dispositivos) : stand in, stand outy . stand errorstand back

Una alternativa a las funciones primitivas especiales es la mónada de E/S , que permite que los programas simplemente describan E/S, y las acciones quedan fuera del alcance del programa. Esto es bastante notable, ya que las funciones de E/S tienen efectos secundarios en cualquier lenguaje de programación, pero la programación puramente funcional ha ganado popularidad en estos días.

Interfaz de E/S

La interfaz de E/S requiere el control del procesador de cada dispositivo. La interfaz debe tener la lógica adecuada para interpretar la dirección del dispositivo generada por el procesador.

El establecimiento de contacto debe ser implementado por la interfaz usando los comandos apropiados del tipo (OCUPADO, LISTO, ESPERANDO) para que el procesador pueda comunicarse con el dispositivo de E/S a través de la interfaz.

Si es necesario transferir diferentes formatos de datos, entonces la interfaz debe poder convertir datos en serie (ordenados) a formato paralelo y viceversa.

Debe ser posible generar interrupciones y los tipos correspondientes de números para su posterior procesamiento por parte del procesador (si es necesario).

Una computadora que usa E/S mapeada en la memoria accede al hardware leyendo y escribiendo en ubicaciones específicas de la memoria usando las mismas instrucciones en lenguaje ensamblador que una computadora normalmente usaría al acceder a la memoria.

Modos de direccionamiento

Hay varias formas en que los datos se pueden leer o colocar en la memoria. Cada método es un modo de direccionamiento y tiene sus propias ventajas y limitaciones.

Los modos de direccionamiento se dividen en muchos tipos, como direccionamiento directo, direccionamiento indirecto (indirecto), direccionamiento inmediato, direccionamiento de índice, direccionamiento base, direccionamiento de índice base, direccionamiento implícito, etc.

Direccionamiento directo

En este tipo, la propia dirección de datos forma parte de la instrucción. Cuando el procesador decodifica una instrucción, recibe la dirección de una ubicación de memoria desde la cual se puede leer la información requerida (donde se puede escribir).

Mov Reg. [Addr]

En este caso, el operando Addr apunta a un área de memoria que contiene los datos y los copia en el registro Reg especificado.

Direccionamiento indirecto

En este caso, la dirección puede almacenarse en un registro. Las instrucciones accederán al registro que contiene la dirección. Es decir, para recibir datos, la instrucción debe decodificar los datos del registro correspondiente. El contenido del registro se procesará como una dirección, mediante la cual se leerá/escribirá información desde/hacia el área de memoria correspondiente.

E/S con la distribución (información de entrada) de puertos (memoria)

La E/S con asignación (información de entrada) a puertos (memoria) generalmente requiere el uso de instrucciones diseñadas específicamente para realizar operaciones de E/S.

Véase también

Notas

Enlaces