46
Tema 7 Entrada / Salida

Tema 7

  • Upload
    bebe

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

Tema 7. Entrada / Salida. Problemática Entrada/Salida. Elementos claves en un computador: Procesador, memoria y módulos de E/S Cada módulo de E/S se conecta al bus del sistema y controla a uno o a más periféricos ¿Por qué no se conectan directamente al bus? Respuesta: - PowerPoint PPT Presentation

Citation preview

Page 1: Tema 7

Tema 7

Entrada / Salida

Page 2: Tema 7

Problemática Entrada/Salida

Elementos claves en un computador: Procesador, memoria y módulos de E/S

Cada módulo de E/S se conecta al bus del sistema y controla a uno o a más periféricos

¿Por qué no se conectan directamente al bus? Respuesta:

Amplia variedad de dispositivos con distintos funcionamientos

Diferencia importante de velocidad. El periférico mucho más lento

Diferentes formatos y tamaños de palabras Se necesitan módulos de E/S para

Realizar la interfaz entre procesador (CPU) y memoria a través del bus del sistema

Realizar la interfaz entre uno o más dispositivos

Page 3: Tema 7

Dispositivos externos: clasificación

De interacción con humanos Comunicación con el usuario. Ej: impresoras

De interacción con máquinas Comunicación con elementos del equipo. Ej:

discos magnéticos

Comunicación Comunicación entre dispositivos remotos. Ej:

modem

Page 4: Tema 7

Funciones del módulo de E/S

Control y temporizaciónComunicación con la CPUComunicación con los dispositivosAlmacenamiento temporal de datosDetección de errores

Page 5: Tema 7

Control y temporización

La CPU pregunta al módulo de E/S sobre el estado del dispositivo

El módulo de E/S devuelve el estado del dispositivo

Si el dispositivo está listo, la CPU solicita la transferencia de datos mediante una orden

El módulo de E/S obtiene un dato del dispositivo

El módulo de E/S transfiere el dato a la CPU

Page 6: Tema 7

Comunicación con la CPU

Decodificador de órdenes. El módulo de E/S acepta órdenes de la CPU a través del bus de control

CPU y módulo intercambian datos a través del bus de datos

Información de estado. Indica si está o no preparado el periférico.

Reconocimiento de direcciones. Cada dispositivo de E/S tiene una dirección (igual que las palabras de memoria)

Page 7: Tema 7

Comunicación con los dispositivos

Intercambio de órdenes, información del estado y datos

Page 8: Tema 7

Almacenamiento temporal de datos

Los datos procedentes de la memoria se envían al módulo de E/S en ráfagas rápidas

Los datos se almacenan temporalmente (buffer) en el módulo de E/S

Los datos se envían al periférico a la velocidad del mismo, mucho más lenta

Al almacenarse los datos, no se mantiene ocupada a la memoria en una operación de transferencia lenta

El módulo de E/S puede trabajar a distintas velocidades

Page 9: Tema 7

Detección de errores

El módulo de E/S suele ser el responsable de detectar errores y avisar de los mismos

Ejemplo: papel atascado en una impresora o pista defectuosa en un disco

También vigila los errores en la transmisión de bits

Utiliza un bit de paridad para comprobar si ha habido un error. Ejemplo: teclado, 7 bits de datos + 1 bit de paridad

Page 10: Tema 7

Diagrama del módulo de E/S

Registro de datos

Registro de estado/control

Lógica del interfaz adispositivo externo

Lógica de E/S

Líneas de datos

Datos

Estado

Control

Datos

Estado

Control

Interfaz al bus del sistema

Líneas de dirección

Líneas de control

Interfaz a dispositivo externo

Lógica del interfaz adispositivo externo

Page 11: Tema 7

Técnicas de operaciones de E/S

E/S programada E/S mediante interrupciones Acceso Directo a Memoria (DMA)

Sin interrupciones Con interrupciones

Transferencia de E/S a memoria a través de la CPU E/S programada

E/S mediante interrupciones

Transferencia directa de E/S a memoria

Acceso Directo a Memoria (DMA)

Page 12: Tema 7

E/S PROGRAMADA

La CPU tiene el control directo sobre la E/S Comprobación del estado del dispositivo Envío de órdenes de lectura y escritura Transferencia de datos

La CPU espera que el módulo de E/S acabe la operación

Si la CPU es más rápida que el módulo, se PIERDE TIEMPO

Page 13: Tema 7

E/S programada con detalle

Cuando la CPU está ejecutando un programa y encuentra una interrupción relacionada con E/S, ordena al módulo de E/S que la ejecute

El módulo de E/S realiza la acción solicitada El módulo de E/S activa los bits adecuados en el

registro de estado El módulo de E/S no informa directamente a la CPU

ni la interrumpe La CPU comprueba periódicamente los bits de

estado hasta que encuentra que la operación ha terminado

Page 14: Tema 7

Órdenes de E/S

Al ejecutar una instrucción relacionada con E/S, la CPU proporciona una dirección especificando el módulo de E/S y el dispositivo externo

Además, la CPU proporciona una orden, que puede ser: Control – dice al módulo qué debe hacer

Ejemplo: rebobinar una cinta magnética Prueba – realización de comprobaciones

Ejemplo: ¿Encendido? ¿Error? Lectura

El módulo de E/S capta un dato de un periférico y lo sitúa en un buffer interno (registro de datos) y la CPU pide al módulo de E/S que lo ponga en el bus de datos

Escritura El módulo de E/S capta un dato del bus de datos y lo transmite

hacia el periférico

Page 15: Tema 7

Direccionamiento de dispositivos de E/S

En la E/S programada hay una estrecha relación entre las instrucciones de E/S que la CPU capta de la memoria y las órdenes que la CPU envía al módulo de E/S

Normalmente hay varios dispositivos de E/S conectados al sistema a través de los módulos de E/S

Cada dispositivo tiene un único identificador o dirección

Las órdenes de la CPU contienen el identificador (la dirección)

Cuando la CPU, la memoria principal y las E/S comparten un bus común son posibles dos formas de direccionamiento: asignado en memoria y aislado

Page 16: Tema 7

Formas de direccionamiento E/S

Asignado en memoria (memory mapping) Existe un único espacio de direcciones para las posiciones de

memoria y los dispositivos de E/S La CPU considera a los registros de estado y de datos de los

módulos de E/S como si fueran direcciones de memoria Utiliza las mismas instrucciones máquinas para acceder a

memoria y a direcciones de E/S Un sola línea de lectura y una sola línea de escritura en el bus

Aislado Líneas de lectura y escritura en memoria separadas de las

líneas de órdenes para E/S Órdenes específicas para E/S

Page 17: Tema 7

Comparación “asignadas en memoria” – “aislada”

E/S ASIGNADA EN MEMORIA Se puede utilizar un amplio repertorio de

instrucciones Ventaja frente a E/S aislada: Programación más

eficiente

E/S AISLADA Existen pocas instrucciones de E/S Ventaja frente a E/S asignada en memoria: se

aprovecha mejor el espacio de direccionamiento de memoria

Page 18: Tema 7

E/S MEDIANTE INTERRUPCIONES

En E/S programada, la espera de la CPU sobrecarga el sistema y degrada las prestaciones

Mejora: que la CPU no esté “parada” hasta que el módulo E/S esté preparado y mientras ésta puede seguir haciendo “algo útil”

El módulo de E/S interrumpe a la CPU cuando esté preparado para intercambiar datos. La CPU ejecuta la transferencia de datos

Page 19: Tema 7

Funcionamiento básico de la E/S mediante interrupciones, visto por el módulo de E/S

El módulo de E/S recibe una orden READ de la CPUEl módulo de E/S lee el dato desde el periférico

asociado Una vez que el dato está en el registro de datos

del módulo de E/S, éste envía una interrupción a la CPU a través de una línea de control y se pone a la espera hasta la que la CPU solicite su dato

La CPU solicita datoEl módulo de E/S coloca el dato en el bus de datos

y queda preparado para futuras operaciones

Page 20: Tema 7

Funcionamiento básico de la E/S mediante interrupciones, visto por la CPU

La CPU envía una orden READ de lectura Pasa a hacer “otro trabajo” Al final de cada ciclo de instrucción, la CPU

comprueba las interrupciones Si el módulo de E/S solicita la interrupción:

La CPU guarda el contexto del programa en curso (contador de programa y registros de la CPU)

Procesa la interrupción La CPU lee la palabra de datos del módulo de E/S y

la almacena en memoria Recupera el contexto del programa que estaba

ejecutando y continúa su ejecución

Page 21: Tema 7

Cuestiones de diseño

Puesto que puede haber muchos dispositivos, ¿cómo sabe la CPU qué dispositivo ha provocado la interrupción?

¿Qué hacer si se solicitan varias interrupciones a la vez?

Page 22: Tema 7

Identificación del dispositivo Líneas diferentes para cada módulo

Pueden ser insuficientes, hay que usar otro método Consulta por programa (software polling). Bifurcación a una rutina

de servicio de interrupción La CPU pregunta a cada módulo y uno de ellos le responde Lento

Conexión en cadena (daisy chain, interrupción vectorizada) Todos los módulos comparten una línea común para solicitar

interrupciones El módulo que solicitó la interrupción responde colocando una palabra

(llamada vector, que es un identificador específico) en la línea de datos Arbitraje del bus (también es una interrupción vectorizada)

El módulo debe disponer de control del bus previamente a solicitar la interrupción. Sólo un módulo puede activar la línea en un instante

Cuando la CPU reconoce la interrupción, responde mediante la línea de reconocimiento de la interrupción

El módulo sitúa su vector en la línea de datos

Page 23: Tema 7

Interrupción múltiple

Líneas diferentes: cada línea de interrupción tiene una prioridad distinta

Polling: la prioridad la determina el orden de consulta

Daisy chain: igual que el anterior

Page 24: Tema 7

ACCESO DIRECTO A MEMORIA (DMA)

Inconvenientes de la E/S programada y con interrupciones: NECESITAN LA PARTICIPACIÓN ACTIVA DE LA CPU para transferir datos entre memoria y el módulo E/S La velocidad de transferencia está limitada La CPU debe dedicarse a la gestión de

transferencias de E/S El módulo de E/S y la memoria intercambian

datos directamente, sin la intervención de la CPU

Para transferir grandes cantidades de datos, se utiliza el DMA

Page 25: Tema 7

Funcionamiento del DMA (I)

Se necesita un módulo adicional de hardware en el bus del sistema

El módulo DMA toma el control de la CPU para E/S, liberando a la CPU

Transfiera datos a / desde memoria a través del bus del sistema

Utiliza el bus cuando la CPU no lo necesita o, cuando necesitándolo, fuerza a que lo deje

Page 26: Tema 7

Funcionamiento del DMA (II)

Cuando la CPU necesita leer o escribir, envía una orden al módulo DMA, con la siguiente información: Mediante línea de control, si se solicita lectura o escritura La dirección del dispositivo de E/S propiamente Dirección de comienzo para leer / escribir Número de palabras a leer / escribir

La CPU continúa con otro trabajo Delega en el DMA el control de la transferencia El DMA transfiere el bloque completo de palabras,

sin la intervención de la CPU El DMA envía una señal de interrupción a la CPU

cuando acaba la transferencia De esta manera, la CPU sólo interviene al

principio y al final de la transferencia

Page 27: Tema 7

Configuraciones DMA (I), DMA independiente

Bus único, el controlador DMA usa E/S programadaCada transferencia usa el bus dos veces

E/S a DMA y después DMA a Memoria Principal

Solución económica pero insuficiente

CPUControlador DMA

Disp. E/S

Memoria Principal

Disp. E/S

Bus del sistema

Page 28: Tema 7

Configuraciones DMA (II), DMA-E/S integrados

Bus único, Funciones DMA y E/S integradas El controlador DMA puede soportar más de un

dispositivo, sin necesitar el bus Cada transferencia usa el bus sólo una vez

DMA a Memoria Principal

CPUControlador DMA

Controlador DMA

Disp. E/S

Disp. E/S

Disp. E/S

Memoria Principal

Bus del sistema

Page 29: Tema 7

Configuraciones DMA (III), Bus de E/S

Bus E/S separado del bus del sistema Bus E/S soporta todos los dispositivos de E/S El intercambio de datos entre el controlador DMA y los

dispositivos de E/S NO necesita el bus del sistema Sólo se necesita 1 interfaz de E/S en el controlador

DMA. Configuración fácilmente ampliable

CPU Controlador DMA

Memoria Principal

Disp. E/S

Disp. E/S

Disp. E/S

Disp. E/S

Bus E/S

Bus del sistema

Page 30: Tema 7

Canales de E/S

Los dispositivos de E/S se han ido complicando con el paso del tiempo. Ejemplo: tarjetas gráficas 3D

Evolución temporal: La CPU controla directamente al periférico Se añaden módulos de E/S. Se usa E/S programada Igual que el anterior, pero con interrupciones. Aumenta eficacia El módulo de E/S tiene acceso directo a memoria El módulo de E/S mejora, con su propio repertorio de

instrucciones orientados a E/S. La CPU se “desentiende” y deja trabajar al módulo. Sólo es avisada cuando se acaba la secuencia

El módulo de E/S tiene su propia memoria local. Es un computador en sí mismo. Se controla un amplio abanico de dispositivos sin la intervención de la CPU

Asumir cada vez más competencia lleva a que se hable de Canal de E/S, en general, más que módulo de E/S

Page 31: Tema 7

Características de los canales de E/S

Es una ampliación del concepto de DMAEjecuta instrucciones de E/S, liberando a la CPULa CPU se limita a mandar al canal de E/S que

ejecute un programa en memoria principalEl programa especifica dispositivos, área de

memoria, prioridad y acciones en caso de errorEl canal de E/S sigue las instrucciones y

controla la transferencia de datos

Page 32: Tema 7

Interfaz externa

Se adapta a la naturaleza del dispositivo Paralelo, varias líneas a la vez Serie, una sola línea

Diálogo con el periférico Módulo E/S envía señal de control solicitando permiso para

mandar o leer datos El periférico reconoce la solicitud El módulo transfiere los datos El periférico reconoce la recepción o envío de datos

Se necesita un registro interno (buffer) para almacenar datos, que compense la diferencia de velocidades

Tipos de conexiones: Conexión punto a punto: línea de E/S entre módulo y

dispositivo. Ejemplo: teclados, impresora, módem externo Conexión multipunto: Interfaz SCSI y FireWire

Page 33: Tema 7

Interfaz SCSI (Small Computer System Interface)

Interfaz paralelo para CD-ROM, equipos de audio y almacenamiento masivo

Líneas de datos de 8, 16 y 32 bitsConexión en forma encadenada (daisy chain)Conectores independientes de entrada y de salidaLos dispositivos se conectan en cadena entre sí y

con el computador anfitrión (host) en un extremoLos dispositivos funcionan independientemente y

pueden intercambiar datos entre ellos

Page 34: Tema 7

SCSI - 1

Principio de los 80’s8 bitsFrecuencia de reloj: 5 MHzVelocidad de transferencia: 5MBytes/sgHasta siete dispositivos en cadena

Ocho si se incluyen el computador host

Page 35: Tema 7

SCSI - 2

1991Expansión a 16 y 32 bitsFrecuencia de reloj: 10MHzVelocidad de transferencia: 20 o 40

Mbytes/sg

Page 36: Tema 7

Señalización SCSI

Entre iniciador y destino: habitualmente, el iniciador es el host, y el destino es el dispositivo

Bus libre: ningún dispositivo está usando el busArbitraje: permite a un dispositivo tomar el

control de bus para iniciar o reanudar un proceso de E/S

Selección: el iniciador elige un destino para leer o escribir

Reselección: permite que un dispositivo seleccionado se vuelva a conectar al iniciador para reanudar una operación previa que ha sido suspendida

Page 37: Tema 7

Orden: el destino puede pedir una orden de información al iniciador

Solicitud de datos: el dispositivo puede solicitar la transferencia de un dato de dispositivo a iniciador o viceversa

Estado: permite que el dispositivo solicite que se envíe la información de estado desde el dispositivo al iniciador

Mensaje: permite que el dispositivo solicite la transferencia de uno o más mensajes desde el iniciador al dispositivo o viceversa

Señalización SCSI (continuación)

Page 38: Tema 7

Fases en un bus SCSI

Inicio

ArbitrajeBus libre (Re) Selección

Órdenes,Datos, Estado,Mensaje

Después de conectarse al sistema o reinicio, el bus pasa a la fase de bus libreA continuación se pasa a arbitraje, un dispositivo toma el control del busSi el arbitraje falle, el bus vuelve a la fase de bus libreCuando el arbitraje termina con éxito, se pasa a la fase de selección, donde se designa un iniciador y un dispositivo para realizar la transferencia

Page 39: Tema 7

Fases en un bus SCSI (continuación)

Se producen una o más fases de transferencia de información entre iniciador y dispositivo (orden, datos, estados y mensajes)

Finalmente, fase de entrada de mensaje, después mensaje de desconexión al iniciador y fase de bus libre

Inicio

ArbitrajeBus libre (Re) Selección

Órdenes,Datos, Estado,Mensaje

Page 40: Tema 7

Especificación del SCSI-1

18 líneas de señal 9 líneas de datos 9 líneas de control

Page 41: Tema 7

Líneas de control del SCSI-1

BSY: usada para indicar que el bus está ocupado SEL: usada por el iniciador para seleccionar el dispositivo

que debe responder a una orden C/D: usada por el dispositivo para indicar si el contenido del

bus de datos son órdenes (COMMAND) o datos (DATA) I/O: usada por el dispositivo para indicar si entran o salen

datos MSG: usada por el dispositivo para indicar que está

transfiriendo un mensaje REQ: usada por el dispositivo para solicitar una

transferencia de información ACK: usada por el iniciado para reconocer la señal REQ del

dispositivo ATN: usada por el iniciador para indicar que hay un mensaje

disponible para transferir RST: usada para inicial el bus

Page 42: Tema 7

Bus serie FireWire

Bus serie de altas prestaciones. IEEE 1394Rápido: 100 MHzBaratoFácil de implementarUsado también en electrónica de consumo

Cámaras digitales Videograbadores Televisores

Page 43: Tema 7

Configuración FireWire

Configuración en cadena “Daisy chain” Hasta 63 dispositivos a un único puerto

64 incluyendo a la propia interfaz Hasta 1022 buses pueden conectarse con

adaptadores (bridges) Se pueden conectar y desconectar periféricos sin

tener que reconfigurar el sistema No es necesario fijar manualmente los

identificadores de los dispositivos ni tener en cuenta la posición relativa de los mismos

Puede tener estructura de árbol

Page 44: Tema 7

Las 3 capas del FireWire

Física Define los medios de transmisión y

características eléctricas y señales

Enlace Describe la transmisión de datos mediante

paquetes

Transacción Define el protocolo de petición/respuesta

ocultando a las aplicaciones los detalles de las capas inferiores

Page 45: Tema 7

Capa física

Velocidades binarias de 25 a 400Mbps Dos formas de arbitraje. La forma más simple:

Basada en estructura de árbol El nodo (raíz) actúa como árbitro central Primero que llega, primero que se atiende En caso de solicitudes simultáneas, se aplica la

prioridad natural, que consiste en que se atiende antes la que está más cerca del nodo raíz, y en caso de igual distancia, la que tenga un identificador menor

Funciones adicionales: Arbitraje equitativo: evita que uno o más dispositivos de

alta prioridad monopolicen el uso del bus Arbitraje urgente: algunos dispositivos pueden tener

prioridad urgente, que les permite acceder al bus mayor porcentaje de tiempo

Page 46: Tema 7

Capa de enlace

Define la transmisión de datos en forma de paquetes

Dos tipos de transmisiones Asíncrona

Un paquete con una cantidad variable de datos y varios bytes

A direcciones explícitasDevuelve información de reconocimiento

IsócronaUna cantidad variable de datos, con paquetes de

tamaño fijo, a intervalos regularesDireccionamiento simplificadoNo usa reconocimiento