• No se han encontrado resultados

Tema 3 Buses de Entrada/Salida

N/A
N/A
Protected

Academic year: 2021

Share "Tema 3 Buses de Entrada/Salida"

Copied!
48
0
0

Texto completo

(1)

Tema 3

Buses de Entrada/Salida

Periféricos e Interfaces

Referencias: [Stallings03] Chapter 3 [Messmer02] Chapter 25

(2)

Sumario

• Conceptos Generales

– Estructura Universal del Bus – Operaciones en un Bus

– Ventajas y Desventajas – Tipos de Buses

– Solución en Computadores: Jerarquía

• Normalización de un Bus

– Niveles de Especificación Físico, Eléctrico y Lógico – Temporización de las Señales

– Protocolo de Transferencia

• Método de arbitraje • Direccionamiento • Anchura del bus

• Tipos de transferencias

• Estudio de Casos: Bus PCI

– Organización de Computadores Basados en Bus PCI – Nivel Físico

– Protocolo: arbitraje, lectura/escritura – Autoconfiguración

(3)

Conectores a Buses en Placa Base

2 conectores ISA 5 conectores PCI

USB

2 conectores IDE Placa base Periférico esclavo Periférico maestro

(4)

Estructura Universal de un Bus

Memoria Principal Interfaz serie Interfaz paralelo Procesador

LÍNEAS: Datos, Direcciones, Control

Controlador de disco

Controlador de cinta

Maestro Esclavo Esclavo

Líneas de Datos

(5)

Operaciones Básicas

• Transacciones: agrupación de eventos que se

producen en un bus entre Fuente y Destino

• Partes en las que frecuentemente se dividen las

Transacciones

– 1: Petición del bus

– 2: Obtener el uso del bus (Cesión)

– 3: Direccionamiento del destinatario

– 4: Transferir dato

– 5: Espera confirmación de envío correcto (control de

errores)

(6)

Ventajas

Memoria Procesador Disposi-tivo E/S Disposi-tivo E/S Disposi-tivo E/S BUS • Versatilidad:

– Nuevos dispositivos pueden ser añadidos fácilmente – Los Periféricos pueden ser conectados a distintos

computadores que usen el mismo estándar de bus

– La reparación consiste en sustituir los módulos dañados • Bajo Costo:

– Un único conjunto de cables es compartido de múltiples formas

(7)

Desventajas

BUS Disposi-tivo 2 Disposi-tivo 3 Procesador Disposi-tivo 1 Memoria

• Se crea un cuello de botella en las comunicaciones

– El ancho de banda de un bus puede limitar el ritmo de transferencia máximo de E/S

• El ritmo de transferencia del bus está básicamente limitada por: – La longitud del bus

– El número de dispositivos conectados al bus

– La necesidad de soportar un rango de dispositivos con distintas características:

• Latencias (tiempo de ciclo) que varían grandemente

(8)

Tipos de Buses

• Dedicados: asignar un conjunto de líneas a una función determinada (datos, direcciones, etc.)

– Mayor rendimiento debido a menor contención del bus

– Incremento del tamaño del sistema

Maestro Esclavo

Líneas de Control Líneas de Dirección Líneas de Datos

Esclavo

• Multiplexados: por un determinado conjunto de líneas se transmiten varios tipos de información

– Ventajas: menos líneas

– Desventajas: HW más complejo y menor prestaciones • Serie: se transmiten bit a bit

(9)

Jerarquía de Buses: Un Sistema de 3 Buses

Procesador Memoria Principal Bus Sistema Adaptador Bus Adaptador Bus Adaptador Bus

Bus Expansión E/S (IDE, USB, etc.)

PCI, AGP

Bus Expansión E/S

Vídeo LAN FireWire Memoria Cache Bus Local Interfaz de Memoria

• Un pequeño número de buses de la placa base se obtienen a partir del Bus Local – La interfaz de memoria se usa para el tráfico entre procesador y memoria – A través de adaptador se obtienen los buses del sistema (PCI)

– Los buses de E/S se conectan al bus del sistema (IDE, USB, SCSI, etc.) • Ventaja: la carga del bus del procesador se reduce

(10)

Ejemplo: Computador basado en Jerarquía PCI

Bus LOCAL:

Procesador/Cache

Bus del SISTEMA (PCI)

Buses de EXPANSION E/S: ISA, USB

(11)

Ejemplo: Computador basado en Jerarquía PCI

Tipos de

Transferencias:

• Procesador-Memoria • Procesador-E/S • E/S-Memoria

(12)

Especificación Normalizada de un Bus

Protocolo Transacción Direc R/W Temporización de Señales v t Datos Nivel Lógico Características Físicas/Mecánicas Especificación Eléctrica de las Señales BUS

(13)

Tema 3/13

Normalización de un Bus

• Características Físicas/Mecánicas

– Topología de conexión, Número máximo de dispositivos

conectados al bus (Capacidad de Conexión), Tipos de cables y conectores, Longitud

• Especificación Eléctrica de las Señales

– Características eléctricas de las señales (V, I, Z), Fiabilidad eléctrica de las líneas de bus (interferencias, corto circuito, tensión del cable), Modos de suministro de alimentación

• Nivel Lógico

– Asigna un nivel lógico binario (0 ó 1) a cada nivel eléctrico estable de las señales de un bus (Vcc ó Gnd)

– Señales: Datos, Direcciones, Escritura/Lectura de Mem/ES, Reconocimiento de transacción, Petición/Cesión del bus, Petición/Reconocimiento de Interrupción, Reloj, Reset

(14)

Temporización de Señales

• Definición: forma en la que se coordinan los eventos en el bus • Temporización Síncrona (Bus Síncrono):

– Incluye una señal de reloj entre las líneas de control

– La activación de señales siempre se realiza de forma relativa a la señal de reloj

– Ventaja: implica muy poca lógica y puede ser muy rápido – Desventajas:

• Cada dispositivo en el bus debe funcionar a la misma velocidad

• Para evitar el desfase de reloj, las líneas del bus no deben ser muy largas si se quiere que sea rápido

• Temporización Asíncrona (Bus Asíncrono):

– No está sincronizado por reloj, la activación de una señal depende de activaciones de otras señales

– Requiere un Protocolo de Intercambio (Handshaking)

– Ventaja: Puede acomodar un rango amplio de dispositivos

(15)

Temporización Síncrona

Bus- Acceso Bus- Petición Cmd+Addr Dirección + Orden Data1 Data2 Datos Data1 Espera (Wait) RELOJ

• El destinatario indica cuándo está preparado para transferir datos • La transferencia real se realiza a la frecuencia del RELOJ

(16)

Tema 3/16

Temporización Asíncrona

Dirección Datos Lectura/Escritura Petición Reconocimiento

Maestro activa “Dirección” Maestro activa “Datos”

Próxima “Dirección” Transacción de

ESCRITURA

t0 t1 t2 t3 t4 t5

CICLO de Bus

• t0 : Maestro ha obtenido el control y activa “Dirección” y “Datos”

– Espera una cantidad de tiempo para que los esclavos decodifiquen

• t1: El Maestro activa las líneas de “Petición” (Request)

• t2: El Esclavo activa “Reconocimiento” (Ack), reconociendo que el dato se ha recibido

• t3: El Maestro desactiva “Petición”

(17)

Protocolo de Transferencia: Arbitraje

• La transferencia de información se realiza a través de un

convenio entre Maestro y Esclavo:

– Sólo el maestro del bus puede controlar el acceso al bus: Inicia y controla todas las peticiones del bus

– Un esclavo responde a peticiones de lectura y escritura

• El sistema más sencillo: Maestro Unico

– El Procesador es el único maestro del bus

– Todas las peticiones de bus deben estar controladas por el procesador – Inconveniente: el procesador se implica en cada transacción

• Uno de los aspectos más importantes en el diseño de un bus:

– Cómo se reserva el bus a un dispositivo que desea usarlo en un Bus Multimaestro?: se necesita arbitraje

(18)

Arbitraje

• Petición del Bus :

– Un maestro que quiere usar el bus activa la señal de petición del bus

• Que se dirige a un árbitro central (Arbitraje Centralizado)

• Que es compartida por otros maestros y éstos detectan la actividad de esta línea compartida (Arbitraje Distribuido por Detección de Colisión de Señales) • Dependiendo del estado de unas señales de arbitraje (código identificativo,

habilitación), los módulos se abstienen de usar el bus o acceden a él (Arbitraje

Distribuido por Autoselección)

• Cesión del Bus :

– 2 tipos: Estática (bajo encuesta), Dinámica (bajo demanda)

– Un maestro no puede usar el bus hasta que la petición sea atendida – Un maestro debe indicar al árbitro que ha terminado de usar el bus

• Los esquemas de “Cesión” equilibran 2 factores :

– Prioridad del Bus: el dispositivo de más alta prioridad debe ser atendido primero

(19)

Tipos de Arbitrajes

Arbitro PCI Dispositivo PCI REQ# GNT# Dispositivo PCI REQ# GNT# Dispositivo PCI REQ# GNT# Dispositivo PCI REQ# GNT# BUS Centralizado “Daisy Chain” Arbitro PCI Dispositivo PCI GNT# REQ# Dispositivo PCI GNT# REQ# Dispositivo PCI GNT# REQ# Dispositivo PCI GNT# REQ# BUS “Centralizado”

(20)

Tipos de Arbitrajes

BUS Dispositivo PCI GNT# REQ# Dispositivo PCI GNT# REQ# Dispositivo PCI GNT# REQ# Dispositivo PCI GNT# REQ# Distribuido por Detección de Colisión de Señales (Ethernet)

(21)

Tipos de Arbitrajes

Distribuido por Autoselección

(22)

Protocolo: Direccionamiento

• Lógico: información de dirección de destino

está almacenada en el destinatario

• Geográfico: la dirección está asociada a

una posición física

• Multicast: forma de distribuir información

a más de un destinatario

• Broadcast: forma de distribuir información

a todos los destinatarios

(23)

Protocolo: Anchura del Bus

• Anchura del Bus de Datos: Afecta a las

prestaciones del sistema

• Anchura del Bus de Direcciones: Afecta a la

capacidad del sistema

• Ritmo de Transferencia (Ancho de Banda):

MB/s.

• PCI(1X), BW= 32 bits x 33 MHz /8 = 132 MB/s

Tiempo (s) Data2 Data3 Datos Data1 RELOJ

(24)

Transferencias de Ciclo Completo

Buses Multiplexados

Buses Dedicados

Tiempo

Dirección Dato Dirección

Operación de escritura (multiplexada)

Dato

Operación de escritura (no multiplexada)

Dirección Tiempo acceso Dato

Operación de lectura (multiplexada)

Dirección Dirección Lect Escr

Dato

Lectura-Modificación-Escritura

Operación de lectura (no multiplexada)

Dirección Escri Lect

(25)

Transferencias de Ciclo Partido

Dirección Dato Dato Dato

Transferencia de un bloque de datos (Burst)

Trasacción 1

Arbitraje Petición Error Snoop Respuesta Datos

Trasacción 2

Arbitraje Petición Error Snoop Respuesta Datos BCLK

(26)

Demandas de Ritmo de Transferencia

en los Periféricos Gráficos

Resolución Colores

Redisplay

Ancho de Banda

160x120

8 bits

15 Imag/s

288 KB/s

640x480

8 bits

10 Imag/s

1.9 MB/s

640x480

24 bits

30 Imag/s

26.3 MB/s

1024x768

24 bits

30 Imag/s

67.5 MB/s

ISA: 8 MHz x 2 Bytes x (1/2)= 8 MB/s EISA: 8 MHz x 4 Bytes x (1/2)= 16 MB/s

(27)

Estudio de Casos: Bus PCI

Bus PCI 0

BRIDGE Agente PCI

(28)

Principales Características PCI

• Peripheral Component Interconnect, estándar

independiente del procesador para expansión de

computadores

• PCI SIG (Special Interest Group, www.pcisig.org):

asociación industrial, PCI Express™, PCI-X 2.0, PCI

2.3

• Bus de tipo multiplexado

• Temporización síncrona (33/66 MHz) y 32/64 bits de

datos

• Alto Ritmo de Transferencia: 1X=132 MB/s (33MHz,

32 bits), 4X=528 MB/s (66 MHz, 64 bits)

(29)

Estructura General PCI

CLK Arbitro PCI Dispositivo PCI (Slot 1) GNT# REQ# Dispositivo PCI (Slot 2) GNT# REQ# Dispositivo PCI (Slot 3) GNT# REQ# Dispositivo PCI (Slot 4) GNT# REQ# AD0-31 C/BE0-3 Control IDSEL /INTA..D PCI HOST (Puente Norte) PCI HOST (Puente Norte) Controlador de Interrupciones (Puente Sur)

(30)

Principales Características PCI

• Multimaestro. El procesador no es el único maestro

del bus. Aplicado a

sistemas multiprocesadores

• Hasta 256 buses con 32 periféricos/bus y 8

controladores/periférico

• Permite establecer conexiones a través de puentes

con

buffers internos

con otras normas de bus: ISA,

EISA, SCSI, etc.

• Permite el paralelismo de transacciones

procesador-memoria y periférico PCI-periférico PCI

(31)

Niveles

Físico-Mecánico-Eléctrico:

Conector PCI

Organización de pines para eliminar Paradiafonía

(Crosstalk) 5 voltios

(32)

Tema 3/32

Nivel Lógico PCI

• Grupos funcionales de líneas obligatorias (49):

– Sistema: reloj (CLK), reset (/RST)

– Direcciones y Datos: Dir/Dat mux (AD[31:0]), interpretación Dir/Dat (/DEVSEL), validación/comando (C/BE[3:0])

– Control de la Interfaz: temporización (/FRAME), coordinación fuente/destino (/IRDY, /TRDY), parar transacción (/STOP)

– Arbitraje: par de líneas desde cada maestro al árbitro (/REQ, /GNT), líneas no compartidas

– Control de Errores de paridad (PAR, /PERR, /SERR) – Activación del Espacio de Configuración: IDSEL

• Grupos funcionales de líneas opcionales (+51): – Interrupciones: para pedir servicio

– Soporte cache: permite utilizar protocolos de coherencia de memorias caches en el bus, para sistemas multiprocesadores – Ampliación del bus a 64 bits

– Test: JTAG/Boundary Scan

• Alimentación/Tierra (+24):

Soporta: 5 v / 3.3 v (marcas físicas

en el conector distinitas dependendiendo de 5/3.3 v.)

(33)

Sincronización PCI

• Interpretación de eventos:

– Activación de eventos por maestro del bus: en transiciones negativas de clk

– Interpretación de eventos por esclavos del bus: en transiciones positivas de clk

• Interrupciones activadas por nivel

, lo cual permite

(34)

Arbitraje PCI

• Centralizado

• Interrupciones activas por nivel, se pueden

unir varias líneas

• Sin algoritmo especificado para prioridad

• No relentiza las transferencias

BUS PCI Dispositivo PCI GNT# REQ# Dispositivo PCI GNT# REQ# Dispositivo PCI GNT# REQ# Dispositivo PCI GNT# REQ# Arbitro PCI

(35)

Arbitraje PCI

Bus PCI

FRAME#, IRDY#, TRDY#, AD, CLK

A

B

REQ#A GNT#A REQ#B GNT#B

Arbitro PCI

(36)

• Modos multiplexados :

– ”ciclo completo” (escritura: 2 clk/dato, lectura: 3 clk/dato),

– ”ciclo partido” (bloques datos, 1 clk/dato)

• Estructura de la transferencia: – 1 fase de direccionamiento – 1 ó varias fases de datos • Ritmos de Transferencia

– Ciclo Completo 1X: escritura= 66 MB/s, lectura= 44 MB/s

– Ciclo Partido: 1X=132 MB/s (33MHz, 32 bits), 4X=528 MB/s (66 MHz, 64 bits)

Transferencias

de Datos

(37)

Comandos/Ordenes PCI

• Se utilizan las señales C/BE(3:0)

• Lectura/Escritura E/S: leer/escribir en registros del controlador de periféricos

• Lectura/Escritura Memoria: transferencias de bloques de datos, permite ser utilizado en sistemas multiprocesadores en el que se utiliza un algoritmo de coherencia de cache

• Lectura/Escritura Configuración: permite al usuario del bus leer y escribir en registros de configuración del dispositivo conectado a PCI, máximo número registros: 256, utilizado en Plug&Play

• Ciclo de Dirección Dual: permite la utilización de direcciones de 64 bits

• Reconocimiento de Interrupción: el controlador de interrupciones utiliza el bus de datos para leer el identificador de la interrupción • Ciclos Especiales

(38)
(39)
(40)

Autoconfiguración PnP-PCI:

Mecanismo Configuración #1

• 3er tipo de espacio direccionamiento en PCs

• Registros de Configuración: 2 registros E/S de

32 bits para acceso a la Memoria de

Configuración PCI

– CONFIG_ADDRESS: 0x0cf8

– CONFIG_DATA: 0x0cfc, 32 bits

• Memoria de Configuración: 256 bytes por

controlador

(41)

Autoconfiguración PnP-PCI:

Mecanismo Configuración #1

• ECD=1: acceso a Espacio Configuración PCI

• ECD=0: acceso a Direccionamiento E/S

CONFIG_ADDRESS (E/S= 0x0cf8)

31 30 24 23 16 15 11 10 8 7 2 1 0

EC D= 1

RESERVADO Nº de BUS PCI en la estructura jerárquica (0...255) Nº de dispositivo PCI (0...31) conectado a bus Función (multifunci onales) Nº de Registro de la Ventana Configuración (64 regs) Tipo CONFIG_DATA (E/S= 0x0cfc) 31 0

DATO

(42)

Area de Configuración PCI

64 Byte Header

192 Bytes available for PCI

Unit Unit ID Manufacturer ID 0 15 16 31 Status Command

Class Code Revision

BIST Header Latency CLS

00h 04h 08h 0Ch

Base Address Register

10h 24h Reserved Reserved 28h 2Ch

Expansion ROM Base Address Reserved Reserved 30h 34h 38h INT-Line INT-Pin MinGNT MaxLat

256-byte Configuration Area and 64-byte Header

Offset

(6)

CONFIG_ADDRESS CONFIG_DATA

3Ch

En el interior del controlador

P CI Cabecera Dependiente del Dispositivo Formato Fijo 16B

(43)

Campos de Configuración

• Command (16 bits: 9+7): configura cómo reacciona el módulo PCI a los distintos ciclos de bus

• Status (16 bits): estado del módulo PCI

• Class code (24 bits): indica el tipo de módulo PCI. MSB=clase, MediumSB=sub-clase, LSB= interfaz de programación

• Latency (8 bits): duración máx de operaciones de bus (/FRAME=0, >8 clks) • Header: permite indicar el contenido de los otros 48 bytes de la cabecera • BIST (8 bits): autotest

• BAR (32/64 bits): punteros a zonas de memoria o E/S donde se almacenan datos o programas

• INT-Line (8 bits): línea interrupción asignada, IRQx (0 .. 15)

• INT-Pin (8 bits): petición de interrupción, 0000 (no int), 0001 (/INTA), 0010 (/INTB), etc

• (MaxLat,MinGNT): máxima y mínima latencia que requiere el módulo PCI, y que es indicado por el fabricante de la placa

(44)

Programación a través de BIOS

• Ensamblador: INT 1aH

– pci_bios_present: indica si BIOS PCI presente

• AH= 0xb1, AL=0x01

– find_pci_device(); encuentra periféricos PCI

• AH= 0xb1, AL=0x02, num. fabricante, num. dispositivo

– read_configuration_area(); lee espacio

configuración sobre registro ECX

• AH= 0xb1, AL=0x08 (byte), AL=0x09 (word)

– write_configuration_area(); escribe registro de

configuración desde registro ECX

(45)

Ejemplo

pci_bios_present: find_pci_device(); DX: fabricante (8086=“Intel”) CX: unidad (7190=“440BX Host/PCI”) SI= indice

Versión: x.y; x=BH, y=BL EDX=PCI; 00 49 43 50 Carry=NC; si PCI-BIOS

Carry=NC; comando OK

(46)

Programación a través de

BIOS con C++

• getinterrupt(0x1a);

– pci_bios_present(); indica si BIOS PCI presente

– find_pci_device(); encuentra periféricos PCI

– read_configuration_byte(); lee espacio

configuración

– write_configuration_byte(); escribe registro de

configuración

(47)

Ejemplo: Arranque PC

Bus No Device No. Func. No. Vendor ID Device

ID Device Class IRQ 0 4 1 8086 7111 IDE controller 14/15 0 4 2 8086 7112 Serial bus controller 10 0 11 0 1307 000B Unknown PCI device N/A 1 0 0 12D2 0018 Display controller 11

(48)

Ejemplo:

PCItree

(

www.pcitree.de)

Interrupción PCI Interrupción IRQx

Situación del módulo en la jerarquía PCI DID.VID

Jerarquía PCI

Area de Configuración

Referencias

Documento similar

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

dente: algunas decían que doña Leonor, "con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de