Dudas generales de E\S

Re: Dudas generales de E\S

de Sergio De Cola -
Número de respuestas: 0
a) El controlador es la parte que dota de inteligencia al dispositivo de E/S. Por ejemplo el controlador de una impresora logra que esta convierta letras y números representados en ASCII en sus respectivas representaciones gráficas impresas con tinta sobre una hoja de papel. Bridge, adaptador e interfaz se refieren básicamente a lo mismo: la frontera de vinculación entre un bus de comunicación y otro. La "interfaz" es el caso donde la adaptación requerida es muy simple. En el caso del adaptador la conversión es compleja. El bridge es un adaptador de buses internos.
b) En términos generales la respuesta es no, ya que pueden haber buses internos complejos (ej: PCI). Lo que sí ocurre es que el bus de memoria es simple y está presente siempre.
c) Es parte de la especificación del bus y está resuelto a nivel del hardware y del "firmware" (rutinas de software que pueden formar parte de los elementos que conforman el controlador del bus.
d) Si estás usando E/S mapeada a memoria (espacio compartido) en una computadora sin protección de memoria (concepto que van a estudiar en Sistemas Operativos), puedes acceder perfectamente a ese registro de E/S mediante un puntero de C. Claramente el compilador no podrá alocar una variable en ese lugar (porque no es memoria física), pero los compiladores poseen, según la arquitectura la máquina para la cual compilan, un "mapa de memoria" que les dice que tipo de elementos hay en cada región del espacio de direcciones. Los registros que estén ubicados en el espacio de direcciones propio de E/S (en el caso de una CPU que tenga esa característica) solo podrán ser accedidos mediante las funciones in(dirección) y out(dirección, valor).
e) Sí, es solo la forma de acceso. Las CPUs x86 tienen un diseño de E/S con espacio propio de direcciones, pero al diseñar el PC se dieron cuenta que esa característica es muy mala a la hora de mover grandes volúmenes de datos como es el caso de las tarjetas gráficas, de allí que decidieron introducir un especio de E/S mapeado a memoria en el diseño de la arquitectura del PC.
f) Nosotros solo estudiamos en el curso el caso de controladores de E/S conectados directamente al bus interno de la CPU. En el caso que haya un bus inteligente de por medio, la programación deberá utilizar un conjunto de funciones de biblioteca apropiadas para el bus, o trabajar directamente con los registros de E/S del controlador del bus para lograr que transfiera datos hacia y desde el controlador de E/S que pretendo acceder el cual tendrá asignado un ID específico dentro del bus.

Espero que te haya quedado más claro.
Saludos.
Sergio.