En informática, un bus es un conjunto cableado que sirve para que los dispositivos hardware puedan comunicarse entre sÃ. Son rutas compartidas por todos los dispositivos y les permiten transmitir información de unos a otros, son, en definitiva, las autopistas de la información interna, las que permiten las transferencias de toda la información manejada por el sistema.
En un bus, todos los nodos conectados a él reciben los datos que se vuelcan, pero sólo aquél dispositivo al que va dirigida la información es quien la toma y la procesa, el resto la ignora.
Los conductores eléctricos de un bus pueden ser tanto en paralelo como en serie. El bus de datos de los discos duros IDE (ATA) es paralelo (varios cables); en cambio, en los discos Serial ATA, el bus es serie (una sola vÃa de datos).
Existen varios tipos:
- Bus de direcciones
- Bus de control
- Bus de datos
En esta imagen tenemos una representación de la arquitectura Northbridge/Southbridge. Las flechas indican buses de datos que comunican los diferentes dispositivos de un ordenador. El chipset de una placa base, formado básicamente por el Northbridge (controlador de puente norte) y el Southbridge (controlador de puente sur), se encarga de gobernar las comunicaciones en los buses, de la misma manera que los semáforos regulan el tráfico en las calles de una ciudad.
El Northbridge es el chip más importante, el núcleo de la placa base; tiene la función de controlar las comunicaciones entre procesador, memoria RAM, tarjeta gráfica y el Southbridge, y servir de conexión central entre los dispositivos mencionados.
El Southbridge es un chip que controla los dispositivos de entrada/salida del sistema (periféricos como disco duro, teclado, ratón, puertos PCI...), se comunica con el resto del sistema mediante el chip principal: Northbridge.
Uno de los buses de datos más importante es el que conecta al procesador (CPU) con el resto del sistema a través del Northbridge, se le conoce como FSB (bus frontal), y transmite toda la información del procesador al resto de dispositivos y viceversa. La frecuencia de un procesador se expresa en términos de la frecuencia del FSB multiplicado por un valor predeterminado por el fabricante, por eso conocer bien el FSB es vital en la práctica del Overclocking (forzar un procesador a trabajar a una velocidad mayor que la de serie).
El resto de buses no tienen un nombre concreto y se les conoce por el dispositivo con el que conectan. El bus de memoria conecta la memoria RAM al sistema mediante el Northbridge (en algunas arquitecturas, como HyperTransport, la memoria RAM se comunica directamente con el procesador sin pasar por el Northbridge), el bus AGP (o PCI-Express) conecta la tarjeta gráfica con el Northbridge. También existe un bus especial que conecta el Northbridge con el Southbridge, ya que estos chips deben pasarse grandes cantidades de datos debido a la naturaleza de los dispositivos que controlan.
En la siguiente imagen mostramos una variación de la arquitectura mencionada anteriormente, aunque sus fundamentos son muy similares. En este caso la memoria se conecta a la CPU directamente mediante un controlador independiente, el resto es similar cambiando algunos nombres. Las flechas y barras de color verde (y negro) indican buses de datos.
Por tanto, el bus de datos y las interconexiones de la placa base, asà como su chipset, son esenciales para la eficiencia. De nada servirÃa un procesador extremadamente rápido, si las tuberÃas que le abastecen y a través de las cuales debe mandar la información son lentas. De ahà que una buena placa base, con un chipset potente y unas conexiones internas rápidas, sea extremadamente importante al comprar un ordenador a fin de mantener estabilidad y equilibrio entre los componentes.
FUNCIONAMIENTO
En el bus se encuentran dos pistas separadas, el bus de datos y el bus de direcciones. La CPU escribe la dirección de la posición deseada de la memoria en el bus de direcciones accediendo a la memoria, teniendo cada una de las lÃneas carácter binario. Es decir solo pueden representar 0 o 1 y de esta manera forman conjuntamente el numero de la posición dentro de la memoria (es decir: la dirección). Cuanto mas lÃneas haya disponibles, mayor es la dirección máxima y mayor es la memoria a la cual puede dirigirse de esta forma. En el bus de direcciones original habÃan ya 20 direcciones, ya que con 20 bits se puede dirigir a una memoria de 1 MB y esto era exactamente lo que correspondÃa a la CPU.
Esto que en le teorÃa parece tan fácil es bastante mas complicado en la práctica, ya que aparte de los bus de datos y de direcciones existen también casi dos docenas más de lÃneas de señal en la comunicación entre la CPU y la memoria, a las cuales también se acude. Todas las tarjetas del bus escuchan, y se tendrá que encontrar en primer lugar una tarjeta que mediante el envÃo de una señal adecuada indique a la CPU que es responsable de la dirección que se ha introducido. Las demás tarjetas se despreocupan del resto de la comunicación y quedan a la espera del próximo ciclo de transporte de datos que quizás les incumba a ellas.
PROCESADOR | Bus de direcciones | Bus de datos |
8086 | 20 | 16 |
8088 | 20 | 8 |
80186 | 20 | 16 |
80188 | 20 | 8 |
80286 | 24 | 16 |
80386 SX | 32 | 16 |
80386 DX | 32 | 32 |
80486 DX | 32 | 32 |
80486 SX | 32 | 32 |
PENTIUM | 32 | 64 |
PENTIUM PRO | 32 | 64 |
Este mismo concepto es también la razón por la cual al utilizar tarjetas de ampliación en un PC surgen problemas una y otra vez, si hay dos tarjetas que reclaman para ellas el mismo campo de dirección o campos de dirección que se solapan entre ellos.
Los datos en si no se mandan al bus de direcciones sino al bus de datos. El bus XT tenÃa solo 8 bits con lo cual sólo podÃa transportar 1 byte a la vez. Si la CPU querÃa depositar el contenido de un registro de 16 bits o por valor de 16 bits, tenÃa que desdoblarlos en dos bytes y efectuar la transferencia de datos uno detrás de otro.
De todas maneras para los fabricantes de tarjetas de ampliación, cuyos productos deben atenderse a este protocolo, es de una importancia básica la regulación del tiempo de las señales del bus, para poder trabajar de forma inmejorable con el PC. Pero precisamente este protocolo no ha sido nunca publicado por lBM con lo que se obliga a los fabricantes a medir las señales con la ayuda de tarjetas ya existentes e imitarlas. Por lo tanto no es de extrañar que se pusieran en juego tolerancias que dejaron algunas tarjetas totalmente eliminadas.
Bus de direcciones
Es utilizado por el microprocesador para señalar la celda de memoria (o el dispositivo de E/S) con el que se quiere operar. El tipo de operación será de lectura o de escritura y los datos implicados viajarán por el bus de datos.
Por él circula la expresión binaria de la dirección de memoria a la cual el microprocesador quiere acceder. Tiene sentido de flujo unidireccional desde el microprocesador hacia la memoria. Una vez localizados los datos perdidos, su transmisión hacia el microprocesador (o hacia donde sea) se hará a través del bus de datos.
Los dispositivos de E/S intercambian la información con el microprocesador mediante los puertos de E/S. Cada puerto está asociado con un determinado dispositivo y tiene una dirección que lo identifica.
El ancho de este bus también es una medida de la potencia del microprocesador, ya que determina la cantidad de memoria a la que éste puede acceder, es decir, la cantidad de espacio direccionable. El espacio de direcciones es el rango de valores distintos que el microprocesador puede seleccionar. La cantidad máxima de direcciones disponibles será 2 a la n, siendo n el número de lÃneas del bus de direcciones.
Tipos de bus
Existen dos grandes tipos clasificados por el método de envÃo de la información: bus paralelo o bus serie.
Hay diferencias en el desempeño y hasta hace unos años se consideraba que el uso apropiado dependÃa de la longitud fÃsica de la conexión: para cortas distancias el bus paralelo, para largas el serial.
Bus paralelo
Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias lÃneas que tienen funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia de funcionamiento. En los computadores ha sido usado de manera intensiva, desde el bus del procesador, los buses de discos duros, tarjetas de expansión y de vÃdeo, hasta las impresoras.
El Front Side Bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones en lÃneas dedicadas:
- Las LÃneas de Dirección son las encargadas de indicar la posición de memoria o el dispositivo con el que se desea establecer comunicación.
- Las LÃneas de Control son las encargadas de enviar señales de arbitraje entre los dispositivos. Entre las más importantes están las lÃneas de interrupción, DMA y los indicadores de estado.
- Las LÃneas de Datos trasmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.
Un bus paralelo tiene conexiones fÃsicas complejas, pero la lógica es sencilla, que lo hace útil en sistemas con poco poder de cómputo. En los primeros microcomputadores, el bus era simplemente la extensión del bus del procesador y los demás integrados "escuchan" las lÃnea de direcciones, en espera de recibir instrucciones. En el PC IBM original, el diseño del bus fue determinante a la hora de elegir un procesador con I/O de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque era posible usar hardware diseñado para otros procesadores, abaratando el producto.
Bus serie
En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas de software. Está formado por pocos conductores y su ancho de banda depende de la frecuencia. Es usado desde hace menos de 10 años en buses para discos duros, unidades de estado sólido, tarjetas de expansión y para el bus del procesador.
No hay comentarios:
Publicar un comentario