El documento describe los conceptos fundamentales de entrada y salida (E/S) en sistemas digitales. Explica los métodos de direccionamiento de E/S, transferencia de datos a través de programación, interrupciones y DMA, y el manejo de interrupciones. También cubre interfaces de E/S, canales de E/S y estándares como USB y SATA.
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
Sistemas de E/S
1. República Bolivariana de Venezuela
Instituto Universitario Politécnico ¨Santiago Mariño¨
Sede Barcelona
Escuela: 44- Ing. Electrónica
Catedra: Sistemas Digitales II
Profesor:
Ing. Carla Leal
Integrante:
Cánchica, José
Barcelona, Enero 2021
2. Para que un computador pueda ejecutar un programa debe ser ubicado previamente en la
memoria, junto con los datos sobre los que opera, y para ello debe existir una unidad funcional
de entrada de información capaz de escribir en la memoria desde el exterior. Análogamente,
para conocer los resultados de la ejecución de los programas, los usuarios deberán poder leer el
contenido de la memoria a través de otra unidad de salida de datos. La unidad de Entrada/Salida
(E/S) soporta estas funciones, realizando las comunicaciones del computador (memoria) con el
mundo exterior (periféricos).
Introducción
3. Índice
Direccionamiento de E/S...…………………………………………………………………………....4
Transferencia de Datos……………………………………………………………………………….6
Sincronización………………………………………………………………………………………..10
Manejo de Interrupciones……………………………………………………………………………11
Interfaces de E/S……………………………………………………………………………………...12
Interfaz estándar de E/S……………………………………………………………………………...13
Canales de E/S………………………………………………………………………………………...14
Conclusión……………………………………………………………………………………………19
Bibliografía…………………………………………………………………………………………...20
4. Espacios de direcciones unificados
Las unidades de E/S se ubican en el espacio único de direcciones como si fuesen elementos de
memoria. A cada unidad de E/S se le asigna un conjunto de direcciones (suficiente para
diferenciar todos sus registros internos). La interacción entre CPU y unidad de E/S se realiza a
través de instrucciones de referencia a memoria. El bus del sistema es único.
Direccionamiento de E/S
Espacios de direcciones independientes (Memoria y E/S)
Las unidades de E/S se ubican en un espacio de
direcciones diferente al de memoria. La interacción entre
CPU y unidad de E/S se realiza a través de instrucciones
específicas de E/S. La separación de espacios de
direcciones puede soportarse con un bus único de uso
compartido entre Memoria y E/S en función del estado de
una línea de control MEM/IO:
5. Direccionamiento de E/S
Las direcciones las pone el procesador en el bus de
direcciones y el módulo de E/S debe ser capaz de
reconocer estas direcciones (direcciones de los
puertos de E/S) correspondientes a los registros de
este módulo.
Direccionamiento mapeado en memoria: Estas
direcciones se utilizan en dispositivos que necesiten de
una gran cantidad de datos y una alta velocidad como
los adaptadores gráficos. Algunas de estas direcciones
fueron mapeadas fuera de la memoria convencional
para así no causar conflictos entre la RAM y este.
Normalmente la memoria que se usa para este
direccionamiento aparece como “apartada para el
sistema”.
6. Transferencia de Datos
Una manera rápida de explicar lo que es la transferencia de datos seria: Cantidad de datos,
velocidad de transmisión y sentido de la transferencia (entrada y salida).
De una forma un poco más amplia se puede definir como: La fase donde se hace realmente la
transferencia de información entre el procesador y el módulo de E/S. De manera genérica, en la
transferencia de cada dato dentro de un bloque distinguimos dos fases principales: la
sincronización y el intercambio. Estas dos fases se repiten para cada dato del bloque.
A continuación distinguiremos las técnicas básicas de transferencia de datos E/S siguientes:
E/S programada
E/S por interrupciones
E/S por DMA
7. E/S programada
Durante el intercambio del dato, si es una operación de lectura (entrada), el procesador lee el
registro de datos del módulo de E/S para recoger el dato enviado por el periférico, y lo guarda en
memoria; si es una operación de escritura (salida), el procesador toma de la memoria el dato que
queremos enviar al periférico y lo escribe en el registro de datos del módulo de E/S.
8. E/S por interrupciones
1. La CPU envía una orden de E/S al periférico esperando a que se efectúe la operación de E/S.
2. Cuando el periférico está preparado para intercambiar información, fuerza una interrupción
en la tarea que realiza la CPU para que atienda a la operación de E/S.
3. En ese momento la CPU realiza la transferencia del dato, de la misma manera que en el caso
de E/S controlada por programa, y a continuación sigue ejecutando el programa que había
interrumpido.
9. E/S por DMA
Cuando se mueven grandes cantidades de datos, se necesita una
técnica eficaz en la que intervenga lo menos posible la CPU, es decir,
transferencia de datos mediante un controlador de acceso directo a
memoria (Direct Memory Access).
1. CPU envía la dirección del periférico, el tipo de operación
(lectura/escritura), la posición de comienzo en memoria y el
número de palabras que se tienen que leer o escribir.
2. A partir de este momento la CPU puede realizar otra tarea.
3. El controlador de DMA transfiere directamente, palabra a
palabra, el bloque completo de datos entre el periférico y la
memoria, sin pasar por la CPU.
4. Cuando la transferencia finaliza el controlador de DMA envía una
señal de interrupción a la CPU para indicarle que ya ha terminado.
5. De esta forma la CPU únicamente participa al comienzo y al final
de la transferencia.
10. Sincronización
La sincronización es donde se establece un mecanismo para conseguir que el dispositivo más
rápido espere que el dispositivo más lento esté preparado para llevar a cabo el intercambio del
dato. Este mecanismo nos garantiza que no se dejen datos sin procesar, pero la consecuencia es
que la transferencia de datos se realiza a la velocidad del dispositivo más lento. Durante la fase
de sincronización, el procesador (o el elemento que controle la transferencia) debe ser capaz de
detectar cuándo está disponible el periférico para hacer el intercambio de un dato. El módulo
debe informar de que el periférico está preparado.
11. Manejo de Interrupciones
Una interrupción es un mecanismo el cual permite ejecutar un bloque de instrucciones que
interrumpe la ejecución de un programa, para después ejecutarlo nuevamente sin afectar el
estado del mismo. Antiguamente el procesador era el encargado de enviar señales
continuamente para comprobar el estado de los dispositivos. Debido a estos problemas de
rendimiento se diseño una línea de comunicación entre el procesador y los dispositivos.
Cuando existe un problema en algún dispositivo este avisara al procesador el cual interrumpirá
las acciones actuales mientras soluciona el error y luego volver a su estado original. En el uso de
interrupciones de hardware existen dos condiciones:
1. Algún dispositivo de E/S necesita atención.
2. Se ha producido una situación de error al intentar ejecutar una instrucción del programa
(normalmente de la aplicación).
En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no
figura en el programa. Según los dos casos anteriores se pueden distinguir dos clases de
interrupciones: las interrupciones y la excepciones.
12. Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la
que se estaba ocupando, ya ha terminado.
Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción,
que requiere tratamiento por parte del SO.
Tratamiento de las interrupciones
Una interrupción se trata en todo caso, después de terminar la ejecución de la instrucción en
curso. El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción,
ante la cual debe poder identificar el dispositivo que lo ha causado.
En una interrupción ordinaria, el control se transfiere primero al gestor de interrupciones,
quien lleva a cabo algunas tareas básicas y, después, se salta a la rutina del sistema operativo
que se ocupa del tipo de interrupción que se ha producido.
Manejo de Interrupciones
13. Los dispositivos de E/S conectados aun procesador tienen algunas diferencias con respecto a
la CPU, para esto necesitan enlaces especiales como interfaces entre ellos que resuelvan dichas
diferencias. Las principales diferencias son:
Los periféricos son con frecuencia dispositivos electromecánicos, que funcionan de manera
diferente a la CPU y memoria.
Las tasa de transferencia de los periférico es diferente a la velocidad del CPU.
Los códigos de datos de los periféricos difieren del lenguaje del CPU.
Los modos de operación de los periféricos difieren unos de otros.
Para resolver dichas diferencias se usan dispositivos de interfaces que conectan los
periféricos con los buses de la CPU e incluyen hardware especial que supervisa y sincroniza
todas las transferencias de entrada y salida. Cada dispositivo tiene su propio controlador para
supervisar sus operaciones.
Interfaces de E/S
14. Interfaz estándar de E/S
La interfaz USB es el estándar omnipresente para la conexión al ordenador de periféricos y dispositivos
móviles de consumo como cámaras digitales o reproductores multimedia portátiles a través de una interfaz
bidireccional de bajo costo.
Otro tipo de Interfaz es:
SATA es la interfaz para las conexiones de dispositivos de almacenamiento en ordenadores de consumo
general.
SATA 1,5 Gb/s: La podríamos denominar como SATA 1.0, y ofrecía unas velocidades de transmisión de
datos reales de 150 MB/s. Fue el primer estándar de esta interfaz en llegar, y su frecuencia es de 1500 MHz.
SATA 3 Gb/s: Aunque su nombre contenga un 3, se trata de la segunda generación de esta interfaz, y la
podríamos denominar como SATA 2.0 para entendernos mejor. Su velocidad sube a los 300 MB/s, y su
frecuencia a 3000 MHz.
SATA 6 Gb/s: La tercera versión de SATA, a la que podríamos considerar la 3.0. Dobla la velocidad de su
antecesora subiendo hasta la velocidad máxima de 600 MB/s, y una frecuencia de 6000 MHz.
15. Canales de E/S
Existen 3 tipos de PE/S o canales:
• Canales Multiplexores
• Canales Selectores
• Canales multiplexores por bloques
Canal Multiplexor: Es aquel que se utiliza
para la conexión de dispositivos de velocidad
baja y media. Estos son capaces de trasferir
datos a velocidades mayores que las de los
dispositivos individuales conectados al canal.
Esto les permite operar en forma
multiplexada sobre varios dispositivos de E/S.
16. Canales de E/S
Canal Selector
Un canal selector controla múltiples dispositivos de alta velocidad. En cualquier instante de
tiempo esta dedicado a la transferencia de datos con uno solo de estos dispositivos. El PE/S
selecciona un dispositivo y efectúa la transferencia complete de datos.
17. Canales multiplexores por bloques
Este tipo de canal combina las características de los canales multiplexores con las de los
selectores. Permite la multiplexacion de varias operaciones de E/S de alta velocidad, bloque por
bloque. Las ventajas obtenidas a través del empleo de canales multiplexado por bloques, en
comparación con las de los canales selectores, surgen de la naturaleza de la operación de
dispositivos de E/S tales como discos y cintas magnéticas. Una operación común con una unidad
de disco puede requerir la siguiente secuencia de comandos.
• Localización de pista.
• Búsqueda de un sector especifico.
• Inicio de la lectura de los datos contenidos en el sector.
Canales de E/S
18. Conclusión
Una interfaz es el puerto por el cual se envían o reciben señales desde un sistema hacia otros.
Por ejemplo, el interfaz USB.
La transferencia de datos entre dispositivos de almacenamiento veloz como un disco magnético y
la memoria, a menudo se ve limitada por la velocidad del CPU. Durante la transferencia DMA la CPU
esta desocupada y no tiene control de los buses de la memoria.