Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más...

83
Organización del Organización del Computador 1 Computador 1 Buses Buses

Transcript of Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más...

Page 1: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Organización del Organización del Computador 1Computador 1

BusesBuses

Page 2: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Un bus es un camino de comunicación entre Un bus es un camino de comunicación entre dos o más dispositivos.dos o más dispositivos.

Medio de transmisión compartido.Medio de transmisión compartido.

Requiere de señales de control.Requiere de señales de control.

BusesBuses

Page 3: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

BusesBuses

Page 4: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Arquitectura de bus tradicional

BusesBuses

Page 5: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Arquitectura de altas prestaciones

BusesBuses

Page 6: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Diseño del bus: tipos de líneas

Líneas dedicadas:

• Dedicación física: conectan siempre el mismo subconjunto de módulos (ej: bus de dispositivos E/S)

• Dedicación funcional: realizan siempre la misma función (ej: líneas de control en cualquier bus)

Ventaja: menos disputas por acceso al bus.Desventaja: se incrementa tamaño y precio.

BusesBuses

Page 7: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Líneas dedicadas (ejemplo):

CPU

I/O RAM

Bus de direcciones

Bus de datos

CECE

A0A11

D0D7

D0D7

A0A12

WR

RD

MREQ

decoder

ROM

CE

INTR

INTA

12 líneas

8 líneas

BusesBuses

Page 8: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Diseño del bus: tipos de líneas

Líneas multiplexadas:

• Propósitos diferentes en distintos instantes de tiempo (ej: bus de datos / direcciones según una línea de control)

Ventajas: menos líneas se reduce tamaño y precio.Desventajas: se complica la circuitería

se reduce velocidad del computador.

BusesBuses

Page 9: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Líneas multiplexadas (ejemplo):

CPU

I/O RAM

Bus general

Bus general

CECE

A0A11

D0D7

D0D7

A0A12

WR

RD

MREQ

decoder

ROM

CE

INTR

INTA

12 líneas

BusesBuses

Page 10: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Ancho del bus: número de líneas del bus.

Afecta directamente al desempeño del sistema

• Ancho del bus de datos número de accesos a memoria• Ancho del bus de direcciones cantidad direcciones

BusesBuses

Page 11: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Temporización: coordinación de eventos en el bus

• Sincrónica: Incluye reloj

Ventajas: facilidad de implementación y de pruebasDesventaja: velocidad de reloj se adecua al más lento

BusesBuses

Page 12: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Temporización sincrónica:

BusesBuses

Page 13: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Temporización: coordinación de eventos en el bus

• Asincrónica: los eventos que suceden en el bus provocan nuevos eventos.

Ventajas: mejora rendimiento cuando hay dispositivo lentos y rápidos.Desventaja: difícil de implementar.

BusesBuses

Page 14: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Temporización asincrónica:

BusesBuses

Page 15: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Temporización asincrónica:

Buses

Page 16: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Temporización asincrónica:

Buses

Page 17: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Temporización asincrónica:

Buses

Page 18: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Temporización asincrónica:

Buses

Page 19: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Temporización asincrónica:

Buses

Page 20: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Transferencia de datos:

Bus dedicado:

• Escritura (master slave)1 ciclo de reloj: - master envía dirección y datos

por buses distintos.

• Lectura (slave master)1 ciclo de reloj: - master envía dirección por

bus de direcciones- slave coloca dato en bus de datos

Buses

Page 21: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Transferencia de datos:

Bus multiplexado:

• Escritura: transmisión de dirección +transmisión de dato

• Lectura: transmisión de dirección +espera a que slave coloque dato(transferencia de bloques de datos:dirección + varios ciclos de datos)

Buses

Page 22: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Arbitraje:

Los dispositivos conectados al bus necesitan control para realizar algunas acciones:

• CPU necesita dato de memoria• Dispositivo E/S necesita leer/escribir dato en memoria sin pasar por la CPU

¿De quién es el bus?

Buses

Page 23: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Arbitraje:

Control del bus secuencial: 1 dispositivo a la vez

• Centralizado: necesita controlador de bus o árbitro (se usa un chip o parte de la CPU).

• Distribuído: cada módulo incluye sistema de control de acceso y entre todos controlan el bus.

Buses

Page 24: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Arbitraje (centralizado):

BusesBuses

Page 25: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Arbitraje (distribuído):

Buses

Page 26: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

•Bus de PC IBM, estándar hecho para el 8088 (1981)•Tiene 62 líneas:• 20 para direcciones• 8 para datos• varias para control:

• Memoria (lectura/escritura)• E/S (lectura/escritura)• Interrupciones (solicitud/concesión)• DMA

•Intel introduce el 80286 con bus de datos de 16 bits y 24 líneas para selección de direcciones. IBM lo usa en su PC-AT.

PC BusPC Bus

Page 27: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Bus ISA (Industrial Standard Architecture):

Se diseña nuevamente el bus para 16 bits de datos, 24 de address un segundo controlador de interrupciones (PC AT) y un segundo controlador de DMA (PC-AT)

Las señales del bus de la PC original se mantienen en el mismo conector

Las nuevas señales (D8-D15, A20-A23, IRQ’s 8 a 15, y señales de DMA) se agregan en un conector separado.

Page 28: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

 Vista frontal del conector del bus ISA

Microprocesador

MemoriaMotherboard

ISA LayoutISA Layout

Page 29: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

•Bus EISA:•Se introduce el 80386 de palabras de 32 bits•Se diseña el bus EISA (ISA extendido) de 32 bits.

Electrónicamente complejo, poco escalable y continúa a 8 MHz.

•VESA Local Bus:•Desarrollado por un consorcio de fabricantes de

controladoras de video.•Plantea una extensión al bus ISA de alta velocidad (25

MHz), pero muy orientada a video. No contempla el resto de los dispositivos que demandan velocidad de bus y tampoco muestra escalabilidad suficiente.

Evolución de ISAEvolución de ISA

Page 30: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Bus PCI (Periferical Component Bus PCI (Periferical Component Interconnect)Interconnect)

Se desarrolla debido a la baja velocidad del bus ISA, y las poco eficaces alternativas de alta velocidad. (la mayoría, caras y de poca escalabilidad)

Intel en 1990 propone el borrador de la especificación 1.0: 32 líneas de datos 33MHz Posee una electrónica sencilla. Permite interconexión con otros buses (como ISA)

Se forma PCISIG (PCI Special Interest Group como consorcio de Se forma PCISIG (PCI Special Interest Group como consorcio de fabricantes).fabricantes).

Versión 2.0Versión 2.0 66 MHz ---> 4.224 Gbps (528MB/s).

Versión 2.1Versión 2.1 64 bits de datos64 bits de datos

Page 31: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

PCI: Diagrama GenéricoPCI: Diagrama Genérico

Page 32: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

PCI: estructura y señales:

Se configura como bus de 32 ó 64 bits.

49 líneas obligatorias. Sistema: reloj y reset 32 líneas multiplexadas (datos y direcciones)

Líneas para interpretar y validar Control de interfaz: coordinan envío y recepción Arbitraje: pares de líneas dedicadas maestro-exclavo Señales de error (ej: paridad).

Page 33: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

PCI: Señales obligatorias

Page 34: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

PCI 64 bitsPCI 64 bits

Aparecen 51 señales opcionales. Interrupción: líneas dedicadas para cada dispositivo Soporte de caché para que se conecten al PCI 32 líneas multiplexadas (datos y direcciones)

(adicionales) Líneas de interpretación y validación 2 líneas que permiten que 2 dispositivos PCI utilicen

64 bits. Terminales de test: estándar IEEE 1149.1

Page 35: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

PCI: Transferencia de LecturaPCI: Transferencia de Lectura

Page 36: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

a)

a) El master obtiene el control del bus, inicia la comunicación activando FRAME, que deberá permanecer activa hasta que el master termine la comunicación. El master también coloca la dirección de inicio en el bus de direcciones en el flanco ascendente del primer ciclo de clock, y con C/BE (líneas de comandos / Byte Enable), establece la operación a realizar (lectura o escritura de memoria, o de entrada salida).

PCI: Transferencia de LecturaPCI: Transferencia de Lectura

Page 37: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

b)

b) Al comienzo del clock 2, el dispositivo slave (del cual se leerán los datos) reconoce la dirección colocada en AD.

PCI: Transferencia de LecturaPCI: Transferencia de Lectura

Page 38: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

c)

c) El master deja las líneas AD libres. El maestro cambia las líneas C/BE para indicar cuáles de los bytes de las líneas AD se utilizarán para transferir el dato direccionado. El master activa IRDY (Initiator ready) para indicar que está preparado para recibir datos.

PCI: Transferencia de LecturaPCI: Transferencia de Lectura

Page 39: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

d)

d) El slave (dispositivo de lectura seleccionado) activa DEVSEL (Device Select) para indicar que ha reconocido las direcciones y va a responder. Coloca el dato solicitado en las líneas AD y activa TRDY (Target ready) para indicar que hay un dato válido en el bus.

PCI: Transferencia de LecturaPCI: Transferencia de Lectura

Page 40: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

e)

e) El master lee el dato al comienzo del clock 4 y cambia las líneas de habilitación de byte según se necesite para la próxima lectura.

PCI: Transferencia de LecturaPCI: Transferencia de Lectura

Page 41: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Präsentation

f)

f) El slave necesita un tiempo adicional para preparar el segundo bloque de datos para la transmisión. Por consiguiente desactiva TRDY para señalar al master que no proporcionará un nuevo dato en el próximo ciclo. En consecuencia, el master no lee las líneas de datos al comienzo del clock 5 y no cambia la señal de habilitación de byte durante ese ciclo. El bloque de datos es leído al comienzo del clock 6.

PCI: Transferencia de LecturaPCI: Transferencia de Lectura

Page 42: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

g)

g) Durante el clock 6, el slave sitúa el tercer dato en el bus. Pero (en este ejemplo específico) el master está ocupado y por lo tanto desactiva IRDY. Esto hará que el esclavo mantenga el tercer dato en el bus durante un ciclo de reloj extra.

PCI: Transferencia de LecturaPCI: Transferencia de Lectura

Page 43: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

h)

h) El master sabe que el tercer dato es el último y por eso desactiva FRAME. Además, activa IRDY para indicar que está listo para completar esa transferencia.

PCI: Transferencia de LecturaPCI: Transferencia de Lectura

Page 44: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

i)

i) El master desactiva IRDY, con esto hace que el bus vuelva a estar libre, y el slave desactiva TRDY y DEVSEL.

PCI: Transferencia de LecturaPCI: Transferencia de Lectura

Page 45: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

PCI: Arbitraje

Arbitraje centralizado Cada maestro tiene dos líneas dedicadas REQ (petición del bus) GNT (concesión del bus)

Transmisión Dispositivo PCI (o CPU) solicita bus activando

REQ Espera GNT Usa el bus mientras tenga GNT

Page 46: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

GNT REQ

DispositivoPCI

Árbitro de PCI

GNT REQ

DispositivoPCI

GNT REQ

DispositivoPCI

PCI: Arbitraje

Page 47: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Comparación de buses

Bus Type Bus Width Bus Speed MB/sec

ISA 16 bits 8 MHz 16 MBps

EISA 32 bits 8 MHz 32 MBps

VL-bus 32 bits 25 MHz 100 MBps

VL-bus 32 bits 33 MHz 132 MBps

PCI 32 bits 33 MHz 132 MBps

PCI 64 bits 33 MHz 264 MBps

PCI 64 bits 66 MHz 512 MBps

PCI-X 64 bits 133 MHz 1 GBps

Page 48: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Bus AGP (Accelerated Graphics Bus AGP (Accelerated Graphics Port)Port)

Bus de alto rendimiento para controlador gráfico. AGP reduce cuellos de botella ya que es un bus

dedicado de alta velocidad. Necesidades de las aplicaciones gráficas:

Acceso rápido a memoria local de video (refresh) Elementos de píxel (3D) Información del eje Z Planos superpuestos Malla poligonales Texturas

32 líneas multiplexadas: direcciones/datos Alta velocidad (reloj del bus de la CPU) Transmisión: 528 MB/s ó 1 GB/s

Page 49: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

SCSI (Small Computer System Interface)

Introducido por Macintosh en 1984 Periféricos externos (8, 16, 32 líneas) Se usa para conectar CDs, DVDs, Audio y HDs. SCSI-1: 5MB/s, SCSI-2: 40MB/s, SCSI-3: 160MB/s Dispositivos encadenados (2 conectores)

Page 50: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

•BSY: ocupado•SEL: selecciona dispositivo•C/D: datos / control•MSG: mensaje•REQ: solicita transferencia•ACK: reconoce REQ•ATN: mensaje disponible•RST: inicio del bus

SCSI (señales)

Page 51: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

SCSI: Temporización

Page 52: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

IDE (Integrated Drive Electronics)

Integrada en placas base (incluyen 2 canales IDE para 4 dispositivos).

Comunica CPU con periféricos Costo reducido DMA Integrado en el controlador Rendimiento comparable al SCSI Compatible con ISA, PCI y bus local

Page 53: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

SCSI vs. IDE Velocidad de transferencia de datos:

SCSI: 160MB/s IDE: 133MB/s

Nº de dispositivos:SCSI: 32 IDE: 7

Controladora: SCSI es necesario añadirla con bus PCI a la placa base IDE viene incluida

Discos duros: Velocidad: SCSI 15.000 rpm IDE: 7.200 rpm Tiempos de acceso: SCSI: 3-4ms IDE: 8ms Precio: SCSI: X IDE: 0.7 X

Page 54: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

USBUSB USB (Universal Serial Bus), creado por un consorcio de empresas: USB (Universal Serial Bus), creado por un consorcio de empresas:

Intel, Compaq, NEC y Microsoft.Intel, Compaq, NEC y Microsoft. Expansión de periféricos sencillaExpansión de periféricos sencilla

Detección automáticaDetección automática de un nuevo dispositivo de un nuevo dispositivo Conexión y desconexión sin reiniciar el equipoConexión y desconexión sin reiniciar el equipo Soporte plug & playSoporte plug & play

Interfaz de software standard independiente del Interfaz de software standard independiente del dispositivo que se desee conectar.dispositivo que se desee conectar.

Modos de transferencia:Modos de transferencia:- low speed: 1.5 Mb/s (USB 1.0)- low speed: 1.5 Mb/s (USB 1.0)- full speed: 12 Mb/s (USB 1.1)- full speed: 12 Mb/s (USB 1.1)- high speed: 480 Mb/s (USB 2.0)- high speed: 480 Mb/s (USB 2.0)

Su arquitectura es un arbol de dispositivos a partir de un Su arquitectura es un arbol de dispositivos a partir de un host (El host (El computador)computador)..

Se pueden conectar hasta 127 dispositivos por Se pueden conectar hasta 127 dispositivos por hosthost..

Page 55: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

HOSTHub root

Hub1 Func

Hub2 FuncFunc

Hub3 Hub4Func

Func

Func

Func

Func Hub5

USB 1.1

USB 2.0

HOST Tier 1

Tier 2

Tier 3

Tier 4

Tier 5

Tier 6

Tier 7Hub6 Hub7

HOSTHub root

Hub1 Func

Hub2 FuncFunc

Hub3 Hub4Func

Func

Func

Func

Func Hub5

USB 1.1

USB 2.0

HOST Tier 1

Tier 2

Tier 3

Tier 4

Tier 5

Tier 6

Tier 7Hub6 Hub7

El Universal Serial Bus está organizado como una estructura jerárquica, controlada por un dispositivo denominado host controller que reside en la PC.

El Universal Serial Bus está organizado como una estructura jerárquica, controlada por un dispositivo denominado host controller que reside en la PC.

Se dispone además de un dispositivo denominado Hub, en el centro de cada estrella, lográndose de esta forma un anidamiento multinivel que permite la expansión del bus, conectándole diversos dispositivos.

Se dispone además de un dispositivo denominado Hub, en el centro de cada estrella, lográndose de esta forma un anidamiento multinivel que permite la expansión del bus, conectándole diversos dispositivos.

USB - ArquitecturaUSB - Arquitectura

Page 56: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

USB - ArquitecturaUSB - ArquitecturaEl Hub root es el elemento del sistema que compone el vértice de la pirámide jerárquica. Por lo tanto solo hay un Hub Root en el sistema. También se lo conoce como Host Controller, y se compone de hardware firmware y software, todo instalado en la PC.

El Hub root es el elemento del sistema que compone el vértice de la pirámide jerárquica. Por lo tanto solo hay un Hub Root en el sistema. También se lo conoce como Host Controller, y se compone de hardware firmware y software, todo instalado en la PC.

Para USB 1.1 existen dos standards para implementar Host Controllers: Open Host Controller Interface (OHCI) desarrollado por Compaq, y Universal Host Controller Interface (UHCI) de Intel. Para USB 2.0 se utiliza EHCI.

Para USB 1.1 existen dos standards para implementar Host Controllers: Open Host Controller Interface (OHCI) desarrollado por Compaq, y Universal Host Controller Interface (UHCI) de Intel. Para USB 2.0 se utiliza EHCI.

HOSTHub root

Hub1 Func

Hub2Func

Func

Hub3 Hub4Func

Func

Func

Func

Func Hub5

HOST Tier 1

Tier 2

Tier 3

Tier 4

Tier 5

Tier 6

Tier 7Hub6 Hub7

Page 57: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

El Hub es un dispositivo USB especial, que extiende la cantidad de ports para conectar dispositivos, convirtiendo un punto de conexión simple, en múltiples puntos de conexión. Por punto de conexión entendemos port.

FuncionesSon dispositivos conectados al bus capaces de recibir y transmitir información desde / hacia el Host Controller. Se denomina función debido a que no necesariamente la correspondencia función dispositivo es uno a uno. Ejemplos de funciones en un Bus USB: Teclado, Mouse, lapiz óptico, una impresora, un modem (analógico, o ISDN) etc.

Dispositivos USBDispositivos USB

Conectores

Page 58: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Es posible tener varias funciones implementadas dentro de un dispositivo conectado por un único cable a un port USB. Estos son conocidos como dispositivos compuestos, y se presentan al Host Controller como un Hub con mas de un dispositivo no removible.

Dispositivos USBDispositivos USB

Page 59: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

• Un dispositivo USB se presenta al sistema como una colección de Endpoints.

• Estos Endpoints agrupan formando Interfaces. • Las Interfaces son vistas de las diferentes Funciones del

dispositivo.

• La comunicación entre los extremos se realiza entre un buffer del lado Host y un EndpointEndpoint del lado Dispositivo USB.

• El Canal se denomina pipepipe.

Flujo de Información en USB

Page 60: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

USB - EndpointsUSB - Endpoints Representa el extremo en un flujo de comunicación entre el Host y Representa el extremo en un flujo de comunicación entre el Host y dicho dicho

dispositivo, dispositivo, en una dirección (Entrada o Salida)en una dirección (Entrada o Salida) Físicamente es un buffer de RAM en el dispositivo. Físicamente es un buffer de RAM en el dispositivo. UUn Número definido por hardware lo identifica unívocamente. n Número definido por hardware lo identifica unívocamente. Un dispositivo controlador USB tiene Un dispositivo controlador USB tiene

endpoints de entrada y salida, en iguales cantidades (máximo 16 de entrada y 16 de endpoints de entrada y salida, en iguales cantidades (máximo 16 de entrada y 16 de salida).salida).

una dirección unívoca que lo identifica en el Bus, que le asigna el Host en el momento de una dirección unívoca que lo identifica en el Bus, que le asigna el Host en el momento de su conexión.su conexión.

Entonces, dEntonces, definidasefinidas La dirección del dispositivo USB en el Bus, La dirección del dispositivo USB en el Bus, El N° de Endpoint, del dispositivo con el que se quiere transaccionarEl N° de Endpoint, del dispositivo con el que se quiere transaccionar La dirección del Flujo de Datos, La dirección del Flujo de Datos,

surge unívocamente el Endpoint del dispositivo con el que se quiere establecer surge unívocamente el Endpoint del dispositivo con el que se quiere establecer comunicación.comunicación.

Page 61: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

USB - EndpointsUSB - Endpoints

CCaracterísticasaracterísticas de de un un EndpointEndpoint que deben ser que deben ser conocidas por el Software Cliente a fin de conocidas por el Software Cliente a fin de interactuar con él de manera correcta:interactuar con él de manera correcta: Número de identificaciónNúmero de identificación Frecuencia o tiempo de demora en el acceso al bus. Frecuencia o tiempo de demora en el acceso al bus. Ancho de Banda requerido. Ancho de Banda requerido. Comportamiento en el manejo de errores. Comportamiento en el manejo de errores. Tamaño máximo del paquete de datos que puede Tamaño máximo del paquete de datos que puede

transaccionar. transaccionar. Tipo de transferencia que soportaTipo de transferencia que soporta Dirección de transferencia de datosDirección de transferencia de datos

Page 62: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Protocolo USBProtocolo USB

Las comunicaciones entre el Host y los dispositivos se llevan a cabo a través de un protocolo de varios layers

La mayoría de los controladores USB Integrados en chips se encargan de manejar los niveles físicos y mas bajos. En general se mantienen invisibles al diseñador final. Sin embargo cuanto mas sabemos mas a nuestro favor, así que al menos una breve introducción.

El host inicia todas las transacciones.

Page 63: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

STA

RT O

F F

RA

ME

Dis

posit

ivo 1

En

dp

oin

t 3 D

isp

osit

ivo 1

En

dp

oin

t 4 D

isp

osit

ivo 2

En

dp

oin

t 1 D

isp

osit

ivo 6

En

dp

oin

t 2

Sin

uti

lizar

STA

RT O

F F

RA

ME

Dis

posit

ivo 1

En

dp

oin

t 3 D

isp

osit

ivo 4

En

dp

oin

t 1 D

isp

osit

ivo 3

En

dp

oin

t 2

Sin

uti

lizar

Dis

posit

ivo 2

En

dp

oin

t 2

Dis

posit

ivo 2

En

dp

oin

t 2

Frame de 1mseg.

Frame de 1mseg.

Organización de las TransferenciasOrganización de las Transferencias

El El Host ControllerHost Controller es el encargado de velar por que todas las transacciones se es el encargado de velar por que todas las transacciones se lleven a cabo en el menor tiempo posible. lleven a cabo en el menor tiempo posible.

Para ello divide el tráfico en frames de 1 mseg. Para ello divide el tráfico en frames de 1 mseg. Luego arma cada Luego arma cada frameframe con las transacciones correspondientes a las diferentes con las transacciones correspondientes a las diferentes

transferencias que se le solicitan desde las aplicaciones que se están ejecutando transferencias que se le solicitan desde las aplicaciones que se están ejecutando en el Hosten el Host..

Page 64: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Cada Transferencia se divide en una o mas transacciones

Transacción 1

Ej: Reproducir un archivo de audio, imprimir un documento, etc.

Cada Transacción contiene como mínimo un paquete Token, y puede contener adicionalmente un paquete de datos y otro de Handshake

Cada paquete se compone de un campo PID (Paquet ID), puede tener además información adicional y un CRC

Transferencia 1

Transferencia 2

Transferencia 3

Transacción 2 Transacción 3

Token Datos Handshake

PID Info. Adicional CRC

TransaccionesTransacciones

Transacción 1Transacción 1 Transacción 2Transacción 2 Transacción 3Transacción 3

Token Datos Handshake

Token Datos Handshake

PID Info. Adicional CRCPID Info. Adicional CRC

Campo SYNC: Todos los paquetes comienzan con un campo SYNC. Genera la máxima frecuencia de transición de estado en el Bus. Aparece como un tren de 8 transiciones. Sus últimos dos bits se toman como el fin del campo SYNC y por inferencia se asume que a continuación viene el campo Token.

Page 65: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Tipos de Paquetes – PIDTipos de Paquetes – PIDGroup PID Value Packet Identifier

Token 0001 OUT Token

1001 IN Token

0101 SOF Token

1101 SETUP Token

Data 0011 DATA0

1011 DATA1

0111 DATA2

1111 MDATA

Handshake 0010 ACK Handshake

1010 NAK Handshake

1110 STALL Handshake

0110 NYET (No Response Yet)

Special 1100 PREamble

1100 ERR

1000 Split

0100 Ping

PID Info. Adicional CRC

Page 66: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

USB: Tipos de TokenUSB: Tipos de Token

Start Of Frame

Handshake

Start Of Frame

Setup / In / Out

Data0 / Data1

Page 67: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Tipos de Transferencias USBTipos de Transferencias USB

Cada tipo de transferencia determina Cada tipo de transferencia determina características importantes del flujo de información características importantes del flujo de información involucrado. Entre otras contamos las siguientes:involucrado. Entre otras contamos las siguientes: Formato de datos impuesto por el USB. Formato de datos impuesto por el USB. Dirección del flujo de comunicaciones. Dirección del flujo de comunicaciones. Restricciones en el tamaño del paquete de datos a Restricciones en el tamaño del paquete de datos a

transmitir.transmitir. Restricciones en el acceso al bus.Restricciones en el acceso al bus. Restricciones en el tiempo de recuperación de datos. Restricciones en el tiempo de recuperación de datos.

Secuencias de datos requeridas.Secuencias de datos requeridas. Manejo de errores.Manejo de errores.

Page 68: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Transferencias de control: Transferencias de control: Son comunicaciones por irrupción, no periódicas, Son comunicaciones por irrupción, no periódicas, iniciadas por el host, que se utilizan en operaciones de iniciadas por el host, que se utilizan en operaciones de comando o status.comando o status.

Transferencias Isócronas: Transferencias Isócronas: Se trata de un tipo de comunicación periódica y Se trata de un tipo de comunicación periódica y continua entre el host y un dispositivo USB, utilizadas continua entre el host y un dispositivo USB, utilizadas típicamente en aplicaciones en donde el tiempo de típicamente en aplicaciones en donde el tiempo de recuperación de datos es un factor relevante. No quiere recuperación de datos es un factor relevante. No quiere decir que sea crítico el tiempo de respuesta en cuanto a decir que sea crítico el tiempo de respuesta en cuanto a la velocidad de recuperación de los datos sino más la velocidad de recuperación de los datos sino más bien, en cuanto a la periodicidad de acceso a éstos.bien, en cuanto a la periodicidad de acceso a éstos.

Tipos de Transferencias USBTipos de Transferencias USB

Page 69: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Tipos de Transferencias USBTipos de Transferencias USB

Transferencias de Interrupción: Son comunicaciones de baja frecuencia, para

tamaños de paquete de datos muy pequeños, y tiempo de recuperación de datos limitado.

Transferencias de volumen (bulk): Son comunicaciones de grandes paquetes de datos

por irrupción, no periódicas, utilizadas para transmitir datos que pueden utilizar cualquier ancho de banda disponible y que también pueden ser demorados hasta que el ancho de banda requerido se encuentre disponible.

Page 70: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Tipo de Transferencia Control Bulk Interrupción Isócrona

Uso típico ConfiguraciónImpresora, scanner

Mouse, Teclado Audio

Obligatoria Si No

Soportada por dispositivos Low Speed

Corrección de errores

Tipo de pipe Message Stream

Garantiza Velocidad de envío

Garantiza mínimo tiempo de acceso a la información

Tamaño de datos por Endpoint (Full Speed)

8, 16, 32, ó 64 bytes

1 a 64 byteshasta 1023 bytes

Tamaño de datos por Endpoint (Low Speed)

8 bytes No aplica

Ancho de banda reservado por frame

10% Ninguno 90 % (ambas combinadas)

No No

Si No Si No

Si Si Si No

Stream Stream

No No Si Si

No No Si Si

8, 16, 32, ó 64 bytes

8 bytes No aplica

Tipos de Transferencias USBTipos de Transferencias USB

Page 71: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Formatos de Transacciones Bulk Formatos de Transacciones Bulk en USBen USB

Page 72: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Formatos de Transacciones Bulk Formatos de Transacciones Bulk en USBen USB

Page 73: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Formatos de Transacciones de Formatos de Transacciones de control en USBcontrol en USB

Page 74: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Se componen de secuencias de paquetes SETUP IN y OUT DATAN0 y DATA1

Formatos de Transacciones de Formatos de Transacciones de control en USBcontrol en USB

Page 75: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Formatos de Transacciones de Formatos de Transacciones de Interrupción en USBInterrupción en USB

Page 76: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Formatos de Transacciones Formatos de Transacciones Isócronas en USBIsócronas en USB

Page 77: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Descriptores UDescriptores USBSB Estructura jerárquica de datos Estructura jerárquica de datos Describen al host las características, y Describen al host las características, y

funciones de un dispositivofunciones de un dispositivo

Page 78: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

USB : EnumeraciónUSB : Enumeración El Host o un hub detecta eléctricamente la conexión El Host o un hub detecta eléctricamente la conexión

de un dispositivo en un conector (puerto). de un dispositivo en un conector (puerto). Espera al menos 100mseg para que el dispositivo se Espera al menos 100mseg para que el dispositivo se

termine de insertar por completo en el conector y termine de insertar por completo en el conector y para que la energía se estabilice en él por completo.para que la energía se estabilice en él por completo.

El host envía un comando Reset al dispositivo El host envía un comando Reset al dispositivo poniéndolo en el estado default. El dispositivo poniéndolo en el estado default. El dispositivo responderá a partir de ahora por la dirección default responderá a partir de ahora por la dirección default ´0´ del bus.´0´ del bus.

Page 79: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

USB : EnumeraciónUSB : Enumeración Si el S.O. es Windows, el host pide al dispositivo Si el S.O. es Windows, el host pide al dispositivo

su Device Descriptor, y luego de recibir los su Device Descriptor, y luego de recibir los primeros 8 bytes, toma nota del tamaño del pipe primeros 8 bytes, toma nota del tamaño del pipe 0 del dispositivo y le vuelve a enviar un reset…..0 del dispositivo y le vuelve a enviar un reset…..

El Host envía al dispositivo el comando Set El Host envía al dispositivo el comando Set Address asignándole una dirección en el bus. Es Address asignándole una dirección en el bus. Es dispositivo pasa al estado Addressed.dispositivo pasa al estado Addressed.

El host pide el Device Descriptor completo (18 El host pide el Device Descriptor completo (18 bytes).bytes).

Page 80: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

USB : EnumeraciónUSB : Enumeración Por cada configuración informada en el Device Por cada configuración informada en el Device

Descriptor el host pide el Configuration Descriptor. A Descriptor el host pide el Configuration Descriptor. A cada pedido el dispositivo debe devolver el Descriptor cada pedido el dispositivo debe devolver el Descriptor de configuración mas todos los descriptores de de configuración mas todos los descriptores de interfaz que dependan de él y por cada escruiptor de interfaz que dependan de él y por cada escruiptor de interfaz el descriptor de Endpoint que dependa de interfaz el descriptor de Endpoint que dependa de dicha interfaz.dicha interfaz.

El Host carga un Device DriverEl Host carga un Device Driver El Device Driver del dispositivo selecciona una El Device Driver del dispositivo selecciona una

configuración.configuración.

Page 81: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Bus Firewire (IEEE 1394)Bus Firewire (IEEE 1394)

Creado por Apple Computer, refinado Creado por Apple Computer, refinado luego por Sony.luego por Sony.

Compite directamente con el USB.Compite directamente con el USB. Modos de transferencia:Modos de transferencia:

- Firewire 400: 400 MB/s- Firewire 400: 400 MB/s- Firewire 800 o Firewire 2: 800 MB/s- Firewire 800 o Firewire 2: 800 MB/s

Se pueden conectar hasta 63 dispositivos Se pueden conectar hasta 63 dispositivos en una misma red.en una misma red.

Page 82: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

Uso de los buses en las PC’s

Page 83: Organización del Computador 1 Buses. Un bus es un camino de comunicación entre dos o más dispositivos. Un bus es un camino de comunicación entre dos o.

ReferenciasReferencias

Capítulo 3 de StallingsCapítulo 3 de Stallings www.pcguide.com/ref/mbsys/buses/ www.pcisig.org www.usb.org www.beyondlogic.org/usbnutshell/usb-in-a-www.beyondlogic.org/usbnutshell/usb-in-a-

nutshell.pdf nutshell.pdf