5.4 Estandares de Buses

12

Click here to load reader

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