Canales de E/S Los dispositivos de E/S son cada vez más sofisticados • Ej: tarjetas gráficas 3D. • Evolución: 1. La CPU controla directamente los periféricos. 2. Se agrega un módulo de E/S o controlador. 3. Idem 2 más llamado de interrupción. 4. El módulo de E/S provee el acceso directo a memoria (DMA). 5. El módulo de E/S tiene su propio procesador con su pequeño conjunto de instrucciones. 6. El módulo además tiene su memoria local o sea se convierte en una computadora en sí mismo. Características de los Canales de E/S • Los canales representan una extensión al concepto de DMA. • Tienen la habilidad de ejecutar instrucciones de E/S. • Completo control de la transferencia de datos por lo tanto la CPU no ejecuta instrucciones de E/S. • Instrucciones almacenadas en memoria principal que serán ejecutadas por un procesador de propósito especial en el canal. • La CPU inicia una transferencia de E/S instruyendo al canal para ejecutar el programa que está en memoria. • Este programa especifica dispositivos, áreas de memoria a usar, prioridades y acciones ante errores. • El canal siguiendo las instrucciones controla la transferencia de datos. Tipos de canales de E/S (1) • Selector • Controla varios dispositivos de alta velocidad y uno por vez, por lo tanto el canal se dedica para la transferencia de datos de ese dispositivo. • El canal selecciona un dispositivo y efectúa la transferencia. • Los dispositivos son manejados por un controlador o módulo de E/S • Por lo tanto el canal de E/S ocupa el lugar de la CPU en el control de esos controladores. Selector Datos y direcciones canal a mem.ppal. Selector de canal Señales de control CPU.- Selector Controlador de E/S Controlador de E/S Tipos de canales de E/S (2) • Multiplexor • Puede manejar E/S con varios dispositivos a la vez. • Multiplexor de bytes: • Acepta y transmite caracteres. • Multiplexor de bloques: • Intercala bloques de datos desde distintos dispositivos. Multiplexor Datos y direcciones canal a mem.ppal. Multiplexor de canal Señales de control CPU.- Selector Controlador de E/S Controlador de E/S Controlador de E/S Controlador de E/S La interfaz externa • Provista para un periférico desde un módulo de E/S. • ¿Serial ó paralelo? • Paralela: tape, disco (dispositivo de alta velocidad). • Serial: terminales, mouse. • Existe un módulo que dialoga con el dispositivo. Los pasos son: • El módulo envía señal de control pidiendo permiso para enviar datos al dispositivo. • Este confirma el pedido. • El módulo transfiere los datos. • El periférico confirma la recepción de los mismos. • Uso de buffers internos en el módulo para compensación de velocidades. Tipos de interfaces • La conexión entre un módulo de E/S y los dispositivos externos puede ser: • Punto a punto: línea dedicada. • Ej: teclado, impresora, modem ...etc. • Multipunto: idem a un bus externo. • Ej: dispositivos de almacenamiento en masa externos (discos SCSI). Interfaz SCSI (Small Computer Systems Interface) • Interfaz paralela. • • • • • • 8, 16 o 32 líneas de datos. Dispositivos encadenados (daisy-chained). Los dispositivos son independientes. Los dispositivos pueden comunicarse entre sí. Y trabajan sin involucrar al procesador. Existen distintas versiones. SCSI - 1 • A principios de los 80 • • • • • 8 líneas de datos Clock de 5 MHz Velocidad de datos de 5 MBytes/s Soporta hasta siete (7) dispositivos en cadenas Ocho si incluímos a la interfaz del host SCSI - 2 • • • • 1991. 16 y 32 líneas de datos. Clock de 10 MHz. Velocidad de datos de 20 ó 40 MBytes/s. Señales y fases del SCSI (1) • Los intercambios en este tipo de bus son entre el dispositivo iniciador y el seleccionado. • Normalmente entre host y un dispositivo • también puede ser entre dos dispositivos. • Fases: • ¿Está el bus libre? (similar a Ethernet) • Arbitraje: un dispositivo toma el control del bus. • Selección de objetivo para realizar una función. • Re-selección: el objetivo se re-conecta con el iniciador después de una suspensión de parte de éste. Señal del SCSI (2) • Solicitud de órdenes desde un objetivo al iniciador. • Solicitud de datos en ambos sentidos (IN/OUT). • Solicitud de que la información de estado del objetivo sea enviada al iniciador. • Solicitud de mensajes en ambos sentidos. Configuración de SCSI • El bus debe finalizar en cada extremo. • Normalmente un extremo corresponde al adaptador del host. • Conexión a un terminador o conmutador(es). • Debe establecerse el ID de cada dispositivo SCSI. • Jumpers o conmutadores. • ID único en la cadena. • El número mayor (7) goza de mayor prioridad en el arbitraje. IEEE 1394 FireWire Bus en serie de alto rendimiento. • • • • Rápido (entre 25 y 400 Mbits/s) Costos reducidos. Fácil de implementar. También se emplea en cámaras digitales, VCR y televisión. Configuración del FireWire • Dispositivos encadenados (daisy chain). • 63 dispositivos en un solo puerto. • En realidad 64, de los cuales uno es la interfaz. • Pueden conectarse más de 1022 buses con adaptadores. • Configuración automática. • No hay terminadores de bus. • Puede tener estructura de árbol. Comparación: SCSI y FireWire Disco magnético Escáner ID= 6 CD ROM ID= 2 CPU ID= 7 ID= 3 Terminador (puede ser interno) (a) Ejemplo de configuración SCSI Terminador Interfaz estéreo CD-ROM Disco magnético CPU Cámara digital (b) Ejemplo de configuración FireWire Escáner Impresora