La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Organización del Computador 1

Presentaciones similares


Presentación del tema: "Organización del Computador 1"— Transcripción de la presentación:

1 Organización del Computador 1
Buses

2 Buses Un bus es un camino de comunicación entre dos o más dispositivos. Medio de transmisión compartido. Requiere de señales de control.

3 Buses

4 Buses Arquitectura de bus tradicional

5 Buses Arquitectura de altas prestaciones

6 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.

7 Buses Diseño del bus: tipos de líneas Líneas dedicadas: CPU ROM RAM
I/O Datos Direcciones

8 Buses Líneas dedicadas (ejemplo): Bus de direcciones CPU decoder
INTR MREQ INTA RD WR decoder D7 D0 8 líneas Bus de datos D7 D0 I/O ROM RAM CE CE CE A11 A0

9 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) Ventajas: menos líneas  se reduce tamaño y precio. Desventajas: se complica la circuitería se reduce velocidad del computador.

10 Buses Diseño del bus: tipos de líneas Líneas multiplexadas: CPU ROM
RAM I/O Datos y Direcciones

11 Buses Líneas multiplexadas (ejemplo): Bus general CPU decoder
INTR MREQ INTA RD WR decoder D7 D0 Bus general D7 D0 I/O ROM RAM CE CE CE A11 A0

12 Buses 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

13 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

14 Buses Temporización sincrónica:

15 Buses 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.

16 Buses Temporización asincrónica:

17 Buses Temporización asincrónica:

18 Buses Temporización asincrónica:

19 Buses Temporización asincrónica:

20 Buses Temporización asincrónica:

21 Buses Temporización asincrónica:

22 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

23 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)

24 Buses Ejercicio: 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: ¿De cuántas líneas son los buses? 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

25 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?

26 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.

27 Buses Arbitraje (centralizado):

28 Buses Arbitraje (distribuído):

29 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 con bus de datos de 16 bits y 24 líneas para selección de direcciones. IBM lo usa en su PC-AT.

30 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.

31 ISA Layout Motherboard Vista frontal del conector del bus ISA Memoria
Microprocesador  Vista frontal del conector del bus ISA

32 Evolución de ISA Bus EISA: VESA Local Bus:
Se introduce el 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.

33 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: 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 fabricantes). Versión 2.0 66 MHz ---> Gbps (528MB/s). Versión 2.1 64 bits de datos

34 PCI: Diagrama Genérico

35 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).

36 PCI: Señales obligatorias

37 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

38 PCI: Transferencia de Lectura

39 PCI: Transferencia de Lectura
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).

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

41 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.

42 PCI: Transferencia de Lectura
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.

43 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.

44 PCI: Transferencia de Lectura
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äsentation

45 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.

46 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.

47 PCI: Transferencia de Lectura
i) El master desactiva IRDY, con esto hace que el bus vuelva a estar libre, y el slave desactiva TRDY y DEVSEL.

48 PCI: Arbitraje Arbitraje centralizado Transmisión
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

49 PCI: Arbitraje GNT REQ GNT REQ GNT REQ Árbitro Dispositivo de

50 Comparación de buses Bus Type Bus Width Bus Speed MB/sec ISA 16 bits
8 MHz 16 MBps EISA 32 bits 32 MBps VL-bus 25 MHz 100 MBps 33 MHz 132 MBps PCI 64 bits 264 MBps 66 MHz 512 MBps PCI-X 133 MHz 1 GBps

51 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

52 Procesamiento de Video 3D en PCI
Buffer de trama Textura 2 Buffer Local de Texturas CPU Memoria Del Sistema Textura 1 Textura 2 RAM del Sistema a Local Chip Gráfico Chipset PCI Monitor 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. 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. Finalmente se almacena en memoria para que lo tome el Chip Gráfico BUS PCI Drive de DISCO

53 Procesamiento de Video 3D con AGP
CPU Buffer de trama Memoria Del Sistema Textura 1 Textura 2 Chip Gráfico Monitor Chipset AGP BUS PCI Drive de DISCO

54 BUS AGP sobre Procesador Pentium III
Memoria del Sistema Texturas Intel 440BX AGPset Acelerador Gráfico Intel 740 Cache L2 Core PCI 2.0 GB/s Procesador Pentium III 800 MB/s 132 MB/s AGP 528 MB/s I/O Local BUS AGP sobre Procesador Pentium III

55 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)

56 SCSI (señales) BSY: ocupado SEL: selecciona dispositivo
C/D: datos / control MSG: mensaje REQ: solicita transferencia ACK: reconoce REQ ATN: mensaje disponible RST: inicio del bus

57 SCSI: Temporización

58 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

59 IDE (cables y conectores)
PATA SATA 133MB/s 150MB/s

60 Conector IDE ATAPI - 40 Pines

61 Interfaz IDE ATAPI: Direcciones de E/S
HEX BINARY DESCRIPTION 1FX XXXX Primary Command Registers 3FX XXXX Primary Control Registers 17X XXXX Alternate Command Registers 37X XXXX Alternate Control Registers Address bit A7

62 Interfaz IDE ATAPI: Registros

63 Interfaz IDE ATAPI: Registros
Registros para lectura: - datos - error - sectores totales - Nº cilindro - Disco/cabeza - Estado Registros para escritura: - características - Disco/cabeza - Comando

64 Interfaz IDE ATAPI: Comandos

65 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 rpm IDE: rpm Tiempos de acceso: SCSI: 3-4ms IDE: 8ms Precio: SCSI: X IDE: 0.7 X

66 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.

67 USB - Arquitectura 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.

68 USB - Arquitectura HOST Hub root Hub1 Func Hub2 Hub3 Hub4 Hub5 HOST Tier 1 Tier 2 Tier 3 Tier 4 Tier 5 Tier 6 Tier 7 Hub6 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. 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.

69 Dispositivos USB Funciones Conectores
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.

70 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.

71 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. Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que actúa como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera íntimamente relacionada al Hardware. Normalmente se diseñan de modo de soportar ambos standars de hardware (OHDI y UHDI). Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya función es la de garantizar la interacción entre el HCD y los drivers lógicos. Esta Interacción está definida a través de estructuras de datos y funciones definidas en la Especificación Open USB Driver Interface. La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una colección de drivers específicos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada. El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicación de usuario final , al dispositivo USB en cuestión.

72 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. Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que actúa como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera íntimamente relacionada al Hardware. Normalmente se diseñan de modo de soportar ambos standars de hardware (OHDI y UHDI). Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya función es la de garantizar la interacción entre el HCD y los drivers lógicos. Esta Interacción está definida a través de estructuras de datos y funciones definidas en la Especificación Open USB Driver Interface. La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una colección de drivers específicos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada. El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicación de usuario final , al dispositivo USB en cuestión.

73 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 Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que actúa como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera íntimamente relacionada al Hardware. Normalmente se diseñan de modo de soportar ambos standars de hardware (OHDI y UHDI). Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya función es la de garantizar la interacción entre el HCD y los drivers lógicos. Esta Interacción está definida a través de estructuras de datos y funciones definidas en la Especificación Open USB Driver Interface. La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una colección de drivers específicos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada. El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicación de usuario final , al dispositivo USB en cuestión.

74 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.

75 Organización de las Transferencias
START OF FRAME Dispositivo 1 Endpoint 3 Dispositivo 1 Endpoint 4 Dispositivo 2 Endpoint 1 Dispositivo 6 Endpoint 2 Sin utilizar Dispositivo 4 Endpoint 1 Dispositivo 3 Endpoint 2 Dispositivo 2 Endpoint 2 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. Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que actúa como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera íntimamente relacionada al Hardware. Normalmente se diseñan de modo de soportar ambos standars de hardware (OHDI y UHDI). Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya función es la de garantizar la interacción entre el HCD y los drivers lógicos. Esta Interacción está definida a través de estructuras de datos y funciones definidas en la Especificación Open USB Driver Interface. La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una colección de drivers específicos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada. El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicación de usuario final , al dispositivo USB en cuestión.

76 Transacciones Ej: Reproducir un archivo de audio, imprimir un documento, etc. Transferencia 1 Transferencia 2 Transferencia 3 Cada Transferencia se divide en una o mas transacciones Transacción 1 Transacción 2 Transacción 3 Transacción 1 Transacción 2 Transacción 3 Transacción 1 Transacción 2 Transacción 3 Cada Transacción contiene como mínimo un paquete Token, y puede contener adicionalmente un paquete de datos y otro de Handshake Token Datos Handshake Token Datos Handshake Token Datos Handshake Cada paquete se compone de un campo PID (Paquet ID), puede tener además información adicional y un CRC Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que actúa como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera íntimamente relacionada al Hardware. Normalmente se diseñan de modo de soportar ambos standars de hardware (OHDI y UHDI). Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya función es la de garantizar la interacción entre el HCD y los drivers lógicos. Esta Interacción está definida a través de estructuras de datos y funciones definidas en la Especificación Open USB Driver Interface. La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una colección de drivers específicos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada. El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicación de usuario final , al dispositivo USB en cuestión. PID Info. Adicional CRC PID Info. Adicional CRC PID 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.

77 Tipos de Paquetes – PID PID Group 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 ERR 1000 Split 0100 Ping PID Info. Adicional CRC

78 USB: Tipos de Token Start Of Frame Start Of Frame Handshake
Setup / In / Out Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que actúa como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera íntimamente relacionada al Hardware. Normalmente se diseñan de modo de soportar ambos standars de hardware (OHDI y UHDI). Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya función es la de garantizar la interacción entre el HCD y los drivers lógicos. Esta Interacción está definida a través de estructuras de datos y funciones definidas en la Especificación Open USB Driver Interface. La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una colección de drivers específicos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada. El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicación de usuario final , al dispositivo USB en cuestión. Data0 / Data1

79 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. Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que actúa como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera íntimamente relacionada al Hardware. Normalmente se diseñan de modo de soportar ambos standars de hardware (OHDI y UHDI). Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya función es la de garantizar la interacción entre el HCD y los drivers lógicos. Esta Interacción está definida a través de estructuras de datos y funciones definidas en la Especificación Open USB Driver Interface. La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una colección de drivers específicos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada. El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicación de usuario final , al dispositivo USB en cuestión.

80 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. Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que actúa como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera íntimamente relacionada al Hardware. Normalmente se diseñan de modo de soportar ambos standars de hardware (OHDI y UHDI). Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya función es la de garantizar la interacción entre el HCD y los drivers lógicos. Esta Interacción está definida a través de estructuras de datos y funciones definidas en la Especificación Open USB Driver Interface. La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una colección de drivers específicos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada. El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicación de usuario final , al dispositivo USB en cuestión.

81 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. Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que actúa como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera íntimamente relacionada al Hardware. Normalmente se diseñan de modo de soportar ambos standars de hardware (OHDI y UHDI). Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya función es la de garantizar la interacción entre el HCD y los drivers lógicos. Esta Interacción está definida a través de estructuras de datos y funciones definidas en la Especificación Open USB Driver Interface. La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una colección de drivers específicos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada. El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicación de usuario final , al dispositivo USB en cuestión.

82 Tipos de Transferencias USB
Tipo de Transferencia Control Bulk Interrupción Isócrona Uso típico Configuración Impresora, 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 bytes hasta 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)

83 Formatos de Transacciones Bulk en USB

84 Formatos de Transacciones Bulk en USB

85 Formatos de Transacciones de control en USB

86 Formatos de Transacciones de control en USB
Se componen de secuencias de paquetes SETUP IN y OUT DATAN0 y DATA1

87 Formatos de Transacciones de Interrupción en USB

88 Formatos de Transacciones Isócronas en USB

89 Descriptores USB Estructura jerárquica de datos
Describen al host las características, y funciones de un dispositivo

90 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.

91 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).

92 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.

93 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.

94 Uso de los buses en las PC’s

95 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.

96 Interfaz Paralelo

97 Interfaz Paralelo (SPP)

98 Interfaz Paralelo (SPP)
Proceso: 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

99 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

100 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

101 Referencias Capítulo 3 de Stallings www.pcguide.com/ref/mbsys/buses/


Descargar ppt "Organización del Computador 1"

Presentaciones similares


Anuncios Google