Tema 4' Caractersticas y protocolos de los buses - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Tema 4' Caractersticas y protocolos de los buses

Description:

1. Estructura y Tecnolog a de Computadores. M dulo C. Buses del computador ... Dispositivos lentos: activan la se al de WAIT y ... – PowerPoint PPT presentation

Number of Views:210
Avg rating:3.0/5.0
Slides: 30
Provided by: rafaelmore
Category:

less

Transcript and Presenter's Notes

Title: Tema 4' Caractersticas y protocolos de los buses


1
Tema 4. Características y protocolos de los buses
Estructura y Tecnología de Computadores Módulo C.
Buses del computador
CONTENIDOS 1. Introducción Definición de bus.
Modo de operación. Parámetros de caracterización.
2. Clasificación de las líneas del bus Según su
función. Según su uso. Según sus características
eléctricas 3. Protocolos de transferencia Función
. Protocolo síncrono. Protocolo asíncrono.
Protocolo semisíncrono. Protocolo de ciclo
partido 4. Protocolos de arbitraje Función.
Protocolos centralizados vs. protocolos
distribuídos. Protocolo en estrella. Protocolo
daisy-chain de 2 hilos. Protocolo de 3 hilos.
Protocolo de 4 hilos. Protocolo de líneas de
identificación. Protocolo de códigos de
identificación 5. Ejemplos MC68000. i8086
2
1. introducción
Un bus es un medio de transmisión compartido que
interconecta dos o más dispositivos de un sistema
digital
  • Función permitir la correcta comunicación entre
    los dispositivos interconectados
  • Constitución
  • Conjunto de líneas (conductores eléctricos)
    compartidas por todos los dispositivos
  • Cualquier señal transmitida por un dispositivo
    está disponible para los demás
  • Si dos dispositivos transmiten simultáneamente
    las señales se solapan y la información
    resultante es inválida
  • Conexiones en paralelo varias señales viajan
    juntas sobre distintas líneas

3
1. introducción
Modo de operación
  • 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 básicos de transferencia
  • Escritura
  • Lectura
  • Ciclo de bus cualquier transferencia completa
  • Operaciones básicas
  • 1. Direccionamiento del slave
  • 2. Especificación del tipo de operación (lectura
    o escritura)
  • 3. Transferencia del dato
  • 4. Finalización del ciclo de bus
  • Control de la transferencia
  • Sincronización determinar el inicio y el final
    de cada transferencia
  • Arbitraje controlar del acceso al bus en caso de
    varios masters

DATO
Slave
Master
DATO
Slave
Master
4
1. introducción
Parámetros de caracterización
  • Capacidad de conexión número máximo de
    dispositivos conectables
  • Longitud de bus máxima distancia que puede
    separar a dos dispositivos conectados
  • Ancho de bus número total de líneas
  • ejemplos i8086 40 MC68000 64 Multibus II
    96 VME 128
  • Ancho de datos número total de líneas para datos
  • Ancho de banda caudal máximo de información 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 sincronización
    método utilizado para sincronizar master y slave
  • Protocolo de arbitraje método utilizado para la
    resolución de conflictos de acceso por varios
    masters

5
2. clasificación de las líneas del bus
según su función
  • Líneas de datos (bus de datos) transmiten datos
  • Líneas de direcciones (bus de direcciones)
    designan la fuente o el destino de un dato
  • Líneas de control gobiernan el acceso y el uso
    de las líneas de datos y direcciones
  • Líneas de operación determinan el tipo de
    operación que debe realizar el slave
  • Líneas de sincronización determinan el comienzo
    y final de cada transferencia
  • Líneas de arbitraje determinan cual de los
    elementos conectados puede usar el bus

según su uso
  • Líneas dedicadas tienen asignada una única
    función
  • Líneas multiplexadas realizan distintas
    funciones a lo largo del tiempo
  • Ventajas menor número de líneas ? ahorra espacio
    ? menor coste
  • Desventajas Circuitería más compleja y menor
    rendimiento (las funciones que realizan las
    líneas multiplexadas no pueden realizarse en
    paralelo)

6
2. clasificación de las líneas del bus
según sus características eléctricas
  • Líneas unidireccionales con un transmisor y
    múltiples receptores
  • En cada instante, sólo un dispositivo puede
    escribir sobre la línea
  • Ejemplo líneas de dirección
  • Tipo de driver TRI-STATE (tres estados de
    salida high, low, off)
  • Líneas unidireccionales con múltiples
    transmisores y un receptor
  • Múltiples dispositivos pueden escribir sobre la
    línea de forma simultánea
  • Señal resultante O-lógica (cableada) de las
    distintas fuentes
  • Ejemplo líneas de petición de interrupción
  • Tipo de driver OPEN-COLLECTOR (dos estados de
    salida activo e inactivo)
  • Líneas bidireccionales
  • Un mismo dispositivo puede transmitir o recibir a
    través de las líneas
  • Ejemplo líneas de datos
  • Tipo de driver TRANSCEIVER (tiene capacidad para
    transmitir o recibir)

7
3. protocolos de transferencia
  • Función
  • 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-modificación-escritura
  • Lectura después de escritura
  • Tipos de protocolos de transferencia
  • Síncrono
  • Asíncrono
  • Semisíncrono
  • Ciclo partido

8
3. protocolos de transferencia
Tipos de transferencia
Data
Access Time
9
3. protocolos de transferencia
Protocolo síncrono
  • Las transferencias están gobernadas por una única
    señal de reloj compartida por todos los
    dispositivos
  • Cada transferencia se realiza en un número 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

Ciclo
Ciclo
Ciclo
Reloj
Dirección
MS
SM
MS
Datos
ESCRITURA
LECTURA
ESCRITURA
tiempo que debe ser superior a t. decodificación
t. setup t. skew
tiempo que debe ser superior a t. setup t. skew
tiempo que debe ser superior a t. hold
10
3. protocolos de transferencia
  • Temporización
  • Tiempo de decodificación (decode time) tiempo
    necesario para que slave decodifique la dirección
  • Tiempo de estabilización (setup time) tiempo
    antes del flanco de reloj que deben permanecer
    estables las señales para asegurar su correcto
    almacenamiento
  • Tiempo de permanencia (hold time) tiempo después
    del flanco de reloj que deben permanecer estables
    las señales para asegurar su correcto
    almacenamiento
  • Tiempo de desplazamiento relativo de las señales
    (skew time) diferencia de tiempo entre la
    llegadas al receptor de dos señales que partieron
    del emisor simultáneamente

Retardo Relativo (Skew)
Destino
Origen
A0
Ventajas y desventajas del protocolo síncrono
skew
A1
  • Ventajas
  • Simplicidad (de diseño y de uso)
  • Sólo se necesita una señal (reloj) para llevar a
    cabo la sincronización
  • Mayor velocidad (en relación a protocolo
    asíncrono)
  • Desventajas
  • El periodo de reloj se tiene que adaptar a la
    velocidad del dispositivo más lento (por lo que
    suele usarse para conectar dispositivos
    homogéneos)
  • No existe confirmación de la recepción de los
    datos
  • La necesidad de distribuir la señal de reloj
    limita la longitud del bus
  • Ejemplos MC6800, MC6809

11
3. protocolos de transferencia
Protocolo asíncrono
  • No existe señal de reloj
  • Los dispositivos implicados en la transmisión
    fijan el comienzo y el final de la misma mediante
    el intercambio de señales de control (handshake)
  • Se utilizan 2 señales de sincronización
  • 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)

Dirección
3
1'
3'
1
Master SYNC
Slave SYNC
2
4
2'
4'
Datos
MS
SM
ESCRITURA
LECTURA
estabilización decodificación desplazamiento
relativo
Tiempos de
estabilización desplazamiento relativo
Tiempos de
12
3. protocolos de transferencia
Ventajas y desventajas del protocolo asíncrono
  • Ventajas
  • Facilidad para conectar elementos de diferentes
    velocidades
  • Fiabilidad la recepción siempre se confirma.
  • Desventajas
  • El intercambio de señales de control introduce
    retardos adicionales
  • A igualdad de velocidades de los dispositivos,
    menos eficiente que el síncrono
  • Ejemplos Unibus (PDP-11), MC680XX(10,20,30), Bus
    VME, FutureBus

13
3. protocolos de transferencia
Protocolo semisíncrono
  • Las transferencias se rigen por una única señal
    de reloj
  • Cada transferencia puede ocupar uno o varios
    periodos de reloj
  • Señal de WAIT (puede activarla cualquier Slave
    sin no es capaz de realizar la transf. en 1 solo
    ciclo)
  • Dispositivos rápidos operan como en un bus
    síncrono (una transferencia por ciclo)
  • Dispositivos lentos activan la señal de WAIT y
    congelan actuación del Master (una transferencia
    puede ocupar varios ciclos)
  • Ejemplos i80x86, MC68040, Multibus II, Bus PCI,
    DEC 7000/10000 AXP

Reloj
Dirección
MS
MS
SM
SM
Datos
WAIT
ESCRITURA NORMAL
ESCRITURA LENTA
LECTURA NORMAL
LECTURA LENTA
14
3. protocolos de transferencia
Protocolo de ciclo partido
  • Mejora el rendimiento del bus en las operaciones
    de lectura
  • El ciclo de lectura se divide en dos
    transacciones separadas
  • El Master envía al Slave la petición de lectura y
    deja el bus libre
  • Cuando el Slave dispone del dato solicitado,
    inicia un ciclo de bus y envía el dato al Master
    (Slave actúa como master del bus)
  • Desventajas
  • Lógica más 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

15
4. protocolos de arbitraje
  • Función
  • Garantizar el acceso al bus libre de conflictos
    cuando existen varios masters alternativos
  • Procesador Controladores DMA
  • Procesador Procesador de E/S Coprocesador
    matemático ...
  • 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 líneas de identificación
  • Protocolo de códigos de identificación

16
4. protocolos de arbitraje
Protocolo en estrella
  • Cada master se conecta al árbitro mediante dos
    líneas individuales
  • BUS REQUEST (REQ) línea de petición del bus
  • BUS GRANT (GNT) línea de concesión del bus
  • Varias peticiones de bus pendientes el árbitro
    puede aplicar distintos algoritmos de decisión
  • FIFO
  • Prioridad fija
  • Prioridad variable
  • Ventajas
  • Algoritmos de arbitraje simples
  • Pocos retardos de propagación de las señales (en
    comparación con protocolos daisy-chain)
  • Desventajas
  • Número elevado de líneas de arbitraje en el bus
    (dos por cada posible master)
  • Número de masters alternativos limitado por el
    número de líneas de arbitraje
  • Ejemplo PCI

17
4. protocolos de arbitraje
Protocolo daisy-chain de 2 hilos
  • Dos líneas de arbitraje comunes
  • BUS REQUEST Línea de petición del bus
  • BUS GRANT Línea de concesión del bus
  • Funcionamiento
  • El master que quiere tomar el control del bus
    activa REQUEST
  • Los restantes masters propagan REQUEST hasta el
    árbitro
  • El árbitro activa GRANT
  • Si un master recibe GRANT y no pidió el bus,
    propaga GRANT al siguiente
  • Si un master recibe GRANT y tiene una petición
    pendiente, toma el control del bus
  • Prioridades
  • El orden en que se conectan los Masters a las
    líneas de arbitraje determina la prioridad de los
    mismos
  • Ejemplo bus i8086

Situaciones típicas 1) Mk pide el Bus Cuando
Mk recibe GRANT toma el control del bus 2) Mk
recibe una petición de Mk1 Cuando Mk recibe
GRANT la propaga a Mk1 3) Mk pide el
bus Cuando Mk recibe GRANT toma el control del
bus Mientras Mk controla el bus, recibe una
petición de Mk1 Cuando Mk termina de usar el
bus, propaga GRANT a Mk1
18
4. protocolos de arbitraje
Protocolo daisy-chain de 2 hilos (cont)
Situación conflictiva 1 1) M2 pide el Bus 2) M2
detecta GRANT IN y toma el control del bus 3) M1
pide el bus. M1 detecta GRANT IN y toma el
control del bus Solución Un master sólo puede
tomar el control del bus cuando detecta el flanco
de subida de GRANT IN
Situación conflictiva 2 1) M2 controla el
bus 2) Cuando M2 deja de controlar el bus, a)
M1 pide el control b) M3 pide el
control 3) Como M2 tiene GRANT IN todavía
activada M2 propaga GRANT a M3, que toma el
control 4) Al mismo tiempo M1 recibe GRANT in
del árbitro y M1 toma el control Solución Un
master Mi sólo puede propagar GRANT al terminar
de usar el bus, si REQUEST IN se activó antes de
que Mi desactivase su petición local
Petición local
Petición local Control del bus
19
4. protocolos de arbitraje
Protocolo de 3 hilos
  • Líneas de arbitraje
  • BUS REQUEST línea de petición de bus
  • BUS GRANT línea de concesión del bus
  • BUS BUSY línea de bus ocupado
  • Funcionamiento
  • Cuando un master toma el control del bus activa
    BUS BUSY
  • Un master solicita el bus activando REQUEST
  • El árbitro activa GRANT cuando detecta REQUEST
    activado y BUS BUSY desactivado
  • Si un master recibe GRANT y no ha pedido el bus,
    entonces propaga GRANT al siguiente
  • Un master puede tomar el control del bus si se
    cumplen las tres condiciones siguientes
  • a) El master tiene una petición local pendiente
  • b) La línea BUS BUSY está inactiva
  • c) El master recibe el flanco de subida de la
    señal GRANT
  • Ejemplo VME

20
4. protocolos de arbitraje
Protocolo de 3 hilos (cont)
Situaciones típicas 1) M1 solicita el bus. Bus
libre Cuando M1 detecta el flanco de GRANT toma
el control del bus 2) M2 solicita el bus. Bus
ocupado M2 debe esperar bus libre y detectar
el flanco de GRANT 3) M1 solicita el bus. Bus
libre. GRANT activado M1 debe esperar que GRANT
baje y vuelva a subir
21
4. protocolos de arbitraje
Protocolo de 4 hilos
  • Permite solapar la transferencia del ciclo actual
    con el arbitraje del ciclo siguiente
  • Líneas de arbitraje
  • BUS REQUEST línea de petición de bus
  • BUS GRANT línea de concesión del bus
  • BUS BUSY línea de bus ocupado
  • BUS ACK línea de confirmación
  • 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
4. protocolos de arbitraje
Protocolo de líneas de identificación
  • Funcionamiento
  • Cuando un master quiere tomar el control del bus
    activa su línea de identificación
  • Cada línea de identificación tiene asignada una
    prioridad Prioridad(ID0)ltPrioridad(ID1)lt ....lt
    Prioridad(IDn-1)
  • Si varios masters activan simultáneamente sus
    líneas de identificación, gana el de mayor
    prioridad
  • Funcionamiento alternativo las prioridades
    pueden ser variables
  • Desventajas
  • Número de dispositivos limitado por el número de
    líneas de arbitraje
  • Ejemplos
  • Prioridad fija VAX SBI, SCSI
  • Prioridad variable DEC 70000/10000 AXP,
    AlphaServer 8000

23
4. protocolos de arbitraje
Protocolo de códigos de identificación
  • Funcionamiento
  • Cada master tiene un código de identificación de
    n bits (máximo 2n masters)
  • Existen n líneas de arbitraje ARB0, ARB1, ...,
    ARBn-1
  • Cuando un master quiere tomar el control del bus
    pone su código en las n líneas de arbitraje
  • Si varios masters compiten por el bus, gana el de
    mayor identificador
  • Ejemplos Multibus II, Futurebus

Siendo k ? 2n
24
5. ejemplos MC68000
  • Bus datos (16 bits)
  • líneas D0-D15
  • Bus de direcciones (24 bits)
  • líneas A1-A23 (no existe línea A0)
  • LDS (Lower Data Strobe)Selecciona el byte menos
    significativo
  • UDS (Upper Data Strobe)Selecciona el byte más
    significativo
  • Control de operación
  • R/W (Read/Write)
  • 1 ? Lectura 0 ? Escritura
  • Protocolo de transferencia asíncrono
  • 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 GRANTBGACK (Bus
    Grant Acknowledge) equivale a BUS ACKLas
    señales AS y DTACK hacen la función de BUS
    BUSY (si están 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 asíncrono)

25
5. ejemplos MC68000
Ciclo de escritura
Ciclo de lectura
26
5. ejemplos MC68000
  • NOTA El MC68000 es a la vez master y árbitro.
    Por defecto tiene control del bus y por ello AS
    y DTACK (que actúan como BUS BUSY) están
    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

27
5. ejemplos i8086
  • Bus de datos (16 bits)
  • multiplexado con parte baja de bus
  • de direcciones
  • líneas AD0-AD15
  • Bus de direcciones (20 bits)
  • líneas AD0-AD15/A16-A19
  • Control de operación
  • RD lectura
  • WR escritura
  • MEM/IO
  • 1 ? con memoria 0 ? con E/S
  • ALE (Address Latch Enable)Dirección válida
  • Protocolo de transferencia semisíncrono
  • CLK reloj
  • ciclo de bus 4 ciclos de reloj mínimo
  • READY equivale a WAITActivada al inicio de cada
    transferencia, la desactiva el slave si no puede
    completar la transferencia en el tiempo mínimo (4
    ciclos)
  • Protocolo de arbitraje de 2 hilos
  • HOLD equivale a REQUEST
  • HLDA equivale a GRANT

28
5. ejemplos i8086
Ciclo de lectura T1 - Master pone la
dirección - Master activa ALE T2 - Master
pone el bus de datos en "estado flotante"
- Master desactiva ALE T3 - Slave pone el
dato - Slave activa READY - Master copia el
dato T4 - Master prepara bus para siguiente
transferencia Ciclo de escritura T1 - Master
pone la dirección - Master activa ALE T2 -
Master pone el dato T3 - Slave copia
datos - Slave activa READY T4 - Master
prepara bus para siguiente transferencia Ciclo
s Twait Son ciclos de espera que introduce el
master si el slave desactiva READY durante
T2
29
5. ejemplos i8086
Arbitraje 1) El master alternativo activa
HOLD 2) El i8086 finaliza el ciclo de bus actual
y activa HLDA para indicar que el bus estará
libre en el siguiente ciclo de reloj 3) El master
alternativo desactiva HOLD y toma el control del
bus durante un ciclo de bus
Write a Comment
User Comments (0)
About PowerShow.com