Estructura y Tecnología de Computadores. Módulo D. Buses del computador. Tema 6. Características y protocolos de los buses



Documentos relacionados
Tema 3. Características y protocolos de los buses

Estructura y Tecnología de Computadores. Módulo D. Buses del computador

ARQUITECTURA DE COMPUTADORES DESCRIPCIÓN BUS PCI (Tema 1: Conexión Externa de Procesadores. Buses)

2º Cuatrimestre MÓDULO 12: Introducción al Subsistema de Entrada/Salida. fc 2

Estructura general de una Computadora Arquitectura Estructura Von Neumann

4. ORGANIZACIÓN DE LA ENTRADA/SALIDA

ARQUITECTURA DE LOS SUBSISTEMAS DE BUSES Y ENTRADA/SALIDA

Introducción a las Computadoras. Capítulo 3 Buses del Sistema

Velocidades Típicas de transferencia en Dispositivos I/O

ESTRUCTURA DE INTERCONEXIÓN DE UN COMPUTADOR

Práctica 7 - Buses. Organización del Computador 1 1er. Cuatrimestre 2006

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso Jerarquía de buses

EL BUS I2C CARACTERISTICAS. Fernando Remiro

Sincronismo de Canales

Buses. Fernando Schapachnik 1 sobre trabajo previo de Juan Pablo Galeotti. Universidad de Buenos Aires, Buenos Aires, Argentina

Interfaces de Entrada / Salida

Arquitectura de computadores I

Estructura y Tecnología de Computadores. Módulo E. El subsistema de E/S. Tema 9. Acceso directo a memoria (DMA) y procesadores de E/S

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Buses. Organización del Computador I. David Alejandro González Márquez

Organización n del Computador 1. C13 buses

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

Entrada y Salida! EC-2721 Arquitectura del Computador I! Entradas/Salidas: Problemas. Entradas salidas: Criterios. Amplia variedad de periféricos!

Arquitectura de Computadoras 2011

Estructura de Computadores

Arquitectura de Computadoras 2011

TEMA 3: Buses, puertos e interfaces

Práctica 7 - Buses. Organización del Computador 1. Verano 2010

Organización del Computador 1 Buses

Interface paralelo programable 8255.

ESTRUCTURA FÍSICA DEL µp 8086

Velocidades Típicas de transferencia en Dispositivos I/O

Integración de Equipos para Comunicaciones

Introducción a la Computación. Capítulo 7 Entrada/Salida

Tema 7. Entrada / Salida

TEMA 6.- INTERFACES PARA DISCOS DUROS. nexo de conexión que facilita la comunicación entre dos dispositivos

ORGANIZACIÓN DEL MICROCOMPUTADOR

10/15/2014 Microprocesador Digital II 1

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

Manejo de Entrada-Salida. Arquitectura de Computadoras

Tema 6. El sistema de entrada-salida

Aceleradores Gráficos Su impacto en el BUS PCI: Soluciones Actuales. Autor : Ing. Juan Montenegro 1

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Bus I 2 C. Introducción

Integración de Equipos para Comunicaciones Tema1: Introducción a los buses

Connecting Processors, Memory and I/O Devices Conexión de Procesadores, Memoria y Dispositivos de Entrada y Salida

Tema 6 CONEXIÓN ENTRE SUBSISTEMAS: BUSES. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

3.1. Buses Y La Transferencia De La Información.

Tema 4: SISTEMAS DE ENTRADA/SALIDA. Un computador no puede estar formado sólo por la CPU y la memoria.

Buses y Subsistemas Internos de 32 bits

Entrada salida y comunicación

Arquitectura de Computadores

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús

Organización de Computadoras Apunte 5: Circuitos Lógicos Secuenciales

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

MULTIPROCESADORES MODELOS DE INTERCONEXIÓN

Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S

Manejo de Entrada-Salida. Arquitectura de Computadoras

Tema 1. Arquitecturas multiprocesador: MIMD de memoria compartida (multiprocesadores) V 1.1

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

TEMA III. Unidad de entrada salida

Estructura de Computadores. Contenido. Sistema de E/S. 7.- E/S y dispositivos periféricos

MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255

Memoria Externa. Diseño de Sistemas con FPGA Patricia Borensztejn 1er cuatrimestre 2009

Introducción a los sistemas de entrada/salida Profesores y tutorías

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

Tema II. Unidad de memoria

ARQUITECTURA DEL MICROPROCESADOR 8088

TEMA 8. REGISTROS Y CONTADORES.

TEMA 1. Arquitecturas multiprocesador: MIMD de memoria compartida (multiprocesadores) V 2.0

ITT-327-T Microprocesadores

Sistemas de E/S Ejercicios propuestos

FUNDAMENTOS DE COMPUTADORES BUSES II

SUBSISTEMA DE ENTRADA-SALIDA. Arquitectura de Computadores I 4º tema

BUSES. Rosendo Pérez

E/S controlada por programa: la CPU está dedicada exclusivamente a la E/S, transfiriendo los datos a la velocidad determinada por el periférico.

Arquitectura de placas

Lógica cableada: Lógica programada:

TEMA 12: MEJORA DE LAS PRESTACIONES DE LA MEMORIA

ALMACENAMIENTO Y OTROS ASPECTOS DE LA ENTRADA/SALIDA. Ancho de banda máximo posible: una palabra por ciclo de reloj de manera sostenida, es decir:

Arquitectura de Computadores

Tema 6: Periféricos y entrada-salida

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP

Entrada/Salida. Mix de clases: Patricia Borensztejn + Diego Fernández Slezak

ARQUITECTURA DE COMPUTADORES. 2º INGENIERIA INFORMATICA. Soluciones del BOLETIN 2: Tecnología de los sistemas de memoria. Curso 06/07.

CUESTIONARIO PARA EL PROTOCOLO TCP/IP PREGUNTAS

ITT-327-T Microprocesadores

8237A. Programación en Ensamblador Ing. Marcelo Tosini

Memoria y Entrada/Salida Tecnología Organización - Expansión

Mejoras en el Sistema de E/S

Dado el siguiente circuito digital, encontrar la tabla característica y la tabla de operación del flip-flop correspondiente

Mapas de Memoria y E/S

FUNDAMENTOS DE SISTEMAS DIGITALES. Tema 3: Lógica combinacional (II): Ruta de datos

Organización lógica Identificación de bloque

UNIDAD 3. Interfaz de E/S Básica, Interrupciones y E/S Controlada por DMA

Tema 5.- Memorias. ---***---

Transcripción:

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

3 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 se distorsiona. Conexiones en paralelo: varias señales viajan juntas sobre distintas líneas CPU Memoria DMA E/S BUS 4 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: Master DATO Slave Lectura: Slave DATO Master 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

5 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: 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 por varios masters 6 según su función 2. 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 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) Líneas multiplexadas Tiempo Líneas dedicadas Tiempo Bus datos y direcciones (1º ciclo) Dato (2º ciclo) Bus direcciones Bus datos Dato

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

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 Bus Master Bus Slave Reloj Datos R/W* Reloj Datos M S S M M S 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 Origen Destino A0 A1 skew 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) Bus Master Datos R/W* Master SYNC Slave SYNC 1 3 Master SYNC Slave SYNC 2 4 Datos M S ESCRITURA Tiempos de Tiempos de 1' Bus Slave 2' 3' S M 4' LECTURA estabilización decodificación desplazamiento relativo estabilización desplazamiento relativo 12 3. protocolos de transferencia Protocolo asíncrono (cont) 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 y debe 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 transferencia puede ocupar varios ciclos) Ejemplos: i80x86, MC68040, Multibus II, Bus PCI, DEC 7000/10000 AXP Datos R/W* Reloj WAIT Bus Master Bus Slave Reloj Datos M S M S S M S M 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 Dir. Slave Dir. Master Master SYNC Slave SYNC Datos Master envía dirección a Slave Bus libre S M Slave envía dato a Master (Slave actúa como bus master)

15 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 Protocolo en estrella Cada master se conecta al árbitro mediante dos líneas individuales: BUS REQUEST: línea de petición del bus BUS GRANT: línea de concesión del bus REQ GNT REQ GNT Arbitro M n 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 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 REQUEST OUT IN Arbitro GRANT IN OUT OUT IN IN OUT OUT IN M n 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) M k pide el Bus Cuando Mk recibe GRANT toma el control del bus 2) M k recibe una petición de M k+1 Cuando Mk recibe GRANT la propaga a M k+1 3) M k pide el bus Cuando M k recibe GRANT toma el control del bus Mientras M k controla el bus, recibe una petición de M k+1 Cuando M k termina de usar el bus, propaga GRANT a M k+1 Señales del master Mk REQUEST IN REQUEST OUT GRANT IN GRANT OUT 1 2 Petición local del master Mk Petición local + Control del bus del master Mk 3 18 Protocolo daisy-chain de 2 hilos (cont) Situación conflictiva 1 1) pide el Bus 2) detecta GRANT IN y toma el control del bus 3) pide el bus. 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 1 REQUEST OUT GRANT IN REQUEST OUT GRANT IN 1 2 3 Conflicto! Situación conflictiva 2 1) controla el bus 2) Cuando deja de controlar el bus, a) pide el control b) M 3 pide el control 3) Como tiene GRANT IN todavía activada propaga GRANT a M 3, que toma el control 4) Al mismo tiempo recibe GRANT in del árbitro y toma el control Solución Un master M i 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 Situación conflictiva 2 M 3 REQUEST OUT GRANT IN REQUEST OUT GRANT IN REQUEST OUT GRANT IN 1 2b 4 Conflicto! 2a 3 Petición local Petición local + Control del bus

19 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 Arbitro GRANT REQUEST BUS BUSY M n 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 Protocolo de 3 hilos (cont) Situaciones típicas 1) solicita el bus. Bus libre Cuando detecta el flanco de GRANT toma el control del bus 2) solicita el bus. Bus ocupado debe esperar bus libre y detectar el flanco de GRANT 3) solicita el bus. Bus libre. GRANT activado debe esperar que GRANT baje y vuelva a subir REQUEST GRANT BUS BUSY Master M1 Master M2 1 3 Master con solicitud del bus pendiente 2 Master con el control del bus

21 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 a BUS GRANT, cuando el bus está ocupado Cuando está activada el árbitro queda inhibido Ejemplo: Unibus (PDP-11), MC68000 Arbitro GRANT REQUEST BUS BUSY BUS ACK M n controla el bus controla el bus BUS BUSY REQUEST pide el bus pide el bus GRANT BUS ACK Arbitro inhibido 22 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(ID 1 )<Prioridad(ID 2 )<...< Prioridad(ID n ) 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 M n ID 1 ID 2 ID n

23 Protocolo de códigos de identificación Funcionamiento: Cada master tiene un código de identificación de n bits (máximo 2 n masters) Existen n líneas de arbitraje: ARB 0, ARB 1,..., ARB n-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+ M n ARB 0 ARB 1 ARB n-1 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 MC68000 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 ACK Las 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) D0-D15 A1-A23 UDS* LDS* AS* DTACK* BR BG* BGACK* R/W* bus datos bus direcciones líneas de sincronización líneas de arbitraje lectura/escritura

25 5. ejemplos: MC68000 Ciclo de escritura Ciclo de lectura Acciones del master (MC68000) Acciones del slave Acciones del master (MC68000) Acciones del slave S1: - Pone la dirección en A1-A23 S2: - Activa R/W* para escritura (R/W* = 0) - Activa AS* (MASTER SYNC) S3: - Pone los datos en D0-D15 S4: - 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 - 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) S1: - Pone la dirección en A1-A23 S2: - 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 - 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* - Desactiva DTACK* S0: - Inicia nuevo ciclo S0: - Inicia nuevo ciclo 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* para inhibir al MC68000, que responde desactivando BG* 4) el control del bus retorna al MC68000 cuando el master alternativo desactiva BACK*

27 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) válida Protocolo de transferencia semisíncrono: CLK: reloj ciclo de bus = 4 ciclos de reloj mínimo READY: equivale a WAIT i8086 5. ejemplos: i8086 AD0-AD15 A16-A19 CLK ALE READY RD* WR* MEM/IO* HLDA HOLD bus datos/direcciones bus direcciones líneas de sincronización lectura escritura memoria/es líneas de arbitraje Activada 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 Ciclo de escritura 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 para siguiente transferencia Ciclo de escritura: T1: - i8086 pone la dirección - i8086 activa ALE T2: - i8086 pone el dato T3: - Slave copia datos - Slave activa READY T4: - i8086 prepara bus para siguiente transferencia Ciclos Twait: Son ciclos de espera que introduce el i8086 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