Como una CPU necesita comunicarse con varios dispositivos de memoria y de entrada y salida (E/S), como sabemos, los datos entre el procesador y estos dispositivos fluyen con la ayuda del bus del sistema. Hay tres formas en las que se les puede asignar el bus del sistema:
- Conjunto separado de dirección, control y bus de datos para E/S y memoria.
- Tienen bus común (datos y dirección) para E/S y memoria pero líneas de control separadas.
- Tienen un bus común (datos, dirección y control) para E/S y memoria.
En el primer caso, es simple porque ambos tienen un conjunto diferente de espacio de direcciones e instrucciones, pero requieren más buses.
E/S aisladas –
Luego tenemos E/S aisladas en las que tenemos un bus común (datos y direcciones) para E/S y memoria, pero líneas de control de lectura y escritura separadas para E/S. Entonces, cuando la CPU decodifica la instrucción, si los datos son para E/S, coloca la dirección en la línea de dirección y activa la línea de control de lectura o escritura de E/S debido a que la transferencia de datos ocurre entre la CPU y la E/S. Como el espacio de direcciones de la memoria y la E/S está aislado y el nombre es así. La dirección para E/S aquí se llama puertos. Aquí tenemos diferentes instrucciones de lectura y escritura tanto para E/S como para memoria.
E/S mapeadas en memoria –
En este caso, todos los buses en común debido a que el mismo conjunto de instrucciones funciona para la memoria y la E/S. Por lo tanto, manipulamos la E/S igual que la memoria y ambos tienen el mismo espacio de direcciones, por lo que la capacidad de direccionamiento de la memoria se reduce porque alguna parte está ocupada por la E/S.
Diferencias entre E/S mapeadas en memoria y E/S aisladas:
E/S aisladas | E/S mapeadas en memoria |
---|---|
La memoria y la E/S tienen un espacio de direcciones separado | Ambos tienen el mismo espacio de direcciones. |
Todas las direcciones pueden ser utilizadas por la memoria. | Debido a la adición de memoria direccionable de E/S, se reduce la cantidad de memoria |
Operación de lectura y escritura de control de instrucciones separadas en E/S y memoria | Las mismas instrucciones pueden controlar tanto la E/S como la memoria. |
En esta dirección de E/S se denominan puertos. | La dirección de memoria normal es para ambos. |
Más eficiente debido a autobuses separados | Menos eficiente |
De mayor tamaño debido a más autobuses | Más pequeño en tamaño |
Es complejo debido a que se usa una lógica separada separada para controlar ambos. | Se usa una lógica más simple ya que la E/S también se trata solo como memoria. |