Principios de entrada y salida de hardware
Las unidades de E/S constan de un componente mecánico y uno electrónico. Al componente electrónico se le conoce como adaptador de dispositivo o controlador. El componente mecánico es el dispositivo como tal.
Los dispositivos de E/S pueden dividirse en dos categorías: dispositivos de bloques y dispositivos de caracteres.
Un dispositivo de bloque almacena información de tamaño fijo con su propia dirección. Los bloques van desde 512 hasta 32,768 bytes.
El principio de dispositivos de bloques consiste en la posibilidad de leer o escribir cada bloque con independencia de todos los demás.
El otro tipo de dispositivo es el de caracteres, el cual suministra o acepta un flujo de caracteres sin estructurarlos en bloques, es decir, es secuencial, no es direccionable ni tiene operación de desplazamiento.
Ahora bien, respecto al adaptador o controlador, este tiene como principal función convertir el flujo de bits en una serie en un bloque de bytes y corregir errores para poder comunicarse con la Unidad Central de Proceso.
El sistema operativo puede, a través del controlador, ordenar a un dispositivo mecánico que suministre o acepte datos, se encienda o se apague o realice alguna otra acción. Para poder llevar a cabo esta comunicación, el controlador hace uso de registros de control y de búferes de datos que el sistema operativo puede leer y escribir.
Para que la Unidad Central de Proceso se comunique con los registros y los buffers, existen dos alternativas:
En la primera a cada registro se le asigna un número de puerto de E/S que es leído por la CPU y almacenado en otro registro interno de ésta. Los registros de E/S y de almacenamiento son distintos.
En la segunda alternativa se establece una correspondencia entre todos los registros de control y los registros de almacenamiento. A cada registro de control se le asigna una dirección de memoria única y se le conoce como entrada/salida con correspondencia en memoria.
Fuente: Apuntes de Informática VII de la FCA de la UNAM