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.
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 recurso
TIPOS DE BUSES POR SU USO
Bus de Direcciones:
Este es un bus unidireccional debido a que la información fluye es una sola
dirección, de la CPU a la memoria ó a los elementos de entrada y salida. La CPU
sola puede colocar niveles lógicos en las n líneas de dirección, con la cual se
genera 2n posibles direcciones diferentes. Cada una de estas direcciones
corresponde a una localidad de la memoria ó dispositivo de E / S.
Los microprocesadores 8086 y 8088 usados
en los primeros computadores personales (PC) podían direccionar hasta 1
megabyte de memoria (1.048.576 bytes). Es necesario contar con 20 líneas de
dirección. Para poder manejar más de 1 megabyte de memoria , en los
computadores AT (con procesadores 80286) se utilizó un bus de direcciones de 24
bits, permitiendo así direccionar hasta 16 MB de memoria RAM (16.777.216
bytes). En la actualidad los procesadores 80386DX pueden direccionar
directamente 4 gigabytes de memoria principal y el procesador 80486DX hasta 64
GB.
Bus de Datos: Este es un bus
bidireccional, pues los datos pueden fluir hacia ó desde la CPU. Los m
terminales de la CPU, de D0 - Dm-1 , pueden ser entradas ó salidas, según la
operación que se este realizando ( lectura ó escritura ) . en todos los casos,
las palabras de datos transmitidas tiene m bits de longitud debido a que la CPU
maneja palabras de datos de m bits; del número de bits del bus de datos,
depende la clasificación del microprocesador.
En algunos
microprocesadores, el bus de datos se usa para transmitir otra información
además de los datos ( por ejemplo, bits de dirección ó información de
condiciones ). Es decir, el bus de datos es compartido en el tiempo ó
multiplexado. En general se adoptó 8 bits como ancho estándar para el bus de
datos de los primeros computadores PC y XT. Usualmente el computador transmite
un caracter por cada pulsación de reloj que controla el bus (bus clock), el
cual deriva sus pulsaciones del reloj del sistema (system clock). Algunos
computadores lentos necesitan hasta dos pulsaciones de reloj para transmitir un
caracter.
Los computadores con
procesador 80286 usan un bus de datos de 16 bits de ancho, lo cual permite la
comunicación de dos caracteres o bytes a la vez por cada pulsación de reloj en
el bus. Los procesadores 80386 y 80486 usan buses de 32 bits. El PENTIUM de
Intel utiliza bus externo de datos de 64 bits, y uno de 32 bits interno en el
microprocesador.
Bus de Control:
Este conjunto de señales se usa para sincronizar las actividades y
transacciones con los periféricos del sistema. Algunas de estas señales, como R
/ W , son señales que la CPU envía para indicar que tipo de operación se espera
en ese momento. Los periféricos también pueden remitir señales de control a la
CPU, como son INT, RESET, BUS RQ. Las señales más importantes en el bus de
control son las señales de cronómetro, que generan los intervalos de tiempo
durante los cuales se realizan las operaciones. Este tipo de señales depende
directamente del tipo del microprocesador.
TIPOS DE BUSES POR SU
TECNOLOGIA
Podemos clasificar a
los buses, según el criterio de su situación física:
Bus Interno:
Este mueve datos entre los componentes internos del microprocesador.
Todas las partes del microprocesador están unidas mediante diversas líneas
eléctricas. El conjunto de estas líneas se denominan bus interno del
microprocesador. Por este bus interno circulan los datos (bus de datos), las
señales de control (bus de control) o las direcciones de memoria (bus de
direcciones). Cuando se habla de un microprocesador de 32 bits, se está
diciendo que el número de líneas del bus interno es de 32.
El bus interno puede compararse a los
vasos sanguíneos del cuerpo humano. Así, por las diferentes líneas fluye la
información, llegando o abandonando los registros y las memorias.
Bus Externo: Este se utiliza para
comunicar el micro y otras partes, como periféricos y memoria.
TIPOS DE BUS SEGUN EL ENVIO DE INFORMACIÓN
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. 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.