módulo c. buses del computador - dacya.ucm.es · módulo c. buses del computador tema 3....

39
Estructura y Tecnología de Computadores Estructura y Tecnología de Computadores Módulo C. Buses del computador Tema 3. Características y protocolos de los buses Tema 3. Características y protocolos de los buses 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

Upload: trinhnhan

Post on 28-Oct-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

1

Estructura y Tecnología de ComputadoresEstructura y Tecnología de Computadores

Módulo C. Buses del computador

Tema 3. Características y protocolos de los busesTema 3. Características y protocolos de los buses

CONTENIDOS1. 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éctricas3. Protocolos de transferencia

Función. Protocolo síncrono. Protocolo asíncrono. Protocolo semisíncrono. Protocolo de ciclo partido

4. Protocolos de arbitrajeFunció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. EjemplosMC68000. i8086

2

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

1. introducción1. introducción

⌦ Función: permitir la correcta comunicación entre los dispositivos interconectados

Un bus es un medio de transmisión compartido que interconecta dos o más dispositivos de un sistema digital

⌦ 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

MemoriaCPU DMA E/S

BUS

3

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

Características del Pentium 4Características del Pentium 4

⌦ Bus del sistema

Conecta el procesador con la memoria principal, de manera que gestiona la

transferencia de datos y las instrucciones entre los dos componentes.

⌦ El procesador Pentium® 4 es compatible con el bus de sistema para equipos de

sobremesa de mayor rendimiento de Intel, y ofrece 3,2 GB de datos por segundo de

entrada y de salida del procesador (tres veces el ancho de banda de procesadores

anteriores).

⌦ Esto se consigue a través de

Ø un esquema de señalización física de envío cuádruple de transferencias de datos sobre un

bus de sistema de 100 MHz

Ø un esquema de memoria intermedia que permite transferencias de datos de 533 MHz.

4

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

1. introducción1. introducció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 slave2. Especificación del tipo de operación (lectura o escritura)3. Transferencia del dato4. 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

SlaveMaster DATO

Slave MasterDATO

Modo de operaciónModo de operación

5

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

1. introducción1. introducció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: 1’2 Gb/s; AlphaServer 8000: 2’1 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

Parámetros de caracterizaciónParámetros de caracterización

6

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

2. clasificación de las líneas del bus2. clasificación de las líneas del bus

⌦ 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 funciónsegún su función

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

según su usosegún su uso

Dirección

Dato

Tiempo

Bus direcciones

Bus datos

Líneas dedicadas

Dirección(1º ciclo)

Tiempo

Dato(2º ciclo)

Bus datos ydirecciones

Líneas multiplexadas

7

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

2. clasificación de las líneas del bus2. clasificación de las líneas del bus

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

según sus características eléctricassegún sus características eléctricas

8

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

3. protocolos de transferencia3. 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

9

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

3. protocolos de transferencia3. protocolos de transferencia

Tipos de transferenciaTipos de transferencia

Data

Access Time

10

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

3. protocolos de transferencia3. 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

A0

A1

skew

DestinoOrigenRetardo Relativo (Skew)

11

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

3. protocolos de transferencia3. protocolos de transferencia

⌦ 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

Protocolo síncronoProtocolo síncrono

Dirección

Datos

R/W*

Reloj

Bus Master Bus Slave

Dirección

Datos

Reloj

ESCRITURA LECTURA ESCRITURA

Ciclo Ciclo Ciclo

M→S S→M M→S

tiempo que debe ser superior a:t. decodificación + t. setup + t. skewtiempo que debe ser superior a:

t. setup + t. skewtiempo que debe ser superior a:

t. hold

12

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

3. protocolos de transferencia3. protocolos de transferencia

⌦ 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

Ventajas y desventajas del protocolo síncrono

13

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

3. protocolos de transferencia3. protocolos de transferencia

Dirección

Datos

R/W*

Master SYNC

Slave SYNC

Bus Master Bus Slave

Protocolo asíncronoProtocolo 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)

14

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

3. protocolos de transferencia3. protocolos de transferencia

Protocolo asíncronoProtocolo asíncrono

Dirección

Datos

ESCRITURA LECTURA

Master SYNC

Slave SYNC2

3

4

1'

2'

3'

4'

M→S S→M

1

estabilizacióndecodificacióndesplazamiento relativo

Tiempos de

Tiempos deestabilizacióndesplazamiento relativo

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

15

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

3. protocolos de transferencia3. protocolos de transferencia

⌦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+

Ventajas y desventajas del protocolo asíncrono

16

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

⌦ 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

Protocolo semisíncronoProtocolo semisíncrono

Dirección

Datos

R/W*

Reloj

WAIT

Bus Master Bus Slave

3. protocolos de transferencia3. protocolos de transferencia

17

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

Protocolo semisíncronoProtocolo semisíncrono

3. protocolos de transferencia3. protocolos de transferencia

Dirección

Datos

Reloj

ESCRITURANORMAL

WAIT

ESCRITURALENTA

LECTURANORMAL

LECTURALENTA

M→S M→S S→M S→M

18

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

⌦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

Protocolo de ciclo de bus partidoProtocolo de ciclo de bus partido

3. protocolos de transferencia3. protocolos de transferencia

19

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

Protocolo de ciclo de bus partidoProtocolo de ciclo de bus partido

3. protocolos de transferencia3. protocolos de transferencia

Dirección

DatosMaster envía

dirección a Slave Slave envía dato a Master(Slave actúa como bus master)

Master SYNC

Slave SYNC

Bus libre

Dir. Slave Dir. Master

S→M

20

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. 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

21

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

⌦ 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

Protocolo en estrellaProtocolo en estrella

Arbitro

M2

REQ GNTM1

REQ GNTMn

REQ GNT

⌦ 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

22

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

⌦ Dos líneas de arbitraje comunesØ BUS REQUEST: Línea de

petición del busØ BUS GRANT: Línea de

concesión del bus

Protocolo Protocolo daisydaisy--chainchain de 2 hilosde 2 hilos

Arbitro M1

OUT IN

OUTIN

M2

OUT IN

OUTIN

Mn

OUT

IN

REQUEST

GRANT

⌦ 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

23

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

3

REQUESTIN

REQUESTOUT

GRANTIN

GRANTOUT

1 2

Petición local del master Mk

Señales delmaster Mk

Petición local + Control del bus del master Mk

⌦ Situaciones típicas:⌦ 1)Mk pide el Bus

Cuando Mk recibe GRANT toma el control del bus

⌦ 2)Mk recibe una petición de Mk+1Cuando Mk recibe GRANT la propaga a Mk+1

⌦ 3)Mk pide el busCuando Mk recibe GRANT toma el control del bus

⌦ Mientras Mk controla el bus, recibe una petición de Mk+1Cuando Mk termina de usar el bus, propaga GRANT a Mk+1

Protocolo Protocolo daisydaisy--chainchain de 2 hilosde 2 hilos

24

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

Protocolo Protocolo daisydaisy--chainchain de 2 hilosde 2 hilos

Arbitro M1

OUT IN

OUTIN

M2

OUT IN

OUTIN

Mn

OUT

IN

REQUEST

GRANT

25

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

Petición local Petición local + Control del bus

REQUEST OUT

GRANT INM1

REQUEST OUT

GRANT INM2

¡Conflicto!

Situación conflictiva 1

1

3

2

Situación conflictiva 11) M2 pide el Bus2) M2 detecta GRANT IN y toma el control del bus3) M1 pide el bus.

M1 detecta GRANT IN y toma el control del busSolución

Un master sólo puede tomar el control del bus cuando detecta el flanco de subida de GRANT IN

Protocolo Protocolo daisydaisy--chainchain de 2 hilos (de 2 hilos (contcont))

Arbitro M1

OUT IN

OUTIN

M2

OUT IN

OUTIN

Mn

OUT

IN

REQUEST

GRANT

26

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

REQUEST OUT

GRANT INM1

REQUEST OUT

GRANT INM2

Situación conflictiva 2

REQUEST OUTGRANT INM3

¡Conflicto!

42b

1

32a

Petición local Petición local + Control del bus

Situación conflictiva 21) M2 controla el bus2) Cuando M2 deja de controlar el bus,

a) M1 pide el controlb) M3 pide el control

3) Como M2 tiene GRANT IN todavía activada M2 propaga GRANT a M3, que toma el control4) Al mismo tiempo M1 recibe GRANT in del árbitro y M1toma el control

SoluciónUn 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

Protocolo Protocolo daisydaisy--chainchain de 2 hilos (de 2 hilos (contcont))

Arbitro M1

OUT IN

OUTIN

M2

OUT IN

OUTIN

Mn

OUT

IN

REQUEST

GRANT

27

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

⌦ 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

Protocolo de 3 hilosProtocolo de 3 hilos

Arbitro

M1

GRANT

REQUEST

BUS BUSY

M2 Mn

28

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

Protocolo de 3 hilosProtocolo de 3 hilos

Arbitro

M1

GRANT

REQUEST

BUS BUSY

M2 Mn

29

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

Situaciones típicas1) M1 solicita el bus. Bus libre

Cuando M1 detecta el flanco de GRANT toma el control del bus2) 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

Master con solicitud del bus pendiente Master con el control del bus

REQUEST

GRANT

BUS BUSY

Master M1

Master M2

1 3

2

Protocolo de 3 hilos (Protocolo de 3 hilos (contcont))

30

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

REQUEST

GRANT

BUS BUSY

BUS ACK

M1 controla el bus

M2 pide el bus

Arbitro inhibido

M2 controla el bus

M1 pide el bus

⌦ 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

Arbitro

M1

GRANT

REQUEST

BUS BUSY

M2 Mn

BUS ACK

Protocolo de 4 hilosProtocolo de 4 hilos

31

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

Arbitro

M1

GRANT

REQUEST

BUS BUSY

M2 Mn

BUS ACK

Protocolo de 4 hilosProtocolo de 4 hilos

32

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

M0 M1 Mn-1

ID0

ID1

IDn-1

⌦ 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)<Prioridad(ID1)< ....<

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

Protocolo de líneas de identificaciónProtocolo de líneas de identificación

33

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

4. protocolos de arbitraje4. protocolos de arbitraje

Protocolo de códigos de identificaciónProtocolo 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+

M0 M1 Mk-1

ARB0

ARB1

ARBn-1

Siendo k ≤ 2n

34

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

⌦ 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 GRANT

BGACK* (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)

5. ejemplos: MC680005. ejemplos: MC68000

MC68000

D0-D15

A1-A23

UDS*LDS*

AS*DTACK*

R/W*

bus datos

bus direcciones

líneas de sincronización

lectura/escritura

BRBG*BGACK*

líneas de arbitraje

35

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

5. ejemplos: MC680005. ejemplos: MC68000

Acciones del slaveAcciones del master (MC68000)

S1: - Pone la dirección en A1-A23S2: - Activa R/W* para escritura (R/W* = 0)

- Activa AS* (MASTER SYNC)S4: - Pone los datos en D0-D15S5: - Activa las señales UDS*, LDS*

S8: - Desactiva AS*- Desactiva UDS*, LDS*

S9 - Desactiva R/W* - Quita la dirección de A1-A23- Quita los datos de D0-D15

S0: - Inicia nuevo ciclo

- Decodifica la dirección- Almacena los datos de D0-D15- Activa DTACK* (SLAVE SYNC)(Si DTACK* no está activado al inicio de S7, el Master introduce estados de espera SW entre S6 y S7)

- Desactiva DTACK*

S1: - Pone la dirección en A1-A23S2: - Activa R/W* para lectura (R/W* = 1)

- Activa AS* (MASTER SYNC)- Activa las señales UDS*, LDS*

S6: - Almacena los datos presentes en D0-D15- Desactiva AS*- Desactiva UDS*, LDS*- Desactiva R/W*

S7: - Quita la dirección de A1-A23

S0: - Inicia nuevo ciclo

- Decodifica la dirección- Pone los datos en D0-D15- Activa DTACK* (SLAVE SYNC)(Si DTACK* no está activado al inicio de S5, el Master introduce estados de espera SW entre S4 y S5)

- Desactiva DTACK*

Acciones del master (MC68000) Acciones del slave

Ciclo de escritura Ciclo de lectura

36

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

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*

5. ejemplos: MC680005. ejemplos: MC68000

37

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

⌦ 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

i8086

AD0-AD15

A16-A19

CLKALEREADY

RD*

bus datos/direcciones

líneas de sincronización

lectura

bus direcciones

WR* escrituraMEM/IO* memoria/ES

HLDAHOLD

líneas de arbitraje

5. ejemplos: i80865. ejemplos: i8086

38

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

Ciclo de lectura Ciclo de escritura

5. ejemplos: i80865. 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 parasiguiente transferencia

Ciclo de escritura:T1: - Master pone la dirección

- Master activa ALE T2: - Master pone el dato T3: - Slave copia datos

- Slave activa READYT4: - Master prepara bus para

siguiente transferencia

Ciclos Twait:Son ciclos de espera que introduce el master si el slave desactiva READY durante T2

39

estructura de computadoresestructura de computadores

Tema 3. Características y protocolos de los buses

5. ejemplos: i80865. ejemplos: i8086

Arbitraje:1) El master alternativo

activa HOLD2) 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