En arquitectura de
computadores, el bus (o canal) es un sistema digital que transfiere datos entre
los componentes de unacomputadora o entre computadoras. Está formado por cables
o pistas en un circuito impreso, dispositivos como resistores ycondensadores
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 es hacia uso de buses seriales como el USB, Firewire para comunicaciones
con periféricosreemplazando los buses paralelos, incluyendo 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 bus que definen 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.
Los buses definen su
capacidad de acuerdo a la frecuencia máxima de envío y al ancho de los datos.
Por lo general estos valores son inversamente proporcionales: si se tiene una
alta frecuencia, el ancho de datos debe ser pequeño. Esto se debe a que la
interferencia entre las señales (crosstalk) y la dificultad de sincronizarlas,
crecen con la frecuencia, de manera que un bus con pocas señales es menos
susceptible a esos problemas y puede funcionar a alta velocidad.
Todos los buses de
computador tienen funciones especiales como las interrupciones y las DMA que
permiten que un dispositivo periférico acceda a una CPU o a la memoria usando
el mínimo de recursos.
[editar]Primera generación
Bus Backplane del PDP-11
junto con algunas tarjetas.
Los primeros computadores
tenían 2 sistemas de buses, uno para la memoria y otro para los demás
dispositivos. La CPU tenía que acceder a dos sistemas con instrucciones para
cada uno, protocolos y sincronizaciones diferentes.
La empresa DEC notó que el
uso de dos buses no era necesario si se combinaban las direcciones de memoria
con las de los periféricos en un solo espacio de memoria (mapeo), de manera que
la arquitectura se simplificaba ahorrando costos de fabricación en equipos
fabricados en masa, como eran los primeros minicomputadores.
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 arbitro 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.1
[editar]Segunda generación
Jerarquía de diversos buses
en un equipo relativamente moderno: SATA, FSB, AGP, USB entre otros.
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.
[editar]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.
No hay comentarios:
Publicar un comentario