Tema 7. Interfaces con los Periféricos de Almacenamiento Periféricos e Interfaces Tema 7/1 Sumario • • • • Tema 7/2 Organización de las Interfaces Interfaz ATA Interfaz SCSI Otras interfaces: Canal de Fibra Organización de las interfaces a los periféricos de almacenamiento • Adaptadores y controladores • Tipos de interfaces: punto á punto, multipunto • Fases de procesamiento de una operación de acceso al periférico Tema 7/3 Organización de las Interfaces Buffer Separador de datos Placa Base Controlador del periférico Adaptador de la Cable interfaz de la interfaz Puente Sur Chip Super I/O Tema 7/4 Periférico Funciones:Buscar pista, Leer sector, Procesar señales codificadas, Separar datos/reloj Tipos de Interfaces • • • • Tema 7/5 Paralelo: cinta, disco, impresora, etc. Serie: teclado, ratón, etc. Punto á punto: RS-232, Centronics Multipunto: USB, ATA-IDE, SCSI Fases de ejecución de una operación de periférico Tema 7/6 • Procesador envía una petición de E/S al controlador del periférico a través de un adaptador situado en la placa base • Periférico reconoce petición y se pone a la espera • Procesador envía/recibe datos a/desde el periférico • Controlador de periférico reconoce la transmisión de los datos Interfaz ATA • Tipos • Nivel físico de la interfaz • Fases de ejecución y temporización de las transacciones • Arquitectura de la interfaz • Programación • ATAPI Tema 7/7 Interfaces de Disco: ATA-IDE data(15..0) Formateador, buffer de datos Adaptador de host IRQ14 Interfaz IDE-40p VCC/GND (AT Attachment - Integrated Disk Electronics) Separador de datos MicroControlador Electrónica de control Cache de disco: 2 pist Discos Magnéticos Controlador Integrado Señales muy cortas entre el controlador y los discos, lo cual dificulta las interferencias y aumenta el ritmo de transmisión Tema 7/8 Repertorio de Comandos IDE Tipos de Interfaces ATA. Prestaciones ATA/ATAPI 6 ATA/ATAPI 7 +UDMA5 +UDMA6 100/MB/s 133/MB/s 2002 2002 PIO: método de transferencia estándar para IDE, que se basa en la realización de encuestas entre procesador y controlador periférico sin “handshaking”, en el que el procesador es el responsable de la transferencia Tema 7/9 PIO max BW: PIO1=383 [email protected]/s, PIO4=120 [email protected]/s Configuración moderna de discos con interfaz ATA-IDE Conector IDE (EIDE primario) Placa Base Adaptador de bus-EIDE Bus PCI del sistema ProcesadorMemoria 40 Conector EIDE secundario Controlador de disco Maestro (0) Controlador de disco Esclavo (1) Controlador de disco Maestro (0) Controlador de disco Esclavo (1) Periféricos, RLL Tema 7/10 Nivel físico de ATA • Conector de 40 pines, sin número 20 • Cable plano de 46-61 cm • TTL • Asíncrono: ATA-1 • Síncrono: ATA-2,3, ATAPI-4,5,6,7 • Detección y corrección de errores en transacciones UDMA Tema 7/11 4 5 Señales Relevantes ATA-IDE • DD(0:15): datos bidireccionales • DA0, DA1: direcciones del primario y secundario • #DIOR, #DIOW: indicación del adaptador de operaciones de lectura/escritura • IORDY: permite acoplar periféricos lentos de distintos ritmos de transferencia. El procesador inserta estados de espera cuando se lo pide el controlador del periférico. En los modos síncronos PIO, realiza la sincronización • DMARQ: petición DMA del periférico al procesador a través del adaptador • #DMACK: reconocimiento DMA del procesador al periférico a través del adaptador • INTR: petición interrupción desde el controlador del periférico Tema 7/12 Señales ATA-IDE Tema 7/13 IDE PIO-4 DA0: master DA1: esclavo Tema 7/14 IDE DMA-2 Tema 7/15 IDE MANUFACTURER PART: ASUS # P5A 1x conector de disquetera ON BOARD IDE 2 x PCI Bus Master IDE Ports (Up to 4 IDE Devices) Supports PIO Mode 3, 4: 17 MB/Sec.(Max.) Ultra DMA Mode: 33 MB/Sec.(Max.) Tema 7/16 Arquitectura ATA-IDE • ATA= Advanced Technology Attachment, hace referencia a una interfaz lógica entre el computador y el controlador del periférico, incluye comandos como leer sector, escribir sector, etc. • Basada en la arquitectura del bus E/S ISA • 2 grupos de registros de 8/16 bits • Bus de datos de 16 bits • 5 bits para direccionar registros del controlador • Primario: Hw Int=14, IO Add=1F0-1F7, 3F6-3F7 • Secundario: Hw Int=15, IO Add=170-177, 376-377 Tema 7/17 Registros ATA-IDE • • • • • • • Datos de 16 bits (0x1f0) Errores (0x1f1) Número de Sectores (0x1f2): max=256 Sector Comienzo/Accedido (0x1f3) Número cilindro LSB (0x1f4) Número cilindro MSB (0x1f5) : 64 Kcilindros Disco Master/Slave y Nº cabeza (0x1f6): 2 discos, 16 cabezas • Estado (0x1f7) • Comandos (0x1f8) Tema 7/18 Fases en la ejecución de comandos •Fase de Comandos: la CPU prepara los registros y envía el comando de la operación correspondiente via puertos E/S •Escribir sector, el controlador activa IRQ14 cuando espera recibir el sector desde la memoria del computador •Leer sector, el controlador activa IRQ14 cuando el procesador puede leer un sector desde la cache de disco •Otros comandos: formatear, posicionar cabeza, etc., IRQ 14 se activa en la Fase de Resultados •Fase de Datos: se posiciona la cabeza y se transfieren los datos a/desde la memoria del computador Tema 7/19 •Fase de Resultados: el controlador escribe en el registro de estado el resultado de la operación y envía una interrupción hardware al procesador (IRQ14, INT 76H). El procesador desactiva la interrupción leyendo el registro de estado Técnicas de programación para implementar la comunicación a través de la interfaz ATA-IDE • E/S programada (PIO) – Instrucciones: REP INS, REP OUTS, se repiten hasta que el contador alcanza el valor 0 – Mode 0: 3 MB/s; Mode 1: 5 MB/s; Mode 2: 8 MB/s; Mode 3: 11 MB/s; Mode 4: 16 MB/s; • DMA – 13.3 - 66 MB/s Tema 7/20 ATAPI para CD-ROM • Integra comandos ATA-IDE y nuevos comandos específicos para CD-ROM • Comandos de 12 bytes • Transferencias en modo PIO • Comando más importantes – Lectura de paquetes Tema 7/21 Interfaz SCSI • Tipos • Nivel físico de la interfaz • Fases de ejecución y temporización de las transacciones • Arquitectura de la interfaz • Programación Tema 7/22 Conexión de Periféricos SCSI Unidades SCSI Bus SCSI Adpatador de bus SCSI Bus PCI del sistema CD Controlador de disco Disco duro Controlador de cinta Cinta magnética Controlador de impresora Impresora Proc-Mem Tema 7/23 Configuraciones SCSI Transacciones SCSI no involucran al procesador Transacciones entre dos unidades SCSI Resistencias de terminación a ambos lados del bus Tema 7/24 Tipos SCSI Nombre Bits datos MHz SCSI-1 Fast SCSI SCSI-2 Wide SCSI Wide Ultra Wide Ultra LVDS Ultra 160 SCSI Tema 7/25 MB/seg metros 8 8 5 10 5 10 6 3 16 16 16 32 10 20 20 40 20 40 80 160 3 1,5 12 10 Frecuencia de transferencia SCSI IBM 1/2" Fast Access Linear Tape Cartridge (3570): 200 MB - 21 GB Tema 7/26 Características del bus SCSI-1 • SCSI (Small/Smart Computer Systems Interface): bus independiente del bus del sistema computador (diferencia con ATA) • Los dispositivos SCSI son inteligentes; los controladores de las unidades están siempre integrados en el dispositivo • SCSI-1 define un bus entre un máximo de 8 unidades controladoras: initiators (incluido el adaptador del host) o targets • Dispone de un protocolo de prioridad, para asegurar que 2 iniciadores no utilicen el bus al mismo tiempo • A cada unidad controladora SCSI le es asignada una dirección SCSI (SCSI-ID) establecidas por un switch o por BIOS • Cada target puede acomodar hasta 8 unidades locales que disponen para su identificación de un número de unidad lógica: LUN (Logical Unit Number). • Se realizan transferencias de bloques desde 256 bytes hasta 1024 gigabytes • Transferencia de datos por el bus SCSI por encima de 1.5 MB/s á 4 MB/s (protocolo asíncrono) y 10 MB/s (protocolo síncrono) Tema 7/27 Características del bus SCSI-1 • El bus SCSI-1 consta de 18 señales activas a nivel bajo: • Señales diferenciales +/- 1.5 v • Bus paralelo de 9 bits (8 bits de datos más 1 de paridad) (SCSI-1) • Protocolo handshaking realizado con las señales: I/O, REQ y (ACK). • Existen otras 9 señales de control • La interfaz utiliza un conector de 50 pines con pares de cables cruzados con líneas de tierra • Existen 8 fases lógicas: arbitraje, selección, reselección, comandos, datos, estado, mensajes, desconexión • Utiliza lógica negativa: señal activa con voltaje negativo, señal no activa con voltaje positivo • El bus SCSI está restringido a un longitud de 6 m Tema 7/28 Asignación del cable de 50 pines de la interfaz SCSI Señal G N D P in 1 S ig n if ic a d o tie rra Señal TERM PW R P in 26 S ig n if ic a d o te r m in a c ió n /D B (0 ) 2 b it d e d a to s 0 G N D 27 tie rra G N D 3 tie rra G N D 28 tie rra /D B (1 ) 4 b it d e d a to s 1 G N D 29 tie rra G N D 5 tie rra G N D 30 tie rra /D B (2 ) 6 b it d e d a to s 2 G N D 31 tie rra G N D 7 tie rra /A T N 32 a ten c ió n /D B (3 ) 8 b it d e d a to s 3 G N D 33 tie rra G N D 9 tie rra G N D 34 tie rra /D B (4 ) 10 b it d e d a to s 4 G N D 35 tie rra G N D 11 tie rra /B S Y 36 ocupado /D B (5 ) 12 b it d e d a to s 5 G N D 37 tie rra G N D 13 tie rra /A C K 38 r e c o n o c im ie n to /D B (6 ) 14 b it d e d a to s 6 G N D 39 tie rra G N D 15 tie rra /R S T 40 reset /D B (7 ) 16 b it d e d a to s 7 G N D 41 tie rra G N D 17 tie rra /M S G 42 m e n sa je /D B (P ) 18 b it d e p a r id a d G N D 43 tie rra G N D 19 tie rra /S E L 44 se le c c ió n G N D 20 tie rra G N D 45 tie rra G N D 21 tie rra /C /D 46 c o m a n d o /d a to G N D 22 tie rra G N D 47 tie rra G N D 23 tie rra /R E Q 48 p e tic ió n G N D 24 tie rra G N D 49 tie rra 1) 25 n o c o n e x ió n /I/O 50 e n tr a d a /s a lid a T a b la 1 : A s ig n a c ió n d e l c a b le d e l in te r fa c e S C S I Tema 7/29 Señales de Control • /BSY (Busy): la señal indica si el bus está ocupado actualmente • /SEL ( Select): utilizada por el iniciador para seleccionar el dispositivo target; el target utiliza SEL para restablecer la conexión al iniciador después de una liberación temporal del control del bus. • /C/D (Comando/Dato): controlada por el target, e indica qué tipo de información, control o datos, está presente en el bus SCSI. • /I/O (input/output): controlada por el target; indica la dirección del flujo de datos en el bus de datos relativa al iniciador. • /MSG (message): activada por el target durante la fase de mensaje. • /REQ (request) activada por la unidad target para indicar el handshake de petición durante el curso de una transferencia de datos /REQ-/ACK • /ACK (acknowledge): activada por el iniciador para indicar el handshake de reconocimiento de una transferencia de datos. • /ATN: (attention): activada por el iniciador, indica la condición de atención • /RST: (reset): activa resetea todos los dispositivos SCSI conectados. Tema 7/30 Transferencia Lógica de Datos: Fases de bus Maestro Petición de función Initiator Control Esclavo SCSI Target Control Ejecución Función Activadas • Fase de bus libre: BSY=SEL=0 por • Fase de arbitraje: iniciador envía su SCSI-ID Iniciador • Fase de selección: SCSI-ID (ini) OR SCSI-ID (target) • Fase de reselección Activadas por Target • Fase de comando: C/D=1, I/O=X, REQ-ACK • Fase de datos: C/D=0, I/O=0, REQ-ACK • Fase de estado : C/D=1, I/O=1, REQ-ACK • Fase de mensaje: C/D=1, I/O=X, REQ-ACK Tema 7/31 Diagrama de tiempos Tema 7/32 Comandos SCSI define “Clases de Periféricos”. Para cada uno de ellos existe un conjunto de comandos determinados Discos Duros: 8 grupos de bytes de descripción de comandos de alto nivel (CDBs) – Grupos 0, 1 y 5: son para instrucciones de propósito general. – Grupos 2, 3 y 4: están reservados para la oficina nacional de estándares. – Grupos 6 y 7: están especificados por el fabricante. Tema 7/33 El paquete de comando del Grupo 0 (6 bytes) Byte 0 1 Tema 7/34 2 3 4 5 código de grupo (3 bits), código de operación (5 bits) LUN (Logical Unit Number) + 5 bits MSB de la dirección lógica del bloque de datos del disco Dirección de bloque lógica Dirección de bloque lógica (LSB) Nº de bloques a ser transferidos Fabricante + flag + link Programación SCSI con ASPI • Advanced SCSI Programming Interface es un manejador de periféricos SCSI que introduce una API • Se inserta en la pila de la memoria 8086 toda la información para acceder al periférico • Luego se realiza un “far call” al manejador SCSI Tema 7/35 Canal de Fibra • Fiber Channel Tutorial: http://www.iol.unh.edu/knowledgeBase/trai ning/files/fc/fc_tutorial.html • Fibre Channel Overview: http://hsi.web.cern.ch/HSI/fcs/spec/overvie w.htm Tema 7/36