5.4 Estandares de Buses
Click here to load reader
-
Upload
pedro-alfonso-granados-garcia -
Category
Documents
-
view
336 -
download
0
Transcript of 5.4 Estandares de Buses
-
1Tema 7. Jerarqua deTema 7. Jerarqua de buses buses y y buses buses estndar estndar
Estructura y Tecnologa de Estructura y Tecnologa de ComputadoresComputadores
Mdulo D.Mdulo D. Buses Buses del del computadorcomputador
Jos Manuel Mendas CuadrosJos Manuel Mendas CuadrosDptoDpto. Arquitectura de Computadores y Automtica. Arquitectura de Computadores y Automtica
Universidad Complutense de MadridUniversidad Complutense de Madrid
2
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
contenidoscontenidos
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
-
3estructura y tecnologa de estructura y tecnologa de computadorescomputadores
1. introduccin1. 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 dispositivosdebern 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 computadorescomputadores
1. introduccin1. 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 106 instruc /s ) = 6,12 millones de instrucciones
512 KB10.000 KB/s
-
5estructura y tecnologa de estructura y tecnologa de computadorescomputadores
2. jerarqua de 2. jerarqua de busesbuses
Procesador Cache
Bus Local y Bus del Sistema
Memoria
Interfaz conBus Expansin
Controlador Disco
AdaptadorVdeo
Adaptador Red
Adaptador Puerto serie
Adaptador Fax/mdem
CoprocesadorMatemtico
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 computadorescomputadores
2. jerarqua de 2. jerarqua de busesbuses
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
-
7estructura y tecnologa de estructura y tecnologa de computadorescomputadores
2. jerarqua de 2. jerarqua de busesbuses
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 prdidade datos
Conversin de lneas del bus Los buses pueden tener utilizar seales distintas para realizar funciones similares Ejemplos:
1) Lneas de operacin distintasBus sistema: Una nica lnea RD/WR*
Bus expansin: Dos lneas READ - WRITE separadas2) 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 computadorescomputadores
2. jerarqua de 2. jerarqua de busesbuses
Procesador CacheBus Local
Memoria
Interfaz conbus alta velocidad
Controlador Disco
AdaptadorVdeo
Adaptador Red
Adaptador Puerto serie
Adaptador Fax/mdem
CoprocesadorMatemtico
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 dedispositivosde E/S lentos
Interfaz con bus de E/S externo
Disco Disco
Bus de E/SExterno
Para interconectardiscos externos y otrosdispositivos
-
9estructura y tecnologa de estructura y tecnologa de computadorescomputadores
2. jerarqua de 2. jerarqua de busesbuses
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 rpidotiene 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 computadorescomputadores
3. especificaciones de un 3. especificaciones de un bus bus estndarestndar
Las especificaciones de un bus estndar deben estar perfectamente definidas y recogidasen 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 computadorescomputadores
Bus del sistemaPara interconectar la CPU y la memoria
System Bus Adaptador del busPara interconectar el bus del sistemacon el bus PCI
Bus PCI de alta velocidadPara conectar dispositivos de alta velocidad
Bus de E/S externo SCSIPara interconectar discos externosy otros dispositivos compatibles SCSI
Adaptador del bus SCSIPara interconectar el bus PCI con el bus SCSI
Adaptador del bus de expansinPara interconectar el bus PCI con el bus de expansin (ISA/EISA)
Bus de expansin ISA o EISAPara 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 Pentiumen un PC Pentium
12
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentiumen un PC Pentium
System Bus
Organizacin del sistema de buses en un PC
-
13
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
BusAnchodatos
Frec.reloj
Ancho de banda
Sistema 64 100 MHz 800 Mbytes/s bus de sistemaPCI (V 2.0) 32 33 MHz 132 Mbytes/sPCI (V 2.1) 64 66 MHz 528 Mbytes/s
buses de expansin de altavelocidad
EISA 32 8 MHz 32 Mbytes/sISA 16 8 MHz 5-8 Mbytes/s
buses de expansin de bajavelocidad
SCSI-1 8 5 MHz 4 Mbytes/sSCSI-2 16/32 10 MHz 20/40 Mbytes/s
buses de E/S externos
IDE 16 1.6 MHz 3.18 Mbytes/sEIDE 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 Pentiumen un PC Pentium
14
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
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 parapermitir 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 Pentiumen un PC Pentium
-
15
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
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 Pentiumen un PC Pentium
16
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
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 deuna 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 qulneas 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 Pentiumen un PC Pentium
-
17
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
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 transferenciadel 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 solociclo 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 solociclo 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 Pentiumen un PC Pentium
18
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
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 Pentiumen un PC Pentium
-
19
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
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 1er dato
d Cuando el slave tiene el 1er 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 3er 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 Pentiumen un PC Pentium
20
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
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.
rbitrode PCI Dispositivo
PCI
RE
Q*
GN
T*
DispositivoPCI
RE
Q*
GN
T*
DispositivoPCI
RE
Q*
GN
T*
Lneas de arbitraje del bus PCI
4. ejemplos: jerarqua de 4. ejemplos: jerarqua de buses buses en un PC Pentiumen un PC Pentium
-
21
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
Bus Multibus I VME Bus Multibus II Nubus FutureBus +
Compaa/Ao Intel(1970)
Motorola(1981)
Intel(1983)
WesternDigital (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/dirmultiplexadas
No No S S S
Ancho de banda(Mbytes/s)
10 40 40 40 100/200/600/1200
ProtocoloSincronizacin
Asncrono Asncrono Semisncrono Semisncrono Asncrono
ProtocoloArbitraje
Centralizado(2 hilos/estrella)
Centraliz.(3 hilos)
Distribuido(cd. de ID)
Distribuido(cd. de ID)
Distribuido oCentralizado
4. ejemplos: otros4. ejemplos: otros buses buses estndar estndar
22
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
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: otros4. ejemplos: otros buses buses estndar estndar
-
23
estructura y tecnologa de estructura y tecnologa de computadorescomputadores
BR0BR1BR2BR3
BCLRBBSY
BG0out
BG1outBG2out
BG3out
BG0in
BG1inBG2in
BG3in
BG0out
BG1outBG2out
BG3out
BG0in
BG1inBG2in
BG3inMaster 1(Arbitro)
Master 2 Master n
BG: Bus GrantBR: Bus RequestBBSY: Bus BusyBCLR: 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 BCLRpara indicar al master que debe ceder el bus
Lneas de arbitraje del bus VME
4. ejemplos: otros4. ejemplos: otros buses buses estndar estndar