Alumno: Eder Rivera Pando Código: b Padre: Francisco Miguel Rivera Castro Cel: Madre: Nicolasa Pando Diaz Cel:
ESTRUCTURA DEL BUS El bus del sistema esta constituido, usualmente, por entre 50 y 100 líneas. A cada línea se le asigna un significado a una función particular. Se clasifican en 3 grupos funcionales: – Líneas de datos – Líneas de direcciones – Líneas de control Existen además líneas de alimentación para suministrar energía a los módulos conectados al bus
LAS LINEAS DE DATOS Proporciona un camino para transmitir datos entre los módulos del sistema. El bus de datos esta compuesto por 8, 16,32 y 64 líneas distintas, cuyo numero se conoce como anchura de bus de datos. La anchura del bus es un factor clave a la hora de determinar las prestaciones del conjunto del sistema. Ejemplo. Si el bus de datos tiene una anchura de 8 bits, y las instrucciones son de 16 bits entonces el procesador debe acceder al modulo de memoria dos veces por cada ciclo de instrucción.
COMPOSICION DE CELDAS DE MEMORIA
LAS LINEAS DE DIRECCION Se usan para designar la fuente o el destino del dato situado en el bus de datos. Si el procesador desea leer una palabra (8, 16, 32 y 64 bits) de datos de la memoria, sitúa la dirección de la palabra deseada en las líneas de direcciones. el ancho del canal de direcciones determina la máxima capacidad de memoria posible en el sistema. Las líneas también se usan para direccionar los puertos de E/S. Usualmente los bits de orden mas alto se usan para seleccionar una posición de memoria o un puerto de E/S dentro de un modulo. Ejemplo. en un bus de 8 bits, la dirección e inferiores harían referencia a posiciones dentro de un modulo de memoria (el modulo 0) con 128 palabras de memoria, y las direcciones y superiores designarían dispositivos conectados a un modulo de E/S (Modulo 1).
LAS LINEAS DE CONTROL Se usan para controlar el acceso y el uso de las líneas de datos y de direcciones. Puesto que las líneas de datos y de direcciones son compartidas por todos los componentes. Las señales de control transmiten tanto ordenes como información de temporización entre los módulos del sistema. Las señales de temporización indican la validez de los datos y las direcciones. Las señales de ordenes especifican las operaciones a realizar.
LINEAS DE CONTROL Escritura en memoria (Memory Write).- hace que el dato del bus se escriba en la posición direccionada. Lectura de Memoria (Memory Read).- hace que el dato del bus se escriba en la posición direccionada. Escritura de E/S (I/O Write).- hace que el dato del bus se transfiera a través del puerto de E/S direccionado. Lectura de E/S (I/O Read).- hace que el dato del puerto de E/S direccionado se sitúe en el bus. Transferencia reconocida (Transfer ACK).- indica que el dato se ha aceptado o se ha situado en el bus. Petición de bus (Bus request).- indica que un modulo necesita disponer del control del bus. Cesión del bus (Bus Grant).- indica que se cede el control del bus a un modulo que lo había solicitado. Petición de interrupción (Interrupt Request).- indica si hay una interrupción pendiente. Interrupción reconocida (Interrupt ACK).- señala que la interrupción pendiente se ha aceptado. Reloj (Clock).- se utiliza para sincronizar las operaciones. Inicio (Reset).- pone los módulos conectados en su modo inicial.
FUNCIONAMIENTO DEL BUS Si un módulo desea enviar un dato a otro debe hacer dos cosas: 1.Obtener el uso del bus. Y 2.Transferir el dato a través del bus. Si un módulo desea pedir un dato a otro módulo debe hacer dos cosas: 1.Obtener el uso del bus. Y 2.Transferir la petición al otro modulo mediante las líneas de control y dirección apropiadas. Después debe esperar a que el segundo modulo envíe el dato.
IMPLEMENTACION FISICA DEL BUS El bus del sistema es un conjunto de conductores eléctricos paralelos. Son líneas de metal grabadas en una tarjeta (tarjeta de circuito impreso) El bus se extiende a través de todos los componentes del sistema, cada uno de los cuales se conecta a algunas o a todas las líneas del bus.
JERARQUIA DE BUSES Si se conecta un gran numero de dispositivos al bus, las prestaciones pueden disminuir. Hay 2 problemas: – A mas dispositivos conectados al bus, mayor es el retardo de propagación. – Cuellos de botella a medida que las peticiones de transferencia acumuladas se aproximan a la capacidad del bus. Incrementar la velocidad del bus.
PROBLEMA DE CONECTAR VARIOS DISPOSITIVOS A UN MISMO BUS Cuando queremos conectar un gran número de dispositivos a un mismo bus, nos encontramos con dos problemas fundamentales 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 dispositivos deberá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 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
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 +(512 KB/ KB/s) = 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
ESTRUCTURA TIPICA DEL SISTEMA DE BUSES Bus local que conecta el procesador a una memoria chache, y a la que pueden conectarse también uno o mas dispositivos locales El controlador del cache no solo conecta al bus local si no también al bus del sistema donde están los módulos de memoria. El uso del cache alivia la exigencia de soportar los accesos frecuentes del procesador a memoria principal
ESTRUCTURA TIPICA DEL SISTEMA DE BUSES Es posible conectar controladores de E/S directamente al bus del sistema. Una solución mas eficiente consiste en utilizar uno o mas buses de expansión. La interfaz del bus de expansión regula la transferencia de datos entre el bus del sistema y los controladores conectados al bus de expansión. Esto permite conectar al sistema una variedad de dispositivos de E/S y así aislar el trafico de información entre la memoria y el procesador del trafico correspondiente a las E/S. Esta arquitectura de buses tradicionales razonablemente eficiente, pero muestra debilidad a medida que los dispositivos de E/S ofrecen prestaciones cada vez mayores.
BUS LOCAL, DEL SISTEMA Y DE EXPANSION
VENTAJAS DE LA JERARQUIA DE BUSES 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 mismotiempo 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
Función del interfaz o adaptador de bus 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érdida de 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 distintas Bus sistema: Una única línea RD/WR* Bus expansión: Dos líneas READ - WRITE separadas 2) 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 mecanismo de sincronización 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 las señales de sincronización adecuadas dependiendo del bus con el que se comunique
BUS DE ALTA VELOCIDAD INTEGRADO CON EL SISTEMA El bus del alta velocidad se integra al sistema a través de un adaptador (Bridge) entre el bus del procesador y el bus de alta velocidad (arquitectura de entreplanta – mezzanine architecture)
BUSES PARA DISPOSITIVOS DE DISTINTAS VELOCIDADES
JERARQUIA DE BUSES EN UN PC
ESPECIFICACION DE UN BUS ESTANDARD
TIPOS DE BUSES SERIE y PARALELO: los primeros transmiten bit a bit y los segundos varios bits a la vez. MULTIPLEXADOS y NO MULTIPLEXADOS ó DEDICADOS: los multiplexados realizan diferentes funciones en función de las necesidades del momento. Ejemplo: bus compartido para direcciones y datos – ahorro en Hardware y por lo tanto en costes. CENTRALIZADOS y DISTRIBUIDOS (arbitración): necesidad de determinar qué elemento transmite y cuál recibe. Generalmente existe arbitración centralizada por la CPU ó procesador. SÍNCRONOS y ASÍNCRONOS (temporización): cómo ocurren los diferentes eventos (comienzo, fin,...) implicados en la transmisión de información. Utilización de una señal de reloj (comunicación síncrona) ó unas líneas de protocolo (comunicación asíncrona).
JERARQUIA DE BUSES EN UN PC PENTIUM
BUS PCI (PERIPHERAL COMPONENT INTERCONNECT BUS )
PROTOCOLO DE SINCRONIZACIÓN DEL BUS PCI
JERARQUIA DE BUSES EN UN PC
PROTOCOLO DE ARBITRAJE DEL BUS PCI