Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008...

140
Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3. 3. Interfaces externas Interfaces externas de de propósito general propósito general

Transcript of Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008...

Page 1: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

Oliverio J. Santana Jaria

Periféricos e InterfacesIngeniería en Informática

Curso 2007 – 2008

3.3. Interfaces externas Interfaces externas de de propósito generalpropósito general

Page 2: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

2

Interfaces externasInterfaces externas

[STALLINGS 7.7]

Interfaz (Electrón). Dispositivo capaz de transformar las señales emitidas por un aparato en señales comprensibles por otro. (WordReference)

En electrónica, un interfaz es el puerto por el cual se envían o reciben señales desde un sistema hacia otros.

Yo creo que en informática llamamos “puerto” a un medio por el cual el procesador puede comunicarse con un dispositivo externo al computador.

Una interfaz vendría a ser un puerto acompañado de un protocolo que establece los términos de la comunicación por medio de ese puerto.

Page 3: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

3

Interfaces serie y paralelaInterfaces serie y paralela

La interfaz puede ser serie o paralela Serie: solo hay una línea

de conexión, los bits se transmiten de uno en uno

Paralela: hay varias líneas de conexión, lo que permite transmitir varios bits de forma simultánea

Tradicionalmente se asocian las interfaces paralelas con dispositivos de alta velocidad (cinta, disco…) y las interfaces serie con dispositivos más lentos (impresoras, terminales…)

Hoy en día, las interfaces serie de alta velocidad hacen que las paralelas sean cada vez menos frecuentes

[STALLINGS 7.7]

Page 4: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

4

Configuraciones punto-a-puntoConfiguraciones punto-a-punto

[STALLINGS 7.7]

Una interfaz punto-a-punto proporciona una línea específica entre el controlador de E/S y el dispositivo externo

En los PCs tradicionales, las líneas punto-a-punto se utilizan para dispositivos como el teclado, el ratón y la impresora

Como ejemplos estudiaremos: El puerto paralelo del PC – Centronics El puerto serie del PC – RS232C El bus serie universal: USB

Page 5: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

5

Configuraciones multipuntoConfiguraciones multipunto

[STALLINGS 7.7]

Las interfaces externas multipunto cobran cada vez más importancia, ya que se utilizan para dar soporte a: Dispositivos de almacenamiento masivo (disco, cinta…) Dispositivos multimedia (CD-ROM, equipos de audio,

equipos de video…)

Estas interfaces multipunto son, en realidad, buses externos que poseen el mismo tipo de lógica que los buses

Como ejemplos estudiaremos: El bus serie FireWire InfiniBand

Page 6: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

6

Estructura del temaEstructura del tema

Introducción Interfaces punto-a-punto

El puerto paralelo del PC – Centronics El puerto serie del PC – RS232C El bus serie universal: USB

Interfaces multipunto El bus serie FireWire InfiniBand

Page 7: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

7

El puerto paraleloEl puerto paralelo

[MESSMER 32]

El principal objetivo del puerto paralelo de un PC es actuar como interfaz con la impresora

Los PCs actuales poseen al menos un puerto paralelo, aunque suelen estar preparados (DOS/BIOS) para manejar hasta cuatro distintos Normalmente se denominan LPT1, LPT2, LPT3 y LPT4

(Line PrinTer) La abreviatura PRN (PRiNter) se usa con frecuencia como

sinónimo de LPT1

Page 8: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

8

Interfaz CentronicsInterfaz Centronics

[MESSMER 32]

La conexión entre el puerto paralelo del PC y la impresora se realiza por medio de un cable Centronics

Normalmente, un cable Centronics está compuesto por 36 líneas, por lo que los conectores también tienen 36 pins

Page 9: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

9

Interfaz CentronicsInterfaz Centronics

[MESSMER 32]

De las 36 líneas, sólo 17 están realmente mapeadas a señales del protocolo de comunicación Hay 18 líneas mapeadas como líneas de tierra Dentro del cable, las líneas de tierra se tuercen alrededor

de las otras para evitar interferencias entre ellas

Page 10: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

10

Interfaz CentronicsInterfaz Centronics

[MESSMER 32]

El conector de la impresora tiene 36 pins Dado que no todas las líneas transmiten una señal, el

conector del PC suele reducirse a 25 pins El conector es más pequeño y barato Las líneas de tierra que faltan pueden recrearse de las otras

Page 11: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

11

Interfaz CentronicsInterfaz Centronics

[MESSMER 32]

La longitud del cable no debe exceder los 5 metros o empezarán a producirse errores de transmisión Para distancias mayores sería necesario usar transmisión serie El cable serie permite distancias de hasta 200 metros, pero

transmitir a través de él es más lento

Page 12: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

12

Estructura del puerto paraleloEstructura del puerto paralelo

[MESSMER 32.1.3]

Cada puerto paralelo es accedido por el computador utilizando la dirección a la que está mapeado

Los componentes centrales del puerto paralelo son tres registros de ocho bits cada uno Datos – dirección base + desplazamiento 00h Estado – dirección base + desplazamiento 01h Control – dirección base + desplazamiento 02h

Page 13: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

13

Estructura del puerto paraleloEstructura del puerto paralelo

[MESSMER 32.1.3]

El registro de datos almacena los bits de datos que deben ser transferidos

Este registro puede ser tanto leído como escrito por el computador usando las instrucciones correspondientes

Page 14: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

14

Estructura del puerto paraleloEstructura del puerto paralelo

[MESSMER 32.1.3]

El registro de estado es de solo lectura y permite al computador comprobar el estado del dispositivo

Page 15: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

15

Estructura del puerto paraleloEstructura del puerto paralelo

[MESSMER 32.1.3]

El registro de control permite al computador gestionar el comportamiento del dispositivo

Por otro lado, también permite al dispositivo generar interrupciones para solicitar la atención del computador

Page 16: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

16

Estructura del puerto paraleloEstructura del puerto paralelo

[MESSMER 32.1.2]

La dirección recibida por las líneas A0…A9 es decodificada si la señal IOR o IOW está activa

Los datos se transmiten a nivel de bytes por medio de un registro interno

Page 17: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

17

Estructura del puerto paraleloEstructura del puerto paralelo

[MESSMER 32.1.2]

El computador puede modifica el registro de control y responde a las interrupciones

El computador puede leer el registro de estado para comprobar el estado de la impresora

Page 18: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

18

Estructura del puerto paraleloEstructura del puerto paralelo

[MESSMER 32.1.2]

Todas las señales se mapean en el conector Centronics, ya sea en su versión de 36 pins o en su versión de 25

Page 19: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

19

Protocolo de comunicaciónProtocolo de comunicación

[MESSMER 32.1]

En total, el protocolo de comunicación cuenta con 17 líneas Datos: 8 líneas de salida Estado: 5 líneas de entrada

(una invertida) Control: 4 líneas de salida

(tres invertidas)

[MESSMER 32.2]

Page 20: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

20

Protocolo de comunicaciónProtocolo de comunicación

[MESSMER 32.1] [MESSMER 32.2]

El protocolo necesario para que el computador transmita un byte a la impresora utiliza principalmente las señales Strobe, Ack y Busy

1. Introducir el byte a enviar en el registro de datos

2. Esperar a que la impresora no esté ocupada (Busy)

3. Activar Strobe para que la impresora acepte el dato

4. La impresora activa Busy para indicar que está procesando el dato

5. La impresora activa Ack para indicar que ha terminado y se puede regresar al primer paso

Page 21: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

21

Protocolo de comunicaciónProtocolo de comunicación

[MESSMER 32.2]

También es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo

1. El emisor activa DSL para indicar que quiere enviar datos

2. El receptor contesta activando INI

La conexión está establecida y los papeles de emisor y receptor han sido asignados

Page 22: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

22

Protocolo de comunicaciónProtocolo de comunicación

[MESSMER 32.2]

También es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo

3. El emisor carga el dato y realiza un pulso de STB, lo que genera una interrupción en el receptor

4. La rutina de gestión de interrupción del receptor adquiere el dato

Page 23: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

23

Protocolo de comunicaciónProtocolo de comunicación

[MESSMER 32.2]

También es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo

5. El receptor realiza un pulso de STB, lo que genera una interrupción en el emisor

6. La interrupción en el emisor devuelve el control a la rutina que repetirá los pasos 3, 4 y 5 hasta que el último dato se transmita

Page 24: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

24

Protocolo de comunicaciónProtocolo de comunicación

[MESSMER 32.2]

También es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo

7. El transmisor desactiva DSL

8. El receptor desactiva INI

La conexión ha concluido y el proceso puede repetirse, reasignándose los papeles de emisor y receptor

Page 25: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

25

Puerto paralelo IEEE-1284Puerto paralelo IEEE-1284

[MESSMER 32.3]

La funcionalidad del puerto paralelo integrado en las placas madre de los computadores actuales ha sido mejorada siguiendo el estándar IEEE-1284

Este estándar presenta cinco modos de operación: Compatible: SPP – Standard Parallel Port Byte Nibble Extendido: EPP – Extended Parallel Port Capacidad mejorada: ECP – Enhanced Capability Mode

Page 26: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

26

Puerto paralelo IEEE-1284Puerto paralelo IEEE-1284

[MESSMER 32.3]

Las líneas utilizadas por los cinco modos de operación son las mismas, pero con diferentes nombres/funciones

Page 27: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

27

IEEE-1284 en modo SPPIEEE-1284 en modo SPP

[MESSMER 32.3]

El modo SPP se define para permitir la compatibilidad con el modo unidireccional Centronics original Se corresponde con una interfaz Centronics estándar Permite que impresoras antiguas puedan ser conectadas

a un puerto que cumpla la norma IEEE-1284

Este modo sólo admite emisión de datos y, al ser undireccional, está completamente controlador por el procesador

Page 28: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

28

IEEE-1284 en modo byteIEEE-1284 en modo byte

[MESSMER 32.3]

El modo byte corresponde a un protocolo Centronics bidireccional en el que los datos se transfieren byte a byte a través del registro de datos Es necesaria una señal de control adicional para indicar la

dirección de la transferencia El valor del bit correspondiente del registro de control debe

establecerse antes de cada ciclo de transferencia

Page 29: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

29

IEEE-1284 en modo nibbleIEEE-1284 en modo nibble

[MESSMER 32.3]

El modo nibble permite la transferencia de datos en grupos de 4 bits (nibble) Cuatro de las líneas de estado se utilizan como líneas de

datos Una transferencia abarca siempre un byte completo

▫ En primer lugar se envía la primera mitad del byte

▫ Una vez que ha sido procesada, se envía la segunda mitad

Page 30: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

30

IEEE-1284 en modo EPPIEEE-1284 en modo EPP

[MESSMER 32.3]

El modo EPP permite transferencias bidireccionales de bloques de hasta 256 bytes Al contrario que los modos anteriores, el protocolo de señales

no es controlado por software sino por hardware▫ La programación es más eficiente

▫ El circuito necesario es más complejo y caro

Dispone de los 3 registros estándar, lo que permite compatibilidad con el modo SPP

Además hay otros 4 registros adicionales

Page 31: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

31

IEEE-1284 en modo ECPIEEE-1284 en modo ECP

[MESSMER 32.3]

Sus características son similares a las del modo EPP, aunque está limitado a 128 bytes

El modo ECP permite compresión de datos Una cola FIFO almacena los bits a transmitir No se envían series de bits iguales, sino que se envía el

número de bits que compone la serie (run length codes) La mayor complejidad

hace necesaria la presencia de varios registros adicionales, aunque los equivalentes a los 3 registros estándar siguen presentes

Page 32: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

32

Estructura del temaEstructura del tema

Introducción Interfaces punto-a-punto

El puerto paralelo del PC – Centronics El puerto serie del PC – RS232C El bus serie universal: USB

Interfaces multipunto El bus serie FireWire InfiniBand

Page 33: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

33

El puerto serieEl puerto serie

[MESSMER 33]

El puerto serie de un computador es de gran importancia debido a su flexibilidad

El puerto paralelo transmite varios bits a la vez, por lo que su funcionamiento dependerá de: El formato de la línea de transmisión La anchura de la línea de transmisión

El puerto serie trasmite la información a nivel de bits Todos los datos son preprocesados y divididos en bits Estos bits se transmiten siempre de uno en uno El receptor procesa los bits recibidos para recomponer los datos La línea de transmisión es siempre igual: 1 bit de ancho

Page 34: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

34

Puerto serie vs. Puerto paraleloPuerto serie vs. Puerto paralelo

[MESSMER 33]

El puerto paralelo: Es teóricamente más rápido

Los datos no necesitan ser preprocesados

Es menos flexible

Es más costoso

Tiene predisposición a sufrir errores en distancias largas

El puerto serie: Es teóricamente más lento

Los datos deben ser preprocesados (serializados/deserializados)

Es más flexible

Es mucho menos costoso por su menor número de líneas

Tiene una menor predisposición a sufrir errores, incluso en distancias largas

Page 35: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

35

Transferencia serial síncronaTransferencia serial síncrona

[MESSMER 33.1]

En una transferencia serial síncrona se intercambian una o varias señales de control entre emisor y receptor

Las señales de control determinan cuando hay un bit de datos válido en la línea de transmisión Puede existir una señal de reloj que controle la sincronización Si no hay una señal de reloj, la sincronización se realizará por

medio de un protocolo típico solicitud – reconocimiento

Page 36: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

36

Transferencia serial asíncronaTransferencia serial asíncrona

[MESSMER 33.1]

En una transferencia serial síncrona, los propios datos contienen la información de temporización necesaria

El receptor muestrea la línea a intervalos regulares para detectar la llegada de datos

La transmisión se realiza a nivel de bloques de datos (SDU – Serial Data Unit) Un bit de comienzo (start) indica el principio de un SDU Un bit de final (stop) indica que el SDU ha terminado Se añaden bits de paridad para el control de errores

Page 37: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

37

Transferencia síncrona vs. asíncronaTransferencia síncrona vs. asíncrona

[MESSMER 33.1]

La transferencia síncrona Permite mayores velocidades de transmisión

Permite que el receptor pueda interactuar con emisores de frecuencia de reloj variada siempre que no sobrepasen su frecuencia máxima

Permite interconectar una menor variabilidad de dispositivos, ya que emisor y receptor deben cumplir con el mismo protocolo de transmisión

La transferencia asíncrona Es más lenta debido a que hay que transmitir información adicional

a través de la línea

Exige que emisor y receptor trabajen a la misma frecuencia de reloj, pues el receptor muestrea la línea periódicamente

Permite interconectar una mayor variabilidad de dispositivos

Page 38: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

38

Bits de paridadBits de paridad

[MESSMER 33.1]

Casi todos los puertos serie soportan la generación y comprobación de bits de paridad a nivel hardware El método más simple permite detectar errores en un solo bit Métodos más complejos permiten detectar errores en varios

bits e incluso corregir algunos de ellos, pero a costa de tardar más en generar el SDU e introducir más información adicional

Se utilizan cinco tipos de paridad distintos Sin paridad: no se inserta información de paridad en el SDU Paridad par: se inserta un bit de paridad tal que el número de 1s sea par Paridad impar: se inserta un bit de paridad tal que el número de 1s sea impar Marca (mark): el bit de paridad es siempre 1 Espacio (space): el bit de paridad es siempre 0

Page 39: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

39

Velocidad de transferencia: baudiosVelocidad de transferencia: baudios

[MESSMER 33.1]

El baudio es una unidad que mide el número de cambios por segundo que se producen en una señal

En un puerto serie estándar, los baudios indican el número de bits transmitidos por segundo Los cambios de una señal se limitan a los valores 0 y 1 Estos cambios se producen con una frecuencia regular Los bits de comienzo, fin y paridad se consideran bits

transmitidos a efectos de medir la velocidad

Si las condiciones no son éstas, el número de bits por segundo no coincidirá con los baudios

Page 40: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

40

Ejemplo: 2400 baudios transmisión asíncrona 7 bits de datos + 1 de paridad

SerializaciónSerialización

[MESSMER 33.1]

Antes de realizar una transferencia a través de un puerto serie, el emisor y el receptor deben acordar el formato de transmisión Número de bits de datos Tipo de paridad Velocidad de

transmisión

Page 41: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

41

SerializaciónSerialización

[MESSMER 33.1]

La línea de comunicación se mantiene a un valor determinado cuando no se utiliza (en el ejemplo: 1) El bit de comienzo debe tener

el valor contrario para que pueda ser detectado

El bit de final tendrá el mismo valor

Ejemplo: 2400 baudios transmisión asíncrona 7 bits de datos + 1 de paridad

Page 42: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

42

Serialización: transmisión de un datoSerialización: transmisión de un dato

[MESSMER 33.1]

Dado un dato, la circuitería SDU coloca el bit de comienzo, calcula la paridad, añade los bits correspondientes y coloca el bit de final

El SDU generado se almacena en un registro de desplazamiento que actúa de acuerdo con una señal de reloj interna

Page 43: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

43

Serialización: recepción de un datoSerialización: recepción de un dato

[MESSMER 33.1]

Cuando se recibe el bit de comienzo, un registro de desplazamiento recompone el dato a partir de los bits recibidos siguiendo el ritmo del reloj interno

Una vez que el dato completo está disponible, la circuitería SDU obtiene los bits de datos y comprueba los bits de paridad

Page 44: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

44

Serialización: errores de transmisiónSerialización: errores de transmisión

[MESSMER 33.1]

Durante la transmisión de un SDU pueden darse diversos tipos de errores Error de estructura (frame): si el receptor detecta un bit de final

incorrecto significa que el SDU no se ha ajustado a la estructura pactada al inicio de la transmisión

Error de rotura (break): si el receptor detecta que la línea está a un valor distinto del por defecto durante más tiempo que la duración de un SDU significa que la conexión se ha roto

Error de sobrescritura (overrun): si los datos llegan demasiado rápido, un SDU recompuesto pero no leído puede ser sobrescrito por un SDU posterior

Error de paridad (parity): si ninguno de los errores anteriores ha ocurrido, el SDU ha llegado correctamente; sin embargo, todavía es necesario comprobar la paridad, que podría ser incorrecta por problemas en la línea o por una configuración errónea del tipo de paridad

Page 45: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

45

La interfaz RS232CLa interfaz RS232C

[MESSMER 33.2]

La mayoría de las transferencias seriales realizadas en los computadores modernos se realizan cumpliendo con el estándar RS232C

Este estándar define la interfaz entre dos equipos a nivel mecánico, eléctrico y lógico: Equipo terminal de datos (DTE – Data Terminal equipment) Equipo de transmisión de datos (DCE – Data Carrier Equipment) La comunicación física entre dos DTE (ej. PCs) se realizará

por medio de sus correspondientes DCE (ej. módems)

Page 46: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

46

La interfaz RS232CLa interfaz RS232C

[MESSMER 33.2]

El estándar RS232C define 25 líneas entre DTE y DCE, por lo que los conectores deberían tener 25 pins

El típico uso de este protocolo en los computadores actuales es el intercambio asíncrono de datos en serie Sólo 11 señales son necesarias para este propósito El resto (la mayoría) están reservadas para los intercambios

síncronos, aunque es un tema en el que no entraremos El conector usado habitualmente tiene sólo 9 pins,

perdiéndose con ello una línea de tierra y la señal DSRD

Page 47: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

47

La interfaz RS232CLa interfaz RS232C

[MESSMER 33.2]

Page 48: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

48

La interfaz RS232CLa interfaz RS232C

[MESSMER 33.2]

La transferencia entre DTE y DCE está controlada por cinco señales Establecimiento de conexión

▫ DTR (data terminal ready): el DTE activa esta señal para indicar que se encuentra preparado para enviar datos

▫ DSR (data set ready): el DCE activa esta señal para indicar que se encuentra preparado para recibir datos

▫ DCD (data carrier detect): el DCE activa esta señal para indicar que está conectado con el DCE remoto que recibirá la transmisión

Transferencia de datos (inútiles sin establecer la conexión)▫ RTS (request to send): el DTE solicita al DCE que se

prepare para una transferencia de datos

▫ CTS (clear to send): el DCE indica al DTE que está listo para recibir la transferencia de datos

Page 49: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

49

La interfaz RS232CLa interfaz RS232C

[MESSMER 33.2]

Las otras cuatro señales también tienen una función relacionada con transferencias DTE – DCE TD (transmitted data): datos transmitidos RD (received data): datos recibidos RI (ring indicator): el DCE activa esta señal,

independientemente de que se haya o no establecido una conexión, para indicarle al DTE que un DCE remoto desea realizar una transmisión

DSRD (data signal rate detector – sólo 25-pin): esta señal bidireccional permite tanto al DTE como al DCE cambiar la velocidad de transmisión (baudios)

Page 50: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

50

Tipos de conexión RS232CTipos de conexión RS232C

[MESSMER 33.2]

El protocolo RS232C permite establecer tres tipos distintos de conexión: Simplex: unidireccional Half-duplex: bidireccional por turnos Full-duplex: bidireccional simultánea

Cada uno de estos tres tipos de conexión difiere de los demás en el uso que realiza de las líneas Transmisión: TD y RD Establecimiento de conexión: DTR, DSR, DCD y RI Transferencia de datos: RTS y CTS

Page 51: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

51

Tipos de conexión RS232C: simplexTipos de conexión RS232C: simplex

[MESSMER 33.2]

Cuando la transferencia de datos se realiza desde el DTE al DCE las líneas se usan de la siguiente forma: TD: el DTE la usa para enviar datos al DCE RD: no se usa

DTR: el DTE la usa para indicar que transmitirá datos DSR: el DCE la usa para responder (o la tiene siempre activa) DCD: el DCE la mantiene inactiva, no recibe del exterior RI: en general, no tiene sentido (hay excepciones)

RTS: el DCE la ignora (o el DTE la mantiene activa) CTS: el DTE la ignora (o el DCE la mantiene activa)

Page 52: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

52

Tipos de conexión RS232C: simplexTipos de conexión RS232C: simplex

[MESSMER 33.2]

Cuando la transferencia de datos se realiza desde el DCE al DTE las líneas se usan de la siguiente forma: TD: no se usa RD: el DCE la usa para enviar datos al DTE

DCD: el DCE indica transmisión entrante al DTE DSR: el DCE está listo para trasmitir (o siempre activa) DTR: el DTE la usa para indicar que está listo para recibir RI: permite al dispositivo externo llamar al DTE (vía DCE)

RTS: el DCE la ignora (o el DTE la mantiene activa) CTS: el DTE la ignora (o el DCE la mantiene activa)

Page 53: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

53

Tipos de conexión RS232C: half-duplexTipos de conexión RS232C: half-duplex

[MESSMER 33.2]

En una conexión half-duplex, tanto el DTE como el DCE pueden actuar como emisor y como receptor, pero sólo uno a la vez Por TD se transmiten datos y por RD se reciben datos,

pero de una forma estrictamente ordenada El DTE indica que está listo usando la señal DTR,

mientras que el DCE hace lo propio con DSR Cuando un DTE desea transmitir activa RTS y espera a que

el correspondiente DCE confirme la conexión usando CTS La conexión puede cambiar de dirección

de nuevo por medio de RTS y CTS La señal RI es importante para que el DTE detecte

que un dispositivo externo desea contactar con él

Page 54: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

54

Tipos de conexión RS232C: full-duplexTipos de conexión RS232C: full-duplex

[MESSMER 33.2]

El uso más generalizado de este protocolo es el full-duplex, que permite transferir datos en ambas direcciones al mismo tiempo Dos conexiones físicas separadas Una conexión física pero dos canales lógicos

Es importante que los extremos de la comunicación no tengan que esperar a que el otro habilite la conexión RI indica que un dispositivo externo desea conectar El DTE confirma que está listo con DTR El DCE responde con DSR (o está siempre activa) RTS y CTS no se usan o permanecen siempre activas

Page 55: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

55

Tipos de conexión RS232C: full-duplexTipos de conexión RS232C: full-duplex

[MESSMER 33.2]

El estado normal de las señales en una conexión RS232C full-duplex es el siguiente

Page 56: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

56

Tipos de conexión RS232C: full-duplexTipos de conexión RS232C: full-duplex

[MESSMER 33.2]

Cuando el DCE recibe una comunicación del exterior activa la señal RI para comunicárselo al DTE

Page 57: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

57

Tipos de conexión RS232C: full-duplexTipos de conexión RS232C: full-duplex

[MESSMER 33.2]

El DTE detecta RI y contesta activando DTR para indicar que está listo para la conexión

Page 58: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

58

Tipos de conexión RS232C: full-duplexTipos de conexión RS232C: full-duplex

[MESSMER 33.2]

Una vez que el módem ha completado los preparativos, activa DSR para indicarlo

Page 59: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

59

Tipos de conexión RS232C: full-duplexTipos de conexión RS232C: full-duplex

[MESSMER 33.2]

Ahora que la conexión se ha establecido, el DCE activa la señal DCD para indicárselo al DTE

Page 60: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

60

Tipos de conexión RS232C: full-duplexTipos de conexión RS232C: full-duplex

[MESSMER 33.2]

Opcionalmente, el DTE activa RTS para enviar datos y el DCE lo reconoce con CTS; ambas permanecen activas

Page 61: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

61

Tipos de conexión RS232C: full-duplexTipos de conexión RS232C: full-duplex

[MESSMER 33.2]

La transferencia de datos bidireccional continuará mientras las señales DTR, DSR y DCD estén activas

Page 62: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

62

RS232C: conexión con una impresoraRS232C: conexión con una impresora

[MESSMER 33.3]

Es posible conectar una impresora a un computador a través del puerto serie RS232C

En esta conexión no existe un DCE, por lo que el significado de las señales cambia ostensiblemente

Page 63: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

63

RS232C: conexión con una impresoraRS232C: conexión con una impresora

[MESSMER 33.3]

El computador no usa las señales DCD y RI, dado que la impresora no puede llamarle

La línea TD del computador se conecta a la línea RD de la impresora para transmitir los datos

Page 64: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

64

RS232C: conexión con una impresoraRS232C: conexión con una impresora

[MESSMER 33.3]

La RTS del computador se conecta a la CTS para que las peticiones de transmisión se habiliten directamente

Las líneas de la impresora se puentean para que DSR, DCD y CTS estén activas durante la comunicación

Page 65: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

65

RS232C: conexión con una impresoraRS232C: conexión con una impresora

[MESSMER 33.3]

El computador es más rápido que la impresora Se toma un pin no usado (ej. 19) en el lado de la impresora

▫ Se le da el significado de “buffer de impresora lleno”

▫ Hay un problema de compatibilidad: pueden usarse pins distintos

Se conecta esta señal a la entrada DSR del computador

Page 66: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

66

RS232C: conexión entre computadoresRS232C: conexión entre computadores

[MESSMER 33.3]

La conexión directa no es posible Los dos dispositivos son DTEs Los dos conectores son iguales y las señales coinciden

La solución es el esquema denominado módem nulo

Page 67: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

67

RS232C: conexión entre computadoresRS232C: conexión entre computadores

[MESSMER 33.3]

La TD de cada DTE se conecta con la RD del otro La entrada de datos de un DTE es la salida de datos del otro Esto simula la tarea que normalmente realizarían los DCEs,

los cuales no existen en este tipo de conexión

Page 68: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

68

RS232C: conexión entre computadoresRS232C: conexión entre computadores

[MESSMER 33.3]

La señal DTR de cada DTE se utiliza para solicitar la conexión al otro, simulando la presencia de un DCE Activa la señal RI del otro DTE Activa la señal DSR del otro DTE

Page 69: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

69

RS232C: conexión entre computadoresRS232C: conexión entre computadores

[MESSMER 33.3]

La señal RTS de cada DTE tiene dos funciones que, de nuevo, simulan la presencia de los DCEs Activa su propia CTS para habilitar la transmisión Activa la DCD del otro para avisarle de la transmisión

Page 70: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

70

UART 8250UART 8250

[MESSMER 33.6]

El circuito que se encarga de las tareas complejas de un puerto serie es denominado UART (Universal Asynchronous Receiver and Transmitter)

Una UART es un emisor/receptor programable para transmisiones asíncronas cuyas funciones son: Conversión serie-paralelo: recibir transmisiones

serie y restituir los datos a su forma original Conversión paralelo-serie: serializar datos internos del

computador para transmitirlos a través de una línea serie

Page 71: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

71

UART 8250UART 8250

[MESSMER 33.6]

Los PCs actuales utilizan el chip 8250 como UART Encapsulado con 40 pins Bus de datos de 8 bits Su sucesor, el chip 16450,

mantiene la compatibilidad pero permite mayores velocidades de transmisión

Una versión posterior, el chip 16550, incorpora un buffer FIFO para los datos entrantes/salientes que permite compensar mejor las diferencias de velocidad

Page 72: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

72

UART 8250UART 8250

[MESSMER 33.6]

El control de emisión toma el dato almacenado en el registro de emisión Se incorporan los

bits de comienzo, fin y paridad

Un registro de desplazamiento permite serializar el dato para su transmisión

Solo el chip 16550 implementa la funcionalidad FIFO

Page 73: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

73

UART 8250UART 8250

[MESSMER 33.6]

El control de recepción detecta y separa los bits de comienzo, de fin y de paridad Un registro de

desplazamiento va almacenando los bits de datos y, cuando el dato está completo, se pasa al registro de recepción

Solo el chip 16550 implementa la funcionalidad FIFO

Page 74: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

74

UART 8250UART 8250

[MESSMER 33.6]

La frecuencia de referencia proviene de un oscilador externo y se divide por el contenido del registro divisor La velocidad de

emisión condiciona el funcionamiento del control de emisión (salida BAUDOUT)

El control de recepción también tiene en cuenta la velocidad del dispositivo al otro lado de la conexión (entrada RCLK)

Page 75: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

75

UART 8250UART 8250

[MESSMER 33.6]

La frecuencia de referencia proviene de un oscilador externo y se divide por el contenido del registro divisor El registro divisor

permite configurar la UART para operar a distintas velocidades

Es frecuente que la salida BAUDOUT se conecte a la entrada RCLK para garantizar con ello que emisor y receptor operen a la misma velocidad

Page 76: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

76

UART 8250UART 8250

[MESSMER 33.6]

El registro divisor debe contener el valor adecuado para obtener la velocidad deseada a partir de la frecuencia de referencia

En realidad se multiplica el divisor por 16 para muestrear un mismo bit varias veces y reducir el efecto de posibles distorsiones

divisor * 16

frecuencia_referenciavelocidad_deseada =

Page 77: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

77

UART 8250UART 8250

[MESSMER 33.6]

La lógica de control del módem se encarga de gestionar las señales del protocolo RS232C Sin y Sout se

corresponden con RD y TD

DTR, DSR, DCD, RTS, CTS y RI implementan las señales de control del protocolo

Page 78: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

78

UART 8250UART 8250

[MESSMER 33.6]

La lógica de control de interrupciones se encarga de generar una interrupción cuando sea necesario Detecta cambios en

las líneas del protocolo y en los registros de emisión y recepción, así como posibles errores de transmisión

Genera una interrupción, comprobando el registro máscara, y almacenando su causa en el registro de identificación

Page 79: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

79

UART 8250UART 8250

[MESSMER 33.6]

En total, el chip 8250 tiene 11 registros internos Las tres líneas de dirección permiten seleccionar ocho Las operaciones de lectura/escritura acceden a uno distinto El bit DLAB permite seleccionar el registro divisor

Page 80: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

80

UART 8250UART 8250

[MESSMER 33.6]

Todos los registros están conectados Entre sí por medio de un bus interno Con el computador por medio de la interfaz externa

▫ Pueden ser direccionados (direcciones sucesivas desde la base)

▫ Pueden ser leídos y escritos

Page 81: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

81

UART 8250UART 8250

[MESSMER 33.6]

Diez de los registros actúan como registros de control y/o registros de estado

El undécimo ( scratch-pad ) no tiene funcionalidad Almacenamiento temporal Sólo presente en los chips 16450 y 16550

Page 82: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

82

Estructura del temaEstructura del tema

Introducción Interfaces punto-a-punto

El puerto paralelo del PC – Centronics El puerto serie del PC – RS232C El bus serie universal: USB

Interfaces multipunto El bus serie FireWire InfiniBand

Page 83: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

83

USBUSB

El USB (Universal Serial Bus) se creó para unificar la gran variedad de conectores serie que existían Facilmente configurable

▫ Permite la conexión en caliente (plug and play)

▫ El SO detecta la conexión y desconexión de dispositivos

▫ El SO identifica los dispositivos conectados y los configura

Facilmente ampliable▫ Pueden conectarse tipos muy distintos de dispositivos

▪ Síncronos/asíncronos

▪ Diferentes velocidades de transferencia

▫ Se reduce el número de puertos necesarios▪ Hasta 127 dispositivos pueden conectarse en un mismo puerto

▪ El propio puerto puede proporcionar alimentación a los dispositivos

[MESSMER 35]

Page 84: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

84

USB: estructuraUSB: estructura

El bus USB tiene una estructura estratificada con forma de árbol La conexión de los dispositivos

sigue un esquema encadenado (hardware polling)

La gestión del bus es centralizada y se realiza desde el controlador integrado en el computador (host)

Cada dispositivo USB tiene su propia dirección en el sistema▫ El controlador inicia todas las actividades y se comunica

con el computador por medio de interrupciones

▫ Ningún dispositivo USB puede iniciar una transacción por sí mismo para evitar sobrescribir datos presentes en el bus

[MESSMER 35]

Page 85: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

85

USB: estructuraUSB: estructura

El host también actúa como un distribuidor (hub) que permite la conexión de varios dispositivos USB (nodos) Se reduce el número de

conexiones necesarias Se reduce la cantidad de

recursos del computador ocupados (canales E/S, canales DMA, interrupciones…)

Se pueden añadir hubs adicionales para ampliar la estructura del sistema y permitir la conexión de un mayor número de dispositivos (hasta 127)

[MESSMER 35]

Page 86: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

86

USB: hubUSB: hub

La principal funcionalidad de un hub es extender el sistema proporcionando nuevos puertos de conexión

Cada hub proporciona un puerto de conexión con el host (upstream) y varios puertos de conexión con dispositivos u otros hubs (downstream)

Al igual que cualquier otro dispositivo USB, un hub debe ser configurado, recibiendo su propia dirección

[MESSMER 35]

Page 87: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

87

USB: hubUSB: hub

Un hub USB no es sólo un distribuidor de datos, también dispone de cierta inteligencia Repetidor: distribuye el tráfico entre el host (puerto

upstream) y los dispostivisos USB (puertos downstream) Controlador: se encarga

de regular el tráfico de datos de acuerdo con los dispositivos USB conectados

El controlador del hub proporciona la interfaz de configuración al exterior

[MESSMER 35]

Page 88: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

88

USB: conectoresUSB: conectores

Existen dos tipos de conectores USB La serie A se

utiliza para realizar conexiones hacia el host

La serie B se utiliza para realizar conexiones hacia un dispositivo

[MESSMER 35.1]

Page 89: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

89

USB: cablesUSB: cables

El cable USB contiene solo cuatro líneas GND: tierra VBus: alimentación (no es suficiente para algunos dispositivos) D+ D–: líneas diferenciales de transmisión

La longitud máxima del cable es de 5 metros y su ancho de banda máximo es 60 Mbytes (USB 2.0)

[MESSMER 35.1]

Pin 1 VBus rojo

Pin 2 D– blanco

Pin 3 D+ verde

Pin 4 GND negro

Page 90: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

90

USB: cablesUSB: cables

Los datos se transmiten en serie por las línea D+ D– No hay una señal de reloj

La sincronización se obtiene a partir de los propios datos utilizando condificación NRZI (Non Return to Zero Inverted)

▫ Un uno se representa manteniendo el nivel de voltaje

▫ Cada vez que aparece un cero se cambia la polaridad

Si aparecen seis unos seguidos se inserta un cero (bit-stuffing) para forzar cambios de polaridad frecuentes y evitar, con ello, pérdidas de sincronización

[MESSMER 35.1]

Page 91: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

91

USB: transmisión de datosUSB: transmisión de datos

Las transferencias de datos se realizan estableciendo canales de comunicación virtuales (pipes) Los canales son creados por el host Cada canal ocupa parte del ancho de banda disponible

Los canales terminan en un punto de final Cada dispositivo puede soportar varios puntos de final

y, por tanto, varios canales distintos La prioridad de los dispositivos viene dada por la

conexión en cadena

[MESSMER 35.2]

Page 92: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

92

USB: transmisión de datosUSB: transmisión de datos

Cuando se conecta un dispositivo, el canal de control por defecto se establece con el punto de final 0

Durante la inicialización, el host determina: El formato de datos que soporta

el dispositivo conectado El tipo de dispositivo y la

dirección de la transferencia Los requerimientos de frecuencia

y latencia de bus El ancho de banda necesario El tamaño máximo de los paquetes

Finalizado este proceso, el host asigna una dirección al dispositivo

[MESSMER 35.2]

Page 93: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

93

USB: transmisión de datosUSB: transmisión de datos

Las transmisiones se dividen en tramas de tiempo (frame) Durante las tramas se producen transacciones

compuestas por paquetes Existen tres tipos de paquetes:

▫ Inicialización (token)▫ Datos (data)▫ Protocolo (handshake)

Cada paquete comienza con un campo de sincronización (SYNC) que maximiza el número de transiciones en la línea

El tipo de paquete se diferencia con un identificador (PID)

[MESSMER 35.2]

Page 94: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

94

USB: transmisión de datosUSB: transmisión de datos

Podemos distinguir dos tipos distintos de canales

Los canales de mensaje tienen un formato concreto El esquema que siguen es: Petición – Dato – Estado Cada petición debe ser completamente resuelta antes

de pasar a la siguiente Implican un movimiento de datos bidireccional

Los canales de flujo (stream) no tienen un formato Los datos se envían de forma secuencial El movimiento de datos es unidireccional

[MESSMER 35.2]

Page 95: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

95

USB: transmisión de datosUSB: transmisión de datos

Se definen 4 tipos posibles de transferencias

Control (canal mensaje): utilizadas para configurar los dispositivos que se conectan Se garantiza la correcta emisión/recepción de datos No se garantiza la latencia o el ancho de banda

Masivas (canal flujo): transferencias esporádicas de grandes cantidades de datos que pueden esperar (impresoras, escáners…) Se garantiza la correcta emisión/recepción de datos No se garantiza la latencia o el ancho de banda

[MESSMER 35.2]

Page 96: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

96

USB: transmisión de datosUSB: transmisión de datos

Se definen 4 tipos posibles de transferencias

Por interrupciones (canal flujo): transferencias esporádicas de pocos datos que requieren atención inmediata (teclado, ratón…) Se garantiza la correcta emisión/recepción de datos Se garantiza la latencia y el ancho de banda

Alta velocidad (canal flujo): grandes cantidades de información que se transmiten de forma continua (audio/video en tiempo real…) No se garantiza la correcta emisión/recepción de datos Se garantiza una latencia y un ancho de banda constante

[MESSMER 35.2]

Page 97: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

97

Estructura del temaEstructura del tema

Introducción Interfaces punto-a-punto

El puerto paralelo del PC – Centronics El puerto serie del PC – RS232C El bus serie universal: USB

Interfaces multipunto El bus serie FireWire InfiniBand

Page 98: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

98

FireWireFireWire

[STALLINGS 7.7]

La mejora del rendimiento de los procesadores ha generado un gran aumento en las necesidades de E/S de los PCs

El uso de procesadores específicos de E/S es prohibitivamente caro para sistemas pequeños

Además, los PCs son cada vez más pequeños (portátiles…) por lo que no solo tienen mayores necesidades de E/S, sino que también disponen de menos espacio para conectores

Page 99: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

99

FireWireFireWire

[STALLINGS 7.7]

El bus serie de altas prestaciones FireWire, definido por el estándar IEEE 1394, es la alternativa planteada para esta situación

Su objetivo es proporcionar una única interfaz de E/S con un conector sencillo que permita manejar diversos dispositivos a través de un único puerto

Por ejemplo, un único puerto FireWire puede reemplazar los conectores del ratón, la impresora, la red, el disco externo, etc…

Page 100: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

100

Ventajas de FireWireVentajas de FireWire

[STALLINGS 7.7]

Al ser un bus serie, FireWire presenta las ventajas tradicionales de la transmisión en serie: Menos líneas Líneas más estrechas y más baratas Conectores más estrechos y más baratos No se necesita protección para evitar

interferencias entre líneas No se necesita sincronización entre líneas,

por lo que el cable puede ser más largo sin que surjan problemas

Page 101: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

101

Ventajas de FireWireVentajas de FireWire

[STALLINGS 7.7]

Además, FireWire presenta tres ventajas importantes: Es fácil de implementar Su implementación tiene un bajo costo Alcanza una velocidad muy alta

Debido a estas ventajas, se utiliza no sólo en PCs sino también en dispositivos que usan el bus para transmitir vídeo que procede, cada vez con más frecuencia, de fuentes digitalizadas (cámaras, VCR, TV…)

Page 102: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

102

Configuración de FireWireConfiguración de FireWire

[STALLINGS 7.7]

Los periféricos conectados a FireWire siguen un esquema de conexión en cadena (hardware polling)

El sistema soporta tantos periféricos como sea necesario Hasta 63 dispositivos conectados con un puerto Hasta 1022 buses FireWire conectados por medio de

adaptadores (bridge)

Page 103: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

103

Configuración de FireWireConfiguración de FireWire

[STALLINGS 7.7]

No se trata de una conexión en cadena estricta Estructura en árbol (la conexión lineal es un caso particular) No hay terminadores

FireWire soporta conexión rápida: permite conectar y desconectar periféricos sin reconfigurar el sistema

Page 104: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

104

Configuración de FireWireConfiguración de FireWire

[STALLINGS 7.7]

FireWire soporta configuración rápida No es necesario fijar manualmente los identificadores

de dispositivo o tener en cuenta la posición relativa de los dispositivos

El sistema realiza automáticamente la configuración para asignar las direcciones

Page 105: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

105

Protocolo FireWireProtocolo FireWire

[STALLINGS 7.7]

FireWire especifica un conjunto de protocolos de tres capas para estandarizar la forma en que el computador anfitrión interactúa con los periféricos a través del bus serie Capa física:

define los medios de transmisión permitidos y las señales y características eléctricas de cada uno

Page 106: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

106

Protocolo FireWireProtocolo FireWire

[STALLINGS 7.7]

FireWire especifica un conjunto de protocolos de tres capas para estandarizar la forma en que el computador anfitrión interactúa con los periféricos a través del bus serie Capa de enlace:

describe la transmisión de datos por medio de paquetes

Page 107: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

107

Protocolo FireWireProtocolo FireWire

[STALLINGS 7.7]

FireWire especifica un conjunto de protocolos de tres capas para estandarizar la forma en que el computador anfitrión interactúa con los periféricos a través del bus serie Capa de transacción:

define un protocolo solicitud-respuesta que oculta a las aplicaciones los detalles de las capas inferiores

Page 108: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

108

Protocolo FireWire: capa físicaProtocolo FireWire: capa física

[STALLINGS 7.7]

La capa física FireWire transforma los datos binarios en las señales eléctricas necesarias para diversos medios físicos Define velocidades de transmisión Especifica distintos medios de transmisión alternativos

▫ Conectores

▫ Propiedades físicas y de transmisión

La capa física proporciona también el servicio de arbitraje que garantiza que sólo un dispositivo transmitirá datos por el bus en cada momento

Page 109: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

109

Protocolo FireWire: arbitrajeProtocolo FireWire: arbitraje

[STALLINGS 7.7]

La forma más simple de arbitraje se basa en la estructura tipo árbol de los nodos del bus La capa física incluye la lógica que permite que todos

los dispositivos conectados se configuren para que:▫ Un nodo sea designado como raíz del árbol

▫ Los otros nodos se organicen mediante relaciones padre-hijo

El nodo raíz actúa como un árbitro central y procesa las solicitudes de acceso al bus

▫ Primero en llegar, primero en atenderse

▫ En caso de solicitudes simultáneas se cede el acceso al nodo de mayor prioridad natural

▪ La prioridad es mayor para los nodos más cercanos a la raíz

▪ A igual distancia, tiene prioridad aquel con el identificador menor

Page 110: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

110

Protocolo FireWire: arbitrajeProtocolo FireWire: arbitraje

[STALLINGS 7.7]

Por lo general, FireWire sigue una política de arbitraje equitativo para evitar que uno o más dispositivos de prioridad alta monopolicen el bus El tiempo de bus se organiza en intervalos de equidad Al comienzo de un intervalo, cada nodo activa un bit de

autorización de arbitraje Durante el intervalo, cada nodo con el bit de autorización de

arbitraje activo puede competir por el acceso al bus Cuando un nodo gana el acceso al bus desactiva su bit

de autorización de arbitraje, por lo que no puede volver a competir por el acceso al bus durante el intervalo actual

Page 111: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

111

Protocolo FireWire: arbitrajeProtocolo FireWire: arbitraje

[STALLINGS 7.7]

El arbitraje equitativo se complementa con una política de arbitraje urgente Algunos dispositivos se pueden configurar para que

tengan prioridad urgente Estos dispositivos pueden ganar el acceso al bus varias

veces durante un mismo intervalo de equidad El número de accesos por parte de dispositivos de prioridad

urgente se controla y limita de forma que, como máximo, hagan uso del 75% del tiempo de bus durante un intervalo

En otras palabras, por cada paquete no urgente se pueden transmitir hasta tres paquetes urgentes

Page 112: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

112

Protocolo FireWire: capa de enlaceProtocolo FireWire: capa de enlace

[STALLINGS 7.7]

La capa de enlace FireWire define la transmisión de los datos en forma de paquetes

Se permiten dos tipos de transmisión Asíncrona

▫ Se transmite un único paquete de tamaño variable

▫ La transmisión se realiza a una dirección específica

▫ Se devuelve información de reconocimiento

Isócrona▫ Se transmite una secuencia de paquetes de tamaño fijo

▫ Los paquetes se transmiten a intervalos regulares

▫ Se utiliza un direccionamiento simplificado y no hay reconocimiento

Page 113: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

113

Protocolo FireWire: transacciones asíncronasProtocolo FireWire: transacciones asíncronas

[STALLINGS 7.7]

La transmisión asíncrona se utiliza para datos que no necesitan una velocidad de transferencia fija Por defecto se usa el arbitraje equitativo Los dispositivos que necesitan más capacidad de bus o son

exigentes con los retardos pueden usar arbitraje urgente

En una transacción asíncrona típica, el proceso de enviar un paquete se denomina subacción

Page 114: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

114

Protocolo FireWire: transacciones asíncronasProtocolo FireWire: transacciones asíncronas

[STALLINGS 7.7]

Una subacción consta de cinco periodos de tiempo1. Secuencia de arbitraje: es el intercambio de señales

necesario para ceder el control del bus a un dispositivo

2. Transmisión de paquete▫ Cabecera: incluida en todos los paquetes

▪ Identificadores de la fuente y el destino

▪ Tipo de paquete y parámetros específicos

▪ Código de redundancia cíclica (CRC)

▫ Bloque de datos: es opcional e incluye otro código CRC

Page 115: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

115

Protocolo FireWire: transacciones asíncronasProtocolo FireWire: transacciones asíncronas

[STALLINGS 7.7]

Una subacción consta de cinco periodos de tiempo3. Intervalo de reconocimiento: retardo necesario para que

el destino reciba un paquete y genere el reconocimiento

4. Reconocimiento: el receptor devuelve un paquete de reconocimiento con un código que indica la acción realizada por el receptor

5. Intervalo de subacción: periodo forzoso de inactividad para asegurar que ningún dispositivo empiece el arbitraje antes de que el paquete de reconocimiento se haya transmitido

Page 116: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

116

Protocolo FireWire: transacciones asíncronasProtocolo FireWire: transacciones asíncronas

[STALLINGS 7.7]

En el momento en el que se envía un reconocimiento, el nodo que lo envía tiene el control del bus

Dado que el intercambio es una interacción petición-respuesta, el nodo que responde puede transmitir inmediatamente el paquete de respuesta sin tener que realizar una secuencia de arbitraje

Page 117: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

117

Protocolo FireWire: transacciones isócronasProtocolo FireWire: transacciones isócronas

[STALLINGS 7.7]

La transmisión isócrona se utiliza con los dispositivos que generan o consumen datos de manera regular (sonido o video digital…)

Este método asegura que los datos pueden generarse dentro de unos intervalos especificados para garantizar cierta velocidad

Page 118: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

118

Protocolo FireWire: transacciones isócronasProtocolo FireWire: transacciones isócronas

[STALLINGS 7.7]

Los paquetes isócronos se etiquetan con números de canal de 8 bits que se asignan previamente mediante un diálogo entre los dos nodos que intercambian datos

La cabecera de los paquetes isócronos es más corta que la de los paquetes asíncronos e incluye Un campo de longitud de datos Un código CRC para la cabecera

Page 119: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

119

Protocolo FireWire: transacciones isócronasProtocolo FireWire: transacciones isócronas

[STALLINGS 7.7]

Para permitir una carga mixta de tráfico de datos isócronos y asíncronos, uno de los dispositivos debe designarse como maestro de ciclo Periódicamente, el maestro genera un paquete de comienzo

de ciclo para indicar a los otros dispositivos el comienzo de un ciclo isócrono

Durante este ciclo sólo se pueden enviar paquetes isócronos Las distintas fuentes isócronas conectadas compiten

por el acceso al bus y el ganador transmite un paquete

Page 120: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

120

Protocolo FireWire: transacciones isócronasProtocolo FireWire: transacciones isócronas

[STALLINGS 7.7]

Para permitir una carga mixta de tráfico de datos isócronos y asíncronos, uno de los dispositivos debe designarse como maestro de ciclo No existe reconocimiento para los paquetes enviados, por lo

que las otras fuentes isócronas compiten por el acceso al bus inmediatamente después de la transmisión del paquete

Debido a esto, hay un pequeño intervalo, determinado por los retardos del bus, entre la transmisión de un paquete y el periodo de arbitraje del siguiente (intervalo isócrono)

Page 121: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

121

Protocolo FireWire: transacciones isócronasProtocolo FireWire: transacciones isócronas

[STALLINGS 7.7]

Para permitir una carga mixta de tráfico de datos isócronos y asíncronos, uno de los dispositivos debe designarse como maestro de ciclo El intervalo isócrono será siempre menor que el de subacción Una vez que todas las fuentes isócronas han transmitido, el

bus permanecerá inactivo el tiempo suficiente para que se produzca un intervalo de subacción

Esta es la señal para que las fuentes asíncronas compitan por acceder al bus hasta que comience el siguiente ciclo isócrono

Page 122: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

122

Estructura del temaEstructura del tema

Introducción Interfaces punto-a-punto

El puerto paralelo del PC – Centronics El puerto serie del PC – RS232C El bus serie universal: USB

Interfaces multipunto El bus serie FireWire InfiniBand

Page 123: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

123

InfiniBandInfiniBand

[STALLINGS 7.7]

InfiniBand es una especificación de E/S orientada a los servidores de gama alta que tenía por objetivo sustituir a PCI en ese mercado Más capacidad Más posibilidades de expansión Más flexibilidad para el diseño de equipos

El estándar InfiniBand describe la arquitectura y las especificaciones para el flujo de datos entre procesadores y dispositivos de E/S inteligentes

Page 124: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

124

InfiniBandInfiniBand

[STALLINGS 7.7]

InfiniBand permite que servidores, equipos de almacenamiento remoto y otros dispositivos de red se puedan conectar a través de un sistema de conmutadores (switch fabric) y enlaces Esta arquitectura puede conectar hasta 64000 dispositivos No es necesario que el hardware de interfaz de E/S se

encuentre dentro del chasis del servidor▫ Los servidores pueden hacerse más compactos

▫ Aumenta la flexibilidad y escalabilidad de los centros de cálculo

La velocidad de transmisión puede alcanzar los 30Gbps y la distancia entre dispositivos puede ser incluso de kilómetros

Page 125: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

125

InfiniBand: arquitecturaInfiniBand: arquitectura

[STALLINGS 7.7]

En lugar de un conjunto de ranuras PCI, un servidor necesita una interfaz con un HCA (Host Channel Adapter) que conecta el servidor a un conmutador InfiniBand

El HCA se conecta al servidor a través de un controlador de memoria

El HCA lee y escribe en memoria por medio de DMA

Page 126: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

126

InfiniBand: arquitecturaInfiniBand: arquitectura

[STALLINGS 7.7]

El controlador de memoria gestiona el bus del sistema Controla el tráfico entre el procesador y la memoria Controla el tráfico entre el HCA y la memoria

Los sistemas de almacenamiento y el resto de dispositivos se conectan a un conmutador InfiniBand por medio de un TCA (Target

Channel Adapter)

Page 127: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

127

InfiniBand: arquitecturaInfiniBand: arquitectura

[STALLINGS 7.7]

Los adaptadores HCA y TCA son dispositivos inteligentes que gestionan todas las funciones de E/S sin necesidad de interrumpir al procesador del servidor

Los servidores y los dispositivos se comunican con el conmutador de InfiniBand a través de ellos

Para añadir nuevos dispositivos al sistema basta con conectar sus adaptadores al conmutador

Page 128: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

128

InfiniBand: arquitecturaInfiniBand: arquitectura

[STALLINGS 7.7]

El conmutador InfiniBand proporciona conexiones físicas punto-a-punto a un conjunto diverso de dispositivos y conmuta el tráfico entre enlaces

La lógica del conmutador gestiona las comunicaciones sin interrumpir a los servidores

La detección de nuevos dispositivos y la asignación de direcciones lógicas se realiza de forma transparente

Page 129: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

129

InfiniBand: arquitecturaInfiniBand: arquitectura

[STALLINGS 7.7]

El conmutador de InfiniBand abre temporalmente los canales entre el procesador y los dispositivos con los que se está comunicando

Los dispositivos no tienen que compartir la capacidad del canal, por lo que no hay necesidad de procedimientos de arbitraje adicionales entre dispositivos

Page 130: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

130

InfiniBand: arquitecturaInfiniBand: arquitectura

[STALLINGS 7.7]

Los enlaces conectan a un conmutador y a un adaptador HCA/TCA o a dos conmutadores

El encaminador conecta subredes InfiniBand o conecta un conmutador InfiniBand a una red de área local, de área amplia o de dispositivos de almacenamiento

Page 131: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

131

InfiniBand: arquitecturaInfiniBand: arquitectura

[STALLINGS 7.7]

Una subred consiste en uno o más conmutadores interconectados más los enlaces que los conectan a otros dispositivos

Los administradores de sistemas pueden confinar las transmisiones de uno a muchos (multicast) y de uno a todos (broadcast) dentro de una subred

Page 132: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

132

InfiniBand: funcionamientoInfiniBand: funcionamiento

[STALLINGS 7.7]

Cada enlace físico entre un conmutador y un adaptador HCA o TCA conectado a él puede incluir hasta 16 canales lógicos denominados líneas virtuales Una línea se reserva para la gestión del conmutador Las otras líneas se reservan para la transmisión de datos

Los datos se envían en forma de secuencia de paquetes, conteniendo cada paquete: Información de direccionamiento Información de control Una parte del volumen de datos a transmitir

Page 133: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

133

InfiniBand: funcionamientoInfiniBand: funcionamiento

[STALLINGS 7.7]

La transferencia de datos se gestiona mediante los correspondientes protocolos de comunicación

Una línea virtual se dedica temporalmente a transferir los datos desde un nodo a otro a través del conmutador InfiniBand

El conmutador asigna el tráfico que llega a través de una línea a alguna de las líneas de salida según el camino que deben seguir los datos entre los nodos que se comunican

Page 134: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

134

InfiniBand: funcionamientoInfiniBand: funcionamiento

[STALLINGS 7.7]

La arquitectura lógica del protocolo tiene cuatro capas Física: define el medio físico de transmisión (cobre, fibra

óptica…) y la velocidad de conexión (1X, 4X ó 12X) Enlace: abarca tres elementos

▫ Definición de la estructura básica de los paquetes utilizados para intercambiar datos, incluyendo un código de detección de error para proporcionar fiabilidad

▫ Esquema para asignar una única dirección de enlace a cada dispositivo de una subred

▫ Lógica para configurar las líneas virtuales para la conmutación de los datos entre origen y destino a través de los conmutadores

Red: encamina los paquetes entre subredes diferentes Transporte: proporciona un mecanismo de fiabilidad para las

transferencias punto-a-punto a través de una o más subredes

Page 135: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

135

InfiniBand: funcionamientoInfiniBand: funcionamiento

[STALLINGS 7.7]

Algunos dispositivos pueden enviar datos más rápido de lo que pueden ser recibidos en el destino

Para solucionarlo, en los extremos de cada enlace existe una pareja de colas (envío y recepción) que almacenan el exceso de datos de salida y de entrada

Page 136: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

136

InfiniBand: funcionamientoInfiniBand: funcionamiento

[STALLINGS 7.7]

Cada línea virtual utiliza una pareja de colas diferente Las colas pueden situarse en el adaptador o en la

memoria del dispositivo conectado al adaptador Las transacciones

que el computador envía a su cola de envío o de recepción se denominan WQE (Work Queue Entry)

Page 137: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

137

InfiniBand: funcionamientoInfiniBand: funcionamiento

[STALLINGS 7.7]

Los dos WQE más importantes son las transacciones SEND (enviar) y RECEIVE (recibir)

En una transacción SEND el WQE especifica un bloque de datos en el espacio de memoria que es el que hay que enviar al destino

Page 138: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

138

InfiniBand: funcionamientoInfiniBand: funcionamiento

[STALLINGS 7.7]

Los dos WQE más importantes son las transacciones SEND (enviar) y RECEIVE (recibir)

En una transacción RECEIVE el WQE especifica la ubicación donde hay que colocar los datos que se reciban desde otro dispositivo

Page 139: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

139

InfiniBand: funcionamientoInfiniBand: funcionamiento

[STALLINGS 7.7]

El adaptador procesa cada WQE enviado según el orden de prioridad establecido y genera un CQE (Completion Queue Entry) para almacenarlo en la cola de trabajos concluidos

El CQE indica al servidor el estado del trabajo finalizado

Page 140: Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008 3.Interfaces externas de propósito general.

140

BibliografíaBibliografía

[MESSMER]The indispensable PC hardware book

Hans-Peter MessmerPearson Education – Addison-Wesley, 2002 (4ª edición)

[STALLINGS]Organización y arquitectura de computadores

William StallingsPearson Education – Prentice Hall, 2005 (7ª edición)