Estructura y Tecnología de Computadores - fdi.ucm.es · Módulo D. Buses del computador Tema 6....

15
1 Estructura y Tecnología de Estructura y Tecnología de Computadores Computadores Módulo D. Buses del computador Tema 6. Características y protocolos de los Tema 6. Características y protocolos de los buses buses José Manuel Mendías Cuadros José Manuel Mendías Cuadros Dpto Dpto. Arquitectura de Computadores y Automática . Arquitectura de Computadores y Automática Universidad Complutense de Madrid Universidad Complutense de Madrid 2 estructura y tecnología de estructura y tecnología de computadores computadores contenidos 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

Transcript of Estructura y Tecnología de Computadores - fdi.ucm.es · Módulo D. Buses del computador Tema 6....

1

Estructura y Tecnología de Estructura y Tecnología de ComputadoresComputadores

Módulo D. Buses del computador

Tema 6. Características y protocolos de losTema 6. Características y protocolos de los buses buses

José Manuel Mendías CuadrosJosé Manuel Mendías CuadrosDptoDpto. Arquitectura de Computadores y Automática. Arquitectura de Computadores y Automática

Universidad Complutense de MadridUniversidad Complutense de Madrid

2

estructura y tecnología de estructura y tecnología de computadorescomputadores

contenidoscontenidos

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

3

estructura y tecnología de estructura y tecnología de computadorescomputadores

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 dispositivosde 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ónse distorsiona.

Ø Conexiones en paralelo: varias señales viajan juntas sobre distintas líneas

MemoriaCPU DMA E/S

BUS

4

estructura y tecnología de estructura y tecnología de computadorescomputadores

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

SlaveMaster DATO

Slave MasterDATO

Modo de operaciónModo de operación

5

estructura y tecnología de estructura y tecnología de computadorescomputadores

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: método utilizado para sincronizar master y slave

⌦ Protocolo de arbitraje: método utilizado para la resolución de conflictos de acceso porvarios masters

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

6

estructura y tecnología de estructura y tecnología de computadorescomputadores

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 laslí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 y tecnología de estructura y tecnología de computadorescomputadores

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 undispositivo 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 dispositivospueden 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 y tecnología de estructura y tecnología de computadorescomputadores

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 y tecnología de estructura y tecnología de computadorescomputadores

3. protocolos de transferencia3. protocolos de transferencia

⌦ Las transferencias están gobernadas por una única señal de reloj compartida por todoslos 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 nuevociclo 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. skew

tiempo que debe ser superior a:t. setup + t. skew

tiempo que debe ser superior a:t. hold

10

estructura y tecnología de estructura y tecnología de computadorescomputadores

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 lasseñales para asegurar su correcto almacenamiento

Ø Tiempo de permanencia (hold time): tiempo después del flanco de reloj que deben permanecer estables lasseñales para asegurar su correcto almacenamiento

Ø Tiempo de desplazamiento relativo de las señales (skew time): diferencia de tiempo entre la llegadas alreceptor de dos señales que partieron del emisor simultáneamente

A0

A1

skew

DestinoOrigenRetardo Relativo

⌦ 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

estructura y tecnología de estructura y tecnología de computadorescomputadores

⌦ No existe señal de reloj

⌦ Los dispositivos implicados en la transmisiónfijan el comienzo y el final de la misma medianteel 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 cadaflanco del master le sigue uno del slave

⌦ Ciclo de escritura:1: (M a S) Hay un dato en el bus2: (S a M) He tomado el dato3: (M a S) Veo que lo has tomado4: (S a M) Veo que lo has visto (Bus libre)

⌦ Ciclo de lectura:1': (M a S) Quiero un dato2': (S a M) El dato está en el bus3': (M a S) He tomado el dato4': (S a M) Veo que lo has tomado (Bus libre)

3. protocolos de transferencia3. protocolos de transferencia

Dirección

Datos

R/W*

Master SYNC

Slave SYNC

Bus Master Bus Slave

Dirección

DatosESCRITURA LECTURA

Master SYNC

Slave SYNC2

3

4

1'

2'

3'

4'

M→S S→M

1

Protocolo asíncronoProtocolo asíncrono

estabilizacióndecodificacióndesplazamiento relativo

Tiempos de

Tiempos de estabilizacióndesplazamiento relativo

12

estructura y tecnología de estructura y tecnología de computadorescomputadores

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+

Protocolo asíncrono (cont)Protocolo asíncrono (cont)

13

estructura y tecnología de estructura y tecnología de computadorescomputadores

⌦ Las transferencias se rigen por una única señalde reloj

⌦ Cada transferencia puede ocupar uno o variosperiodos de reloj

⌦ Señal de WAIT (puede activarla cualquier Slave ydebe llegar antes que el flanco de reloj)Ø 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 transferenciapuede ocupar varios ciclos)

⌦ Ejemplos: i80x86, MC68040, Multibus II, Bus PCI,DEC 7000/10000 AXP

Dirección

Datos

Reloj

ESCRITURANORMAL

WAITESCRITURA

LENTALECTURANORMAL

LECTURALENTA

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

Protocolo semisíncronoProtocolo semisíncrono

Dirección

Datos

R/W*

Reloj

WAIT

Bus Master Bus Slave

3. protocolos de transferencia3. protocolos de transferencia

14

estructura y tecnología de estructura y tecnología de computadorescomputadores

Dirección

DatosMaster envía

dirección a SlaveSlave envía dato a Master

(Slave actúa como bus master)

Master SYNC

Slave SYNC

Bus libre

Dir. Slave Dir. Master

S→M

⌦ 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 partidoProtocolo de ciclo partido

3. protocolos de transferencia3. protocolos de transferencia

15

estructura y tecnología de estructura y tecnología de computadorescomputadores

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 deuna forma cooperante

ð Protocolo de líneas de identificación

ð Protocolo de códigos de identificación

16

estructura y tecnología de estructura y tecnología de computadorescomputadores

4. protocolos de arbitraje4. protocolos de arbitraje

⌦ Cada master se conecta al árbitro mediante dos líneasindividuales:Ø BUS REQUEST: línea de petición del busØ BUS GRANT: línea de concesión del bus

Protocolo en estrellaProtocolo en estrella

Arbitro

M2

REQ GNT

M1

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

17

estructura y tecnología de estructura y tecnología de computadorescomputadores

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 bus2) Mk recibe una petición de Mk+1

Cuando Mk recibe GRANT la propaga a Mk+1

3) Mk pide el busCuando Mk recibe GRANT toma el control del busMientras Mk controla el bus, recibe una petición de Mk+1

Cuando Mk termina de usar el bus, propaga GRANT a Mk+1

⌦ 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 daisy-chain de 2 hilosProtocolo daisy-chain de 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

18

estructura y tecnología de estructura y tecnología de computadorescomputadores

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

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 bus

SoluciónUn master sólo puede tomar el control del bus cuando detectael flanco de subida de GRANT IN

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 propagaGRANT a M3, que toma el control4) Al mismo tiempo M1 recibe GRANT in del árbitro y M1 tomael control

SoluciónUn master Mi sólo puede propagar GRANT al terminar de usarel bus, si REQUEST IN se activó antes de que Mi desactivasesu petición local

Protocolo daisy-chain de 2 hilos (cont)Protocolo daisy-chain de 2 hilos (cont)

19

estructura y tecnología de estructura y tecnología de computadorescomputadores

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

20

estructura y tecnología de estructura y tecnología de computadorescomputadores

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 GRANT3) M1 solicita el bus. Bus libre. GRANT activado

M1 debe esperar que GRANT baje y vuelva a subir

Protocolo de 3 hilos (cont)Protocolo de 3 hilos (cont)

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

REQUEST

GRANT

BUS BUSY

Master M1

Master M2

1 3

2

21

estructura y tecnología de estructura y tecnología de computadorescomputadores

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 cicloactual 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 busen respuesta a BUS GRANT, cuando elbus está ocupado

ü Cuando está activada el árbitro quedainhibido

ü Ejemplo: Unibus (PDP-11), MC68000

Arbitro

M1

GRANT

REQUEST

BUS BUSY

M2 Mn

BUS ACK

Protocolo de 4 hilosProtocolo de 4 hilos

22

estructura y tecnología de estructura y tecnología de computadorescomputadores

4. protocolos de arbitraje4. protocolos de arbitraje

M1 M2 Mn

ID1

ID2

IDn

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

Ø 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

23

estructura y tecnología de estructura y tecnología de computadorescomputadores

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+

M1 M2 Mn

ARB0

ARB1

ARBn-1

24

estructura y tecnología de estructura y tecnología de computadorescomputadores

⌦ 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 indicanque el bus está ocupado)

⌦ El MC68000 utiliza un reloj interno para marcar el inicio de todas las operaciones que realizasobre 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 desincronización

lectura/escritura

BRBG*BGACK*

líneas dearbitraje

25

estructura y tecnología de estructura y tecnología de computadorescomputadores

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)S3: - Pone los datos en D0-D15S4: - 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

26

estructura y tecnología de estructura y tecnología de computadorescomputadores

NOTA: El MC68000 es a la vez master yárbitro. Por defecto tiene control delbus y por ello AS* y DTACK* (queactúan como BUS BUSY) estánhabitualmente activadas. Cuando otromaster alternativo desea utilizar el bus,el MC68000 solapa el arbitraje con latransferencia actual.

Arbitraje:

1) el master alternativo activa BR*

2) el MC68000 activa BG* para indicarque el bus estará libre al final del cicloactual (cuando se desactiven AS* yDTACK*)

3) cuando el master alternativo controla elbus, activa BGACK* para inhibir alMC68000, que responde desactivandoBG*

4) el control del bus retorna al MC68000cuando el master alternativo desactivaBACK*

5. ejemplos: MC680005. ejemplos: MC68000

27

estructura y tecnología de estructura y tecnología de computadorescomputadores

⌦ 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: relojciclo 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 latransferencia 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

CLK

ALE

READY

RD*

bus datos/direcciones

líneas desincronización

lectura

bus direcciones

WR* escrituraMEM/IO* memoria/ES

HLDA

HOLDlíneas dearbitraje

5. ejemplos: i80865. ejemplos: i8086

28

estructura y tecnología de estructura y tecnología de computadorescomputadores

Ciclo de lectura Ciclo de escritura

5. ejemplos: i80865. ejemplos: i8086

Ciclo de lectura:T1: - i8086 pone la dirección

- i8086 activa ALE T2: - i8086 pone el bus de datos

en "estado flotante" - i8086 desactiva ALE- i8086 activa RD

T3: - Slave pone el dato- Slave activa READY- i8086 copia el dato

T4: - i8086 prepara bus parasiguiente transferencia

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

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

- Slave activa READYT4: - i8086 prepara bus para

siguiente transferencia

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

29

estructura y tecnología de estructura y tecnología de computadorescomputadores

5. ejemplos: i80865. ejemplos: i8086

Arbitraje:

1) El master alternativoactiva HOLD

2) El i8086 finaliza el ciclo debus actual y activa HLDApara indicar que el busestará libre en el siguienteciclo de reloj

3) El master alternativodesactiva HOLD y toma elcontrol del bus durante unciclo de bus