«Explorando el mundo de los sistemas operativos: diferencias entre la asignación de entrada/salida a la memoria y la asignación a la E/S»
Este artículo describe la diferencia entre la E/S asignada a la memoria y la E/S asignada a la E/S. El microprocesador está conectado con dispositivos externos, como los dispositivos de E/S, la memoria y otros periféricos a través de un enlace denominado interfaz. Una interfaz es el enlace de comunicación entre la CPU y los dispositivos periféricos externos.
La interfaz de E/S se define como la interfaz existente entre la unidad de procesamiento o la CPU y los dispositivos de E/S, como teclado, mouse, impresora, etc. Según el tipo de enlace de interfaz entre la CPU y los dispositivos de E/S, puede ser subdividido en las siguientes dos categorías:
- Interfaz de E/S mapeada en memoria
- E/S estándar Interfaz de E/S asignada
En este artículo, destacaremos las diferencias significativas entre la interfaz de E/S mapeada en memoria y la interfaz de E/S mapeada de E/S estándar. Pero antes de eso, veamos sus introducciones básicas.
¿Qué es la interfaz de E/S mapeada en memoria?
Los dispositivos de E/S asignados a la memoria se tratan como ubicaciones de memoria y no como periféricos de E/S independientes. En el caso de periféricos de E/S mapeados en memoria, no se asigna memoria separada para dispositivos de E/S, es decir, comparten la misma memoria. Se asigna una dirección de 16 bits para los dispositivos de E/S en la memoria.
Además, los dispositivos de E/S y la memoria comparten el mismo bus para transferir datos hacia y desde el procesador. Como resultado, esto minimiza el direccionamiento y la capacidad de memoria. La interfaz de E/S mapeada en memoria se utiliza en aplicaciones que tienen requisitos de memoria pequeños.
En este escenario, los puertos de E/S se consideran ubicaciones de memoria utilizadas para realizar las operaciones de escritura y lectura. El mismo conjunto de instrucciones se utiliza para la transferencia de datos hacia y desde la E/S o la memoria. Se activa una señal de control cada vez que se envía una dirección a través de la línea de dirección. En un periférico de E/S mapeado en memoria, los datos del dispositivo de E/S se envían al ALU (unidad aritmética y lógica).
Las instrucciones del lenguaje ensamblador, a saber, LOAD y STORE, se utilizan para ejecutar las operaciones de lectura y escritura desde los periféricos de E/S y la memoria.
¿Qué es la interfaz de E/S asignada de E/S?
Los dispositivos de E/S asignados también se denominan asignación de E/S aislada, ya que a los dispositivos de E/S se les asigna un espacio de direccionamiento separado de la memoria. Estos espacios distintos especialmente asignados para los periféricos de E/S se denominan ‘Puertos’. Por lo tanto, existen instrucciones separadas para lectura y escritura tanto para E/S como para memoria.
A los dispositivos de E/S en este caso se les han asignado líneas de control de lectura y escritura distintas. La transferencia de datos en el caso de dispositivos de E/S mapeados de E/S ocurre de tal manera que cuando un dato o información debe transmitirse desde la E/S a los procesos, primero se coloca en el bus de dirección común, seguido por el activación de las líneas de control de lectura de E/S y escritura de E/S para habilitar esta transferencia de datos.
Este tipo de sistema es aplicable en escenarios donde los requisitos de memoria son grandes. En contraste con el sistema de E/S mapeado en memoria, el sistema de E/S mapeado de E/S opera frente a los ciclos de lectura y escritura de E/S. Sin embargo, interactúa con puertos comparativamente menores, es decir, aproximadamente 256. Además, las operaciones de unidades aritméticas y lógicas (ALU) no se pueden realizar utilizando la información a la que se accede desde los dispositivos de E/S del enfoque del sistema de E/S mapeado de E/S.
Diferencia entre la E/S asignada a la memoria y la E/S asignada a la E/S
Las diferencias clave entre la E/S asignada a la memoria y los enfoques de E/S asignadas a la E/S se enumeran en la siguiente tabla.
Parámetro | E/S mapeadas en memoria | E/S asignadas de E/S |
Funcionalidad | Los periféricos de E/S comparten las mismas instrucciones y espacio de direcciones. | A los periféricos de E/S se les asignan espacios de direcciones especiales separados o aislados llamados puertos. |
Ancho del espacio de direcciones asignado | El tamaño del espacio de direcciones es de unos 16 bits. | El tamaño del espacio de direcciones es de unos 8 bits. |
Tipos de instrucción | El tipo de instrucciones involucradas en la escritura y lectura de memoria. | El tipo de instrucciones involucradas en la escritura y lectura de E/S. |
Instrucciones para la transferencia de datos | Tanto los dispositivos de memoria como los de E/S comparten el mismo tipo de instrucciones para la transferencia de datos. | Los dispositivos de memoria y E/S tienen tipos separados y distintos de instrucciones para la transferencia de datos. |
Puertos para interfaz de E/S | El tamaño de interfaz para los dispositivos de E/S mapeados en memoria es bastante grande, es decir, 64K bytes. | El tamaño de la interfaz para los dispositivos de E/S mapeados de E/S es comparativamente menor, es decir, 256 bytes. |
Señales de control | No hay señales de control distintas involucradas en la transferencia de datos. | Las señales de control especiales y distintas están involucradas en la transferencia de datos, a saber: señales de control de lectura de E/S y escritura de E/S. |
Eficacia | La eficiencia de los sistemas de E/S mapeados en memoria es relativamente baja. | La eficiencia de los sistemas de E/S mapeados de E/S es relativamente alta. |
Hardware para decodificador | Se necesita comparativamente más hardware para diseñar un decodificador. | Se necesita un hardware comparativamente menor para diseñar un decodificador. |
Estado del pin IO/M | El valor del pin IO/M del sistema se establece en 0 (es decir, bajo) cuando se ejecutan los ciclos de lectura y escritura de memoria. | El valor del pin IO/M del sistema se establece en 1 (es decir, alto) cuando se ejecutan los ciclos de lectura y escritura de E/S. |
Movimiento de datos | Los datos se transmiten entre puertos y registros en el caso de un enfoque de E/S mapeado en memoria. | Los datos se transmiten entre puertos y acumuladores en el caso del enfoque de E/S mapeado de E/S. |
Complejidad del sistema | El sistema es relativamente simple debido a la ausencia de señales de control separadas y requiere una menor cantidad de pines. | El sistema es relativamente complejo debido a la presencia de señales de control separadas y requiere una mayor cantidad de pines. |
Velocidad | La velocidad de operación es relativamente baja. | La velocidad de operación es relativamente alta. |
Solicitud | El enfoque de E/S mapeadas en memoria se utiliza en el caso de sistemas más pequeños que requieren menos espacio de memoria. | El enfoque de E/S asignadas de E/S se utiliza en el caso de sistemas más grandes que requieren mayor espacio de memoria. |
Conclusión
En conclusión, este artículo destaca las diferencias importantes entre un sistema de E/S mapeado en memoria y un sistema de E/S mapeado. La principal diferencia entre ellos es que los dispositivos de E/S asignados a la memoria comparten un espacio de direcciones e instrucciones comunes tanto para los dispositivos de E/S como para la memoria. Mientras que los sistemas de E/S mapeados de E/S tienen espacios de direcciones especiales y aislados designados para dispositivos de E/S.
Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded