Integración de Equipos para Comunicaciones - ulpgc.es · adicionales para identificar qué...

39
DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 1 Integración de Equipos para Comunicaciones Tema1: Introducción a los buses Aurelio Vega Martínez

Transcript of Integración de Equipos para Comunicaciones - ulpgc.es · adicionales para identificar qué...

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 1

Integración de Equipospara Comunicaciones

Tema1: Introducción a los busesAurelio Vega Martínez

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 2

Indice1.1 Introducción.1.2 Propiedades de los buses.1.3 Características de los buses.1.4 Jerarquía de los buses.1.5 Prestaciones de los Buses.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 3

1.1.- Introducción a los Buses.

• BUS: Elemento fundamental de intercomunicación en la arquitectura de VonNewmann. Se define mediante:

– Número y tipo de líneas que lo componen.– Protocolo de transmisión de información.

• Consta de un camino que permite comunicar selectivamente un cierto número de componentes o dispositivos, de acuerdo a unas ciertas reglas o normas de conexión.

µP/µC Memoria Dispositivos

BUS

N

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 4

1.1.- Introducción a los Buses (cont.).

• El bus incluye los conceptos de enlace y conmutador, ya que permite en cada momento seleccionar los dispositivos que se conectan a través suyo.– Enlace: Elemento que permite transmitir información entre dos o más dispositivos.– Conmutador: Elemento que permite encaminar la información entre varios enlaces,

activando unos e inhibiendo otros.– Multiplexado temporal: Utilización de las mismas líneas del bus para enviar en

momentos distintos, informaciones distintas. En estos buses de incluyen señales adicionales para identificar qué información está circulando por el bus en cada momento.

• Sistema Abierto:– Sistema que permite acoplar placas de distintos fabricantes.– Hasta hace unos años el estudio de los buses era algo que no se hacía, dado que cada

fabricante desarrollaba su propio bus.– Los sistemas abiertos supusieron la creación de estándares que garantizan la

compatibilidad entre las placas diseñadas por distintos fabricantes.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 5

Ejemplos de sistemas abiertos

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 6

1.2.- Propiedades de los Buses.

1) Banda base.

2) Tri-Estado.

3) Grado de paralelismo.

4) Temporización.

5) Modo de operación.

6) Estrategias de control.

7) Longitud.

8) Velocidad.

1) Banda base.

2) Tri-Estado.

3) Grado de paralelismo.

4) Temporización.

5) Modo de operación.

6) Estrategias de control.

7) Longitud.

8) Velocidad.

9) Capacidad de conexión.

10) Tipo de aplicación.

11) Tipos de ciclo.

12) Tipos de lógica.

13) Soporte.

14) Atención a interrupciones.

15) Multiproceso.

9) Capacidad de conexión.

10) Tipo de aplicación.

11) Tipos de ciclo.

12) Tipos de lógica.

13) Soporte.

14) Atención a interrupciones.

15) Multiproceso.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 7

1.2.1.- Banda Base.– La comunicación a través del bus se realiza sin ningún tipo de modulación.

1.2.2.- Tri-Estado.– Para poder conectar mediante un bus paralelo todos los elementos de un sistema es

necesario la desconexión total de los elementos que no participan en el intercambio en un momento determinado.

– Si las líneas conectadas al bus de datos fuesen digitales de dos estados estables se produciría un cortocircuito permanente entre las líneas correspondiente a los diversos componentes.

1.2.3.- Grado de Paralelismo.– Serie: Cuando sólo puede transmitir la información bit a bit.– Paralelo: Cuando permite transmitir una palabra cada vez.

• Es el más utilizado.• A veces se combina con un mecanismo de multiplexado temporal para ahorrar líneas.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 8

1.2.4.- Temporización.

• Bus de Ciclo Completo: Se ocupa el bus durante todo el tiempo que dura la transferencia de una información elemental entre los dos dispositivos que se comunican.

• Bus de Ciclo Partido: Se divide el tiempo del bus en una serie de pequeñas ranuras (time slots), cada una de las cuales sirve para enviar un mensaje.

– La transferencia elemental consta generalmente de dos ranuras (la de petición y la de contestación).

– El bus de ciclo partido es más complejo que el de ciclo completo, ya que la memoria deberá tener circuitos necesarios para:

• Almacenar la dirección deseada.• Almacenar el tipo de operación.• Almacenar el dato leído o enviado

para escritura.• Iniciar el envío de mensajes.

– El bus de ciclo partido permite transmitir un mayor caudal de información.

Ranura1

Ranura1 TiempoRanura

2

Ranura2

Ranura3

Ranura3

Ranura4

Ranura4

Ranura5

Ranura5

Ranura6

Ranura6

Ranura7

Ranura7

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 9

1.2.5.- Modo de Operación.

• Indica la forma en que se realizan las transferencias entre los dispositivos.

A)Transferencias SíncronasA-1) Ciclo CompletoA-2) Ciclo Partido

B) Transferencias AsíncronasB-1) Ciclo CompletoB-2) Ciclo Partido

C) Transferencias Adaptables

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 10

A) Transferencia Síncrona.

• Se utilizan sólo las siguientes líneas de control.– RD : Lectura.– WR : Escritura.– IO/M : Distinción entre los dispositivos de entrada/salida y memoria.

• El diálogo está impuesto por el maestro, con un tiempo de respuesta fijo deberá ser respetado en todos los intercambios del bus.

• La transferencia síncrona es adecuada en sistemas formados por dispositivos rápidos o de tiempos de respuesta similares. En caso de dispositivos de diferentes velocidades, se malgasta mucho tiempo ya que debe ajustarse la velocidad a la del más lento.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 11

A-1) Transferencia Síncrona en Ciclo Completo.

• Lectura Síncrona: – 1º) El maestro pone en el bus la dirección deseada.– 2º) Supone que el esclavo pone el dato en el bus en el tiempo T, momento en el que el

maestro lo toma.

• Escritura Síncrona:– 1º) El maestro pone en el bus la dirección y el dato.– 2º) Supone que el esclavo toma la información antes de un tiempo T.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 12

A-2) Transferencias Síncronas en Ciclo Partido• Léctura síncrona.

– Consta de dos ranuras– El maestro envía la orden de lectura (especificando la dirección deseada).– Cuando el esclavo obtiene el dato envía la respuesta en la siguientes ranura disponible.– Si pasado un cierto tiempo no se obtiene respuesta, se genera una señal de error

• Escritura síncrona.– Consta de una ranura en la que el maestro envía el dato y la dirección– Se supone que el esclavo toma correctamente dicha información (no existe

mecanismo de comprobación)

PeticiónLectura

PeticiónLectura TiempoDatoDato

PeticiónEscrituraPetición

Escritura Tiempo

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 13

B-1) Transferencias Asíncronas en Ciclo Completo

• Léctura asíncrona:– 1º) El maestro pone la dirección deseada.– 2º) Espera la confirmación que el esclavo ha puesto el dato (se puede producir señal de

error si se sobrepasa el tiempo determinado).– 3º) Se lee el dato del bus.

• Escritura asíncrona.– 1º) El maestro pone la dirección y el dato.– 2º) Espera la confirmación de que el esclavo ha leído el dato (se puede producir señal

de error.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 14

B-2) Transferencias Asíncronas en Ciclo Partido

• Léctura asíncrona:– Similar a la lectura síncrona (A2), pero el esclavo antes de enviar el dato confirma si la

dirección es correcta.– En algunos buses sólo se envía esta confirmación en caso de error.

PeticiónLectura

PeticiónLectura Tiempo

Dir.OK

Dir.OK DatoDato

• Escritura asíncrona.– En la primera ranura el maestro envía el dato y la dirección.– Debe existir confirmación de la escritura en la ranura que corresponda.

PeticiónEscrituraPetición

Escritura TiempoConfirmaEscritura

ConfirmaEscritura

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 15

C) Transferencias Adaptables

• En este caso el bus es básicamente síncrono, pero dispone de una línea para realizar transferencias asíncronas con algunos dispositivos.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 16

Comparación Buses Síncronos-Asíncronos.

• Desventajas Síncronos.– Retraso adicional (~ ½ periodo) para sincronizarse con el bus.– Los dispositivos deben tener velocidades similares.

• Ventajas Síncronos.– Facilidad de manejo y simplicidad en el protocolo.– Son más inmunes al ruido (sólo son susceptibles al ruido en los flancos.– El reloj proporciona el tiempo necesario para establecer las señales en el bus.

• Desventajas Asíncronos.– Más susceptibles al ruido.– Protocolos más complejos (> número de líneas).

• Ventajas Asíncronos.– Mejor adaptación a las nuevas tecnologías .Se adaptan mejor a las características de

velocidad de nuevos dispositivos.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 17

1.2.6.- Estrategias de control.

• Se usa el modelo maestro-esclavo. En el caso más sencillo, la CPU es el único maestro, en otros casos, existen muchos maestros temporales (robos de ciclo). Finalmente, puede haber varios maestros que se reparten el uso del bus.

• Maestros: Son capaces de obtener el uso del bus iniciando sus ciclos y determinando su temporización y su tipo.– Permanentes.– Temporales.

• Esclavos: Son capaces únicamente de realizar la transferencia de información de acuerdo con los ciclos generados por los maestros.

• Estrategias de control del bus:– Un único maestro.– Varios maestros temporales (DMA).– Varios maestros que comparten el bus (multiprocesamiento).

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 18

1.2.7.- Longitud.– Cada bus se diseña con una lóngitud maxima de acuerdo con su aplicación.– Interesan buses largos para poder incorporar mayor número de módulos.– A mayor longitud menor velocidad (compromiso).

1.2.8.- Velocidad.Tiene una velocidad de transmisión que depende de factores como longitud, medio empleado y lógica de control.– Número de transferencias realizables por segundo.– Baudios (bit por segundo).– Depende de:

• longitud.• Medio físico (par trenzado, fibra óptica, etc.).• Lógica de control, Etc...

– Sólo podemos medir correctamente los buses síncronos y totalmente definidos. En los asíncronos podemos realizar estimaciones dependientes del procesador empleado en cada caso.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 19

1.2.9.- Capacidad de conexión.– Número máximo de elementos que se pueden conectar– Limitado por problemas de direccionamiento y diseño electrónico

1.2.10.- Aplicación.– Aplicación para la cual fue concebido el bus

1.2.11.- Tipos de ciclos.– Lectura de un esclavo por un maestro.– Escritura de un maestro por un esclavo.– Acceso directo a memoria (DMA).– Interrupción.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 20

1.2.12.- Tipo de lógica.– Suelen desarrollarse con lógica negativa debida a:

• Menor consumo (sobre todo en colectores abierto)• Mayor velocidad de conmutación• Cuando el dispositivo está apagado toma de forma natural el valor negativo

1.2.13.- Soporte.– Material empleado para la conexión física (pistas de PCB, cables, fibra óptica, etc...)– Criterios de selección:

• Longitud del bus.• Sensibilidad al ruido.• Velocidad.• Grado de paralelismo.• Etc...

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 21

1.2.14.- Atención a Interrupciones.

• Disponer de varias líneas en paralelo para solicitar la interrupción.• Organización en cadena (daisy-chain).

– IPO: Indica que la propia tarjeta o alguna de mayor prioridad ha solicitado la interrupción.

– IPI: Activa para indicar que algún dispositivo de mayor prioridad ha solicitado la interrupción.

– INTACK: Aceptación de interrupción.• Algunos sistemas de interrupciones vectorizadas admiten un sistema de arbitraje

fuera del bus que establece la prioridad.• NMI: Interrupción no enmascarable (máxima prioridad).

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 22

1.2.15.- Multiproceso.

• Existencia de varios procesadores.• Cuando un procesador necesita el bus debe solicitarlo y esperar a que se libere.• Prioridades.

– Fijas (organización en cadena)• Línea de petición de bus• Línea para indicar que está libre.• BPI/BPO.

– Variables (controladas por un arbitro)

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 23

1.3.- Características de los buses.

1.3.1.- Topologías de Inteconexion.

1.3.2.- Parámetros que definen las prestaciones

1.3.3.- Descripción de las líneas que componen un bus.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 24

1.3.1.- Topologías de interconexión.

• Bus:– Se conectan módulos en paralelo a un panel posterior (backplane)

• Redes de conmutación:– Se elige dinámicamente uno de los múltiples caminos posibles (crossbar)

• Anillo:– Un único camino que pasa a través de cada módulo.– La información pasa de uno a otro módulo.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 25

1.3.2.- Parámetros que definen las prestaciones de un bus.

• Configurabilidad: Los sistemas basados en bus son muy configurables, pues cada ranura del backplane se mantiene conectada a todas las demás.

• Coste: Menos coste que las interconexiones activas debido a que la naturaleza pasiva de sus conexiones (sólo un conector) reducen el coste de las ranuras no usadas.

• Escalabilidad: Escalabilidad limitada debido a cuestiones físicas y eléctricas que surgen al conectar muchos dispositivos al mismo conductor y a las restricciones surgidas al permitir sólo un maestro en cada instante.

• Fiabilidad: La fiabilidad con un ambiente eléctrico y un protocolo lógico bien definidos, puede ser muy alta. En la práctica, ésta es menor porque se diseñan o especifican mal.

• Velocidad: Indica la cantidad de información que puede transferirse a través de él por unidad de tiempo.

• Throughput:ntransmisióeninvertidototalTiempo

datostransmitireninvertidoTiempo

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 26

1.3.3.- Descripción de las líneas que componen un bus.

1) Líneas de Direcciones y Datos.2) Líneas de Control.3) Líneas de Sincronización.4) Líneas de Inicialización y Parada.5) Líneas de Alimentación.6) Líneas Auxiliares.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 27

1) Líneas de Direcciones y Datos.

Líneas de Dirección:– Permiten el direccionamiento de los espacios de memoria y/o E/S del sistema.– Su número va a definir el espacio máximo de direccionamiento.– µP de 16 bits → 23 líneas de dirección → 16 MB.– µP de 32 bits → 32 líneas de dirección → 4 GB.

Líneas de datos– Permiten el intercambio bidireccional de información entre los distinto

módulos de un bus.– Su número determina la cantidad de información que se puede transferir en un

ciclo de operación (8, 16, 32 o 64 bits).

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 28

2) Líneas de Control• Líneas de control de memoria y E/S.

– Las utiliza el procesador para indicar con quién va a efectuar una operación, y de que tipo es. Operaciones básicas: lecturas y escrituras en espacios de memoria y espacios de E/S.

• Líneas de control de interrupciones.– Son las encargadas de hacer llegar al módulo maestro las solicitudes de interrupción de

los distintos esclavos:• Petición de servicios desde un periférico al procesador.• Respuesta del procesador aceptando una petición anterior (reconocimiento).• Interrupciones no enmascarables. Interrupciones con prioridad con respecto a las

producidas por software desde programa.

• Líneas de control e intercambio del bus.– Son utilizadas en sistemas multiprocesador o con DMA:

• Petición y aceptación del control del bus.• Estado del bus• Prioridad asociada.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 29

3) Líneas de Sincronización.Las líneas de sincronización están encargadas de:• Propagar las señales de temporización básica (clock).• Propagar las señales auxiliares para el correcto funcionamiento del

computador y sus periféricos (REFRESH para el refresco, etc..)

4) Líneas de Inicialización y Parada.Son las líneas destinadas a:• Situar el procesador y los controladores de periféricos en sus

condiciones iniciales (inicialización del contador de programa, bits de condición, y comenzar una fase de búsqueda).

• Detener la secuencia de ejecución del programa (HALT).

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 30

5) Líneas de Alimentación.– Líneas habituales: +5V, -5V, +12V, -12V y GND.– Líneas adicionales para la alimentación expresa de memorias tipo

RAM. Estas líneas suministrarán tensiones provenientes de baterías que nos permitirá alimentar las memorias volátiles.

– Para disminuir la resistencia interna del conductor, generalmente se reservan varias vías para la misma tensión con objeto de disminuir la resistencia interna del conductor.

6) Líneas auxiliares.– Son las líneas que suelen estar reservadas por el fabricante para:

• Funciones diversas y futuras aplicaciones.• Líneas a disposición del usuario para su empleo en aplicaciones concretas.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 31

1.5.- Prestaciones de los buses.

• 1.5.1.- El Skew en los buses de alta velocidad.

• 1.5.2.- Mecanismos de Sincronización.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 32

1.5.1.- El Skew en los buses de alta velocidad.

• Premisas de partida:– Todas las ranuras son lógica y físicamente

equivalentes.– Sólo puede haber un maestro en cada instante

para transmitir información.– Varios esclavos pueden recibir la información a

la vez.• Skew:

– Diferencia en el retardo de propagación introducido por dos caminos paralelos.

– Retraso entre la señal de sincronismo y los bits de los datos.

– Diferencia entre el máximo y el mínimo retardo en los buffers del bus

• Ventana de muestreo:– Periodo de tiempo en el cual la información es

válida en un grupo de líneas del bus.

Datos Entrada

Datos Salida

Sincro Entrada

Sincro Salida

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 33

Tipos de SkewTodo conjunto de caminos paralelos diferentes introduce skew y disminuye la ventana de muestreo efectiva. Si definimos el skew como la diferencia entre el máximo y el mínimo retardo en los buffers del bus, entonces la ventana de muestreo efectiva de datos se reduce en relación al doble del skew de los buffers.

• Intermodule skew es la variación del retardo entre diferentes módulos, debido a tensión, temperatura y tiempo.

• Interdevice skew es la diferencia de tiempo que se establece entre dos componentes de un mismo módulo y por lo tanto bajo similares condiciones de tensión y temperatura.

• Intradevice skew es la diferencia de tiempo establecida entre dos componentes de un mismo chip.

Desgraciadamente el inter e intradevice skew no suele especificarlo el fabricante, por lo que el intermodule skew debe tomarse en el peor de los casos.

Intradevice Skew < Interdevice Skew < Intermodule Skew.Intradevice Skew < Interdevice Skew < Intermodule Skew.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 34

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 35

1.5.2.- Mecanismos de Sincronización.

• Protocolo Síncrono-Centralizado.

• Protocolo Forzado (compelled protocol).

• Protocolo No Forzado (uncompelled protocol).

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 36

Protocolo Síncrono-Centralizado.

• Es el más fácil de implementar. Se ofrece una fuente central de reloj, unas veces desde una circuitería en el backplane y otras desde un módulo instalado en una ranura de éste.

• Todos los módulos del backplane reciben el reloj central casi simultáneamente. Esta recepción no es totalmente simultánea debida al skew espacial. Éste se introduce a causa de la separación física de los módulos y a la velocidad finita de propagación.

• El transmisor coloca los datos en el bus tan pronto como le es posible antes del flanco de reloj que los valida.

• La diferencia entre la ventana de muestreo vista en el transmisor y la vista en el receptor se debe al skew causado por los diferentes retardos de propagación de las distintas señales del backplane.

• El tiempo mínimo de reloj depende de los retardos absolutos y es prácticamente independiente del skew.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 37

Protocolo Síncrono-Centralizado.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 38

Protocolo Forzado.

• La idea que se esconde detrás del protocolo forzado es el que ningún módulo necesita saber explícitamente los requisitos de tiempo de los otros módulos del backplane, pero la velocidad de transferencia de datos se adapta dinámicamente a la velocidad de comunicación de los módulos.

• No hay sistema de reloj.• El tiempo mínimo de reloj depende tanto del skew como de los retardos

absolutos.

DIEA: Integración de Equipos para Comunicaciones. (Tema 1: Introducción a los Buses). Pág. 39

Protocolo No Forzado.• Evita el skew espacial pero introduce un retardo por la confirmación del receptor.

Este retardo se puede evitar si el receptor pierde el derecho a controlar dinámicamente la velocidad de transferencia.

• Es bastante similar a un protocolo de sincronismo centralizado, excepto en que la fuente de reloj cambia con el tiempo. Lo que lo diferencia del protocolo forzado es que no se necesita confirmación desde el receptor.

• Para diseñarlo se debe partir de un retardo máximo que marca el tope de espera para validar los datos en el receptor.

• El tiempo mínimo de reloj depende del skew y es independiente de los retardos absolutos.