Você está na página 1de 98

EC

Ignaci o Rojas 1. Evolucin y prestaciones de los computadores 2. Unidades funcionales de un computador. 3. Nivel de lenguaje mquina. 4. Desarrollo de programas en ensamblador.

BUSES

5.1

5. Buses del sistema. Bus PCI.


6. Sistema de memoria interna. 7. Sistema de memoria externa. 8. Sistema de entrada/salida.

TEMA 5: BUSES

1. Estructuras del Bus 2. Tipos de Bus 3. Especificacin de un Bus 4. Paralelismo y multiplexacin 5. Arbitraje 6. Tipos de transferencia 7. Temporizacin y direccionamiento 8. Ejemplos de Buses. PCI

EC
Ignaci o Rojas

Estructuras del Bus

5.2

Estructuras del Bus 1. Bus nico. 2. Buses separados. 3. Bus nico avanzado. 4. Buses separados avanzados. 5. Estructura en estrella. 6. Estructura en anillo. 7. Bus nico multiplexado en tiempo.

EC
Ignaci o Rojas

Bus nico
Memoria para programas/datos

5.3

Bus nico: - La Cpu necesita.


E/S para almacenamiento/comunicacin con usuario

- Solucin: usar las mismas lneas para conectarlo todo cortocircuito.

- Cortocircuito: slo un dispositivo puede escribir en un instante dado.

EC
Ignaci o Rojas

Bus nico

5.4

Inicia todas las transferencias y controla si el dispositivo lee, escribe o es triestado.

CPU

Memoria

Perifrico 0

Perifrico 1

Bus del sistema


Problema: La velocidad de transferencia de la CPU y de la memoria es muy superior a la de los perifricos. Por ello si el bus es sncrono todo ira regido por la velocidad del ms lento

EC
Ignaci o Rojas

Buses separados

5.5

Buses separados:
- Uno rpido (memoria) y otro lento (E/S).
Va a la velocidad de la memoria

Memoria Bus de memoria CPU

Va a la velocidad del ms lento

Perifrico 0

Perifrico 1

Bus de E/S

EC
Ignaci o Rojas

Buses separados

5.6

- Mejoras: Asincronismo Bus E/S (requiere una lnea de control adicional Ready)

T1 CLK RDY Ready

T2

T3

TW

T4

Periodo de espera TW entre T3 y T4 La CPU intenta transferir en T3. El perifrico no est listo, RDY La CPU inserta estados TW (wait). Perifrico preparado ya, RDY La CPU no inserta ms TW. Pasa a T4.Se transfiere el dato.

EC
Ignaci o Rojas

Bus nico avanzado

5.7

Bus nico avanzado:


-Objetivo: que la CPU pueda seguir trabajando con memoria mientras que los perifricos terminan su operacin.

CPU
Cache Memoria principal

Per. 00

Per. 01

..

Per. 0n

Per. 10

Per. 11

..

Per. 1n

Controlador de E/S

Controlador de E/S

Bus del sistema

EC
Ignaci o Rojas

Bus nico avanzado

5.8

Controlador E/S:
- CPU programa el controlador indicando - CPU sigue trabajando con memoria. - El controlador interrumpe a la CPU si perifrico no est preparado pide (W) el primer dato proporciona (R) el primer dato tipo de operacin (R/W) perifrico (0..n) tamao del bloque dado

- CPU lee/escribe el dato. - CPU sigue trabajando hasta la prxima interrupcin.

EC
Ignaci o Rojas

Bus nico avanzado

5.9

Buffers:
- El controlador puede disponer de un pequeo bloque de memoria propia (1KB). - La CPU puede escribir/leer datos de E/S de 1KB en 1KB por lo que se interrumpe menos frecuentemente (1024 veces menos). Es ms rpida transfiriendo 1Kb que 1024 veces 1B. - Los perifricos pueden tener buffer propio; esto ocasiona que el controlador quede libre para manejar otro perifrico mientras tanto. - La CPU tambin puede tener Buffer propio (Cach).

EC

Interrupciones:
- Son un mecanismo ( hardware, lnea INTR) por el cual la CPU:
Memoriza el estado actual o CONTEXTO: contador de programa, flags de estado, otros registros... Ejecuta la Rutina de Servicio de Interrupcin ISR la cual debe:
IRQ vectorizadas: el Controlador pone un vector en el bus que identifica el perifrico y el ISR 1.- Identificar el dispositivo: consulta (polling) ISR comprueba estado de los perifricos hasta localizar el causante de la IRQ 2.- Atenderlo (R/W). 3.- Atender el Controlador, (re)(des)programar?

Ignaci o Rojas

Bus nico avanzado

5.10

Retorna al contexto anterior IRET

EC
Ignaci o Rojas

Buses separados avanzados


MEM. ..
Per. 1n

5.11

Buses Separados:
Objetivo: liberar a la CPU de trfico E/S
Per. 00 Per. 01

..

Per. 0n

Per. 10

Per. 11

Controlador E/S

Controlador E/S

CPU

Bus de E/S DMA Memoria principal

Cache

Bus de sistema

Controlador Cache

Controlador DMA

EC
Ignaci o Rojas

Buses separados avanzados

5.12

Controlador DMA (Direct Memory Access):


1.- CPU programa al controlador indicndole:
Tipo de operacin R/W Tamao de bloque de memoria Direccin inicial de memoria

2.- El Controlador DMA aprovecha cuando el Bus de Sistema queda libre:


Lee de memoria y escribe el dato en E/S o escribe en memoria el dato ledo en el BUS E/S. Incrementa la direccin y as sucesivamente.

3.- El Controlador E/S debe haber sido programado para actuar conjuntamente.

EC
Ignaci o Rojas

Buses separados avanzados

5.13

Controlador Cache:
- Principio de localidad de las referencias de memoria: Temporal: tendencia de la CPU a referenciar dentro de poco datos recientemente referenciados. Espacial: tendencia de la CPU a referenciar datos cercanos (direccin) al ltimo referenciado. Secuencial: tendencia de la CPU a referenciar el siguiente dato (direccin+1) al ltimo referenciado. - Controlador intenta que la CPU encuentre en Cach lo que necesita. - Transfiere Memoria Cach en pequeos bloques. - CPU / Cache=E/S / Buffer - La Cache es ms rpida, cara y pequea que la memoria normal.

EC
Ignaci o Rojas

Buses separados avanzados

5.14

Otras necesidades de velocidad:


- Deseo de reducir el tiempo de ejecucin y el coste de los procesadores. Se toman estas medidas:
Varios procesadores iguales: repartir tiempo, tolerancia de fallos... Coprocesadores especficos: grficos, matemticos... Controladores Cache, DMA, E/S... Todo esto trabajando simultneamente en paralelo.

- Es viable slo si:


- Cada uno puede trabajar bastante tiempo aisladamente. - Acceden ocasionalmente al bus para transferir rfagas de datos.

Estructura en estrella

Dos estructuras tpicas


Estructura en anillo

EC
Ignaci o Rojas

Estructura en estrella

5.15

Estructura en estrella:
Interconexin Procesadores-Memoria compartida Modulo central:
Gestor de comunicaciones Sistema de conmutadores: -Barras cruzadas -Barril -etc... Una avera en G inutiliza el sistema N de procesadores limitado por la capacidad de G

M G

EC
Ignaci o Rojas

Estructura en anillo

5.16

Estructura en anillo:
Interconexin de los procesadores mediante Paso de Testigo

Cada procesador:
- Espera testigo - Lee mensajes de otros procesadores - Retira los que no le correspondan - Aade los que desee transmitir - Escribe mensajes al siguiente procesador

Ventajas: +Barato (2 hilos, coaxial, altas velocidades) +Sencillo, ampliable (insertar otro procesador en cadena) Desventajas: La avera de un procesador inutiliza el sistema.

EC
Ignaci o Rojas 1. Evolucin y prestaciones de los computadores 2. Unidades funcionales de un computador. 3. Nivel de lenguaje mquina. 4. Desarrollo de programas en ensamblador.

BUSES

5.17

5. Buses del sistema. Bus PCI.


6. Sistema de memoria interna. 7. Sistema de memoria externa. 8. Sistema de entrada/salida.

TEMA 5: BUSES

1. Estructuras del Bus 2. Tipos de Bus 2.1 Segn dedicacin (dedicados/no dedic.) 2.2. Segn particionamiento 2.3. Segn nivel de jerarqua

EC
Ignaci o Rojas

Buses segn dedicacin

5.18

Buses dedicados Pueden establecer ms comunicaciones simultneamente. Pueden realizar ms funciones en paralelo (E/S, Datos, ...) Pero el coste es mucho mayor (n contactos y cables ) Slo interesa si hay muchos elementos (CPU, Mem) muy rpidos y muy caros (ms que el bus).
Bus de Instrucciones Bus de datos Bus de E/S

CPU

Instruccin en memoria

Datos en memoria

Sistema E/S

Estructura tpica de un bus dedicado

EC
Ignaci o Rojas

Buses segn dedicacin

5.19

Buses no dedicados Son ms baratos y ms lentos:


Slo hay 1 comunicacin simultneamente.

Requieren mecanismo de arbitraje:


Conceder el bus a quien lo necesite pero no a ms de 1.

Si hay muchos elementos, bus = cuello de botella.

Bus

Memoria

CPU

Sistema E/S

Estructura tpica de un bus no dedicado

EC
Ignaci o Rojas

Buses segn particionamiento 5.20

Particionamiento:
POR RECURSOS POR FUNCIN

Por recursos: (Ej. VME): Recursos del mismo tipo se agrupan en tarjetas. Particionamiento por funcin
1. 2. Cada tarjeta es un sistema (casi) independiente. Slo requieren ocasionalmente pasarse datos o sincronizarse.

Ej. Multibus II y Futurebus.

EC
Ignaci o Rojas

Buses segn Particionamiento 5.21


Bus del sistema

Memoria

Memoria

CPU

E/S

E/S

Bus particionado por recursos


Bus del sistema

Interfaz
Bus local

Interfaz
Bus local

CPU

Memoria
Funcin 1

E/S

CPU

Memoria
Funcin N

E/S

Bus particionado por funcin

EC
Ignaci o Rojas 1. Evolucin y prestaciones de los computadores 2. Unidades funcionales de un computador. 3. Nivel de lenguaje mquina. 4. Desarrollo de programas en ensamblador.

BUSES

5.22

5. Buses del sistema. Bus PCI.


6. Sistema de memoria interna. 7. Sistema de memoria externa. 8. Sistema de entrada/salida.

TEMA 5: BUSES

1. Estructuras del Bus 2. Tipos de Bus 3. Especificacin de un Bus 4. Paralelismo y multiplexacin 5. Arbitraje 6. Tipos de transferencia 7. Temporizacin y direccionamiento 8. Ejemplos de Buses. PCI

EC
Ignaci o Rojas

Especificacin de un Bus

5.23

Debe incluir toda la informacin necesaria para saber conectar un dispositivo al bus. Hay varios niveles: Mecnico: Define el soporte (rack, PCB), n lneas, tipo conector,
dimensiones tarjetas,...

Elctrico: Tipo transceivers (tensin/corriente), alimentacin,


impedancias, nivel seal,...

Lgico: Define n seales y su significado, activas alta/baja, ... Temporizacin: Tipos de ciclo (R/W, IO/M, Tw) y sus
cronogramas.

Transferencia simple: Define protocolos arbitraje, transmisin,


ciclo partido, deteccin errores.

Transferencia doble: Posibilidad transferencia bloque,


mecanismos de reintento/recuperacin bloque.

EC
Ignaci o Rojas

Especificacin de un Bus

5.24

Nivel Mecnico:

Backplane Bus

Placa STD

A veces el estndar de fbrica (Ej. RS-232-C) no especifica conector (DB-25 o DB-9)

EC
Ignaci o Rojas

Especificacin de un Bus
Circuito equivalente RS-232-C

5.25

Nivel Elctrico:

Estrechamente relacionado con nivel mecnico. Ambos niveles influyen en: Distancia maxima conexin / n tarjetas. Inmunidad al ruido Velocidad Mxima de transferencia. Paralelismo / Multiplexacin Transceiver IEEE 802.5 Coste ( cables, conectores, ...)

EC
Ignaci o Rojas 1. Evolucin y prestaciones de los computadores 2. Unidades funcionales de un computador. 3. Nivel de lenguaje mquina. 4. Desarrollo de programas en ensamblador.

BUSES

5.26

5. Buses del sistema. Bus PCI.


6. Sistema de memoria interna. 7. Sistema de memoria externa. 8. Sistema de entrada/salida.

TEMA 5: BUSES

1. Estructuras del Bus 2. Tipos de Bus 3. Especificacin de un Bus 4. Paralelismo y multiplexacin 5. Arbitraje 6. Tipos de transferencia 7. Temporizacin y direccionamiento 8. Ejemplos de Buses. PCI

EC
Ignaci o Rojas

Paralelismo y multiplexacin

5.27

Idealmente, todos los dispositivos debieran tener el mismo ancho palabra del bus. Paralelismo total: Bus datos y Bus direcciones separados. Aumenta la velocidad de transferencia. Aumenta el coste. Sin embargo interesa disminuir el n de pines en dispositivos, complejidad conectores, tamao tarjetas, n hilos, coste, etc.

EC
Ignaci o Rojas

Paralelismo y multiplexacin

5.28

Multiplexacin Datos/Direcciones:
El bus lleva datos/dir separados. Dispositivos cargan dir en latch
Demultiplexacin

No es tan grave la prdida de velocidad, ya que en una lectura cpu-mem la cpu debe esperar tiempo de acceso.

EC
Ignaci o Rojas

Paralelismo y multiplexacin

5.29

Multiplexacin MSB / LSB:


Bus lleva ancho palabra completo. Dispositivos acceden LSB primero. En siguiente ciclo, MSB.

Multiplexacin

EC
Ignaci o Rojas

Paralelismo y multiplexacin

5.30

Bus Serie:
Caso extremo de multiplexacin. Paralelismo Nulo. Toda la informacin (Datos, Dir, Control) va por 2 hilos. Muy apropiado para grandes distancias (bajo coste).

Elementos necesarios para bus serie.

EC
Ignaci o Rojas 1. Evolucin y prestaciones de los computadores 2. Unidades funcionales de un computador. 3. Nivel de lenguaje mquina. 4. Desarrollo de programas en ensamblador.

BUSES

5.31

5. Buses del sistema. Bus PCI.


6. Sistema de memoria interna. 7. Sistema de memoria externa. 8. Sistema de entrada/salida.

TEMA 5: BUSES

1. Estructuras del Bus 2. Tipos de Bus 3. Especificacin de un Bus 4. Paralelismo y multiplexacin 5. Arbitraje 6. Tipos de transferencia 7. Temporizacin y direccionamiento 8. Ejemplos de Buses. PCI

EC
Ignaci o Rojas

Arbitraje y Temporizacin

5.32

Tipos de dispositivo (o Tarjetas):


Activos: Eventualmente pueden requerir el uso del bus para iniciar un transferencia. Pasivos: Slo pueden responder a una transferencia, nunca iniciarla. Master: En cada instante el bus est siendo usado por l. Slave: Dispositivo(s) que responde(n) al master. Pasivo Activo Esclavo siempre Master ocasionalmente
Situacin de Contencin del bus.

Con Bus nico Activos deben acordar quin usa el


bus, si no cortocircuito.

EC
Ignaci o Rojas

Arbitraje y temporizacin

5.33

Tipos de bus nico:


Maestro nico: (CPU) Controla bus siempre. No hay contencin. Por robo de ciclo: (DMA) Hay un elemento activo que usualmente es maestro (CPU). Hay otro activo (DMA) que ocasionalmente pide el bus por muy poco tiempo (HOLD-HLDA). No hay arbitraje: CPU siempre cede el bus y lo recupera pronto. Arbitraje: Varios elementos activos (Ej. Multiproceso simtrico). Requiere protocolo justo (no dejar a ninguno esperando eternamente).

EC
Ignaci o Rojas

Arbitraje y temporizacin

5.34

Ej. Bus nico, robo ciclo DMA, CPU, Mem, E/S.


CPU Contr. DMA Activos: CPU, DMA Pasivos: Mem, E/S (E/S solo puede interrumpir) Master: Usualmente CPU MEM
Master: DMA Slave: MEM E/S

Contr. E/S
Fuente: E/S Destino: MEM

Slave: Usualmente MEM Controlador E/S dispone de 1 buffer de datos para CPU; interrumpe CPU Controlador DMA roba bus (HOLD) y transfiere buffer E/S a MEM.

CPU recupera bus y lee de memoria.


Master: CPU Slave: MEM Fuente: MEM Destino: CPU

EC
Ignaci o Rojas

Arbitraje y temporizacin

5.35

En el caso ms general (arbitraje) la secuencia de operaciones se llama transaccin.


Peticin bus Arbitraje Direccionamiento Transferencia Datos Deteccin Errores.

Transaccin del Bus

EC
Ignaci o Rojas

Arbitraje y temporizacin

5.36

Deteccin de Errores: Error: Se transmiten datos incorrectos o se pierden datos. Tipos Comunes (deben detectarse para poder reintentar la transferencia) Direccionamiento: Intentar acceder a direcciones inexistentes (memoria o dispositivos) o direcciones protegidas (ej. Cdigo del SO).
Soluciones: Si bus asncrono (seal RDY) dispositivo inexistente no responde. Modulo temporizador: Espera Time-Out y fuerza repeticin ciclo. Si memoria local a 1 CPU, cpu suele detectar/ proteger.

EC
Ignaci o Rojas

Arbitraje y temporizacin

5.37

Datos: Crosstalk, ruido, fluctuacin alimentacin


Soluciones: Cdigos detectores (Paridad), correctores (Hamming), CRC, Checksum. Al detectar, reintentar transferencia.

Arbitraje: Se concede el bus a varios dispositivos (corrupcin) o a ninguno (deadlock).


Soluciones: Bus datos/dir cortocircuitable (se detectar error paridad). Mdulo temporizador: Deadlock Time-Out Reintentar.

EC
Ignaci o Rojas

Polticas de Arbitrio

5.38

Polticas de Arbitrio Esttica


DE PETICIN FIFO PRIORIDAD FIJA EQUIDAD COMBINADA ROR RWD PREEMPTION

Dinmicas
DE LIBERACIN

EC
Ignaci o Rojas

Polticas de Arbitrio

5.39

Esttica: Repetir turnos (transaction slots) entre masters de una manera prefijada.
Ej. 4 tarjetas activas, potenciales maestros.
M1 t T1 M2 T2 T3 M3 T4 M4 T5 T6

El reparto se denomina Frame (marco) Tpico en sistemas sncronos (duracin T fija). Esquema simple, sencillo de implementar.

T7

T8 T9 T10 T11 T12

Desperdicia slots (ancho de banda del bus)

EC
Ignaci o Rojas

Polticas de Arbitrio

5.40

DINMICAS: Permiten cambiar MASTER segn la situacin actual. Requieren HARDWARE. PETICIN: Cmo decidir, de entre tarjetas activas que solicitan el bus, el prximo MASTER.
FIFO: First-in, First Out. Bus se concede a quien lleva ms tiempo pidindolo. PRIORIDAD: Cada tarjeta tiene una prioridad. La peticin de mayor prioridad gana. EQUIDAD: Garantizar que no se concede al mismo 2 veces habiendo otra peticin pendiente. Ej. Round-Robin Ir concediendo en ronda (entre los que lo soliciten). Evita STARVATION: si mxima prioridad solicita mucho, restantes prioridades mueren de hambre. COMBINADA: Tpico en sistemas (multiprocesador | E/S) y multiproceso asimtrico. Usar Poltica Prioridad para tareas ocasionales y de duracin corta. Equidad para tareas normales. Ej. E/S se atienden inmediatamente (si hay varias, en orden de prioridad). Procesadores atienden cclicamente mientras no haya E/S.

EC
Ignaci o Rojas

Polticas de Arbitrio

5.41

DINMICAS: LIBERACIN: Cmo decidir cuando deja libre el bus el Master actual.
ROR: Release on Request (liberar cuando haya otra peticin). Tpico en sistemas monoprocesador. CPU posee el bus casi siempre Slo cede si DMA, robo ciclo, etc. Ahorra tiempo arbitraje: CPU accede frecuentemente sin tener que competir. RWD: Release When Done (liberar al acabar). Tpico multiprocesador. Master slo usa bus durante 1 transaccin, si quiere ms, debe competir. PREEMPTION: Una transferencia en curso puede ser interrumpida (Master libera bus) por una peticin de mayor prioridad.

EC

GESTIN CENTRALIZADA DAISY CHAIN HBRIDA (COMBINADA) GESTIN DISTRIBUIDA

Ignaci o Rojas

Hardware de Arbitrio

5.42

Cada poltica de arbitrio puede realizarse (en hardware) de diversas maneras: - Mdulo rbitro: Programable para implementar diversas polticas. - Lgica Distribuida: Cada tarjeta activa contiene circuitera de arbitrio.

EXTREMOS:

EC
Ignaci o Rojas

Hardware de Arbitrio: Gestin Centralizada

5.43

Cada tarjeta Activa dispone de lneas de arbitrio: Bri (PETi): Peticin del Bus al rbitro. BGi (CONi): rbitro concede Bus a Tarjeta i Tarjeta Arbitro programable para cualquier poltica. Ej: N=16, 8 tarjetas E/S, 8 tarjetas procesador Tratar N=1..8 E/S por prioridad decreciente. N=9..16 Procesadores, prior. Round-Robin

GESTIN CENTRALIZADA DAISY CHAIN HBRIDA (COMBINADA) GESTIN DISTRIBUIDA

Gestin de Prioridades Centralizada

EC
Ignaci o Rojas

Hardware de Arbitrio: Gestin Centralizada


5.44

Demandas Independientes con rbitro central


Esquema flexible Velocidad arbitraje Coste: rbitro, lneas BR/BG Expansibilidad: mx N activas.

EC
Ignaci o Rojas

Hardware de Arbitrio: Gestin Centralizada

5.45

Opcionalmente: 3 lnea comn open-colector BB (Bus Busy, Ocupado). Ej. BR1,BR3 2 peticiones. Supongamos rbitro decide BG1 Master1 lee BG1 e indica BB a todos (rbitro y dems activas); puede desactivar Br1 una vez ocupado BB Espera BB y entonces decide entre Bri pendientes Retira BG1

rbitro

Tolerancia a Fallos: En multiproceso simtrico, al fallar una tarjeta CPU el Sistema Operativo: Puede reprogramar rbitro para ignorar CPU y repartir carga CPU entre el resto.

EC
GESTIN CENTRALIZADA
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.46 Chain


BG IN BG OUT

DAISY CHAIN
HBRIDA (COMBINADA) GESTIN DISTRIBUIDA

Algunos autores consideran Daisy-Chain una variante de Centralizada (hay rbitro). BR compartida y BG daisy-chain.

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.47 Chain

rbitro slo 3 lneas:


Lee BR compartida entre activas (open-colector). Lee BB compartida tarjetas activas Cede BG si hay alguna BR y no est bus BB

Cada tarjeta Activa 4 lneas: Escribe BR Lee BG IN si quiere pedir bus cadena Bus Grant puede quedarse BG y negarlo al siguiente mientras ocupe bus

Escribe BG OUT Lee y escribe BB

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.48 Chain


Prioridad fija por posicin
Puede retirar 1 BR inmediatamente

Varias tarjetas 2 (M2, M5) activan BR.


Se comienza con M1 que no pide el bus,

M2 pidi BR

lee BG IN concedido

escribe BGOUT denegado (M5 no recibir BG) Escribe BB M2 termina libera bus BB

Como bus libre, (BB ), rbitro cede BG Problema: Suponer que mientras M2 ocupa BB , M1 quiere pedir BR.

rbitro recupera bus BG y

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.49 Chain

Tambin se puede considerar Daisy-Chain una variante Distribuida: Cada tarjeta tiene circuitera propia La tarea del rbitro es casi trivial (no programable)

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.50 Chain

PETI = BR Peticin Bus. Open-colector. CONC = BG Concesin Bus. Daisy-chain BIPET = Biestables para latchear peticiones. E = Enable. Fuerza BIPETi = PETPERi BICON = Biestables para latchear concesin = Activados en flanco subida

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.51 Chain

CONC =1 mientras nadie pide el bus. E permite BIPETi PETPERi PETPER1 BIPET1 PETI1 PETI

Si un perifrico no pide el control del bus y CONC en alta, la salida de puerta b , que funciona como BG es 1

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.52 Chain

0 1 1 1 1 1 1

Se pondr a 1 cuando cambie CONC

Perf. 1 NO pide el control del bus

Perf. 2 pide el control del bus

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.53 Chain


Latch de BICONi Cadena ORa ORb= 1 BIPETi Enabled otra vez

CONC

Observar 1er pulso CONC: PETPER1 mientras propagacin daisy-chain CONC = 0 E=0 (BIPET1 PETPER1 ) Evita PRE-EMPTION Cuando CONC Se supone tiempo suficiente para propagacin. BICON2 =1, tarjeta 2 toma el bus PETPER2 Puede Retirarse PETI1 Sigue Pendiente

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.54 Chain

El esquema anterior Requiere sealar fin de transferencia. TEMP = BB. Bus ocupado, open-colector. Tarjeta 2 seala que acab. TEMP y libera bus (biestable BICON ) ARBITRO lee TEMP , pendiente PETPER1 concede CONC BICONi =1 BIPETi = 0 ORa(i) = 0 (BIPETi =1) (ORb(i-1) = 0 y CONC = 0)

Slo toma el bus quien lo haya pedido y le llegue el daisy-chain ORb(i) = 0 ORa(i) = 0 y BIPETi =0 Slo se propaga Daisy-chain si bus llega hasta all y no se pidi el

Cada OR tiene un tiempo de respuesta (orden ns). CONC = 0 tiempo suficiente para propagar a final.

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.55 Chain

Cronograma de concesin de servicio por encadenamiento. Perf.2 pide primero y despus Perf.1

Cuando tiene control retira peticiones Control bus

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.56 Chain

Simplicidad lgica de control: poca circuitera, pocas lneas, Expansibilidad: n maestros limitado slo por tiempo propagacin... ilimitado. Inequidad: Lentitud: Esttico: Prioridad fija por posicin en cadena (posible STARVATION) Ciclo arbitraje suficientemente largo como para garantizar propagacin. Cambiar prioridades implica cambiar orden FISICO de las tarjetas en daisy-chain. Ruptura puerta OR de tarjeta activa implica ruptura de la cadena (no tolerancia a fallos).

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.57 Chain

Conexin en Daisy-chain del sub-bus rbitro del VME

Ej. Bus VME permite puentear tarjetas daisy-chain que debieran estar contiguas, vecinas fsicamente en el rack. Cambiar prioridad Tarjeta Rota o pasiva cambiar orden. Puentear (jumper)

VME permite 4 cadenas: es sistema hbrido.

EC
Ignaci o Rojas

Hardware de Arbitrio: Daisy 5.58 Chain

Bus VME daisy-chain

EC
GESTIN CENTRALIZADA DAISY CHAIN
Ignaci o Rojas

Hardware de Arbitrio: Gestin Hbrida

5.59

HBRIDA (COMBINADA)
GESTIN DISTRIBUIDA

Un daisy-chain a cada lnea del rbitro central. Poltica Programable entre cadenas. Prioridad fija dentro de cada cadena.

EC
GESTIN CENTRALIZADA DAISY CHAIN HBRIDA (COMBINADA)
Ignaci o Rojas

Hardware de Arbitrio: Gestin Distribuida

5.60

No hay rbitro central. Cada tarjeta Activa su circuitera. Tpico en sistemas multiprocesador optimizados.

GESTIN DISTRIBUIDA

Ej. Multibus II 1. Cada tarjeta tiene un Arbitration Number (AN) y una poltica de Prioridad Fija. 2. Peticin: tarjetas escriben AN al rbitro (local)
Escriben AN en bus datos/dir (open-colector) RBITROS Leen AN resultante (OR- lgico) Retiran AN si resultante > local

EC
Ignaci o Rojas

Gestin Distribuida
MULTIBUS II

5.61

Tras algunas oscilaciones, gana rbitro con mayor AN. rbitro ganador espera a que acabe transferencia actual (datos, BB), se apodera del bus y notifica a tarjeta (BG, BB)

EC
Ignaci o Rojas

Ejemplo: NUBUS

5.62

Arbitration priority number

Arbitraje por Prioridad ( =Multibus II )

Arbitraje Equidad-Prioridad

EC
Ignaci o Rojas

NUBUS

5.63

SBRG: Shared Bus Request / Grant Bus separado de arbitraje (open colector). Para Equidad-Prioridad se aade lnea BR (compartida, OR cableado). Una tarjeta que ha sido atendida no tiene derecho a pedir bus hasta que las dems hayan sido atendidas. En ese momento, BR , empieza otra ronda).

EC
Ignaci o Rojas

NUBUS
BR AP#4 gana, BB , acaba. BB AP#3 gana, BB , acaba. BB pero ya fueron atendidas

5.64

Ej. 1 ronda: solicitan bus AP# 1,2,3,4


Arbitraje:

Vuelven a solicitar bus AP#3,4 Arbitraje: AP#2, BB AP#1, BB

an hay BR pendientes, #1,2 rbitros 3,4 no activan BR

EC
Ignaci o Rojas

NUBUS

5.65

Cuando AP#1 hizo BB (ocupar bus), desactiv la ltima BR pendiente. BR Los rbitros locales con AP#3,4 inician 2 ronda de arbitraje. Arbitraje para prxima transferencia: en paralelo con transferencia actual y aprovechar bus separado de arbitraje. 2 Ronda: Dos rbitros pendientes han observado BR (AP#3,4) Arbitraje: AP#4 gana. Cuando AP#1 libere BB , lo ocupar #4 AP#3 gana.

EC
Ignaci o Rojas 1. Evolucin y prestaciones de los computadores 2. Unidades funcionales de un computador. 3. Nivel de lenguaje mquina. 4. Desarrollo de programas en ensamblador.

BUSES

5.66

5. Buses del sistema. Bus PCI.


6. Sistema de memoria interna. 7. Sistema de memoria externa. 8. Sistema de entrada/salida.

TEMA 5: BUSES

1. Estructuras del Bus 2. Tipos de Bus 3. Especificacin de un Bus 4. Paralelismo y multiplexacin 5. Arbitraje 6. Tipos de transferencia 7. Temporizacin y direccionamiento 8. Ejemplos de Buses. PCI

EC
Ignaci o Rojas

Tipos de transferencia

5.67

Tipos de transferencia:
Segn contenido: - Lectura. - Escritura. - DMA (THREE-PARTY) Segn procedimiento: - Conectada (Ciclo completo) (Circuit Switching) - Partida (Ciclo Partido) (Packet Switching) Segn tamao: - Vaca (DUMMY) - Palabra (Single) - Bloque (Burst)

EC
Ignaci o Rojas

Tipos de transferencia: Segn contenido


1 Ciclo Direcciones 2 Ciclo Datos

5.68

Escritura: Master proporciona datos a Slave.


- Si bus multiplexado: Direcciones/Datos

- Si no, Master puede dar Dir/Dato SIMULTANEAMENTE. De todas formas SLAVE lee el dato cuando se active (Tiempo de seleccin por direccionamiento.

Lectura: Master requiere dato de Slave. Slave escribe el dato cuando se active (Tiempo de acceso) No es tan grave multiplexar el Bus Modificacin: Master lee, INMEDIATAMENTE escribe. INDIVISIBLE. Ej: operacin TEST&SET para semforos. Comprobacin: Master escribe. INMEDIATAMENTE lee. INDIVISIBLE. til para chequeo.

EC
Ignaci o Rojas

Tipos de transferencia: Segn contenido

5.69

Three-Party (DMA):
- Transferencia a tres partes. Tpico para DMA. - El MASTER (DMA) no es fuente ni destino (Disp1 Disp2) - Hay 2 SLAVES. - Tpico en sistemas monoprocesador donde los SLAVES no soportan transferencias en bloque y/o son demasiado lentos.

DISP. 1

DISP. 2

DMA

EC
Ignaci o Rojas

Tipos de transferencia: Segn procedimiento

5.70

Conmutacin de circuitos:
Se establece la conexin (circuito) y se trasmiten los datos. Es el tipo de comunicacin usado en las transferencias:
Normales Conectadas De ciclo completo

Conmutacin de Paquetes:
La transferencia se divide en varios Trozos (Paquetes). Cada trozo se transmite independientemente. Puede seguir un camino (enrutamiento) distinto. Puede llegar en distinto orden secuencial.

EC
Ignaci o Rojas

Tipos de transferencia: Segn procedimiento

5.71

Ejemplo: ETHERNET
Dispone de dos protocolos a nivel de red:

TCP: Trasmission Control Protocol: Implementa CircuitSwitching.


- Se establece un circuito ( tal vez a travs de varios gatewaysrouters). - Todos los mensajes siguen el mismo camino, llegan en el mismo orden. Ej: rlogin, telnet.

UDP: User Datagram Protocol: Implementa PacketSwitching.


- Los datos se trocean en Datagramas. - Para cada Datagrama se establece una conexin y se enva. - En el destino se reordenean en orden secuencial. Ej: ftp

EC
Ignaci o Rojas

Tipos de transferencia: Segn procedimiento

5.72

Es la filosofa implcita en las transferencias CICLO PARTIDO.


Ranura 1 Ranura 2 Ranura 3 Ranura 4 Ranura 5 Ranura 6 Ranura 7 Ranura 8

....

Ranuras del bus de ciclo compartido En vez de dividir el mensaje en datagramas dividimos la TRANSFERENCIA: Direccin Dato

Tiempo

Ejemplo: Lectura en ciclo partido: - MASTER direcciona a SLAVE - MASTER libera bus !!! (ciclo PARTIDO) otros MASTER pueden usar bus. - SLAVE es muy lento. Pasa tiempo acceso. - SLAVE direcciona maestro!!! - SLAVE escribe datos. - SLAVE reconoce fin de ciclo (MAK)

EC
Ignaci o Rojas

Tipos de transferencia: Segn procedimiento

5.73

Lectura en memoria mediante bus de ciclo compartido

EC

Ciclo partido:
La secuencia peticin / transferencia realizada est partida. El bus est libre durante el tiempo invertido. LECTURA:
El dispositivo (lento) hace latch de la direccin. Responde al cabo del tiempo de acceso. Debe direccionar al maestro (maestro debe leer dato).

Ignaci o Rojas

Tipos de transferencia

5.74

ESCRITURA:
El dispositivo hace latch de dir/dato. No tiene mucho sentido en bus sncrono (no hay confirmacin). S tendra sentido COMPROBACION sncrona partida (write-read).

Asncronismo: Temporizacin para conectar dispositivos lentos a buses rpidos

EC
Ignaci o Rojas

Tipos de transferencia: Segn procedimiento

5.75

El concepto de ciclo partido (tipo de transferencia) es independiente del sincronismo (modo de temporizacin).
ranura Peticin lectura ranura ranura ranura ranura ranura ranura Contest. con el dato ranura ranura

Lectura sncrona en bus de ciclo partido

Tiempo

ranura Peticin escritur.

ranura

ranura

ranura

ranura

ranura

ranura

ranura

ranura

Escritura sncrona en bus de ciclo partido

Tiempo

EC
Ignaci o Rojas

Tipos de transferencia: Segn procedimiento

5.76

ranura Peticin lectura

ranura Contest. Direc. Correct.

ranura

ranura

ranura

ranura

ranura Contest. con el dato

ranura

ranura

Lectura asncrona en bus de ciclo partido


ranura Peticin Escritur. ranura ranura ranura ranura ranura ranura Confirm. Escritur.

Tiempo
ranura ranura

Lectura semisncrona en bus de ciclo partido

Tiempo

EC
Ignaci o Rojas 1. Evolucin y prestaciones de los computadores 2. Unidades funcionales de un computador. 3. Nivel de lenguaje mquina. 4. Desarrollo de programas en ensamblador.

BUSES

5.77

5. Buses del sistema. Bus PCI.


6. Sistema de memoria interna. 7. Sistema de memoria externa. 8. Sistema de entrada/salida.

TEMA 5: BUSES

1. Estructuras del Bus 2. Tipos de Bus 3. Especificacin de un Bus 4. Paralelismo y multiplexacin 5. Arbitraje 6. Tipos de transferencia 7. Temporizacin y direccionamiento 8. Ejemplos de Buses. PCI

EC

TEMPORIZACION: SINCRONA:
Tpico en buses locales (TIPO 1) o monoprocesador (1 MASTER) Master proporciona dir (T1) y datos (T2) si espera escritura lee datos (T3) si operacin lectura asume que datos ledos si operacin escritura No hay mecanismo por el cual CPU pueda recibir reconocimiento. CPU asume que todos los dispositivos funcionan correctamente y a la misma velocidad que la CPU.

Ignaci o Rojas

Temporizacin

5.78

EC
Ignaci o Rojas

Temporizacin

5.79

- Todas las trasferencias suceden en un ciclo/flanco predeterminado de reloj. - Hay una seal CLK comn a todos los dispositivos. - Ventajas: Circuitera de control mnima menor coste.

- Desventajas: El Bus debe ir a la velocidad del dispositivo ms lento (o el dispositivo no reaccionar a tiempo)

CPU no tiene forma de garantizar que transferencia OK

EC
Ignaci o Rojas

Temporizacin
Cronogramas de las trasferencias Sncronas: Escritura D0-Dn-1

5.80

Datos estables

CPU WR

t1

t2

t3

PERIF

CARGA

EC
Ignaci o Rojas

Temporizacin
Cronogramas de las trasferencias Sncronas: Lectura

5.81

RD CPU CARGA PERIF D0-Dn-1


Datos estables

EC
Ignaci o Rojas

Temporizacin

5.82

TEMPORIZACION:
SEMISINCRONA:
- Aadir lnea de control adicional RDY ( Wait) - MASTER inserta ESTADOS DE ESPERA hasta que Slave reacciona. - Ventajas: Circuitera sencilla Inmunidad a ruido Relativa en comparacin con asncrona

- Desventajas: Tiempo de uso del Bus incrementado en mltiplos ciclos bus.

EC
Ignaci o Rojas

Temporizacin
Lectura a memoria con espera T1 T2 Tw T3

5.83

Reloj B. Dir B. Dat. IO/M R/W TEMP WAIT

EC

TEMPORIZACION: ASINCRONA:
- No existe reloj comn CLK. - Conversacin Master/Slave mediante HANDSHAKE. - Handshake: Estrechar la mano (ofrece 1, ofrece 2, agitar, retira 1, retira 2). - Ventajas: Permite conexin de perifricos de cualquier velocidad. - Desventajas: Circuitera ms compleja, por lo que se incrementa el coste.

Ignaci o Rojas

Temporizacin

5.84

EC
Ignaci o Rojas

Temporizacin

5.85

Bus sncrono mediante reloj

EC
Ignaci o Rojas

Temporizacin

5.86

Bus asncrono mediante interbloqueo a 4 flancos

EC
Ignaci o Rojas

Temporizacin

5.87

INTERBLOQUEO A 4 FLANCOS:
EJ: WRITE

- MASTER pone datos en Bus seala a slave (1) - SLAVE lee datos seala a master (2)

- MASTER libera bus (3) - SLAVE libera bus (4)

EC
Ignaci o Rojas

Direccionamiento

5.88

Direccionamiento
Una vez en posesin del bus, MASTER debe Establecer comunicacin con SLAVE Seleccionarlo Ponerlo en funcionamiento (CS) Direccionarlo Despus, transferencia de datos. Cada tarjeta tiene Una Direccin Base (nica, que la distingue del resto de tarjetas) Un Rango de Direcciones por el que se reparten sus elementos direccionables, memoria, registros control/estado, registros E/S...

EC
Ignaci o Rojas

Direccionamiento
SEGN MTODO DE SELECCIN:

5.89

Direccionamiento Lgico

EC
Ignaci o Rojas

Direccionamiento

5.90

Direccionamiento Lgico:
Las tarjetas tienen Conmutadores (manuales) Comparadores (switch/address MsBits)

El operador

Disea el Mapa de Direcciones (qu tarjeta va en qu direccin Base) Configura los conmutadores

Ej: Bus direcciones 24 bits, todas las tarjetas 4 conmutadores. Hasta 16 tarjetas. Rango: 220 = 1 Mbyte / tarjeta Direcciones Base: 000000, 100000, 200000 ...
... E00000, F00000

No todas las tarjetas tienen que tener el mismo n de switches.

EC
Ignaci o Rojas

Direccionamiento

5.91

Direccionamiento Geogrfico: (Fastbus, MultibusII, Nubus)


El rack (bastidor) tiene conectores-ranura para tarjetas (slots). Los slots llevan Cableado un nmero, en orden secuencial (slot number). El nmero de ranura (posicin de tarjeta en el rack) determina Base y Rango Direccionamiento. Usualmente, buses con direccionamiento geogrfico, pueden conmutar a direcc. Lgico mediante una lnea de control (GEO/LOG). D. Geogrfico se usa durante inicializacin sistema, S.O. Chequea tosas las tarjetas/excluye las que fallen. Las tarjetas tienen un registro Base (equivalente a switches dir. Lgico) Programable. S.O. Reparte Mapa de Direcciones entre tarjetas que superan chequeo y conmuta a direccionamiento lgico. S.O. Puede volver a dir. Geogrfico y reconfigurar sistema de nuevo.

EC
Ignaci o Rojas

Direccionamiento

5.92

SEGN NMERO DE SLAVES:

Direccionamiento Normal: Slo 1 slave responde al master. Direccionamiento Extendido: (Broad) Varios slaves (incluso todas las tarjetas). BROADCAST : Escritura simultnea a varias tarjetas (memoria, mensajes a CPUs) BROADCALL : Lectura simultnea de varias tarjetas. Usualmente restringido a OR-cableado. Ej. Arbitraje: AP# podan escribirse simultneamente IRQs A cada interrupcin puede asignarse una posicin. Broadcall implicando a 32 tarjetas

EC
Ignaci o Rojas

Direccionamiento

5.93

Implementacin. Direccin Reservada: 000...0h FFF...Fh

Leer dir. Res. Provoca broadcall Escribir dir. Res. Provoca broadcast

Broadcast/call Universal, se dirige a Todas las tarjetas. Comando rusers UNIX hace broadcall Ej. Ethernet: Otros ordenadores van respondiendo Acabar comando con ^C Utilidad: Coherencia Cache:
Sistema multiprocesador, cada procesador con cach propia, datos compartidos. Procesador modifica su cach: Debe actualizar memoria compartida Debe avisar a otros procesadores. Cach propia Solucin: BROADCAST: Escribir simultneamente Memoria compartida Cach de los otros

EC
Ignaci o Rojas 1. Evolucin y prestaciones de los computadores 2. Unidades funcionales de un computador. 3. Nivel de lenguaje mquina. 4. Desarrollo de programas en ensamblador.

BUSES

5.94

5. Buses del sistema. Bus PCI.


6. Sistema de memoria interna. 7. Sistema de memoria externa. 8. Sistema de entrada/salida.

TEMA 5: BUSES

1. Estructuras del Bus 2. Tipos de Bus 3. Especificacin de un Bus 4. Paralelismo y multiplexacin 5. Arbitraje 6. Tipos de transferencia 7. Temporizacin y direccionamiento 8. Ejemplos de Buses. PCI

EC
Ignaci o Rojas

Ejemplos de Buses. PCI

5.95

PCI significa: interconexin de los componentes perifricos (Peripheral


Component Interconnect). Fue desarrollado por Intel. El bus PCI es independiente de la CPU, ya que entre la CPU y el bus PCI se instalar siempre un controlador de bus PCI, lo que facilita en gran medida el trabajo de los diseadores de placas.

EC
Ignaci o Rojas

Ejemplos de Buses. PCI

5.96

El bus PCI no depende del reloj de la CPU, porque est separado de ella por el controlador del bus. El lmite prctico en la cantidad de conectores para buses PCI es de tres/seis; ms conectores aumentaran la capacitancia del bus y las operaciones a mxima velocidad resultaran menos fiables. A pesar de presentar un rendimiento similar al de un bus local conectado directamente, en realidad PCI no es ms que la eliminacin de un paso en el micropocesador. En lugar de disponer de su propio reloj, un bus PCI se adapta al empleado por el microprocesador y su circuitera, por tanto los componentes del PCI estn sincronizados con el procesador. El actual estndar PCI trabaja con un ancho de datos de 32/ 64 bits y a una velocidad de 132 MB/s o 264 MB/s

EC
Ignaci o Rojas

Ejemplos de Buses. SCSI

5.97

SCSI: Small Computer System Interface.


Es un estndar universal para la conexin paralela de perifricos

Podramos definir SCSI como un subsistema de E/S inteligente,

completa y bidireccional. Un solo adaptador host SCSI puede controlar desde 7 dispositivos inteligentes SCSI conectados a l (SCSI-1) hasta 127 (SCSI-3). Una ventaja del bus SCSI frente a otros interfaces es que los dispositivos del bus se direccionan lgicamente en vez de fsicamente. Esto sirve para 2 propsitos: - Elimina cualquier limitacin que el PC-Bios imponga a las unidades de disco. - El direccionamiento lgico elimina la sobrecarga que el host podra tener en manejar los aspectos fsicos del dispositivo como la tabla de pistas daadas.. Ideado para entornos UNIX y Macintosh, permite un ancho de datos de 8 bits para SCSI-1 hasta 16 bits para SCSI-3, con velocidades de transferencia de 4MB/s a 40 MB/s respectivamente.

EC
Ignaci o Rojas

Ejemplos de Buses.

5.98

USB: (Universal Serial Bus). Es un bus serie que permite velocidades de hasta 12 Mbps, all que se pueden conectar hasta 127 dispositivos lentos, tales como ratn, cmaras de fotos, teclado, impresoras, etc. Ancho de datos=1 bits, vel. Transf. 1,5 MB/s FireWire (IEEE 1394) o bus serie de altas prestaciones. Se pueden conectar hasta 63 dispositivos y se logran altas velocidades de 400 Mbps. Una de sus lineas es de suministro de energia. Debido a su bajo costo y sencillez se utiliza en computadoras embebidas, tales como televisores de altas prestaciones, cmaras de video digitales Futurebus + (IEEE 896.1) Es una normalizacin proyectada para equipos de muy altas prestaciones, que puede considerarse como una evolucin de las normas Multibus II y VME. Permite la construccin de sistemas multiprocesardor (de hasta 32 procesadores) compartiendo memoria. Ancho de datos: 64,128,256 bits y vel. Transf: 95.2MB/s, 3.2 GB/s