Buses

Anuncio
Organización del
Computador 1
C13 buses
Buses
„
„
„
Un bus es un camino de comunicación entre
dos o más dispositivos.
Medio de transmisión compartido.
Control.
Buses
Buses
Arquitectura de bus tradicional
Buses
Arquitectura de altas prestaciones
Buses
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.
Buses
Diseño del bus: tipos de líneas
Líneas dedicadas:
CPU
ROM
RAM
I/O
Datos
Direcciones
Buses
12 líneas
Líneas dedicadas (ejemplo): Bus de direcciones
A0
A12
CPU
INTR
MREQ
RD
WR
INTA
D0
D7
8 líneas
Bus de datos
D0
D7
I/O
ROM
RAM
CE
CE
A11
decoder
A0
CE
Buses
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)
Ventaja:
menos líneas → se reduce tamaño y precio.
Desventajas: se complica la circuitería
se reduce velocidad del computador.
Buses
Diseño del bus: tipos de líneas
Líneas multiplexadas:
CPU
ROM
RAM
I/O
Datos y
Direcciones
Control
Buses
Líneas multiplexadas (ejemplo): Bus general
A0
A12
CPU
INTR
MREQ
RD
WR
INTA
Bus general decoder
D0
D7
D0
D7
I/O
ROM
RAM
CE
CE
A11
12 líneas
A0
CE
Buses
Ancho del bus:
El ancho se define por el número de líneas del bus.
Afecta directamente al desempeño del sistema
• Ancho del bus de datos → Nº de accesos a memoria
• Ancho del bus de direcciones → cantidad direcciones
Buses
Temporización:
Coordinación de eventos en el bus
• Sincrónica:
- Incluye reloj
- Ventajas: facilidad de implementación y de pruebas
- Desventaja: velocidad de reloj se adecua al más lento
Buses
Temporización
sincrónica:
Buses
Temporización:
Coordinación de eventos en el bus
• Asíncrona:
Los eventos que suceden en el bus provocan nuevos
eventos.
- Ventajas:
mejora rendimiento cuando hay dispositivos
lentos y rápidos.
- Desventaja: difícil de implementar.
Buses
Temporización asincrónica:
Buses
Temporización asincrónica:
Buses
Temporización asincrónica:
Buses
Temporización asincrónica:
Buses
Temporización asincrónica:
Buses
Temporización asincrónica:
Buses
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
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)
Ejercicio:
Buses
Se desea diseñar una CPU que pueda direccionar 4096
palabras de 1 byte usando buses de direcciones y de
datos a) dedicados y b) multiplexados. Indique en cada
caso:
1) ¿De cuántas líneas son los buses?
2) El bus cuenta con una señal de clock de 1MHz, ¿cuál es
velocidad de transmisión de datos si...?
• Una escritura toma 2 ciclos de clock del bus
• Una lectura toma 3 ciclos de clock del bus
Buses
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
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
Arbitraje (sincrónico)
Buses
Arbitraje
PC Bus
•
•
•
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.
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.
ISA Layout
Motherboard
Memoria
Microprocesador
Vista frontal del conector del bus ISA
Evolución de ISA
Bus EISA:
• Se introduce el 80386 de palabras de 32 bits
• Se diseña el bus EISA (ISA extendido) de 32 bits. Electrónic
compleja, 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.
Bus PCI (Periferical Component
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:
„
„
„
„
„
„
Se forma PCISIG (PCI Special Interest Group como consorcio de
fabricantes).
Versión 2.0
„
„
32 líneas de datos
33MHz
Posee una electrónica sencilla.
Permite interconexión con otros buses (como ISA)
66 MHz ->4.224 Gbps (528MB/s).
Versión 2.1
„
64 bits de datos
PCI: Diagrama Genérico
PCI: estructura y señales:
„
„
Se configura como bus de 32 ó 64 bits.
49 líneas de señal obligatorias.
„
„
„
„
Sistema: reloj y reset
Direcciones y datos
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 maestros-árbitro
Señales de error (ej: paridad).
PCI: Señales obligatorias
PCI 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
PCI: Transferencia de Lectura
PCI: Transferencia de Lectura
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 Lectura
b) Al comienzo del clock 2, el dispositivo
slave (del cual se leerán los datos)
reconoce la dirección colocada en AD.
b)
PCI: Transferencia de Lectura
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.
c)
PCI: Transferencia de Lectura
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 Lectura
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.
e)
PCI: Transferencia de Lectura
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.
Präsentat
ion
PCI: Transferencia de Lectura
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 Lectura
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 Lectura
i)
i) El master desactiva IRDY, con esto hace que el bus vuelva a estar libre, y
el slave desactiva TRDY y DEVSEL.
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
„
PCI: Arbitraje
Árbitro
de
PCI
GNT
REQ
Dispositivo
PCI
GNT
REQ
Dispositivo
PCI
GNT
REQ
Dispositivo
PCI
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
Bus AGP (Accelerated Graphics
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
Procesamiento de Video 3D en PCI
Buffer Local
de Texturas
Monitor
Buffer de trama
Textura 2
Chip
Gráfico
RAM del
Sistema
a Local
CPU
Textura 1
Chipset
PCI
BUS PCI
Los mapas de textura se leen del
disco duro, y se cargan en la
memoria del sistema, pero antes
pasan a través de la interfaz IDE
al bus y al chipset de video.
Drive de
DISCO
Memoria
Del
Sistema
Textura 2
Cuando se necesita en
mapa de textura para
procesar una escena, el
procesador lo toma de la
memoria del sistema.
Lo procesa y cachea en
disco los resultados.
Finalmente se almacena en memoria
para que lo tome el Chip Gráfico
Procesamiento de Video 3D con
AGP
CPU
Buffer de
trama
Memoria
Del
Sistema
Textura 1
Monitor
Chip
Gráfico
Chipset
AGP
BUS PCI
Drive de
DISCO
Textura 2
Cache
L2
Memoria
Local
2.0 GB/s
Core
AGP
800 MB/s
Procesador Pentium III
Acelerador
Gráfico 528 MB/s
Intel 740
132
MB/s
I/O
PCI
I/O
Intel
440BX 800 MB/s
AGPset
Memoria
del
Sistema
Texturas
BUS AGP sobre
Procesador
Pentium III
Interfaces para dispositivos
•
SCSI:
- HD
- CD-ROM
- DVD
•
IDE:
- HD
- CD-ROM
- DVD
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)
SCSI (señales)
•
•
•
•
•
•
•
•
BSY:
SEL:
C/D:
MSG:
REQ:
ACK:
ATN:
RST:
ocupado
selecciona dispositivo
datos / control
mensaje
solicita transferencia
reconoce REQ
mensaje disponible
inicio del bus
SCSI: Temporización
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
IDE (cables y conectores)
•
PATA
SATA
133MB/s 150MB/s
Conector IDE ATAPI - 40 Pines
Interfaz IDE ATAPI: Direcciones
de E/S
HEX
1FX
3FX
17X
37X
BINARY
0001 1111
0011 1111
0001 0111
0011 0111
XXXX
XXXX
XXXX
XXXX
DESCRIPTION
Primary Command Registers
Primary Control Registers
Alternate Command Registers
Alternate Control Registers
Address bit A7
Interfaz IDE ATAPI: Registros
Interfaz IDE ATAPI: Registros
Registros para lectura:
- datos
- error
- sectores totales
- Nº cilindro
- Disco/cabeza
- Estado
Registros para escritura:
- datos
- características
- sectores totales
- Nº cilindro
- Disco/cabeza
- Comando
Interfaz IDE ATAPI: Comandos
SCSI vs. IDE
„
Velocidad de transferencia de datos:
SCSI: 160MB/s
IDE: 133MB/s
„
Nº de dispositivos:
SCSI: 32
„
Controladora:
„
„
„
IDE: 7
SCSI es necesario añadirla con bus PCI a la placa base
IDE viene incluida
Discos duros:
„
„
„
Velocidad:
Tiempos de acceso:
Precio:
SCSI 15.000 rpm
SCSI: 3-4ms
SCSI: X
IDE: 7.200 rpm
IDE: 8ms
IDE: 0.7 X
USB
„
„
USB (Universal Serial Bus), creado por un consorcio de empresas:
Intel, Compaq, NEC y Microsoft.
Expansión de periféricos sencilla
„ Detección automática de un nuevo dispositivo
„ Conexión y desconexión sin reiniciar el equipo
„ Soporte plug & play
„
Interfaz de software standard independiente del
dispositivo que se desee conectar.
„
Modos de transferencia:
- low speed: 1.5 Mb/s (USB 1.0)
- full speed: 12 Mb/s (USB 1.1)
- high speed: 480 Mb/s (USB 2.0)
Su arquitectura es un arbol de dispositivos a partir de un host (El
computador).
Se pueden conectar hasta 127 dispositivos por host.
„
„
USB - Arquitectura
HOST
Hub root
Hub1
Hub2
USB 1.1
Hub6
Tier 2
Func
Tier 3
Func
Func
Hub3 Hub4
Func
HOST Tier 1
Hub5
Func
Func
Func
El Universal Serial Bus está organizado
como una estructura jerárquica,
controlada por un dispositivo
denominado host controller que reside
en la PC.
Tier 4
Tier 5
Tier 6
Tier 7
Hub7
USB 2.0
Func
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 - Arquitectura
HOST
Hub root
Hub1
Hub2
Hub6
Tier 2
Func
Tier 3
Func
Func
Hub3 Hub4
Func
HOST Tier 1
Hub5
Tier 4
Func
Func
Tier 5
Func
Tier 6
Tier 7
Hub7
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.
Func
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.
Dispositivos USB
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.
Conectores
Funciones
Son 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 USB
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.
Flujo de Información en USB
• 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
Endpoint del lado
Dispositivo USB.
• El Canal se denomina
pipe.
USB - Endpoints
„
„
„
„
Representa el extremo en un flujo de comunicación entre el
Host y dicho dispositivo, en una dirección (Entrada o Salida)
Físicamente es un buffer de RAM en el dispositivo.
Un Número definido por hardware lo identifica unívocamente.
Un dispositivo controlador USB tiene
„
„
„
endpoints de entrada y salida, en iguales cantidades (máximo 16 de
entrada y 16 de salida).
una dirección unívoca que lo identifica en el Bus, que le asigna el Host
en el momento de su conexión.
Entonces, definidas
„
„
„
La dirección del dispositivo USB en el Bus,
El N° de Endpoint, del dispositivo con el que se quiere transaccionar
La dirección del Flujo de Datos,
surge unívocamente el Endpoint del dispositivo con el que se
quiere establecer comunicación.
USB - Endpoints
„
Características de un Endpoint que deben ser
conocidas por el Software Cliente a fin de
interactuar con él de manera correcta:
„
„
„
„
„
„
„
Número de identificación
Frecuencia o tiempo de demora en el acceso al bus.
Ancho de Banda requerido.
Comportamiento en el manejo de errores.
Tamaño máximo del paquete de datos que puede
transaccionar.
Tipo de transferencia que soporta
Dirección de transferencia de datos
Protocolo 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.
Frame de 1mseg.
„
„
„
Sin utilizar
Dispositivo 2 Endpoint 2
Dispositivo 2 Endpoint 2
Dispositivo 3 Endpoint 2
START OF FRAME
Dispositivo 1 Endpoint 3
Dispositivo 4 Endpoint 1
Sin utilizar
Dispositivo 6 Endpoint 2
Dispositivo 2 Endpoint 1
START OF FRAME
Dispositivo 1 Endpoint 3
Dispositivo 1 Endpoint 4
Organización de las Transferencias
Frame de 1mseg.
El Host Controller es el encargado de velar por que todas las
transacciones se lleven a cabo en el menor tiempo posible.
Para ello divide el tráfico en frames de 1 mseg.
Luego arma cada frame con las transacciones
correspondientes a las diferentes transferencias que se le
solicitan desde las aplicaciones que se están ejecutando en el
Host.
Transacciones
Transferencia 1
Transacción11
Transacción
Transacción
1
Token
Token
Token
Ej: Reproducir un archivo
Transferencia 3 de audio, imprimir un
documento, etc.
Transferencia 2
Transacción 22
Transacción
Transacción 2
Datos
Datos
Datos
Transacción33 Cada Transferencia se divide
Transacción
Transacción 3
en una o mas transacciones
Cada Transacción contiene como
Handshake mínimo un paquete Token, y puede
Handshake
Handshake
contener adicionalmente un paquete
de datos y otro de Handshake
PID
Info. Adicional
CRC
PID
Info.
Adicional
CRC
PID
Info. Adicional
CRC
Cada paquete se compone de un campo
PID (Paquet ID), puede tener además
información adicional y un 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.
Tipos de Paquetes – PID
Group
Token
Data
Handshake
Special
PID Value
0001
1001
0101
1101
0011
1011
0111
1111
0010
1010
1110
0110
1100
1100
1000
0100
Packet Identifier
OUT Token
IN Token
SOF Token
SETUP Token
DATA0
DATA1
DATA2
MDATA
ACK Handshake
NAK Handshake
STALL Handshake
NYET (No Response Yet)
PREamble
ERR
Split
Ping
PID
Info. Adicional
CRC
USB: Tipos de Token
Start Of Frame
Setup / In / Out
Data0 / Data1
Handshake
Tipos de Transferencias USB
„
Cada tipo de transferencia determina
características importantes del flujo de
información involucrado. Entre otras contamos
las siguientes:
„
„
„
„
„
„
Formato de datos impuesto por el USB.
Dirección del flujo de comunicaciones.
Restricciones en el tamaño del paquete de datos a
transmitir.
Restricciones en el acceso al bus.
Restricciones en el tiempo de recuperación de datos.
Secuencias de datos requeridas.
Manejo de errores.
Tipos de Transferencias USB
„
Transferencias de control:
Son comunicaciones por irrupción, no periódicas,
iniciadas por el host, que se utilizan en operaciones de
comando o status.
„
Transferencias Isócronas:
Se trata de un tipo de comunicación periódica y
continua entre el host y un dispositivo USB, utilizadas
típicamente en aplicaciones en donde el tiempo de
recuperación de datos es un factor relevante. No
quiere decir que sea crítico el tiempo de respuesta en
cuanto a la velocidad de recuperación de los datos
sino más bien, en cuanto a la periodicidad de acceso a
éstos.
Tipos 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.
Tipos de Transferencias USB
Tipo de Transferencia Control
Bulk
Interrupción Isócrona
Uso típico
Configuración
Impresora,
scanner
Mouse, Teclado
Audio
Obligatoria
Soportada por
dispositivos Low Speed
Corrección de errores
Si
No
No
No
Si
No
Si
No
Si
Si
Si
No
Tipo de pipe
Message
Stream
Stream
Stream
Garantiza Velocidad de envío No
No
Si
Si
Garantiza mínimo tiempo de
acceso a la información
No
No
Si
Si
Tamaño de datos por
Endpoint (Full Speed)
8, 16, 32, ó 64 8, 16, 32, ó
bytes
64 bytes
1 a 64 bytes
hasta 1023
bytes
Tamaño de datos por
Endpoint (Low Speed)
8 bytes
8 bytes
Ancho de banda reservado
por frame
10%
No aplica
Ninguno
No aplica
90 % (ambas combinadas)
Formatos de Transacciones Bulk
en USB
Formatos de Transacciones Bulk
en USB
Formatos de Transacciones de
control en USB
Formatos de Transacciones de
control en USB
Se componen de secuencias de paquetes SETUP IN
y OUT DATAN0 y DATA1
Formatos de Transacciones de
Interrupción en USB
Formatos de Transacciones
Isócronas en USB
Descriptores USB
„
„
Estructura jerárquica de datos
Describen al host las características, y
funciones de un dispositivo
USB : Enumeración
„
„
„
El Host o un hub detecta eléctricamente la
conexión de un dispositivo en un conector
(puerto).
Espera al menos 100mseg para que el
dispositivo se termine de insertar por completo
en el conector y para que la energía se
estabilice en él por completo.
El host envía un comando Reset al dispositivo
poniéndolo en el estado default. El dispositivo
responderá a partir de ahora por la dirección
default ´0´ del bus.
USB : Enumeración
„
„
„
Si el S.O. es Windows, el host pide al
dispositivo su Device Descriptor, y luego de
recibir los primeros 8 bytes, toma nota del
tamaño del pipe 0 del dispositivo y le vuelve a
enviar un reset…..
El Host envía al dispositivo el comando Set
Address asignándole una dirección en el bus.
Es dispositivo pasa al estado Addressed.
El host pide el Device Descriptor completo (18
bytes).
USB : Enumeración
„
„
„
Por cada configuración informada en el Device
Descriptor el host pide el Configuration
Descriptor. A cada pedido el dispositivo debe
devolver el Descriptor de configuración mas
todos los descriptores de interfaz que
dependan de él y por cada escruiptor de
interfaz el descriptor de Endpoint que dependa
de dicha interfaz.
El Host carga un Device Driver
El Device Driver del dispositivo selecciona una
configuración.
Bus Firewire (IEEE 1394)
„
„
„
„
Creado por Apple Computer, refinado
luego por Sony.
Compite directamente con el USB.
Modos de transferencia:
- Firewire 400: 400 MB/s
- Firewire 800 o Firewire 2: 800 MB/s
Se pueden conectar hasta 63 dispositivos
en una misma red.
Uso de los buses en las PC’s
Interfaz serie
„
„
„
„
RS232:
Se crea en los años 60.
La idea es transmitir bit por bit de forma secuencial.
Además de los bits de datos, existen bit de arranque, de
paridad y de parada.
Interfaz Paralelo
Interfaz Paralelo (SPP)
Interfaz Paralelo (SPP)
„
Proceso:
1.
2.
3.
4.
„
Computador tiene datos para enviar por
SPP: BUSY
Computador envía 8 bits de datos +
STROBE
Periférico responde con BUSY
Periférico guarda byte, envía ACK y
desactiva BUSY
Velocidad de transmisión: 150 KB/s
Interfaz Paralelo (EPP)
„
Compatible con SPP estándar IEEE 1284
„
Transferencia de datos PC – periférico
Ciclo de escritura de datos
„ Ciclo de lectura de datos
„
„
Direcciones, canales o comandos
Ciclo de escritura de dirección
„ Ciclo de lectura de dirección
„
„
Velocidad de transmisión: 2MB/s
Interfaz Paralelo - ECP (Extended
Capabilities Port)
„
„
IEEE 1284
Permite compresión de datos RLE (Run
Length Encoding)
„
„
- Para impresoras y escáners
Velocidad de transmisión: 5MB/s
Referencias
„
„
„
„
„
Capítulo 3 de Stallings
www.pcguide.com/ref/mbsys/buses/
www.pcisig.org
www.usb.org
www.beyondlogic.org/usbnutshell/usb-in-anutshell.pdf
Descargar