Está en la página 1de 12

1

Tema 7. Jerarqua de Tema 7. Jerarqua de buses buses y y buses buses estndar estndar
Estructura y Tecnologa de Estructura y Tecnologa de Computadores Computadores
Mdulo D. Mdulo D. Buses Buses del del computador computador
Jos Manuel Mendas Cuadros Jos Manuel Mendas Cuadros
Dpto Dpto. Arquitectura de Computadores y Automtica . Arquitectura de Computadores y Automtica
Universidad Complutense de Madrid Universidad Complutense de Madrid
2
estructura y tecnologa de estructura y tecnologa de computadores computadores
contenidos contenidos
1. Introduccin
Problemas del bus nico.
2. Jerarqua de buses
Buses local, del sistema y de expansin. Ventajas de la jerarqua de buses. Funcin del
interfaz de bus. Otras topologas.
3. Especificaciones de un bus estndar
Niveles de especificacin
4. Ejemplos
Jerarqua de buses en un PC Pentium. Otros buses estndar
3
estructura y tecnologa de estructura y tecnologa de computadores computadores
1. introduccin 1. introduccin
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
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
Problema:
INCOMPATIBILIDAD DEL BUS CON LOS DISPOSITIVOS
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
Cuando queremos conectar un gran nmero de dispositivos a un mismo bus,
nos encontramos con dos problemas fundamentales
4
estructura y tecnologa de estructura y tecnologa de computadores computadores
1. introduccin 1. introduccin
Ejemplo de reduccin del rendimiento del sistema de un sistema con bus nico
Procesador a 200 MHz (tiempo ciclo = 5 ns)
Ciclo medio por instruccin: CPI = 2 ciclos
Una instruccin tarda en promedio 2 x 5 ns = 10 ns
El computador puede ejecutar ~100 MIPS
El procesador se conecta a la cache y al resto de
dispositivos a travs de un nico bus del sistema
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
Queremos realizar una transferencia de 512 KB de disco a memoria
Tiempo = 10 ms + = 61,2 ms
En ese tiempo, la CPU podra haber ejecutado:
(0,0612 s) x (100 x 10
6
instruc /s ) = 6,12 millones de instrucciones
512 KB
10.000 KB/s
5
estructura y tecnologa de estructura y tecnologa de computadores computadores
2. jerarqua de 2. jerarqua de buses buses
Procesador Cache
Bus Local y Bus del Sistema
Memoria
Interfaz con
Bus Expansin
Controlador
Disco
Adaptador
Vdeo
Adaptador
Red
Adaptador
Puerto serie
Adaptador
Fax/mdem
Coprocesador
Matemtico
Disco
Adaptador
Puerto paralelo
Monitor Red Mdem Ratn Impresora
Bus Sistema
Bus Expansin o de E/S
Buses local, del sistema y de expansin
Buses rpidos, cortos
Buses Propietarios (no estndares)
Optimizados para la arquitectura
N fijo de dispositivos de
prestaciones conocidas
Buses ms largos y lentos
Bus abierto (estndar)
Accesible por el usuario
N indeterminado de dispositivos de distintas
prestaciones
Adapta las velocidades de ambos buses
Convierte las seales de un bus a otro
Bus Local
Bus de expansin
Interfaz bus
6
estructura y tecnologa de estructura y tecnologa de computadores computadores
2. jerarqua de 2. jerarqua de buses 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
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
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, VME, etc.)
Los buses estndares son independientes del computador
Estos buses tienen unas caractersticas y especificaciones perfectamente definidas
Existe una amplia gama de controladores o adaptadores para perifricos compatibles con estos buses
La conexin de un controlador a un bus estndar es sencilla y rpida (mediante conectores estndares)
Podemos utilizar los mismos controladores y perifricos en otro computador que disponga del mismo bus
estndar
Ventajas de la jerarqua de buses
7
estructura y tecnologa de estructura y tecnologa de computadores computadores
2. jerarqua de 2. jerarqua de buses buses
Adaptar las velocidades de ambos buses
El bus del sistema es, en general, 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 tener 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
2) Lneas multiplexadas y dedicadas
Bus sistema: lneas de direccin/datos multiplexadas (AD0, AD15, A16-A19)
Bus expansin: lneas de direccin y datos dedicadas (A0-A19, 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
4) Distinto protocolo de transferencia
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.
Funcin del interfaz o adaptador de bus
8
estructura y tecnologa de estructura y tecnologa de computadores computadores
2. jerarqua de 2. jerarqua de buses buses
Procesador Cache
Bus Local
Memoria
Interfaz con
bus alta velocidad
Controlador
Disco
Adaptador
Vdeo
Adaptador
Red
Adaptador
Puerto serie
Adaptador
Fax/mdem
Coprocesador
Matemtico
Disco
Adaptador
Puerto paralelo
Monitor Red
Mdem Ratn Impresora
Bus Sistema
Bus alta velocidad
Otras topologas:
Buses para dispositivos
de distinta velocidad
Interfaz con bus
expansin 1
Bus expansin
Para conexin de dispositivos
de E/S de alta velocidad
Para conexin de
dispositivos
de E/S lentos
Interfaz con bus
de E/S externo
Disco Disco
Bus de E/S
Externo
Para interconectar
discos externos y otros
dispositivos
9
estructura y tecnologa de estructura y tecnologa de computadores computadores
2. jerarqua de 2. jerarqua de buses buses
Aumenta la eficiencia del sistema
Con un nico bus de expansin los dispositivos lentos pueden degradar el rendimiento
En el tiempo que un dispositivo lenta realiza una transferencia, uno rpido podra realizar miles
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
Ventajas de usar buses de expansin de distinta velocidad
10
estructura y tecnologa de estructura y tecnologa de computadores computadores
3. especificaciones de un 3. especificaciones de un bus bus estndar estndar
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
Nmero de contactos del conector
Nmero de dispositivos que soporta
Nivel lgico
Funciones a cada seal (bus de datos, bus de direcciones, bus de control)
Asignacin de seales a los contactos del conector
Nivel de temporizacin bsico
Protocolos de transferencia empleados
Nivel de arbitraje
Protocolos de arbitraje empleados
Niveles de especificacin
11
estructura y tecnologa de estructura y tecnologa de computadores computadores
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
Bus de E/S externo SCSI
Para interconectar discos externos
y otros dispositivos compatibles SCSI
Adaptador del bus SCSI
Para interconectar el bus PCI
con el bus 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
Organizacin del sistema de buses en un PC
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentium en un PC Pentium
12
estructura y tecnologa de estructura y tecnologa de computadores computadores
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentium en un PC Pentium
System Bus
Organizacin del sistema de buses en un PC
13
estructura y tecnologa de estructura y tecnologa de computadores computadores
Bus
Ancho
datos
Frec.
reloj
Ancho de banda
Sistema 64 100 MHz 800 Mbytes/s bus de sistema
PCI (V 2.0) 32 33 MHz 132 Mbytes/s
PCI (V 2.1) 64 66 MHz 528 Mbytes/s
buses de expansin de alta
velocidad
EISA 32 8 MHz 32 Mbytes/s
ISA 16 8 MHz 5-8 Mbytes/s
buses de expansin de baja
velocidad
SCSI-1 8 5 MHz 4 Mbytes/s
SCSI-2 16/32 10 MHz 20/40 Mbytes/s
buses de E/S externos
IDE 16 1.6 MHz 3.18 Mbytes/s
EIDE 16 5.5 MHz 10.6 Mbytes/s
buses para conexin de discos
USB Serie -- 12 Mbits/s bus serie
Comparacin de las prestaciones de los buses de un PC
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentium en un PC Pentium
14
estructura y tecnologa de estructura y tecnologa de computadores computadores
Bus ISA (Industry Standard Architecture, 1984)
Bus de expansin diseado para el IBM PC-AT (i80286)
Bus de datos: 16 bits de datos
Bus de direcciones: 24 bits (16 MB direccionables)
Ciclo de reloj: 8 MHz
Velocidad de transferencia mxima: 8 Mbytes/s
Protocolo de bus: semisncrono
Protocolo de arbitraje: de 2 hilos
Limitaciones
Soporte parcial de varios msters (el master alternativo debe ceder el uso del bus peridicamente para
permitir el refresco de la memoria)
Con la de los procesadores de 32 bits (i80386 y posteriores) su eficiencia es muy limitada
Bus EISA (Extended Industry Standard Architecture, 1988)
Bus de expansin diseado para el i80386 (compatible hacia abajo con ISA)
Bus de datos: 32 bits de datos
Bus de direcciones: 32 bits (4 GB direccionables)
Ciclo de reloj: 8 MHz
Velocidad de transferencia mxima: 32 Mbytes/s
Protocolo de bus: semisncrono
Protocolo de arbitraje: de 2 hilos
Limitaciones
Con la aparicin del procesador i80486 (66 MHz) y la aparicin de perifricos de alta velocidad (discos,
redes, vdeo, ...) la utilizacin de un nico bus comienza a ser un cuello de botella
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentium en un PC Pentium
15
estructura y tecnologa de estructura y tecnologa de computadores computadores
Bus PCI (Peripheral Component Interconnect Bus, 1993)
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
Protocolo de bus: semisncrono
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.)
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentium en un PC Pentium
16
estructura y tecnologa de estructura y tecnologa de computadores computadores
Protocolo de transferencia del bus PCI
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
AD0-AD31: Lneas multiplexadas de datos y direcciones
C0*-C3*/BE0*-BE3*: Lneas multiplexadas de orden (command) / byte activo (byte enabled)
Orden (C0*-C3*): la activa el master durante el primer ciclo de la transferencia para especificar
el tipo de transferencia a realizar
Lectura de memoria, escritura de memoria, lectura de E/S, escritura de E/S, etc.
Byte activo (BE0*-BE3*): la activa el master durante la transferencia de datos para indicar qu
lneas del bus transportan los datos
BE0* activada AD0-AD7 transporta datos
BE1* activada AD8-AD15 transporta datos
BE2* activada AD16-AD23 transporta datos
BE3* activada AD24-AD31 transporta datos
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentium en un PC Pentium
17
estructura y tecnologa de estructura y tecnologa de computadores computadores
Protocolo de transferencia del bus PCI
Lineas del bus (cont.)
FRAME*: Seal para indicar el comienzo y la duracin de una transferencia
La activa el master al poner la direccin en el bus para indicar el comienzo de la transferencia
Si la transferencia es modo bloque la seal se mantiene activa durante toda la transferencia
del bloque y se desactiva al transferir la ltima palabra
DEVSEL*: Seal de dispositivo seleccionado (device selected)
La activa el slave para indicar que ha reconocido su direccin
TRDY*: Seal de slave preparado (target ready)
La activa el slave al inicio de la transferencia junto con DEVSEL*
El slave desactiva esta seal en caso de que no pueda completar la transferencia en un solo
ciclo de reloj
IRDY*: Seal de master preparado (initiator ready)
La activa el master al inicio de la transferencia
El master desactiva esta seal en caso de que no pueda completar la transferencia en un solo
ciclo de reloj
Por ejemplo, en caso de que el master se quede accidentalmente sin capacidad de almacenamiento
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentium en un PC Pentium
18
estructura y tecnologa de estructura y tecnologa de computadores computadores
Protocolo de transferencia del bus PCI:
Ejemplo: Lectura de un bloque de 3 palabras
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentium en un PC Pentium
19
estructura y tecnologa de estructura y tecnologa de computadores computadores
Protocolo de transferencia del bus PCI:
Ejemplo: Lectura de un bloque de 3 palabras
a El master realiza las siguietes acciones
Pone la direccin en el bus (AD0-AD31)
Indica el tipo de operacin a realizar (C0*-C3*)
Activa FRAME* para indicar el inicio de la transferencia
b El slave descodifica y reconoce su direccin en el bus
c El master deja libre el bus de datos e indica en BE0*-BE3* qu lneas transportarn los datos
y activa IRDY* para indicar que est preparado para recibir el 1
er
dato
d Cuando el slave tiene el 1
er
dato vlido realiza las siguientes acciones
Activa DEVSEL* para indicar ha reconocido su direccin
Pone el dato en el bus y activa TRDY* para indicar que el dato est en el bus
e El master lee el dato
A partir de aqu, mientras est la seal FRAME* activada, se leer un dato en cada ciclo de reloj (siempre que el
slave no desactive TRDY*)
f El slave necesita ms de 1 ciclo para poner el 2 dato en el bus
Desactiva TRDY* hasta que tiene el nuevo dato preparado
g El master no est preparado para recibir el 3
er
dato
Desactiva IRDY* hasta que est preparado para poder recibir correctamente el siguiente dato
h Transferencia del ltimo dato
El master desactiva FRAME* para indicar el final de la transferencia del bloque
i El master dsactiva IRDY* y el slave desactiva TRDY* y DEVSEL*
El bus queda libre para la siguiente transferencia
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentium en un PC Pentium
20
estructura y tecnologa de estructura y tecnologa de computadores computadores
Protocolo de arbitraje del bus PCI
Protocolo centralizado en estrella
Cada mster se conecta al rbitro mediante 2 lneas dedicadas
REQ: peticin del bus
GNT: concesin del bus
La especificacin de PCI no indica un algoritmo de arbitraje particular
Pueden utilizarse distintos tipos de algoritmos
FIFO
Prioridad fija
Prioridad variable
Rotatorio
etc.
rbitro
de PCI
Dispositivo
PCI
R
E
Q
*
G
N
T
*
Dispositivo
PCI
R
E
Q
*
G
N
T
*
Dispositivo
PCI
R
E
Q
*
G
N
T
*


Lneas de arbitraje del bus PCI
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentium en un PC Pentium
21
estructura y tecnologa de estructura y tecnologa de computadores computadores
Bus Multibus I VME Bus Multibus II Nubus FutureBus +
Compaa/Ao
Intel
(1970)
Motorola
(1981)
Intel
(1983)
Western
Digital (1983)
IEEE
(1990)
Ancho Datos 16 8/16/32 32 32 32/64/128/256
Ancho Direccin 24 16/24/32 32 32 32/64
Lneas datos/dir
multiplexadas
No No S S S
Ancho de banda
(Mbytes/s)
10 40 40 40 100/200/600/1200
Protocolo
Sincronizacin
Asncrono Asncrono Semisncrono Semisncrono Asncrono
Protocolo
Arbitraje
Centralizado
(2 hilos/estrella)
Centraliz.
(3 hilos)
Distribuido
(cd. de ID)
Distribuido
(cd. de ID)
Distribuido o
Centralizado
4. ejemplos: otros 4. ejemplos: otros buses buses estndar estndar
22
estructura y tecnologa de estructura y tecnologa de computadores computadores
Bus VME (Versatile Module European Bus,1981)
Bus de expansin diseado por Motorola para equipos basados en MC68000
Bus de datos: 8/16/32 bits (adaptable)
Bus de direcciones: 16/24/32 bits (adaptable)
Protocolo de transferencia: asncrono
Protocolo de arbitraje: distribuido de 3 hilos con prioridades
Protocolo de transferencia del bus VME
Protocolo de asncrono similar al de MC68000
Lneas del bus
A1-A31: lneas de direccin (no existe lnea A0)
D0-D31: Lneas de datos
Tamao de las transferencias: byte, palabra (16 bits), doble palabra (32 bits)
LWORD*: Long Word
Indica que la transferencia es de tamao doble palabra
DS0*-DS1*: Data Strobe
Indica qu lneas del bus transportan los datos en transferencias de tamao byte y palabra
(similar a LDS*-UDS* del MC68000)
AS*: Address Strobe
Indica que el master ha colocado una direccin vlida en el bus (seal de Master Sync)
DTACK*: Data Transfer Acknowledge
Indica que el slave ha completado la transferencia (seal de SlaveSync)
4. ejemplos: otros 4. ejemplos: otros buses buses estndar estndar
23
estructura y tecnologa de estructura y tecnologa de computadores computadores
BR0
BR1
BR2
BR3
BCLR
BBSY
BG0out
BG1out
BG2out
BG3out
BG0in
BG1in
BG2in
BG3in
BG0out
BG1out
BG2out
BG3out
BG0in
BG1in
BG2in
BG3in
Master 1
(Arbitro)
Master 2 Master n
BG: Bus Grant
BR: Bus Request
BBSY: Bus Busy
BCLR: Bus Clear
Protocolo de arbitraje del bus VME
Arbitraje de tres hilos
Cuatro niveles de peticin y concesin de bus de distinta prioridad
Funcionamiento
Peticiones simultneas por una nica lnea
Igual que el protocolo de tres hilos con un nico nivel de peticin
Peticiones simultneas por lneas distintas
Se atiende a la de mayor prioridad (BR3>BR2>BR1>BR0)
Si un master controla el bus y se produce una peticin ms prioritaria, el rbitro activa BCLR
para indicar al master que debe ceder el bus
Lneas de arbitraje del bus VME
4. ejemplos: otros 4. ejemplos: otros buses buses estndar estndar

También podría gustarte