Sie sind auf Seite 1von 48

Arquitectura de

Computadoras
Capit.7:

Buses

Ing.Javier Barriga. - Ing.Zenon


Cucho

Cap. 7 Buses
Contenido
7.1 Introduccin
7.2 Estructura de bus
7.3 Jerarqua de buses
a) Por ubicacin fsica
b) Por velocidad

7.4 Bus PCI. Descripcin funcional.


7.5 Buses externos: SCSI, USB, controlador de bus
IEE1394.

7.1 Introduccin
a) Qu son Buses?
Definicin: Es un medio de transmisin compartido
que interconecta dos o ms dispositivos de un
sistema digital.
Funcin: permitir la correcta comunicacin entre los
dispositivos interconectados.
Constitucin:

Conjunto de lneas (conductores elctricos) compartidas


por todos los dispositivos.
Cualquier

seal transmitida por un dispositivo est


disponible para los dems.
Si dos dispositivos transmiten simultneamente las seales
se solapan y la informacin se distorsiona.
3

7.1 Introduccin
a) Qu son Buses?

Conexiones en paralelo: varias seales viajan juntas sobre


distintas lneas. Por ejemplo, un dato de 8 bits puede
transmitirse simultneamente por ocho lneas del bus.
Cada lnea es capaz de transmitir seales binarias
representadas por 1 y por 0.
CPU

MEMORIA

DMA

E/S

BUS

Figura 7.1 Diagrama de un bus.


4

7.1 Introduccin
b) Modos de operacin
Elementos implicados en una transferencia:

Tipos bsicos de transferencia:


DATO

Bus master: Inicia y dirige las transferencias (CPU,


DMA, ...)
Bus slave: Obedece y accede a las peticiones del master
(memoria, interfaz E/S, ...)
Escritura:
Lectura:

Master

Slave

DATO

Slave

Master

Ciclo de bus: cualquier transferencia completa

Operaciones bsicas:
Direccionamiento

del slave.
5

7.1 Introduccin
b) Modos de operacin
Especificacin

del tipo de operacin (lectura o escritura).


Transferencia del dato.
Finalizacin del ciclo de bus.

Control de la transferencia:

Sincronizacin: determinar el inicio y el final de cada


transferencia
Arbitraje: controlar del acceso al bus en caso de varios
masters.

7.1 Introduccin
c) Parmetros de caracterizacin
Capacidad de conexin: nmero mximo de
dispositivos conectables.
Longitud de bus: mxima distancia que puede
separar a dos dispositivos conectados.
Ancho de bus: nmero total de lneas

ejemplos: i8086: 40; MC68000: 64; Multibus II: 96;


VME: 128

Ancho de datos: nmero total de lneas para datos.


Ancho de banda: caudal mximo de informacin
que puede transmitirse.
7

7.1 Introduccin
c) Parmetros de caracterizacin

ejemplos: VME: 40 Mb/s; PCI: 132 Mb/s; POWERpath-2:


12 Gb/s; AlphaServer 8000: 21 Gb/s

Banda Base: La informacin se enva directamente


por el bus, sin emplear portadora.
Protocolo de transferencia o de sincronizacin:
mtodo utilizado para sincronizar master y slave.
Protocolo de arbitraje: mtodo utilizado para la
resolucin de conflictos de acceso por varios
masters.
8

7.2 Estructura del bus


a) Segn su funcin
Bus del sistema: Se usa para interconectar varios
componentes (CPU, memoria, E/S). Est compuesto
usualmente, por entre 50 y 100 lneas.
Lneas de datos: Transmiten datos.
Lneas de direcciones: Designan la fuente o el
destino de un dato.
Lneas de control: Gobiernan el acceso y el uso de
las lneas de datos y direcciones.

Lneas de operacin: determinan el tipo de operacin


que debe realizar el slave.
9

7.2 Estructura del bus


a) Segn su funcin

Lneas de sincronizacin: determinan el comienzo y


final de cada transferencia.
Lneas de arbitraje: determinan cual de los elementos
conectados puede usar el bus.

CPU

Memoria

...

Memoria

E/S

...

E/S

Lneas de control

Bus

Lneas de direccin
Lneas de datos

Figura 7.2 Esquema de interconexin de un bus.


10

7.2 Estructura del bus


b) Segn su uso
Lneas dedicadas: tienen asignada una nica
funcin.
Lneas multiplexadas: realizan distintas funciones a
lo largo del tiempo.

Ventajas: menor nmero de lneas ahorra espacio


menor coste.
Desventajas: Circuitera ms compleja y menor
rendimiento (las funciones que realizan las lneas
multiplexadas no pueden realizarse en paralelo).

11

.
b) Segn su uso
Lneas multiplexadas
Tiempo
Bus datos y
direcciones

Direccin
(10 ciclo)

Dato
(20 ciclo)

Lneas dedicadas
Tiempo
Bus direcciones
Bus datos

Direccin
Dato

12

3.2 Estructura del bus


c) Segn sus caractersticas elctricas
Lneas unidireccionales con un transmisor y
mltiples receptores.

En cada instante, slo un dispositivo puede escribir sobre


la lnea.
Ejemplo: lneas de direccin.
Tipo de driver: TRI-STATE (tres estados de salida: high,
low, off).

Lneas unidireccionales con mltiples transmisores y


un receptor.

Mltiples dispositivos pueden escribir sobre la lnea de


forma simultnea.
13

.
c) Segn sus caractersticas elctricas

Seal resultante: O-lgica (cableada) de las distintas


fuentes.
Ejemplo: lneas de peticin de interrupcin.
Tipo de driver: OPEN-COLLECTOR (dos estados de
salida: activo e inactivo).

Lneas bidireccionales

Un mismo dispositivo puede transmitir o recibir


informacin a travs de las lneas.
Ejemplo: lneas de datos.

14

7.3 Jerarqua de buses


a) Introduccin
Problema: Cuando queremos conectar un gran
nmero de dispositivos a un mismo bus, nos
encontramos con dos problemas fundamentales:
DISMINUCIN DEL RENDIMIENTO GLOBAL
DEL SISTEMA

Aumenta el retardo de propagacin de las seales.


El bus debe tener mayor longitud para soportar mayor
nmero de dispositivos.
Las seales de arbitraje (GRANT), si son encadenadas,
debe propagarse a travs de un mayor nmero de posibles
masters.
15

7.3 Jerarqua de Buses


a) Introduccin
El bus puede actuar como un cuello de botella

Si la demanda de la transferencia es mayor que la


capacidad del bus los dispositivos debern esperar mucho
tiempo para poder transmitir.
La diferencia de velocidad de los dispositivos afecta
negativamente al rendimiento global.
En

el mismo tiempo que un dispositivo lento realiza una


transferencia, uno rpido podra haber realizado miles de
transferencias.

INCOMPATIBILIDAD DEL BUS CON LOS


DISPOSITIVOS.
16

7.3 Jerarqua de Buses


a) Introduccin

Existen dispositivos de E/S diseados para un


determinado bus, que son incompatibles con otros
computadores que utilizan un bus distinto.
Solucin

ideal: que todos los computadores utilizasen un


estndar de bus uniforme.
Problema: cada fabricante disea sus propios buses
optimizados para sus arquitecturas, por lo que es muy difcil
que todos se pongan de acuerdo.

Solucin a ambos problemas: Utilizar una jerarqua


de buses en lugar de un nico bus.

17

7.3 Jerarqua de Buses


a.1) Ejemplo 1
Ejemplo de reduccin del rendimiento del sistema,
de un sistema con bus nico.
Procesador

Cache

BUS
controlador
de disco

adaptador
de video

adaptador
de red

Monitor

Red

Memoria
Disco

Disco

Figura 7.3 Problema de tener un nico bus.


18

7.3 Jerarqua de Buses


a.1) Ejemplo 1 (cont.)
Se tiene un P a 200 MHz (tiempo ciclo = 5 ns.). Su
ciclo medio por instruccin: CPI = 2 ciclos

El procesador se conecta a la cache y al resto de


dispositivos a travs de un nico bus del sistema

Una instruccin tarda en promedio 2 x 5 ns = 10 ns


El computador puede ejecutar ~100 MIPS

Cuando se realiza una operacin de E/S se detiene


la actividad del procesador, ya que no puede leer
instrucciones de la cache mientras el bus est ocupado.

El disco tiene un tiempo de acceso de 10 ms y


una velocidad de transferencia de 10 MB/seg
19

7.3 Jerarqua de Buses


a.1) Ejemplo 1 (cont.)
Si queremos realizar una transferencia de 512 KB de
disco a memoria.

Tiempo = 10 ms +

512 KB
10000 KB/S

61,2 ms

En ese tiempo, la CPU podra haber ejecutado:


(0,0612 s) * (100 * 106 inst/s ) = 6,12 millones de instrucciones

20

7.3 Jerarqua de Buses


b) Bus local, del sistema y de expansin
La mayora de los computadores utilizan varios
buses, normalmente organizados jerrquicamente.
Bus local: Conecta el procesador a una memoria
cache y al que pueden conectarse tambin uno o ms
dispositivos locales.

Son muy rpidos, pero de pequea longitud.


El controlador de memoria cache conecta la cache no slo
al bus local, sino tambin al bus de sistema, donde se
conectan todos los mdulos de memoria principal.

21

.
b) Bus local, del sistema y de expansin
Bus del sistema: Son buses propietarios (no
estndar), optimizados para la arquitectura y tiene un
N fijo de dispositivos de prestaciones conocidas.
Bus de expansin: Son buses ms largos y lentos
(estndar), accesible por el usuario y tiene un N
indeterminado de dispositivos de distintas
prestaciones.
Bus de alta velocidad: Acerca al procesador los
dispositivos que exigen prestaciones elevadas y al
mismo tiempo, es independiente del procesador.
22

Procesador

Memoria
Principal

Bus Local

Cache

Local de E/S
Controlador
Bus del Sistema

Red

SCSI

Interfaz con
bus de
expansin

Modem

Serie

Bus de Expansin

Figura 7.4 Arquitectura de bus tradicional.


23

Microprocesador
Pentium II
Bus local
66 o 100 MHz
Video

AGP
66 MHz

Bus del
Sistema

Chipset
440LX o
440BX

Buffer de
enmarcacin
local

Memoria
Principal

Bus PCI (33 o 66 MHz)


Puente
PIIX4

E/S

E/S

Bus USB 12 Mbps


Bus ISA (8 MHz)

E/S

E/S

E/S

Figura 7.5 Estructura de buses de PC Pentium II.


24

Figura 7.6 Estructura de buses de PC Pentium IV.


25

PS2
USB
PCI
CPU
AGP
MCH
ICH2
RIMM

EIDE

ATX

Figura 7.7 Mainboard de una PC Pentium IV.


26

7.3 Jerarqua de Buses


c) Ventajas de la jerarqua de buses
El bus local entre el procesador y la cache asla el
trfico de E/S del procesador.

Se puede transferir informacin entre la memoria y la E/S


sin interrumpir la actividad del procesador.

Aumenta la eficiencia del sistema

Con un nico bus de expansin los dispositivos lentos


pueden degradar el rendimiento global.
Con varios buses de expansin, para dispositivos de
distintas velocidades, un dispositivo rpido tiene la misma
probabilidad de acceder al bus que todos los
dispositivos lentos conjuntamente.
27

.
c) Ventajas de la jerarqua de buses
El bus de expansin reduce el trfico en el bus del
sistema.

La transferencia entre cache y memoria principal se


pueden realizar de forma ms eficiente.
Se

pueden realizar una transferencia de memoria cache a


memoria principal al mismo tiempo que el interfaz recibe
datos desde un dispositivo de E/S.
El procesador+cache o el coprocesador tienen la misma
prioridad en el acceso al bus que todos los dispositivos
conectados al bus de expansin de forma conjunta.

28

7.3 Jerarqua de Buses


c) Ventaja de la jerarqua de buses
Se elimina el problema de la incompatibilidad

El bus local y del sistema suelen ser propietarios (no


estndar) y estn optimizados para cada arquitectura
particular.
Los buses de expansin son buses estndares o abiertos
(ISA, EISA, PCI, AGP, VME, etc.). Es decir, son
independientes del computador.
Estos

buses tienen unas caractersticas y especificaciones


perfectamente definidas.
Podemos utilizar los mismos controladores y perifricos en
otro computador que disponga del mismo bus estndar.
29

7.3 Jerarqua de Buses


d) Funcin de interfaz o adaptador de bus
Adaptar las velocidades de ambos buses

El bus del sistema es ms rpido que el bus de expansin.


El adaptador debe actuar como buffer de almacenamiento
intermedio para evitar la prdida de datos.

Conversin de lneas del bus

Los buses pueden utilizar seales distintas para realizar


funciones similares:
Ejemplos:
1) Lneas de operacin distintas
Bus sistema: Una nica lnea RD/WR*
Bus expansin: Dos lneas READ - WRITE separadas
30

7.3 Jerarqua de Buses


d) Funcin de interfaz o adaptador de bus
2) Lneas multiplexadas y dedicadas
Bus sistema: lneas de direccin/datos multiplexadas (AD0,
AD15, A16-A19).
Bus expansin: lneas de direccin y datos dedicadas (A0A19, D0-D15).

3) Distinto nmero de lneas de datos


Bus sistema: D0-D31
Bus expansin: D0-D15
El adaptador debe dividir cada transferencia de 32 bits en
dos transferencias de 16 bits.

31

7.3 Jerarqua de Buses


d) Funcin de interfaz o adaptador de bus
4) Distinto mecanismo de sincronizacin
Bus sistema: sncrono
Bus expansin: asncrono
El adaptador deber comunicarse de forma sncrona con el
bus del sistema y de forma asncrona con el bus de expansin
El adaptador deber ser capaz de generar las seales de
sincronizacin adecuadas dependiendo del bus con el que se
comunique.

etc.

32

Bus del sistema


Para interconectar la CPU y la memoria
System Bus

Adaptador del bus


Para interconectar el bus del sistema
con el bus PCI
Bus PCI de alta velocidad
Para conectar dispositivos
de alta velocidad
Adaptador del bus SCSI
Para interconectar el bus PCI
con el bus SCSI
Bus de E/S externo SCSI
Para interconectar discos externos y
otros dispositivos compatibles SCSI
Adaptador del bus de expansin
Para interconectar el bus PCI con el
bus de expansin (ISA/EISA)
Bus de expansin ISA o EISA
Para interconectar dispositivos
de baja velocidad

Figura 7.8 Jerarqua de buses en una PC.


33

System Bus

Figura 7.9 Organizacin del sistema de buses en una PC.


34

.
e) Niveles de especificacin
Las especificaciones de un bus estndar deben estar
perfectamente definidas y recogidas en un
documento de estandarizacin.
En las especificaciones se distinguen varios niveles:

Nivel elctrico
Valores

de las tensiones de alimentacin.


Lmites de valores elctricos de las seales lgicas
P. ej. 1 lgico de 0,2 V a 0,5 V;
0 lgico de -0,2 V a -0,5 V

Nivel mecnico
Forma

y tamao de los conectores.


35

.
e) Niveles de especificacin
Nmero

de contactos del conector.


Nmero de dispositivos que soporta.

Nivel lgico
Funciones

a cada seal (bus de datos, bus de control, bus de


direcciones).
Asignacin de seales a los contactos del conector.

Nivel de temporizacin bsico


Protocolos

de sincronizacin empleados.

Nivel de arbitraje
Protocolos

de arbitraje empleados.

36

7.3 Jerarqua de Buses


f) Comparacin de prestaciones de los buses
Bus

Ancho
datos
Sistema
64
PCI (V 2.0) 32
PCI (V 2.1) 64
EISA
32
ISA
16
SCSI-1
8
SCSI-2
16/32
IDE
16
EIDE
16
USB
Serie

Frec.
reloj
100 MHz
33 MHz
66 MHz
8 MHz
8 MHz
5 MHz
10 MHz
1.6 MHz
5.5 MHz
--

Velocidad
transmisin
800 Mbytes/s
132 Mbytes/s
528 Mbytes/s
32 Mbytes/s
5-8 Mbytes/s
4 Mbytes/s
20/40 Mbytes/s
3.18 Mbytes/s
10.6 Mbytes/s
12 Mbits/s

Buses de expansin
de alta velocidad
Buses de expansin
de baja velocidad
Buses de E/S Externos
Buses para conexin
de discos
Bus serie

37

7.4 Bus PCI (Peripheral Component Interconnect Bus, 1993)


a) Introduccin
Bus de expansin diseado para el i80486 y Pentium

Bus de datos:
Versin

2.0: 32 bits de datos


Versin 2.1: 64 bits de datos

Bus de direcciones: 32 bits (4 GB direccionables)


Ciclo de reloj:
Versin

2.0: 33 MHz
Versin 2.1: 66 MHz

Velocidad de transferencia mxima:


Versin

2.0: 132 Mbytes/s


Versin 2.1: 528 Mbytes/s o 4224 Gbps.

Protocolo de bus: semisncrono.


38

Bus PCI
a) Introduccin

Protocolo de arbitraje: centralizado en estrella.


Otras caractersticas
Hasta

16 slots de expansin.
Soporte para gran variedad de controladores de dispositivos
de E/S de alta velocidad.
Vdeo, Sonido, Redes alta velocidad, Adaptadores SCSI, etc.
Soporte

Plug-and-Play (conecta y listo)

Tarjetas controladoras autoconfigurables (lnea de


interrupcin, direccin de E/S, etc.)

39

Bus PCI
b) Protocolo de sincronizacin
Protocolo semisncrono.
Modos de transferencias.

Modo rfaga
Se

transmite una nica palabra a una direccin de memoria


o E/S especfica.
Las palabras pueden ser de 1, 2, 3 4 bytes.

Modo bloque
Se

transfiere un bloque de datos desde/hacia posiciones de


memoria consecutivas, a partir de una posicin inicial.

Lineas del bus

CLK: seal de reloj


40

7.5 Buses internos y externos


(a)

Disco Magntico

Escner

CD ROM

ID = 6

ID = 2

ID = 3

Terminador

(b)

Fase de arbitraje
(varios
dispositivos)

ID = 7

Terminador (puede
ser interno)
Fase de
transferencia
de informacin

Condicin de inicio
o encendido
Fase de
bus libre

CPU

Seleccin o
reseleccin

Fase de orden,
estado y
mensaje

Figura 3.16 (a) Configuracin SCSI, (b) Fases de un bus


SCSI.
41

Buses internos y externos


d)Bus externo: SCSI
Fases:

Bus Libre: Indica que ningn dispositivo est utilizando el


bus y que est disponible.
Arbitraje: Permite que un dispositivo tome el control del
bus, de manera que pueda iniciar o reanudar un proceso.
Seleccin: El iniciador selecciona un dispositivo para
realizar una operacin, tal como una orden de RD o WR.
Reseleccin: Permite que el dispositivo seleccionado se
vuelva a conectar al iniciador para reanudar una operacin
que se inici previamente, pero que fue suspendida por el
dispositivo.
Orden: El dispositivo puede solicitar una orden de
informacin al iniciador.
42

Buses internos y externos


d)Bus externo: SCSI
Fases (cont.):

Datos: El dispositivo puede solicitar la transferencia de


un dato hacia el iniciador (Data In) o viceversa (Data Out)
Estado: Permite que el dispositivo solicite que se enve la
informacin de estado desde el dispositivo al iniciador.
Mensaje: Permite que el dispositivo solicite la
transferencia de uno o ms mensajes desde el dispositivo
al iniciador (entrada de mensaje, Message In) o viceversa
(salida de mensaje, Message Out).

43

Buses internos y externos


d)Bus externo: USB (Universal Serial Bus)
Es una interfase plug&play entre la PC y ciertos
dispositivos tales como teclados, mouses, scanner,
impresoras, mdems, placas de sonido, camaras,etc).
Su velocidad de transferencia es:

USB 1.1: alcanza hasta 12 Mbps


USB 2.0: alcanza hasta 480 Mbps

USB transfiere seales y energa a los perifricos


utilizando un cable de 4 hilos, apantallado para
transmisiones a 12 Mbps (480 Mbps) y no
apantallado para transmisiones a 1.5 Mbps. Su
longitud mxima es de 5 metros.
44

Buses internos y externos


d)Bus externo: USB (Universal Serial Bus)
Es un bus basado en el paso de un testigo (red). El
controlador USB distribuye testigos por el bus.

El dispositivo cuya direccin coincide con la que porta el


testigo responde aceptando o enviando datos al
controlador . Este tambin gestiona la distribucin de
energa a los perifricos que lo requieran.
Emplea una topologa de estrellas apiladas que permite el
funcionamiento simultneo de 127 dispositivos a la vez.

El sistema USB consta de tres componentes:

Controlador.
Hubs o Concentradores.
Perifricos.
45

Buses internos y externos


d)Bus externo: USB (Universal Serial Bus)
Controlador:
1) Reside dentro del PC y es
responsable de las comunicaciones
entre los perifricos USB y la CPU
del PC.
Concentradores o hubs
Son distribuidores inteligentes de
datos y alimentacin, y hacen
posible la conexin a un nico
puerto USB de 127 dispositivos.
Perifricos

Estructura de capas del bus USB

USB soporta perifricos de baja y


media velocidad. Mouse,
impresoras, cmaras de video.
46

Buses internos y externos


e)Controlador de bus: IEEE1394
IEEE 1394 es un estndar que define un bus serie de
alta velocidad. Apple denomina a este bus FireWire
y Sony lo llama i.Link.

Los tres nombres se refieren a la misma cosa, pero el


trmino neutro de IEEE 1394 (o simplemente1394) es el
ms utilizado.

El IEEE 1394 proporciona una interfaz de expansin


compatible con Plug and play para el PC.

Tiene un modo de transmisin que garantiza un ancho de


banda de 400 Mbps que le hace ideal para los dispositivos
de audio/vdeo (A/V) de electrnica de consumo,
perifricos de almacenamiento y dispositivos porttiles.
47

Buses internos y externos


e)Controlador de bus: IEEE1394

Autoconfiguracin de la direccin. Los usuarios no


tienen que colocar los interruptores de direccin. No hay
posibilidad de conflictos de direccin.
Una topologa de lnea-estrella, que permite conectar
hasta 63 dispositivos.
Cada dispositivo se direcciona mediante 64 bits,
repartidos en 10 bits para el identificador de red, 6 bits
para el id. del nodo y 48 bits para el direccionamiento de
memoria. El resultado es poder direccionar 1023 redes de
63 nodos cada una y con 281 Terabytes de memoria.
La distancia mxima entre nodos es de 4.5 m. pudiendo
haber hasta un mximo de 16 saltos en una cadena, dando
una distancia mxima de 72m.
48

Das könnte Ihnen auch gefallen