Está en la página 1de 24

1.2.3 Manejo de la entrada/salida.

1.2.3.1 Módulos de entrada/salida.


El manejo de la entrada/salida en las computadoras se realiza mediante el uso de
dispositivos de entrada y salida y controladores de dispositivo.

Dispositivos de entrada: Los dispositivos de entrada se utilizan para introducir datos en la


computadora. Los ejemplos incluyen el teclado, el ratón, el escáner, el micrófono y la
cámara web. Cuando se utiliza un dispositivo de entrada, los datos se transmiten desde el
dispositivo al controlador de dispositivo, que a su vez los transmite al sistema operativo
para su procesamiento.

Dispositivos de salida: Los dispositivos de salida se utilizan para mostrar o enviar datos
fuera de la computadora. Los ejemplos incluyen la pantalla, la impresora, los altavoces y los
auriculares. Cuando se utiliza un dispositivo de salida, los datos se transmiten desde el
sistema operativo al controlador de dispositivo, que a su vez los transmite al dispositivo de
salida.
1.2.3 Manejo de la entrada/salida.
1.2.3.1 Módulos de entrada/salida.
Controladores de dispositivo: Los controladores de dispositivo son programas que
permiten que la computadora se comunique con los dispositivos de entrada y salida. Los
controladores de dispositivo están diseñados para manejar el hardware específico de cada
dispositivo, lo que permite que la computadora y el dispositivo se comuniquen de manera
efectiva. Los controladores de dispositivo se cargan automáticamente cuando se conecta
un dispositivo a la computadora.

El manejo de la entrada/salida también implica la gestión de interrupciones. Cuando un


dispositivo de entrada o salida necesita comunicarse con la computadora, envía una señal
de interrupción. El sistema operativo interrumpe lo que está haciendo y procesa la
solicitud del dispositivo. Después de que se ha procesado la solicitud, el sistema operativo
vuelve a la tarea que estaba realizando anteriormente.
1.2.3 Manejo de la entrada/salida.
1.2.3.1 Módulos de entrada/salida.
El manejo de la entrada/salida también implica la asignación de direcciones de memoria y
la gestión de DMA (Acceso directo a memoria). La asignación de direcciones de memoria
permite que los dispositivos de entrada y salida accedan a la memoria de la computadora
de manera segura y eficiente. La gestión de DMA permite que los dispositivos de entrada y
salida transfieran datos directamente a la memoria de la computadora sin la intervención
de la CPU.

En resumen, el manejo de la entrada/salida en las computadoras se realiza mediante el uso


de dispositivos de entrada y salida y controladores de dispositivo.

Los controladores de dispositivo permiten que la computadora se comunique con los


dispositivos de entrada y salida, mientras que la gestión de interrupciones, la asignación de
direcciones de memoria y la gestión de DMA son importantes para garantizar una
comunicación segura y eficiente entre la computadora y los dispositivos de entrada y
salida.
1.2.3.2 Entrada/salida programada.

La entrada/salida programada (también conocida como E/S programada) es un método de


transferencia de datos entre dispositivos de entrada y salida y la CPU de una computadora.
En este método, la transferencia de datos se realiza mediante instrucciones de programa
en lugar de mediante interrupciones del sistema.

En la entrada/salida programada, la CPU controla directamente el proceso de transferencia


de datos entre los dispositivos de entrada/salida y la memoria de la computadora. La CPU
envía una señal al dispositivo de entrada/salida para que transfiera los datos a la memoria.
Una vez que los datos han sido transferidos a la memoria, la CPU los procesa y envía una
señal al dispositivo de salida para que transfiera los resultados desde la memoria a través
del dispositivo de salida.
1.2.3.2 Entrada/salida programada.

La entrada/salida programada se utiliza típicamente para dispositivos de baja velocidad y


para transferencias de datos pequeñas o infrecuentes. También puede ser útil en sistemas
embebidos donde los recursos son limitados y se requiere una programación cuidadosa
para maximizar la eficiencia del sistema.

Sin embargo, el uso de entrada/salida programada puede ser ineficiente para dispositivos
de alta velocidad y para transferencias de datos grandes y frecuentes. En tales casos, se
pueden utilizar otros métodos de entrada/salida, como la entrada/salida por interrupción o
la entrada/salida por DMA (Acceso Directo a Memoria), para una transferencia de datos
más rápida y eficiente.

En resumen, la entrada/salida programada es un método de transferencia de datos entre


dispositivos de entrada/salida y la CPU mediante instrucciones de programa. Se utiliza
típicamente para dispositivos de baja velocidad y para transferencias de datos pequeñas o
infrecuentes, pero puede ser ineficiente para dispositivos de alta velocidad y transferencias
de datos grandes y frecuentes.
1.2.3.3 Entrada/salida mediante interrupciones.

El control de la entrada/salida mediante interrupciones es un método más eficiente que la


entrada/salida programada para dispositivos de alta velocidad y transferencias de datos
grandes y frecuentes. A continuación se describen los pasos generales para controlar la
entrada/salida mediante interrupciones:

• Configuración del controlador de dispositivo: se debe configurar el controlador de


dispositivo para generar una interrupción cuando se complete una transferencia de
datos. El controlador de dispositivo debe estar configurado con una dirección de
interrupción única y específica para que el sistema operativo pueda identificar la fuente
de la interrupción.

• Configuración del controlador de interrupción: se debe configurar el controlador de


interrupción para que detecte la interrupción generada por el controlador de dispositivo
y la maneje adecuadamente. El controlador de interrupción debe estar configurado para
activar la interrupción en la CPU y enviar una señal de interrupción al sistema operativo.
1.2.3.3 Entrada/salida mediante interrupciones.

• Manejo de interrupciones en el sistema operativo: cuando se recibe la señal de


interrupción, el sistema operativo debe detener el procesamiento actual y atender la
interrupción. El sistema operativo debe identificar la fuente de la interrupción utilizando
la dirección de interrupción configurada previamente y debe llamar a una rutina de
manejo de interrupción específica para el controlador de dispositivo correspondiente.

• Rutina de manejo de interrupción: la rutina de manejo de interrupción es responsable


de manejar la transferencia de datos y de enviar los resultados al dispositivo de salida
correspondiente. La rutina de manejo de interrupción también debe reiniciar la
transferencia de datos y volver a configurar el controlador de dispositivo para generar
una nueva interrupción cuando se complete la próxima transferencia.

• Continuación del procesamiento: una vez que se ha completado la transferencia de


datos y la rutina de manejo de interrupción ha finalizado, el sistema operativo debe
reanudar el procesamiento normal desde donde se detuvo antes de la interrupción.
1.2.3.3 Entrada/salida mediante interrupciones.

• Manejo de interrupciones en el sistema operativo: cuando se recibe la señal de


interrupción, el sistema operativo debe detener el procesamiento actual y atender la
interrupción. El sistema operativo debe identificar la fuente de la interrupción utilizando
la dirección de interrupción configurada previamente y debe llamar a una rutina de
manejo de interrupción específica para el controlador de dispositivo correspondiente.

• Rutina de manejo de interrupción: la rutina de manejo de interrupción es responsable


de manejar la transferencia de datos y de enviar los resultados al dispositivo de salida
correspondiente. La rutina de manejo de interrupción también debe reiniciar la
transferencia de datos y volver a configurar el controlador de dispositivo para generar
una nueva interrupción cuando se complete la próxima transferencia.

• Continuación del procesamiento: una vez que se ha completado la transferencia de


datos y la rutina de manejo de interrupción ha finalizado, el sistema operativo debe
reanudar el procesamiento normal desde donde se detuvo antes de la interrupción.
1.2.3.4 Acceso directo a memoria.

El Acceso Directo a Memoria (DMA, por sus siglas en inglés) es un método para transferir
datos entre dispositivos de entrada/salida y la memoria principal de una computadora sin
la intervención directa de la CPU. En lugar de que la CPU transfiera los datos, el DMA
permite que el controlador de dispositivo transfiera los datos directamente a la memoria
sin la necesidad de pasar por la CPU. A continuación se describe cómo funciona el DMA:

• Configuración del controlador DMA: primero, se configura el controlador DMA para que
transfiera los datos entre el dispositivo de entrada/salida y la memoria principal. Esto
implica configurar el controlador DMA para acceder a la memoria y a los registros del
dispositivo de entrada/salida necesarios para la transferencia de datos.

• Solicitud de transferencia: el dispositivo de entrada/salida envía una solicitud de


transferencia de datos al controlador DMA. Esto puede ser un comando para leer o
escribir datos en un dispositivo de almacenamiento, como un disco duro, o para
transferir datos a través de un bus de comunicaciones, como una red.
1.2.3.4 Acceso directo a memoria.

• Asignación de recursos: el controlador DMA asigna recursos de memoria y bus


necesarios para realizar la transferencia de datos. Esto incluye el número de bytes que
se van a transferir, la ubicación en la memoria donde se van a almacenar los datos y la
dirección de registro del dispositivo de entrada/salida.

• Transferencia de datos: el controlador DMA inicia la transferencia de datos sin la


intervención directa de la CPU. El controlador DMA es responsable de acceder a la
memoria y al dispositivo de entrada/salida, y de transferir los datos a través del bus de
comunicaciones. El controlador DMA notifica al dispositivo de entrada/salida cuando se
ha completado la transferencia.

• Interrupción: cuando se completa la transferencia de datos, el controlador DMA genera


una interrupción para notificar a la CPU de que se ha completado la transferencia de
datos. La CPU puede entonces acceder a los datos transferidos en la memoria principal
para su procesamiento.
1.2.3.5 Canales y procesadores de entrada/salida

Los canales y procesadores de entrada/salida (E/S) son componentes de hardware en una


computadora que se utilizan para administrar la transferencia de datos entre dispositivos
de E/S y la memoria principal de la computadora. A continuación, se describen brevemente
cada uno de estos componentes:

• Canales de E/S: son dispositivos de hardware que se utilizan para transferir grandes
cantidades de datos entre los dispositivos de E/S y la memoria principal. Los canales de
E/S permiten que los datos se transfieran en paralelo, en lugar de esperar a que cada
palabra de datos se transfiera de forma secuencial. Estos canales tienen su propio
conjunto de registros y controladores para administrar las transferencias de datos.

• Procesadores de E/S: son procesadores de propósito específico que se utilizan para


controlar y gestionar la transferencia de datos entre los dispositivos de E/S y la memoria
principal. Los procesadores de E/S son capaces de ejecutar instrucciones específicas de
E/S y pueden realizar la verificación de paridad, la corrección de errores y el control de
flujo de los datos transferidos.
1.2.3.5 Canales y procesadores de entrada/salida

Ambos componentes, los canales y los procesadores de E/S, se utilizan en sistemas de


computadoras con un alto volumen de transferencia de datos, como los sistemas de
transacciones financieras, los sistemas de procesamiento de datos en tiempo real, y los
sistemas de control de procesos industriales.

En resumen, los canales y procesadores de E/S son componentes de hardware en una


computadora que se utilizan para transferir grandes cantidades de datos entre dispositivos
de E/S y la memoria principal de la computadora. Los canales de E/S permiten la
transferencia en paralelo y los procesadores de E/S son procesadores de propósito
específico capaces de ejecutar instrucciones específicas de E/S.
1.2.4 Buses

BUS: Elemento fundamental de intercomunicación en la arquitectura de Von Newmann. Se


define mediante:

– Número y tipo de líneas que lo componen.


– Protocolo de transmisión de información.
Consta de un camino que permite comunicar selectivamente un cierto número de
componentes o dispositivos, de acuerdo a unas ciertas reglas o normas de conexión.
1.2.4 Buses

El bus incluye los conceptos de enlace y conmutador, ya que permite en cada momento
seleccionar los dispositivos que se conectan a través suyo.

– Enlace: Elemento que permite transmitir información entre dos o más dispositivos.
– Conmutador: Elemento que permite encaminar la información entre varios enlaces,
activando unos e inhibiendo otros.
– Multiplexado temporal: Utilización de las mismas líneas del bus para enviar en momentos
distintos, informaciones distintas. En estos buses de incluyen señales adicionales para
identificar qué información está circulando por el bus en cada momento.
1.2.4 Buses

• Sistema Abierto:
– Sistema que permite acoplar placas de distintos fabricantes.
– Hasta hace unos años el estudio de los buses era algo que no se hacía, dado que cada
fabricante desarrollaba su propio bus.
– Los sistemas abiertos supusieron la creación de estándares que garantizan la
compatibilidad entre las placas diseñadas por distintos fabricantes.
1.2.4 Buses

1.2.4.2 Tipo de buses


SERIE y PARALELO: los primeros transmiten bit a bit y los segundos varios bits a la vez.
• MULTIPLEXADOS y NO MULTIPLEXADOS o DEDICADOS: los multiplexados realizan
diferentes funciones en función de las necesidades del momento.
• Ejemplo: bus compartido para direcciones y datos ahorro en Hardware y por lo tanto en
costos. Tipos de Buses
• CENTRALIZADOS y DISTRIBUIDOS: necesidad de determinar qué elemento transmite y
cuál recibe. Generalmente existe administración centralizada por la CPU o procesador.
• SÍNCRONOS y ASÍNCRONOS (temporización): cómo ocurren los diferentes eventos
(comienzo, fin,...) implicados en la transmisión de información. Utilización de una señal de
reloj (comunicación síncrona) o unas líneas de protocolo (comunicación asíncrona).
1.2.4 Buses

1.2.4.3 Estructura de buses


Los buses se componen de líneas eléctricas que transmiten un “0” (cero voltios) o un “1”
(más de cero voltios).
• Líneas/bus de datos: camino para transferir datos entre el resto de componentes de un
computador.
Su anchura (número de líneas eléctricas) suele ser una potencia de dos (8=23, 16=24,
32=25, 64=26,...).Estructura de los Buses
• Líneas/bus de direcciones: designan la posición/dirección de los datos. Son salidas de la
CPU/procesador y determinan capacidad de direccionamiento.
• Líneas/bus de control: controlan el acceso y uso de las líneas/buses anteriores.
1.2.4 Buses

1.2.4.3 Jerarquía de buses


Compatibilidad entre buses:
• Sólo si son eléctricamente idénticos. Las características de los diferentes tipos de buses
deben estar normalizadas. Ejemplo: bus PCI, AGP, USB, FireWire...Jerarquías de Buses
• Antiguamente sólo existía un bus principal que lo conectaba todo: bus del sistema.
• Actualmente existe un conjunto de buses conectados entre sí y formando una jerarquía.
• Facilita la mejora del rendimiento de todo el computador al agrupar dentro de los
diferentes tipos de buses aquellos componentes del ordenador que tienen
aproximadamente la misma velocidad de transmisión de la información.
• Mientras más lejos del CPU, buses más lentos y normalmente de menos líneas de datos.
Jerarquías de Buses
1.2.4 Buses
• Varios tipos de buses en función de su posición dentro de la jerarquía:
• Bus de CPU o “bus local” del procesador: elementos más rápidos tales como la memoria
caché.
• Bus local ó bus del Sistema (Front Side Bus): conecta elementos tales como la memoria
principal o dispositivos rápidos (por ejemplo AGP).
• Bus de expansión y/o E/S: PCI, USB, ATA, SCSI,...

https://www.youtube.com/watch?v=lRlU1XRqDyY
1.2.5 Interrupciones

INTERRUPCIONES REQUERIDA POR HARDWARE


Es iniciada por un periférico que demanda atención ya que ha ocurrido un evento
relativo a este periférico que demanda algún procedimiento de parte de la CPU. En
un PC las primeras 16 interrupciones son de este tipo por lo que los primeros 64
bytes de la memoria RAM son direcciones que apuntan bloques de instrucciones
residentes en otras áreas de la memoria RAM.
1.2.5 Interrupciones

INTERRUPCIONES REQUERIDA POR SOFTWARE PARA INTERACTUAR CON


PERIFÉRICO
Una característica importante de la operación de interrupciones es que ellas están
jerarquizadas para resolver conflictos entre las múltiples interrupciones. Este
mecanismo está basado en la priorización de interrupciones de modo que una
interrupción de mayor prioridad puede interrumpir una de menor prioridad pero
no al revés. De este modo el sistema de interrupciones funciona ordenadamente
lo que permite por ende un funcionamiento robusto del computador.
1.2.5 Interrupciones

INTERRUPCIÓN EXTERNA
Las interrupciones externas provienen de dispositivos de entrada y salida (E/S), de
un dispositivo de temporización, de un circuito que monitorea la fuente de
almacenamiento o de cualquier otra fuente externa.
Estas interrupciones se pueden disparar desde el exterior del micro cambiando el
nivel de tensión de uno de sus pines, todas tienen asociadas una o varias patillas del
micro controlador y son las que usaremos para los botones.
Algunos ejemplos de lo que produce interrupciones externas son dispositivos de E/S
que solicitan transferencia de datos, dispositivos de E/S que terminan transferencia
de datos, tiempo transcurrido de un evento o una falla de energía.
1.2.5 Interrupciones

INTERRUPCIONES INTERNAS
Son aquellas provocadas dentro del propio procesador por una situación anormal
de funcionamiento de alguna de sus partes. Las interrupciones internas surgen
debido a la utilización ilegal o errónea de una instrucción o datos. Las
interrupciones internas también se llaman trampas. Algunos ejemplos de las
interrupciones provocadas por condiciones de error internas son los sobreflujos
de registro, intentar dividir entre cero, un código de operación no válido,
desbordamiento de pila, y violación de la protección.
1.2.5 Interrupciones

INTERRUPCIONES DE PROGRAMA
Son aquellas que son programables y que podemos cambiar. Las interrupciones de
software podemos llegar a manejarlas y por ello el ensamblador nos proporciona una
instrucción que nos permita poner en funcionamiento una determinada rutina de
interrupción; esta instrucción es INT.
La interrupción de programa se inicia al ejecutar una instrucción de solicitud especial
que se comporta como una interrupción más que como una solicitud de subrutina. El
programador puede utilizarla para iniciar un procedimiento de interrupción de
programa se asocia con una instrucción de llamada de supervisor.

https://www.youtube.com/watch?v=CVLCLpHYJxM

También podría gustarte