1 / 28

Tema 4. Caracter sticas y protocolos de los buses

2. 1. introducci

salim
Télécharger la présentation

Tema 4. Caracter sticas y protocolos de los buses

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. 1 Tema 4. Caractersticas y protocolos de los buses

    2. 2 1. introduccin Funcin: permitir la correcta comunicacin entre los dispositivos interconectados

    3. 3 1. introduccin Elementos implicados en una transferencia: Bus master: Inicia y dirige las transferencias (CPU, DMA, ...) Bus slave: Obedece y accede a las peticiones del master (memoria, interfaz E/S, ...) Tipos bsicos de transferencia: Escritura: Lectura: Ciclo de bus: cualquier transferencia completa Operaciones bsicas: 1. Direccionamiento del slave 2. Especificacin del tipo de operacin (lectura o escritura) 3. Transferencia del dato 4. Finalizacin del ciclo de bus Control de la transferencia: Sincronizacin: determinar el inicio y el final de cada transferencia Arbitraje: controlar del acceso al bus en caso de varios masters

    4. 4 1. introduccin Capacidad de conexin: nmero mximo de dispositivos conectables Longitud de bus: mxima distancia que puede separar a dos dispositivos conectados Ancho de bus: nmero total de lneas ejemplos: i8086: 40; MC68000: 64; Multibus II: 96; VME: 128 Ancho de datos: nmero total de lneas para datos Ancho de banda: caudal mximo de informacin que puede transmitirse ejemplos: VME: 40 Mb/s; PCI: 132 Mb/s; POWERpath-2: 12 Gb/s; AlphaServer 8000: 21 Gb/s Protocolo de transferencia o de sincronizacin: mtodo utilizado para sincronizar master y slave Protocolo de arbitraje: mtodo utilizado para la resolucin de conflictos de acceso por varios masters

    5. 5 2. clasificacin de las lneas del bus Lneas de datos (bus de datos): transmiten datos Lneas de direcciones (bus de direcciones): designan la fuente o el destino de un dato Lneas de control: gobiernan el acceso y el uso de las lneas de datos y direcciones Lneas de operacin: determinan el tipo de operacin que debe realizar el slave Lneas de sincronizacin: determinan el comienzo y final de cada transferencia Lneas de arbitraje: determinan cual de los elementos conectados puede usar el bus

    6. 6 2. clasificacin de las lneas del bus Lneas unidireccionales con un transmisor y mltiples receptores En cada instante, slo un dispositivo puede escribir sobre la lnea Ejemplo: lneas de direccin Tipo de driver: TRI-STATE (tres estados de salida: high, low, off) Lneas unidireccionales con mltiples transmisores y un receptor Mltiples dispositivos pueden escribir sobre la lnea de forma simultnea Seal resultante: O-lgica (cableada) de las distintas fuentes Ejemplo: lneas de peticin de interrupcin Tipo de driver: OPEN-COLLECTOR (dos estados de salida: activo e inactivo) Lneas bidireccionales Un mismo dispositivo puede transmitir o recibir a travs de las lneas Ejemplo: lneas de datos Tipo de driver: TRANSCEIVER (tiene capacidad para transmitir o recibir)

    7. 7 3. protocolos de transferencia Funcin: Sincronizar los elementos implicados en una transferencia (master y slave) Determinar el comienzo y el final de cada transferencia Tipos de transferencia: Lectura Escritura Lectura de bloque Escritura de bloque Lectura-modificacin-escritura Lectura despus de escritura Tipos de protocolos de transferencia: Sncrono Asncrono Semisncrono Ciclo partido

    8. 8 3. protocolos de transferencia

    9. 9 3. protocolos de transferencia Las transferencias estn gobernadas por una nica seal de reloj compartida por todos los dispositivos Cada transferencia se realiza en un nmero fijo de periodos de reloj (1 en el ejemplo) Los flancos del reloj (de bajada en el ejemplo) determinan el comienzo de un nuevo ciclo de bus y el final del ciclo anterior

    10. 10 3. protocolos de transferencia Temporizacin: Tiempo de decodificacin (decode time): tiempo necesario para que slave decodifique la direccin Tiempo de estabilizacin (setup time): tiempo antes del flanco de reloj que deben permanecer estables las seales para asegurar su correcto almacenamiento Tiempo de permanencia (hold time): tiempo despus del flanco de reloj que deben permanecer estables las seales para asegurar su correcto almacenamiento Tiempo de desplazamiento relativo de las seales (skew time): diferencia de tiempo entre la llegadas al receptor de dos seales que partieron del emisor simultneamente

    11. 11 No existe seal de reloj Los dispositivos implicados en la transmisin fijan el comienzo y el final de la misma mediante el intercambio de seales de control (handshake) Se utilizan 2 seales de sincronizacin: Master SYNC (procedente del master) Slave SYNC (procedente del slave) Protocolo completamente interbloqueado: A cada flanco del master le sigue uno del slave Ciclo de escritura: 1: (M a S) Hay un dato en el bus 2: (S a M) He tomado el dato 3: (M a S) Veo que lo has tomado 4: (S a M) Veo que lo has visto (Bus libre) Ciclo de lectura: 1': (M a S) Quiero un dato 2': (S a M) El dato est en el bus 3': (M a S) He tomado el dato 4': (S a M) Veo que lo has tomado (Bus libre) 3. protocolos de transferencia

    12. 12 3. protocolos de transferencia Ventajas: Facilidad para conectar elementos de diferentes velocidades Fiabilidad: la recepcin siempre se confirma. Desventajas: El intercambio de seales de control introduce retardos adicionales A igualdad de velocidades de los dispositivos, menos eficiente que el sncrono Ejemplos: Unibus (PDP-11), MC680XX(10,20,30), Bus VME, FutureBus+

    13. 13 Las transferencias se rigen por una nica seal de reloj Cada transferencia puede ocupar uno o varios periodos de reloj Seal de WAIT (puede activarla cualquier Slave sin no es capaz de realizar la transf. en 1 solo ciclo) Dispositivos rpidos: operan como en un bus sncrono (una transferencia por ciclo) Dispositivos lentos: activan la seal de WAIT y congelan actuacin del Master (una transferencia puede ocupar varios ciclos) Ejemplos: i80x86, MC68040, Multibus II, Bus PCI, DEC 7000/10000 AXP 3. protocolos de transferencia

    14. 14 Mejora el rendimiento del bus en las operaciones de lectura El ciclo de lectura se divide en dos transacciones separadas El Master enva al Slave la peticin de lectura y deja el bus libre Cuando el Slave dispone del dato solicitado, inicia un ciclo de bus y enva el dato al Master (Slave acta como master del bus) Desventajas: Lgica ms compleja: ambos dispositivos deben ser capaces de actuar como Master y como Slave Necesidad de incluir un protocolo de arbitraje Ejemplos: VAX-11/780, iAPX-432 3. protocolos de transferencia

    15. 15 4. protocolos de arbitraje Funcin: Garantizar el acceso al bus libre de conflictos cuando existen varios masters alternativos Procesador + Controladores DMA Procesador + Procesador de E/S + Coprocesador matemtico + ... Sistema multiprocesador Tipos de protocolos de arbitraje Centralizados: existe un rbitro del bus o master principal que controla el acceso al bus Protocolo en estrella Protocolo daisy-chain de dos hilos Protocolo de tres hilos Protocolo de cuatro hilos Distribuidos: el control de acceso al bus se lleva a cabo entre todos los posibles masters de una forma cooperante Protocolo de lneas de identificacin Protocolo de cdigos de identificacin

    16. 16 4. protocolos de arbitraje Cada master se conecta al rbitro mediante dos lneas individuales: BUS REQUEST (REQ): lnea de peticin del bus BUS GRANT (GNT): lnea de concesin del bus

    17. 17 4. protocolos de arbitraje

    18. 18 4. protocolos de arbitraje

    19. 19 4. protocolos de arbitraje Lneas de arbitraje: BUS REQUEST: lnea de peticin de bus BUS GRANT: lnea de concesin del bus BUS BUSY: lnea de bus ocupado

    20. 20 4. protocolos de arbitraje

    21. 21 4. protocolos de arbitraje Permite solapar la transferencia del ciclo actual con el arbitraje del ciclo siguiente Lneas de arbitraje: BUS REQUEST: lnea de peticin de bus BUS GRANT: lnea de concesin del bus BUS BUSY: lnea de bus ocupado BUS ACK: lnea de confirmacin La activa el master que solicit el bus en respuesta BUS GRANT, cuando el bus est ocupado Cuando est activada el rbitro queda inhibido Ejemplo: Unibus (PDP-11), MC68000

    22. 22 4. protocolos de arbitraje Funcionamiento: Cuando un master quiere tomar el control del bus activa su lnea de identificacin Cada lnea de identificacin tiene asignada una prioridad: Prioridad(ID0)<Prioridad(ID1)< ....< Prioridad(IDn-1) Si varios masters activan simultneamente sus lneas de identificacin, gana el de mayor prioridad Funcionamiento alternativo: las prioridades pueden ser variables Desventajas: Nmero de dispositivos limitado por el nmero de lneas de arbitraje Ejemplos: Prioridad fija: VAX SBI, SCSI Prioridad variable: DEC 70000/10000 AXP, AlphaServer 8000

    23. 23 4. protocolos de arbitraje Funcionamiento: Cada master tiene un cdigo de identificacin de n bits (mximo 2n masters) Existen n lneas de arbitraje: ARB0, ARB1, ..., ARBn-1 Cuando un master quiere tomar el control del bus pone su cdigo en las n lneas de arbitraje Si varios masters compiten por el bus, gana el de mayor identificador Ejemplos: Multibus II, Futurebus+

    24. 24 Bus datos (16 bits) lneas D0-D15 Bus de direcciones (24 bits) lneas A1-A23 (no existe lnea A0) LDS* (Lower Data Strobe) Selecciona el byte menos significativo UDS* (Upper Data Strobe) Selecciona el byte ms significativo Control de operacin: R/W* (Read/Write) 1 ? Lectura; 0 ? Escritura Protocolo de transferencia asncrono: AS* (Address Strobe): equivale a MASTER SYNC DTACK* (Data Transfer Acknowledge): equivale a SLAVE SYNC Protocolo de arbitraje de 4 hilos con MC68000 como arbitro: BR* (Bus Request): equivale a BUS REQUEST BG* (Bus Grant): equivale a BUS GRANT BGACK* (Bus Grant Acknowledge): equivale a BUS ACK Las seales AS* y DTACK*: hacen la funcin de BUS BUSY (si estn activadas indican que el bus est ocupado) El MC68000 utiliza un reloj interno para marcar el inicio de todas las operaciones que realiza sobre el bus, este reloj NO es compartido por los slaves (el protocolo es asncrono) 5. ejemplos: MC68000

    25. 25 5. ejemplos: MC68000

    26. 26 NOTA: El MC68000 es a la vez master y rbitro. Por defecto tiene control del bus y por ello AS* y DTACK* (que actan como BUS BUSY) estn habitualmente activadas. Cuando otro master alternativo desea utilizar el bus, el MC68000 solapa el arbitraje con la transferencia actual. Arbitraje: 1) el master alternativo activa BR* 2) el MC68000 activa BG* para indicar que el bus estar libre al final del ciclo actual (cuando se desactiven AS* y DTACK*) 3) cuando el master alternativo controla el bus activa BGACK*, y el rbitro responde desactivando BG* 4) el control del bus retorna al MC68000 cuando el master alternativo desactiva BACK* 5. ejemplos: MC68000

    27. 27 Bus de datos (16 bits) multiplexado con parte baja de bus de direcciones lneas AD0-AD15 Bus de direcciones (20 bits) lneas AD0-AD15/A16-A19 Control de operacin: RD*: lectura WR*: escritura MEM/IO* 1 ? con memoria; 0 ? con E/S ALE (Address Latch Enable) Direccin vlida Protocolo de transferencia semisncrono: CLK: reloj ciclo de bus = 4 ciclos de reloj mnimo READY: equivale a WAIT Activada al inicio de cada transferencia, la desactiva el slave si no puede completar la transferencia en el tiempo mnimo (4 ciclos) Protocolo de arbitraje de 2 hilos: HOLD: equivale a REQUEST HLDA: equivale a GRANT 5. ejemplos: i8086

    28. 28 5. ejemplos: i8086

    29. 29 5. ejemplos: i8086

More Related