PDF de programación - Tema 7: Buses de interconexión

Imágen de pdf Tema 7: Buses de interconexión

Tema 7: Buses de interconexióngráfica de visualizaciones

Publicado el 5 de Julio del 2017
928 visualizaciones desde el 5 de Julio del 2017
972,7 KB
22 paginas
Creado hace 14a (10/05/2009)
Estructura de Computadores 2 [08/09]

Buses de interconexión

1. Introducción. Estructura del bus y uso básico.

Clases de buses y jerarquías

2. Elementos de diseño de un bus:

• Tipos de buses, anchura del bus, temporización, mé-
todo de arbitraje y tipos de transferencia de datos

3. Arbitraje del bus
4. Ejemplos de buses estándar

• PCI, SCSI, USB y FireWire, AGP y PCI-Express

10 de mayo de 2009

Bibliografía

• Computer Architecture: A Quantitative Approach (3rd or 4th ed.), John L. Hennessy y

David A. Patterson. Morgan Kaufmann Publishers, Inc.

• Organización y arquitectura de computadores (7th ed.), William Stallings. Prentice Hall.
• Organización de Computadores, C. Hamacher, Z. Vranesic y S. Zaky. Mc Graw Hill, 2003.
• Computer Organization and Design: The hardware/software interface (3rd ed.), David A.

Patterson and John L. Hennessy. Morgan Kaufmann Publishers, Inc.

GAC: Grupo de Arquitectura de Computadores. Dpt. Electrónica e Sistemas. Universidade da Coruña.

Introducción

• Las distintas unidades funcionales de un computador necesitan comunicarse. Deben exis-

tir, por lo tanto, líneas para interconectar estos módulos.

• Tipos de transferencias a las que debe dar cobertura la estructura de interconexión:

− Procesador ⇔ Memoria
− Procesador ⇔ E/S
− Memoria ⇔ E/S (DMA)

MemoryN Words0•••N – 1DataDataAddressWriteReadI/O ModuleM PortsExternalDataAddressInternalDataExternalDataInterruptSignalsInternalDataWriteReadCPUFigure 3.15 Computer ModulesDataDataAddressInstructionsControlSignalsInterruptSignals Introducción

• Un bus es un canal de comunicación compartido que utiliza un conjunto de líneas para
conectar múltiples subsistemas. Cada cable o línea transmite un único bit de información
en un determinado momento.

• Ventajas:

− versatilidad
− bajo coste

• Desventaja: supone un cuello de botella, limitando la productividad máxima del sistema.
• A la hora de diseñar un sistema de buses, el reto consiste en cubrir la demanda de
comunicación del sistema y permitir la conexión de un gran número de dispositivos de
E/S.

• Características deseables:

− heterogeneidad
− escalabilidad
− baja latencia
− alto ancho de banda

• Principal problema en el diseño de un BUS: la velocidad máxima (y por tanto el rendi-

miento) está fuertemente limitada por cuestiones físicas:

− longitud del bus
− número de dispositivos conectados

• Y también por la necesidad de dar soporte a una gran variedad de dispositivos con muy

distintas latencias y anchos de banda

• Los crecientes problemas que presentan las cada vez más altas velocidades de transmi-
sión en múltiples hilos paralelos hacen que la industria se encuentre en plena transición:
de buses paralelos compartidos a interconexiones punto-a-punto de alta velocidad
con switches.

Estructura del bus

• Las líneas que componen un bus se pueden clasificar en tres grupos funcionales:

− Las líneas de datos del bus proporcionan el camino para transmitir datos entre
los módulos del sistema. El número de líneas del bus de datos determina el número
máximo de bits que es posible transmitir al mismo tiempo.

− Las líneas de dirección se utilizan para designar (direccionar) la fuente o el destino
de los datos situados en el bus de datos. La anchura del bus de direcciones determi-
na la cantidad máxima de memoria (y de dispositivos de E/S) direccionable en el
sistema.

− Las líneas de control se emplean para gestionar el acceso y el uso de las líneas de
datos y dirección, señalizando peticiones y reconocimientos e indicando qué tipo de
información pasa por las líneas de datos.

• Clasificación según las características eléctricas:

− Unidireccionales con un transmisor y múltiples receptores
− Unidireccionales con múltiples transmisores y un único receptor
− Bidireccionales

• Algunas líneas de control típicas son:

− Escritura en memoria (Memory Write)
− Lectura de memoria (Memory Read)
− Escritura de E/S (I/O Write)
− Lectura de E/S (I/O Read)
− Transferencia reconocida (Transfer ACK)
− Petición de bus (Bus Request)
− Cesión de bus (Bus Grant)
− Petición de interrupción (Interrupt Request)
− Interrupción reconocida(Interrupt ACK)
− Reloj (Clock)
− Inicio (Reset)

Uso básico del bus
• Cuando un módulo necesita enviar un dato a otro módulo:

1. Obtener el uso del bus
2. Transferir el dato a través del bus

• Cuando un módulo necesita pedir un dato a otro módulo:

1. Obtener el uso del bus
2. Transferir la petición al otro módulo mediante las líneas de control y dirección apro-

piadas

3. Esperar a que el segundo módulo envíe el dato

Clases de buses y jerarquías

• Bus Procesador-memoria
• Bus E/S
• Bus Backplane o Mezzanine (Literalmente: «entresuelo». Ejemplo, PCI)
• Las prestaciones del bus disminuyen con la conexión de un gran número de dispositivos
(cuello de botella). Solución: configuraciones con múltiples buses, normalmente organiza-
das jerárquicamente. Ejemplos:

− IBM PC

− Apple Macintosh II

− IBM RS-6000

− Más configuraciones

Diseño de un bus

• Tipo de bus

− Dedicado
− Multiplexado

• Anchura del bus
− Dirección
− Datos

• Temporización
− Síncrono
− Asíncrono

• Número de maestros de bus

• Tipo de transferencia de datos

− Uno
− Varios (opción: orientación

a paquete)

• Método de arbitraje

− Centralizado
− Distribuido

− Lectura
− Escritura
− Lectura-modificación-escritura
− Lectura-después de-escritura
− Bloque
− Transacción partida (o packet-switched bus):
Se dividen eventos del bus en peticiones y
respuestas. Otro maestro puede usar el bus.

Temporización

• Bus síncrono. Entre sus líneas de control se incluye una señal de reloj. El protocolo para
la comunicación es fijo y está gobernado por la señal de reloj ⇒ se asume que los envíos
llegan correctamente.
Ventajas: Puede funcionar a gran velocidad y se puede implementar con un sistema se-
cuencial sencillo.
Inconvenientes: No es adecuado para mezclar dispositivos con grandes diferencias de ve-
locidad. Su diseño tiene que ser muy cuidadoso. Problema del sesgo del reloj (clock skew).
Los buses de memoria suelen ser síncronos.

Ejemplo de lectura síncrona.

• Bus asíncrono. Sin reloj. Las transmisiones de datos se coordinan con un protocolo de
handshaking entre emisor y receptor: un evento origina el siguiente, y así sucesivamente.
Ventajas: Permite la conexión de dispositivos de un amplio rango de velocidades diferentes.
Escalan mejor tanto con el número de dispositivos como con los cambios tecnológicos en
los mismos. No hay problemas de sesgo de reloj, por lo que permite distancias más largas.
Inconvenientes: Es más lento, debido a la sobrecarga introducida para sincronizar a emisor
y receptor. Puede necesitar un cierto número de líneas de control adicionales para imple-
mentar el protocolo. Es más difícil predecir el tiempo que va a llevar una determinada
transacción.
Los buses de E/S son habitualmente asíncronos.

Ejemplo de lectura asíncrona.

Ejemplo de escritura.

Temporización

• Otro ejemplo diferente de protocolo handshaking para realizar una lectura asíncrona:

0. El protocolo comienza con el maestro (el procesador, por ejemplo) poniendo una
dirección de memoria en el bus de datos y activando la señal de petición de lectura
(ReadReq).

1. El esclavo (la memoria, por ejemplo) ve la petición y coge la dirección de memoria

del bus de datos, activando la señal de aceptación (ACK).

2. El maestro ve activa la señal de ACK y libera el bus de datos y desactiva la señal

de petición de lectura, que sirve de aviso al esclavo.

3. El esclavo ve la desactivación de la señal de petición y contesta así mismo con la

desactivación de la señal de ACK.

4. Cuando el esclavo tiene listo el dato a leer lo pone en el bus y activa la señal que

indica que el dato está listo (DataReady).

5. El maestro ve la señal DataReady, con lo que sabe que el dato está listo en el bus y

realiza su lectura. Cuando completa la operación activa la señal de ACK.

6. El esclavo ve la señal de ACK, lo que le dice que el maestro ya tiene el dato leído, y

desactiva la señal DataReady y libera el bus de datos.

7. Por último, el maestro responde a la desactivación de DataReady con la bajada de

su señal de ACK, lo que da por concluida la transmisión.

Esquemas de arbitraje

• Gestión del uso del bus por parte de múltiples maestros.
• Dos factores a considerar:

− prioridad
− imparcialidad (fairness)

• Clasificación genérica de técnicas de arbitraje:

1. Arbitraje en serie (daisy chain arbitration). La línea de concesión de bus (grant)
recorre los dispositivos desde el más hasta el menos prioritario. Las prioridades se
determinan así en función de la posición del dispositivo en el bus.

2. Arbitraje paralelo centralizado. Se utilizan múltiples líneas de petición, por las
que los diferentes dispositivos piden acceso al bus de forma independiente. Un árbi-
tro centralizado selecciona uno de entre los dispositivos que han solicitado el bus y
le notifica que ahora es el maestro del bus.

3. Arbitraje distribuido por autoselección. Se emplean también múltiples líneas
de petición de bus, pero ahora cada dispositivo determina de forma independiente
si él es el solicitante de mayor prioridad sin necesidad de un árbitro.

4. Arbitraje distribuido por detección de colisión. Cada dispositivo solicita de
forma independiente el bus. En caso de múltiples peticiones simultáneas de bus
se produce una colisión. Una vez detectada la colisión se aplica un esquema que
determine el dispositivo que será maestro de bus entre las partes en colisión.

Tipo de transferencia de datos

Decisiones de diseño

Rendimiento vs. Coste

Alto rendimiento

Opción
líneas de datos y direcciones indep.
Ancho de bus
Más ancho es más rápido
Ancho de bus
Tamaño transfers
transfer bloq de múltiples palabras
Maestros de bus múltiples maestros (req. arbitraje)
Sí. Aumenta ancho de banda (ne-
Transac. partida
cesita varios maestros)
Temporización
síncrono

Bajo coste

líneas de datos y direcciones multiplexadas
Menos ancho es más barato
transfer bloq. de una palabra
un ún
  • Links de descarga
http://lwp-l.com/pdf4919

Comentarios de: Tema 7: Buses de interconexión (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad