estructura y tecnología de computadores - fdi.ucm.es · estructura y tecnología de computadores...
Post on 18-Oct-2018
218 Views
Preview:
TRANSCRIPT
1
Tema 7. Jerarquía deTema 7. Jerarquía de buses buses y y buses buses estándar estándar
Estructura y Tecnología de Estructura y Tecnología de ComputadoresComputadores
Módulo D.Módulo D. Buses Buses del del computadorcomputador
José Manuel Mendías CuadrosJosé Manuel Mendías CuadrosDptoDpto. Arquitectura de Computadores y Automática. Arquitectura de Computadores y Automática
Universidad Complutense de MadridUniversidad Complutense de Madrid
2
estructura y tecnología de estructura y tecnología de computadorescomputadores
contenidoscontenidos
1. Introducción
Problemas del bus único.
2. Jerarquía de buses
Buses local, del sistema y de expansión. Ventajas de la jerarquía de buses. Función del
interfaz de bus. Otras topologías.
3. Especificaciones de un bus estándar
Niveles de especificación
4. Ejemplos
Jerarquía de buses en un PC Pentium. Otros buses estándar
3
estructura y tecnología de estructura y tecnología de computadorescomputadores
1. introducción1. introducción
⌦ DISMINUCIÓN DEL RENDIMIENTO GLOBAL DEL SISTEMAØ Aumenta el retardo de propagación de las señales
ð El bus debe tener mayor longitud para soportar mayor número de dispositivosð Las señales de arbitraje (GRANT), si son encadenadas, debe propagarse a través de un
mayor número 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 dispositivosdeberán 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 rápido podría
haber realizado miles de transferencias
Problema:
⌦ INCOMPATIBILIDAD DEL BUS CON LOS DISPOSITIVOSØ Existen dispositivos de E/S diseñados para un determinado bus, que son incompatibles con otros
computadores que utilizan un bus distintoð Solución ideal: que todos los computadores utilizasen un estándar de bus uniformeð Problema: cada fabricante diseña sus propios buses optimizados para sus arquitecturas,
por lo que es muy difícil que todos se pongan de acuerdo
Solución a ambos problemas: Utilizar una jerarquía de buses en lugar de un único bus
Cuando queremos conectar un gran número de dispositivos a un mismo bus, nos encontramos con dos problemas fundamentales
4
estructura y tecnología de estructura y tecnología de computadorescomputadores
1. introducción1. introducción
Ejemplo de reducción del rendimiento del sistema de un sistema con bus único
⌦ Procesador a 200 MHz (tiempo ciclo = 5 ns)
Ciclo medio por instrucción: CPI = 2 ciclos
Ø Una instrucción 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 través de un único bus del sistema
Ø Cuando se realiza una operación 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 podría haber ejecutado:
ð (0,0612 s) x (100 x 106 instruc /s ) = 6,12 millones de instrucciones
512 KB10.000 KB/s
5
estructura y tecnología de estructura y tecnología de computadorescomputadores
2. jerarquía de 2. jerarquía de busesbuses
Procesador Cache
Bus Local y Bus del Sistema
Memoria
Interfaz conBus Expansión
Controlador Disco
AdaptadorVídeo
Adaptador Red
Adaptador Puerto serie
Adaptador Fax/módem
CoprocesadorMatemático
Disco
Adaptador Puerto paralelo
Monitor Red Módem Ratón Impresora
Bus Sistema
Bus Expansión o de E/S
Buses local, del sistema y de expansión⌦ Buses rápidos, cortos⌦ Buses Propietarios (no estándares)
Ø Optimizados para la arquitecturaØ Nº fijo de dispositivos de
prestaciones conocidas
⌦ Buses más largos y lentos⌦ Bus abierto (estándar)
Ø Accesible por el usuarioØ Nº indeterminado de dispositivos de distintas
prestaciones
Adapta las velocidades de ambos buses
Convierte las señales de un bus a otro
Bus Local
Bus de expansión
Interfaz bus
6
estructura y tecnología de estructura y tecnología de computadorescomputadores
2. jerarquía de 2. jerarquía de busesbuses
⌦ El bus local entre el procesador y la cache aísla el tráfico de E/S del procesador
Ø Se puede transferir información entre la memoria y la E/S sin interrumpir la actividad del procesador
⌦ El bus de expansión reduce el tráfico en el bus del sistema
Ø La transferencia entre cache y memoria principal se pueden realizar de forma más 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 expansión de forma conjunta
⌦ Se elimina el problema de la incompatibilidad
Ø El bus local y del sistema suelen ser propietarios (no estándar) y están optimizados para cada
arquitectura particular
Ø Los buses de expansión son buses estándares o abiertos (ISA, EISA, PCI, VME, etc.)
ð Los buses estándares son independientes del computador
ð Estos buses tienen unas características y especificaciones perfectamente definidas
ð Existe una amplia gama de controladores o adaptadores para periféricos compatibles con estos buses
ð La conexión de un controlador a un bus estándar es sencilla y rápida (mediante conectores estándares)
ð Podemos utilizar los mismos controladores y periféricos en otro computador que disponga del mismo bus
estándar
Ventajas de la jerarquía de buses
7
estructura y tecnología de estructura y tecnología de computadorescomputadores
2. jerarquía de 2. jerarquía de busesbuses
⌦ Adaptar las velocidades de ambos busesØ El bus del sistema es, en general, más rápido que el bus de expansión
ð El adaptador debe actuar como buffer de almacenamiento intermedio para evitar la pérdidade datos
⌦ Conversión de líneas del busØ Los buses pueden tener utilizar señales distintas para realizar funciones similaresØ Ejemplos:
1) Líneas de operación distintasBus sistema: Una única línea RD/WR*
Bus expansión: Dos líneas READ - WRITE separadas2) Líneas multiplexadas y dedicadas
Bus sistema: líneas de dirección/datos multiplexadas (AD0, AD15, A16-A19) Bus expansión: líneas de dirección y datos dedicadas (A0-A19, D0-D15) 3) Distinto número de líneas de datos
Bus sistema: D0-D31 Bus expansión: D0-D15 ⇒ El adaptador debe dividir cada transferencia de 32 bits en dos transferencias de 16 bits
4) Distinto protocolo de transferencia Bus sistema: síncrono Bus expansión: asíncrono
⇒ El adaptador deberá comunicarse de forma síncrona con el bus del sistema y de forma asíncrona con el bus de expansión ⇒ El adaptador deberá ser capaz de generar las señales de sincronización adecuadas dependiendo del bus con el que se comunique
Etc.
Función del interfaz o adaptador de bus
8
estructura y tecnología de estructura y tecnología de computadorescomputadores
2. jerarquía de 2. jerarquía de busesbuses
Procesador CacheBus Local
Memoria
Interfaz conbus alta velocidad
Controlador Disco
AdaptadorVídeo
Adaptador Red
Adaptador Puerto serie
Adaptador Fax/módem
CoprocesadorMatemático
Disco
Adaptador Puerto paralelo
Monitor Red
Módem Ratón Impresora
Bus Sistema
Bus alta velocidad
Otras topologías:Buses para dispositivos de distinta velocidad
Interfaz con bus expansión 1
Bus expansión
Para conexión de dispositivos de E/S de alta velocidad
Para conexión dedispositivosde E/S lentos
Interfaz con bus de E/S externo
Disco Disco
Bus de E/SExterno
Para interconectardiscos externos y otrosdispositivos
9
estructura y tecnología de estructura y tecnología de computadorescomputadores
2. jerarquía de 2. jerarquía de busesbuses
⌦ Aumenta la eficiencia del sistemaØ Con un único bus de expansión los dispositivos lentos pueden degradar el rendimiento
ð En el tiempo que un dispositivo lenta realiza una transferencia, uno rápido podría realizar miles
Ø Con varios buses de expansión, para dispositivos de distintas velocidades, un dispositivo rápidotiene la misma “probabilidad” de acceder al bus que todos los dispositivos lentos conjuntamente
Ventajas de usar buses de expansión de distinta velocidad
10
estructura y tecnología de estructura y tecnología de computadorescomputadores
3. especificaciones de un 3. especificaciones de un bus bus estándarestándar
⌦ Las especificaciones de un bus estándar deben estar perfectamente definidas y recogidasen un documento de estandarización
⌦ En las especificaciones se distinguen varios niveles:Ø Nivel eléctrico
ð Valores de las tensiones de alimentación
ð Límites de valores eléctricos de las señales lógicasü P. ej. 1 lógico → de 0,2 V a 0,5 V;
0 lógico → de -0,2 V a -0,5 V
Ø Nivel mecánico
ð Forma y tamaño de los conectores
ð Número de contactos del conector
ð Número de dispositivos que soporta
Ø Nivel lógico
ð Funciones a cada señal (bus de datos, bus de direcciones, bus de control)
ð Asignación de señales a los contactos del conector
Ø Nivel de temporización básico
ð Protocolos de transferencia empleados
Ø Nivel de arbitrajeð Protocolos de arbitraje empleados
Niveles de especificación
11
estructura y tecnología de estructura y tecnología 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 expansiónPara interconectar el bus PCI con el bus de expansión (ISA/EISA)
Bus de expansión ISA o EISAPara interconectar dispositivos de baja velocidad
Organización del sistema de buses en un PC
4. ejemplos: jerarquía de 4. ejemplos: jerarquía de buses buses en un PC Pentiumen un PC Pentium
12
estructura y tecnología de estructura y tecnología de computadorescomputadores
4. ejemplos: jerarquía de 4. ejemplos: jerarquía de buses buses en un PC Pentiumen un PC Pentium
System Bus
Organización del sistema de buses en un PC
13
estructura y tecnología de estructura y tecnología de computadorescomputadores
BusAnchodatos
Frec.reloj
Ancho de banda
Sistema 64 100 MHz 800 Mbytes/s bus de sistema
PCI (V 2.0) 32 33 MHz 132 Mbytes/sPCI (V 2.1) 64 66 MHz 528 Mbytes/s
buses de expansión de altavelocidad
EISA 32 8 MHz 32 Mbytes/sISA 16 8 MHz 5-8 Mbytes/s
buses de expansión 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 conexión de discos
USB Serie -- 12 Mbits/s bus serie
Comparación de las prestaciones de los buses de un PC
4. ejemplos: jerarquía de 4. ejemplos: jerarquía de buses buses en un PC Pentiumen un PC Pentium
14
estructura y tecnología de estructura y tecnología de computadorescomputadores
Bus ISA (Industry Standard Architecture, 1984)
⌦ Bus de expansión diseñado 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 máxima: 8 Mbytes/sØ Protocolo de bus: semisíncronoØ Protocolo de arbitraje: de 2 hilosØ Limitaciones
ð Soporte parcial de varios másters (el master alternativo debe ceder el uso del bus periódicamente 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 expansión diseñado 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 máxima: 32 Mbytes/sØ Protocolo de bus: semisíncronoØ Protocolo de arbitraje: de 2 hilosØ Limitaciones
ð Con la aparición del procesador i80486 (66 MHz) y la aparición de periféricos de alta velocidad (discos,redes, vídeo, ...) la utilización de un único bus comienza a ser un cuello de botella
4. ejemplos: jerarquía de 4. ejemplos: jerarquía de buses buses en un PC Pentiumen un PC Pentium
15
estructura y tecnología de estructura y tecnología de computadorescomputadores
Bus PCI (Peripheral Component Interconnect Bus, 1993)
⌦ Bus de expansión diseñado para el i80486 y PentiumØ Bus de datos:
ð Versión 2.0: 32 bits de datosð Versión 2.1: 64 bits de datos
Ø Bus de direcciones: 32 bits (4 GB direccionables)Ø Ciclo de reloj:
ð Versión 2.0: 33 MHzð Versión 2.1: 66 MHz
Ø Velocidad de transferencia máxima:ð Versión 2.0: 132 Mbytes/sð Versión 2.1: 528 Mbytes/s
Ø Protocolo de bus: semisíncronoØ Protocolo de arbitraje: centralizado en estrellaØ Otras características
ð Hasta 16 slots de expansiónð Soporte para gran variedad de controladores de dispositivos de E/S de alta velocidad
ü Vídeo, Sonido, Redes alta velocidad, Adaptadores SCSI, etc.ð Soporte Plug-and-Play (conecta y listo)
ü Tarjetas controladoras autoconfigurables (línea de interrupción, dirección de E/S, etc.)
4. ejemplos: jerarquía de 4. ejemplos: jerarquía de buses buses en un PC Pentiumen un PC Pentium
16
estructura y tecnología de estructura y tecnología de computadorescomputadores
Protocolo de transferencia del bus PCI⌦ Protocolo semisíncrono
⌦ Modos de transferenciasØ Modo ráfaga
ð Se transmite una única palabra a una dirección de memoria o E/S específica
ð 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 posición inicial
⌦ Lineas del busØ CLK: señal de reloj
Ø AD0-AD31: Líneas multiplexadas de datos y direcciones
Ø C0*-C3*/BE0*-BE3*: Líneas multiplexadas de orden (command) / byte activo (byte enabled)
ð Orden (C0*-C3*): la activa el master durante el primer ciclo de la transferencia para especificarel 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élíneas 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: jerarquía de 4. ejemplos: jerarquía de buses buses en un PC Pentiumen un PC Pentium
17
estructura y tecnología de estructura y tecnología de computadorescomputadores
Protocolo de transferencia del bus PCI
⌦ Lineas del bus (cont.)Ø FRAME*: Señal para indicar el comienzo y la duración de una transferencia
ð La activa el master al poner la dirección en el bus para indicar el comienzo de la transferencia
ð Si la transferencia es modo bloque la señal se mantiene activa durante toda la transferenciadel bloque y se desactiva al transferir la última palabra
Ø DEVSEL*: Señal de dispositivo seleccionado (device selected)
ð La activa el slave para indicar que ha reconocido su dirección
Ø TRDY*: Señal de slave preparado (target ready)
ð La activa el slave al inicio de la transferencia junto con DEVSEL*
ð El slave desactiva esta señal en caso de que no pueda completar la transferencia en un solociclo de reloj
Ø IRDY*: Señal de master preparado (initiator ready)
ð La activa el master al inicio de la transferencia
ð El master desactiva esta señal 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: jerarquía de 4. ejemplos: jerarquía de buses buses en un PC Pentiumen un PC Pentium
18
estructura y tecnología de estructura y tecnología de computadorescomputadores
Protocolo de transferencia del bus PCI: Ejemplo: Lectura de un bloque de 3 palabras
4. ejemplos: jerarquía de 4. ejemplos: jerarquía de buses buses en un PC Pentiumen un PC Pentium
19
estructura y tecnología de estructura y tecnología 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 dirección en el bus (AD0-AD31)Ø Indica el tipo de operación a realizar (C0*-C3*)Ø Activa FRAME* para indicar el inicio de la transferencia
b El slave descodifica y reconoce su dirección en el bus
c El master deja libre el bus de datos e indica en BE0*-BE3* qué líneas transportarán los datosy activa IRDY* para indicar que está preparado para recibir el 1er dato
d Cuando el slave tiene el 1er dato válido realiza las siguientes accionesØ Activa DEVSEL* para indicar ha reconocido su direcciónØ 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 señal FRAME* activada, se leerá un dato en cada ciclo de reloj (siempre que el
slave no desactive TRDY*)
f El slave necesita más 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: jerarquía de 4. ejemplos: jerarquía de buses buses en un PC Pentiumen un PC Pentium
20
estructura y tecnología de estructura y tecnología de computadorescomputadores
Protocolo de arbitraje del bus PCI
⌦ Protocolo centralizado en estrellaØ Cada máster se conecta al árbitro mediante 2 líneas dedicadas
ð REQ: petición del busð GNT: concesión del bus
Ø La especificación 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*
· · ·
· · ·
Líneas de arbitraje del bus PCI
4. ejemplos: jerarquía de 4. ejemplos: jerarquía de buses buses en un PC Pentiumen un PC Pentium
21
estructura y tecnología de estructura y tecnología de computadorescomputadores
Bus Multibus I VME Bus Multibus II Nubus FutureBus +
Compañía/Año Intel(1970)
Motorola(1981)
Intel(1983)
WesternDigital (1983)
IEEE(1990)
Ancho Datos 16 8/16/32 32 32 32/64/128/256
Ancho Dirección 24 16/24/32 32 32 32/64
Líneas datos/dirmultiplexadas
No No Sí Sí Sí
Ancho de banda(Mbytes/s)
10 40 40 40 100/200/600/1200
ProtocoloSincronización
Asíncrono Asíncrono Semisíncrono Semisíncrono Asíncrono
ProtocoloArbitraje
Centralizado(2 hilos/estrella)
Centraliz.(3 hilos)
Distribuido(cód. de ID)
Distribuido(cód. de ID)
Distribuido oCentralizado
4. ejemplos: otros4. ejemplos: otros buses buses estándar estándar
22
estructura y tecnología de estructura y tecnología de computadorescomputadores
Bus VME (Versatile Module European Bus,1981)
⌦ Bus de expansión diseñado 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: asíncronoØ Protocolo de arbitraje: distribuido de 3 hilos con prioridades
Protocolo de transferencia del bus VME⌦ Protocolo de asíncrono similar al de MC68000⌦ Líneas del bus
Ø A1-A31: líneas de dirección (no existe línea A0)Ø D0-D31: Líneas de datos
ð Tamaño de las transferencias: byte, palabra (16 bits), doble palabra (32 bits)Ø LWORD*: Long Word
ð Indica que la transferencia es de tamaño doble palabraØ DS0*-DS1*: Data Strobe
ð Indica qué líneas del bus transportan los datos en transferencias de tamaño byte y palabra(similar a LDS*-UDS* del MC68000)
Ø AS*: Address Strobeð Indica que el master ha colocado una dirección válida en el bus (señal de Master Sync)
Ø DTACK*: Data Transfer Acknowledgeð Indica que el slave ha completado la transferencia (señal de SlaveSync)
4. ejemplos: otros4. ejemplos: otros buses buses estándar estándar
23
estructura y tecnología de estructura y tecnología 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 petición y concesión de bus de distinta prioridad⌦ Funcionamiento
Ø Peticiones simultáneas por una única línea
ð Igual que el protocolo de tres hilos con un único nivel de petición
Ø Peticiones simultáneas por líneas distintas
ð Se atiende a la de mayor prioridad (BR3>BR2>BR1>BR0)
Ø Si un master controla el bus y se produce una petición más prioritaria, el árbitro activa BCLRpara indicar al master que debe ceder el bus
Líneas de arbitraje del bus VME
4. ejemplos: otros4. ejemplos: otros buses buses estándar estándar
top related