16
Arquitectura de Ordenadores UPCO ICAI Departamento de Electrónica y Automática 1 José A. Rodríguez Mondéjar Cesáreo Fernández Martínez Buses BUSES Arquitectura de Ordenadores UPCO ICAI Departamento de Electrónica y Automática 2 José A. Rodríguez Mondéjar Cesáreo Fernández Martínez Buses ¿Qué es un bus? Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas El bus es un herramienta fundamental para construir grandes y complejos sistemas Control Datapath Memoria Procesador Entrada Salida

BBuses

Embed Size (px)

Citation preview

Page 1: BBuses

1

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 1José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

BUSES

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 2José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

¿Qué es un bus?• Una comunicación compartida• Un conjunto de cables para comunicar múltiples

subsistemas

• El bus es un herramienta fundamental para construir grandes y complejos sistemas

Control

Datapath

Memoria

ProcesadorEntrada

Salida

Page 2: BBuses

2

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 3José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Ejemplo: organización de un PC

Bus del procesador

Bus PCI

Otros buses de entrada/salida•IDE•USB•ISA

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 4José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Pros y Contras de los buses• Ventajas:

– Flexibilidad del sistema• Facilidad para añadir nuevos componentes• Mover periféricos entre ordenadores que comparten el mismo bus

– Economía• Las mismas conexiones compartidas por múltiples componentes

– Manejar la complejidad partiendo el diseño: divide y vencerás• Desventajas

– Crea un cuello de botella• Todo pasa a través del bus• El ancho de banda del bus limita la velocidad en las transacciones

entre los componentes del sistema– Velocidad máxima limitada

• Longitud del bus• Número de dispositivos conectables• Flexibilidad para soportar diferentes tipos de dispositivos

– Más flexible: más lento

Page 3: BBuses

3

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 5José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Organización física de un bus• Líneas de control

– Organizar las transferencias de datos entre los dispositivos conectados al bus

– Indicar qué tipo de información circula por el bus de datos• Líneas de datos

– Llevar la información desde la fuente al destino.– Datos y direcciones (bus de datos y bus de direcciones).– Comandos complejos

Líneas de datos

Líneas de Control

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 6José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Organización de la comunicación del bus• Maestro/esclavo• Una transacción a través del bus incluye dos partes:

– Petición de operación a través de un comando• El comando lleva asociada una dirección para indicar a qué dispositivo

va dirigido– Transferencia del dato

• El maestro es quién inicia la transacción en el bus mandando el comando ( y la dirección si es necesario).

• El esclavo es el que responde al maestro enviando el dato al maestro o recibiéndolo del maestro– En los casos sencillos de entrada/salida el procesador es el

maestro (El comando es simplemente la dirección, R/W y CS).

Maestrodel bus

Esclavo del bus

Maestro envía comando

Dato va en uno de los sentidos

Page 4: BBuses

4

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 7José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Tipos de buses en el ordenador• Buses de conexión CPU-Memoria

– Cortos y de alta velocidad– A la medida del procesador y la

memoria• Maximizar el ancho de banda

– Optimizados para transferencias de bloques de caché

• Buses de entrada/salida– Más largos y lentos– Estándar – Pensados para conectar un amplio

rango de periféricos• Cuando esos periféricos se agrupan

en grupos con necesidades semejantes aparecen diferentes tipos de bus

• Ejemplo: del bus PC original a ISA, PCI, AGP, USB

• Adaptadores entre buses

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 8José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Ordenador con un solo bus• El bus (backplane) es usado para comunicar

– Procesador con la memoria– Procesador con dispositivos de entrada/salida

• Ventajas: simple y barato• Desventajas: lento, es el mayor cuello de botella del

sistema• Ejemplo: IBM PC – XT /AT

Procesador Memoria

Dispositivos de Entrada/Salida

Backplane

Page 5: BBuses

5

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 9José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

PC-XT original

Conector Bus PC XT

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 10José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Organización Placa Madre 8088 y Bus PC-XT (ISA)

Bus PC-XTBus CPU

Page 6: BBuses

6

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 11José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Ordenador con dos tipos buses• Buses de I/O que conectan con el bus principal del sistema

(CPU – memoria) a través de adaptadores– Un bus de alta velocidad para conectar CPU, memoria y

adaptadores a otros buses– Buses de I/O a la medida de los periféricos

• Ejemplo: Apple Macintosh-II– NuBus: procesador, memoria y dispositivos ultrarrápidos.– SCSI: resto de dispositivos

Procesador Memoria

I/OBus

Bus procesador-memoria

BusAdaptor

BusAdaptor

BusAdaptor

I/OBus

I/OBus

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 12José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Ordenador con tres tipos de buses • Liberar el bus de la CPU – memoria de la Entrada/Salida

– Bus entre CPU, memoria y un sólo adaptador– Bus de entrada/salida de alta velocidad para conectar diferentes

tipos de periféricos o adaptadores con buses de más baja velocidad. Actualmente es el bus PCI

– Diferentes bus de entrada/salida según necesidades

Procesador MemoriaBus procesador memoria

BusAdaptor

BusAdaptor

BusAdaptor

I/O BusBackplane

I/O Bus

Page 7: BBuses

7

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 13José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Organización de buses en un PC actual

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 14José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Chipset y buses

Page 8: BBuses

8

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 15José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Organización física

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 16José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Otra organización: Compact PCI

Backplane con conectores para

tarjetas CompactPCICPU CompactPCI

Page 9: BBuses

9

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 17José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

¿Cómo se define un bus?• Nivel mecánico

– Conexión física, cables, conectores, tamaño de las placas, etc.• Nivel eléctrico

– Circuito eléctrico equivalente de los dispositivos que se conectan al bus: tensiones, corrientes, impedancias.

• Nivel lógico– Equivalencia entre los valores eléctricos y los valores lógicos

• Nivel de temporización básica– Establece los cronogramas para la realización de un ciclo de bus

• Nivel de transferencia elemental– Transferencia de un dato elemental por el bus

• Nivel de transferencia de bloque– Bloque de información

• Buses estándar (IEEE) y estándar de facto (fabricantes)

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 18José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Nivel mecánico: Ejemplo de conectores

Page 10: BBuses

10

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 19José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Temporización: Síncrono/Asíncrono• Buses síncronos

– Una línea del control es el reloj– Todo ocurre a ritmo del reloj: la temporización es fija– Ventajas

• Muy rápido y necesita poco hardware– Desventajas

• Todo dispositivo debe funcionar a la velocidad del reloj• Corto para que no haya clock skew

• Buses asíncronos– No hay reloj (No hay problema de clock skew)– Se puede acomodar a dispositivos de diferentes velocidades– Necesita de un protocolo de handshake

• Maestro avisa a esclavo para realizar una operación• Esclavo avisa a maestro que ha realizado la operación

– Más lentos y complejos

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 20José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Ejemplo de operación síncrona/asíncrona• Síncrona

• Asíncrona

Page 11: BBuses

11

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 21José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Más sobre temporización: Ciclo de bus• Bus de ciclo completo

– El bus está ocupado mientras dura una transferencia elemental entre dos dispositivos

– El bus puede estar ocupado mucho tiempo esperando a que un periférico responda

• Bus de ciclo partido– El tiempo del bus se divide en slots de tiempo para poder compartir

varias operaciones de bus entre diferentes periféricos• Ejemplo:

– En un slot el maestro mada un comando para un periférico– En el siguiente, en vez de esperar la respuesta del periférico,

manda un comando para otro– A continuación espera, o ya recoge el resultado del primer

comando– Es llevar el pipeline al bus– Muy complejo de gestionar

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 22José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Ejemplo de ciclo de bus completo/ ciclo partido• Ciclo de bus completo

• Ciclo de bus partido (pipelined bus)

Page 12: BBuses

12

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 23José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Tamaño del bus: multiplexado/demultiplexado• Separado o demultiplexado

– Direcciones y datos son enviados en el mismo ciclo de bus

– Problema del número de líneas• Multiplexado

– Primero se envían las direcciones y después los datos

– Direcciones y datos comparten el mismo bus

– Menor coste– Más complejo

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 24José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Cronograma de un bus multiplexado

Page 13: BBuses

13

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 25José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Tamaño del bus: grado de paralelismo• Paralelo

– La información circula en grupos de bits– Esquema visto hasta ahora– Más cerca de la CPU: mayor número de líneas en paralelo

• El ancho de banda depende de la velocidad y del número de líneas en paralelo

• Serie– La información circula bit a bit entre dispositivos

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 26José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Transferencial elemental: Control del bus• Caso de un solo maestro:

– Caso simple visto• Varios posibles maestros

– Varias CPUs que comparten un mismo sistema de memoria

– Arbitraje para que en cada momento haya un solo maestro.

• Centralizado– Un arbitro único

• Distribuido– Cada dispositivo tiene un

árbitro que puede tomar el control del bus

– Ejemplo: Ethernet

Page 14: BBuses

14

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 27José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Tipos de arbitraje centralizado• Daisy-chain

• Paralelo

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 28José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Opciones en los buses

AsíncronoSíncronoReloj

SeriePipelineProtocolo

Dato a datoRáfagaTransferencia de datos

UnoMúltiplesMaestros del bus

Ancho mínimo (menos líneas: más barato) 1 bit, 8 bits

Ancho máximo (32 bits, 64 bits)

Ancho del dato

Líneas de datos y direcciones multiplexadas

Líneas de datos y direcciones separadas

Ancho del bus

Bajo costeBuses de altas prestaciones

Opción

Page 15: BBuses

15

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 29José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Comparación a nivel de ancho de banda de buses

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 30José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Más datos de comparación entre buses

Page 16: BBuses

16

Arquitectura de Ordenadores

UPCO ICAI Departamento de Electrónica y Automática 31José A. Rodríguez Mondéjar Cesáreo Fernández Martínez

Buses

Cuestiones sobre buses• Bus PLUG&PLAY (PnP)

– Detección automática de dispositivos e incorporación funcional al nivel de sistema operativo.

• Problemas de los sistemas no PnP– Configuración manual (jumpers)– Configuración mediante programa propio del fabricante– Recursos únicos y predeterminados para cada periférico (ej:

interrupciones, canal DMA)– Colisiones entre dispositivos.

• Componentes de un sistema Pnp– Tarjetas PnP– Bus PnP– BIOS PnP– Drivers PnP– SO PnP

• Diseño de un sistema sencillo PnP