myespaciogreta - Dispositivos de Entrada y Salida
   
  arquitectura de computacion
  Home
  => ARQUITECTURA DE PC
  => Dispositivos de Entrada y Salida
  => Tipos de Memorias (RAM)
  => Arquitectura Ortogonal
  => MICROPROCESADOR RISC
  => INTERRUPCIONES DE SOFTWARE
  => ADMINISTRACION DE ENERGIA
  => Configuración de PNP
  => Slots PCI
  => Power On Self Test
  => RELOJ
  => Interrupción del hardware
  => CHIPSET
  => Sensores Infrarrojo y Motores
  => Controlador de Interrupciones
  => AMBIENTE DE SERVICIO
  => Fuente De Alimentación
  => INTERRUPCIONES AVR
  => Medios De Almacenamiento
  => MICROCONTROLADORES
  => OLED
  Contacto

 Dispositivos de Entrada/Salida
 

Dispositivos de Entrada/Salida

En computación, entrada/salida, también abreviado E/S o I/O (del original en inglés input/output), es la colección de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de información para comunicarse unas con otras, o las señales (información) enviadas a través de esas interfaces. Las entradas son las señales recibidas por la unidad, mientras que las salidas son las señales enviadas por ésta. El término puede ser usado para describir una acción; "realizar una entrada/salida" se refiere a ejecutar una operación de entrada o de salida. Los dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De hecho, a los teclados y ratones se los considera dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos como dispositivos de salida de una computadora. Los dispositivos típicos para la comunicación entre computadoras realizan las dos operaciones, tanto entrada como salida, y entre otros se encuentran los módems y tarjetas de red.
Es importante notar que la designación de un dispositivo, sea de entrada o de salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y ratones toman como entrada el movimiento físico que el usuario produce como salida y lo convierten a una señal eléctrica que la computadora pueda entender. La salida de estos dispositivos son una entrada para la computadora. De manera análoga, los monitores e impresoras toman como entrada las señales que la computadora produce como salida. Luego, convierten esas señales en representaciones inteligibles que puedan ser interpretadas por el usuario. La interpretación será, por ejemplo, por medio de la vista, que funciona como entrada.
En arquitectura de computadoras, a la combinación de una unidad central de procesamiento (CPU) y memoria principal (aquélla que la CPU puede escribir o leer directamente mediante instrucciones individuales) se la considera el corazón de la computadora y cualquier movimiento de información desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitería complementaria proveen métodos de entrada/salida que se usan en programación de bajo nivel para la implementación de controladores de dispositivos.
Los sistemas operativos y lenguajes de programación de más alto nivel brindan conceptos y primitivas de entrada/salida distintos y más abstractos. Por ejemplo, un sistema operativo brinda aplicativos que manejan el concepto de archivos. El lenguaje de programación C define funciones que les permiten a sus programas realizar E/S a través de streams, es decir, les permiten leer datos desde y escribir datos hacia sus programas.
Una alternativa para las funciones primitivas especiales es la mónada de E/S, que permite que los programas describan su E/S y que las acciones se lleven a cabo fuera del programa. Esto resulta interesante, pues las funciones de E/S introducirían un efecto colateral para cualquier lenguaje de programación, pero ahora una programación puramente funcional resultaría práctica.

Funciones que debe realizar una computadora para ejecutar trabajos de entrada/salida

Direccionamiento o selección del dispositivo que debe llevar a cabo la
operación de E/S.

- Transferencia de los datos entre el procesador y el dispositivo
 (en uno u otro sentido).

- Sincronización y coordinación de las operaciones.
Esta última función es necesaria debido a la diferencia de velocidades entre los
 dispositivos y la CPU y a la independencia que debe existir entre los periféricos
 y la CPU (por ejemplo, suelen tener relojes diferentes).

Controladores/Drivers


Un controlador de dispositivo, llamado normalmente controlador es un programa informático que permite al sistema interactuar con un periférico, haciendo una abstracción del hardware y proporcionando una interfaz -posiblemente estandarizada- para usarlo.
Se puede esquematizar como un manual de instrucciones que le indica al sistema operativo, cómo debe controlar y comunicarse con un dispositivo en particular.
Por tanto, un dispositivo concreto no puede aceptar datos enviados a una tasa arbitrariamente alta (por ejemplo, una impresora no puede imprimir los millones de caracteres por segundo que sería capaz de enviarle un Pentium IV). Por ello, ha de haber alguna forma de coordinar el envío de datos entre la CPU y los periféricos. Esa es la misión de los circuitos de interfaz que aparecen en la siguiente  figura.
Existen 2 formas básicas de conectar estos circuitos de interfaz, dependiendo del tipo de procesador en que se base la arquitectura. Ambos tipos de acceso requieren que la CPU realice el movimiento de los datos entre el periférico y la memoria principal:
Conexión mapeada en memoria (memory–mapped I/O), que usa “direcciones especiales” en el espacio normal de direcciones. En este caso el circuito de interfaz se conecta en el computador como si fuera memoria. Presentan este tipo de entrada/salida, por ejemplo, aquellas arquitecturas basadas en el M68000 de Motorola. Cualquier instrucción que acceda a la memoria (como “mov”) puede acceder a un puerto I/O mapeado en memoria.
Conexión mediante puertos especiales de entrada/salida (I/O–mapped I/O),
que usa “instrucciones especiales” de entrada/salida 1 y un espacio de direcciones específico. Este es el caso de las CPUs 80x86, y por tanto el que nos interesa para este proyecto.
La familia de procesadores 80x86 proporciona, por tanto, dos espacios de direcciones:
Para memoria
Para dispositivos de E/S
El bus de direcciones (address bus) varía de tamaño según el procesador de la familia que se emplee (puede ser de 20, 24 ´o 32 bits), pero para la entrada/salida es siempre de 16 bits.
Esto permite al microprocesador direccionar hasta 65536 diferentes localizaciones especiales de entrada/salida, lo que es más que suficiente para la mayoría de los dispositivos, aunque muchas veces un dispositivo requiera más de una dirección de entrada/salida (por ejemplo, en el caso del ratón PS/2 veremos que habrá que acceder a las direcciones 60h y 64h; en el
caso del puerto de juegos, suele ser la 201h). Hay 2 espacios de direcciones, pero un solo bus de direcciones y son las líneas de control las que deciden a qué espacio estamos accediendo en cada momento. De esta manera, el direccionamiento de entrada/salida (I/O addressing)
se comporta exactamente igual que el direccionamiento de memoria (memory addressing). La memoria y los dispositivos I/O comparten el bus de datos y los 16 primeros bits del bus de direcciones.

 


Hoy habia 5 visitantes (19 clics a subpáginas) ¡Aqui en esta página!
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis