La familia de
ordenadores PC interconexiona toda la circuiteria de control interna
mediante un diseño
de circuito, conocido con el nombre de bus.
Es el conjunto de líneas (cables) de hardware utilizados para la
transmisión de datos entre los
componentes de un sistema
informático. Un bus es en esencia una ruta compartida que
conecta diferentes partes del sistema como el
procesador, la controladora de unidad de disco, la memoria y
los puertos de entrada, salida, permitiéndoles transmitir
información.
El bus, por lo general supervisado por el microprocesador,
se especializa en el transporte de
diferentes tipos de información.
Por ejemplo, un grupo de
cables (en realidad trazos sobre una placa de circuito impreso)
transporta los datos, otro las direcciones (ubicaciones) en las
que puede encontrarse información específica, y
otro las señales
de control para asegurar que las diferentes partes del sistema
utilizan su ruta compartida sin conflictos.
Los buses se caracterizan por el número de bits
que pueden transmitir en un determinado momento. Un equipo con un
bus de 8 bits de datos, por ejemplo, transmite 8 bits de datos
cada vez, mientras que uno con un bus de 16 bits de datos
transmite 16 bits de datos simultáneamente.
Como el bus es parte integral de la transmisión
interna de datos y como los usuarios suelen tener que
añadir componentes adicionales al sistema, la
mayoría de los buses de los equipos informáticos
pueden ampliarse mediante uno o más zócalos de
expansión (conectores para placas de circuito
añadidas). Al agregarse estas placas permiten la
conexión eléctrica con el bus y se convierten en
parte efectiva del sistema.
El Bus se refiere al camino que recorren los datos desde
una o varias fuentes hacia
uno o varios destinos y es una serie de hilos contiguos. En el
sentido estricto de la palabra, esta definición
sólo se aplica a la interconexión entre el procesador y los
periféricos.
Un bus es simplemente un conjunto compartido de pistas
trazadas en la placa de circuito principal, al que se conectan
todas las partes que controlan y forman el ordenador. Cuando un
dato pasa de un componente a otro, viaja a lo largo de este
camino común para alcanzar su destino. Cada chip de
control y cada byte de memoria del PC
están conectados directa o indirectamente al bus. Cuando
un nuevo componente se inserta en uno de los conectores de
expansión, queda unido directamente al bus,
convirtiéndose en un objeto más de la unidad
completa.
Cualquier información que entra o sale de un
sistema ordenador se almacena temporalmente en al menos una de
las distintas localizaciones que existen a lo largo del bus. La
mayor parte de las veces el dato se sitúa en la memoria
principal, que en la familia PC
está formada por miles de posiciones de memoria de 8 bits.
Pero algún dato puede acabar en un puerto, o registro, durante
unos instantes, mientras espera que la CPU lo
envíe a una posición adecuada.
Generalmente los puertos y registros
almacenan sólo uno o dos bytes de información a la
vez, y se utiliza normalmente como lugares de parada intermedia
para los datos, que se están enviando de un lugar a
otro.
Siempre que se utiliza una posición de memoria, o un
puerto, como lugar de almacenamiento,
su localización está marcada por una dirección que la identifica
individualmente. Cuando el dato está listo para ser
transferido, se transmite primero su dirección de destino
por el bus de direcciones; el dato sigue a la zaga por el bus de
datos.
Por tanto, el bus transporta algo más que datos.
Lleva información de control, tales como las
señales de temporización (del sistema reloj), las
señales de interrupción, así como las
direcciones de las miles de posiciones que forman tanto la
memoria como los dispositivos que están conectados al
bus.
Para diferenciar estas cuatro funciones
diferentes, el bus está dividido en cuatro partes:
líneas de potencia, bus de
control, bus de direcciones y bus de datos.
La información codificada viaja a
través de la computadora
por un bus.
El bus soporta tres tipos principales de
información: un grupo de cables transporta datos, tales
como la letra A codificada; otro grupo lleva la dirección
del componente al que van dirigidos los datos.
Cada componente acepta sólo la información
que va dirigida a él; por ejemplo, la información
enviada a la impresora no
será aceptada de forma inadvertida por la unidad de
disco.
La tercera clase de
información son señales de tiempo, que
sincronizan todo lo que hay conectado al bus para enviar y
recibir mensajes en el instante correcto.
Una PC tiene muchos tipos de buses incluyendo los
siguientes:
- Processor Bus: Es la vía de comunicación entre el CPU y los chip
inmediatos a el, comúnmente llamado chipset en los
sistemas
modernos. Este bus es usado para transferir datos entre el CPU
y bus del sistema principal, por ejemplo, o entre el cpu y la
memoria caché externa. El propósito de processor
bus es conseguir mayor velocidad en
la entrega de la información para y del CPU, este bus
opera a una mayor rapidez que cualquier otro bus en la
PC.
En este bus no existen los cuellos de botellas, el bus
consiste de circuitos
eléctricos para datos, dirección y control.
Este bus opera con la misma velocidad del reloj a como lo hace
el CPU externamente, ya que internamente el CPU puede trabajar
a mayores velocidades.
- Memory Bus: Es usado para transferir
información entre la memoria principal y el CPU. Este
bus es implementado en un chip dedicado, el cual es responsable
de la
comunicación. La información que viaja sobre
el memory bus se hace a una velocidad mas baja que en el
processor bus.
Este bus tiene el mismo ancho que el procesor bus,
esto significa que en un sistema con CPU de 32 bits el memory
bus es de 32 bits, esto definirá el tamaño de lo
que se conoce como banco de
memoria. Los slots para la memoria son conectados en el memory
bus de la misma forma que son conectados los slots de E/S
Bus.
- Address Bus: En los sistemas actuales, este
bus es considerado como parte de los buses del procesador y de
la memoria. Este bus es usado para indicar exactamente que
dirección en memoria o que dirección sobre el bus
de sistema será usada en la operación de
transferir un dato. El tamaño del bus de memoria
controla la cantidad de memoria que el CPU puede direccional
directamente. - I/O Bus: Son los buses que se encargan de la
entrada y salida de los datos en todo el sistema. Las
diferencias entre los tipos de buses que pertenecen a esta
categoría consiste en la cantidad de datos que pueden
transferir a la vez y la velocidad a la que pueden
hacerlo.
Hay tres clases de buses: Bus de Datos, Bus de
Direcciones y Bus de Control. El primero mueve los datos
entre los dispositivos del hardware: de Entrada como el Teclado, el
Escáner, el Ratón, etc.; de salida
como la Impresora, el Monitor o la
tarjeta de Sonido; y de
Almacenamiento como el Disco Duro, el
Diskette o la Memoria-Flash.
Estas transferencias que se dan a través del Bus
de Datos son gobernadas por varios dispositivos y métodos,
de los cuales el Controlador PCI, "Peripheral Component
Interconnect", Interconexión de componentes
Periféricos, es uno de los principales. Su trabajo
equivale, simplificando mucho el asunto, a una central de
semáforos para el tráfico en las calles de una
ciudad.
El Bus de Direcciones, por otra parte, está
vinculado al bloque de Control de la CPU para tomar y colocar
datos en el Sub-sistema de Memoria durante la ejecución de
los procesos de
cómputo,
El Bus de Control transporta señales de estado de las
operaciones
efectuadas por el CPU con las demás unidades.
Una tarjeta-madre tipo ATX tiene tantas pistas
eléctricas destinadas a buses, como anchos sean los
Canales de Buses del Microprocesador de la CPU: 64 para el Bus de
datos y 32 para el Bus de Direcciones.
El "ancho de canal" explica la cantidad de bits que
pueden ser transferidos simultáneamente. Así, el
Bus de datos transfiere 8 bytes a la vez.
Para el Bus de Direcciones, el "ancho de canal" explica
así mismo la cantidad de ubicaciones o Direcciones
diferentes que el microprocesador puede alcanzar. Esa cantidad de
ubicaciones resulta de elevar el 2 a la 32 potencia. "2" porque
son dos las señales binarias, los bits 1 y 0; y "32
potencia" porque las 32 pistas del Bus de Direcciones son, en un
instante dado, un conjunto de 32 bits.
Así, el Canal de Direcciones del Microprocesador
para una PC-ATX puede "direccionar" más de 4 mil millones
de combinaciones diferentes para el conjunto de 32 bits de su
Bus.
Para funcionar, el hardware necesita unas conexiones
materiales que
permitan a los componentes comunicarse entre sí e
interaccionar. Un bus constituye un sistema común
interconectado, compuesto por un grupo de cables o circuitos que
coordina y transporta información entre las partes
internas de la
computadora.
El bus de una computadora consta de dos canales: uno que
la CPU emplea para localizar datos, llamado bus de direcciones, y
otro que se utiliza para enviar datos a una dirección
determinada, llamado bus de datos. Un bus se caracteriza por dos
propiedades: la cantidad de información que puede
manipular simultáneamente (la llamada 'anchura de bus') y
la rapidez con que puede transferir dichos datos.
Una conexión en serie es un cable o grupo de
cables utilizado para transferir información entre la CPU
y un dispositivo externo como un mouse, un
teclado, un módem, un digitalizador y algunos tipos de
impresora.
Este tipo de conexión sólo transfiere un
dato de cada vez, por lo que resulta lento. La ventaja de una
conexión en serie es que resulta eficaz a distancias
largas.
Una conexión en paralelo utiliza varios grupos de cables
para transferir simultáneamente más de un bloque de
información.
La mayoría de los digitalizadores e impresoras
emplean este tipo de conexión. Las conexiones en paralelo
son mucho más rápidas que las conexiones en serie,
pero están limitadas a distancias menores de 3 m entre la
CPU y el dispositivo externo.
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 número de la posición
dentro de la memoria (es decir: la dirección).
Cuanto más 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 | Bus de |
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
eliminada.
Otro uso importante del bus es el manejo de
interrupciones. Cuando la CPU instruye algún dispositivo
de E/S para que haga algo, por lo general espera una
interrupción cuando termina el trabajo. La
señal de interrupción indica que requiere del
bus.
Aquí se presenta el mismo tipo de problema que
con los ciclos del bus ordinario, ya que es posible que varios
dispositivos quieran enviar una interrupción al mismo
tiempo. La solución usual es asignar prioridades a los
dispositivos, y usar un arbitro centralizado para dar prioridad a
aquellos que tengan los tiempos mas críticos.
Valente Cuadra