Buses de comunicación en un circuito impreso.
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.
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.
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 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.
Primera generación
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 á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.
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.
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.
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.
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.
Bus serial
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.
PARALELOS |
No hay comentarios:
Publicar un comentario