En arquitectura de computadores, el bus (o canal) es un sistema digital que transfiere datos entre los componentes de una computadora o entre computadoras. Está formado por cables o pistas en un circuito impreso, dispositivos como resistores y condensadores además de circuitos integrados. En los primeros computadores electrónicos, todos los buses eran de
tipo paralelo, de manera que la comunicación entre las partes del
computador se hacía por medio de cintas o muchas pistas en el circuito
impreso, en los cuales cada conductor tiene una función fija y la
conexión es sencilla requiriendo únicamente puertos de entrada y de
salida para cada dispositivo.
La tendencia en los últimos años se hacia uso de buses seriales como el USB, Firewire para comunicaciones con periféricos reemplazando los buses paralelos, incluyendo el caso como el del microprocesador con el chipset en la placa base.
Esto a pesar de que el bus serial posee una lógica compleja
(requiriendo mayor poder de cómputo que el bus paralelo) a cambio de
velocidades y eficacias mayores. Existen diversas especificaciones de que un bus se define en un
conjunto de características mecánicas como conectores, cables y
tarjetas, además de protocolos eléctricos y de señales.
Funcionamiento
La función del bus es la de permitir la conexión lógica entre
distintos subsistemas de un sistema digital, enviando datos entre
dispositivos de distintos órdenes: desde dentro de los mismos circuitos
integrados, hasta equipos digitales completos que forman parte de
supercomputadoras. La mayoría de los buses están basados en conductores metálicos por los cuales se trasmiten señales
eléctricas que son enviadas y recibidas con la ayuda de integrados que
poseen una interfaz del bus dado y se encargan de manejar las señales y
entregarlas como datos útiles. Las señales digitales que se trasmiten son de datos, de direcciones o señales de control.
Primera generación
Los primeros microcomputadores se basaban en la conexión de varias tarjetas de circuito impreso a un bus Backplane pasivo que servía de eje al sistema. En ese bus se conectaba la tarjeta de PU
que realiza las funciones de árbitro de las comunicaciones con las
demás tarjetas de dispositivo conectadas; las tarjetas incluían la
memoria, controladoras de diskette y disco, adaptadores de vídeo. La CPU
escribía o leía los datos apuntando a la dirección que tuviera el
dispositivo buscado en el espacio único de direcciones haciendo que la
información fluyera a través del bus principal. Entre las implementaciones más conocidas, están los buses Bus S-100 y el Bus ISA usados en varios microcomputadores de los años 70 y 80. En ambos, el bus era simplemente una extensión del bus del procesador de manera que funcionaba a la misma frecuencia. Por ejemplo en los sistemas con procesador Intel 80286 el bus ISA tenía 6 u 8 megahercios de frecuencia dependiendo del procesador.
Segunda generación
El hecho de que el bus fuera pasivo y que usara la CPU como control,
representaba varios problemas para la ampliación y modernización de
cualquier sistema con esa arquitectura. Además que la CPU utilizaba una
parte considerable de su potencia en controlar el bus. Desde que los procesadores empezaron a funcionar con frecuencias más
altas, se hizo necesario jerarquizar los buses de acuerdo a su
frecuencia: se creó el concepto de bus de sistema (conexión entre el
procesador y la RAM) y de buses de expansión, haciendo necesario el uso de un chipset.
El bus ISA utilizado como backplane en el PC
IBM original pasó de ser un bus de sistema a uno de expansión, dejando
su arbitraje a un integrado del chipset e implementando un bus a una
frecuencia más alta para conectar la memoria con el procesador. En cambio, el bus Nubus era independiente desde su creación, tenía un
controlador propio y presentaba una interfaz estándar al resto del
sistema, permitiendo su inclusión en diferentes arquitecturas. Fue usado
en diversos equipos, incluyendo algunos de Apple y se caracterizaba por tener un ancho de 32 bits y algunas capacidades Plug and Play
(autoconfiguración), que lo hacían muy versátil y adelantado a su
tiempo. Entre otros ejemplos de estos buses autónomos, están el AGP y el bus PCI.
Tercera generación
Los buses de tercera generación se caracterizan por tener conexiones
punto a punto, a diferencia de los buses arriba nombrados en los que se
comparten señales de reloj. Esto se logra reduciendo fuertemente el
número de conexiones que presenta cada dispositivo usando interfaces
seriales. Entonces cada dispositivo puede negociar las características
de enlace al inicio de la conexión y en algunos casos de manera
dinámica, al igual que sucede en las redes de comunicaciones. Entre los
ejemplos más notables, están los buses PCI-Express, el Infiniband y el HyperTransport.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 transmiten 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