View
3
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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