BUS (INFORMÁTICA)
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
varias 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 hacía 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 recursos.
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 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.
Buses: de control, de
direcciones y de datos
Diagrama de bus backplane como
extensión del bus del microprocesador donde se grafican los buses de direcciones, de datos, y de control, que
van desde la CPU a la RAM, ROM, E/S y otros.
Bus de control
El bus de control gobierna el
uso y acceso a las líneas de datos y de direcciones. Como éstas
líneas están compartidas por todos los componentes, tiene que proveerse de determinados
mecanismos que controlen su utilización. Las señales de control transmiten
tanto órdenes como información de temporización entre los módulos. Mejor dicho,
es el que permite que no haya colisión de información en el sistema.
Bus de direcciones
El bus de direcciones es un
canal del microprocesador totalmente independiente del bus de
datos donde se establece la
dirección de memoria del dato en tránsito.
El bus de dirección consiste
en el conjunto de líneas eléctricas necesarias para establecer una dirección.
La capacidad de la memoria que se puede direccionar depende de la cantidad de
bits que conforman el bus de direcciones, siendo 2n el tamaño máximo en bits
del banco de memoria que se podrá direccionar con n líneas. Por ejemplo, para
direccionar una memoria de 256 bits, son necesarias al menos 8 líneas, pues 28
= 256. Adicionalmente pueden ser necesarias líneas de control para señalar
cuando la dirección está disponible en el bus. Esto depende del diseño del
propio bus.
Las direcciones de memoria
Las direcciones son números
naturales (en hexadecimal) que
indican la posición de los datos dentro de la memoria
principal o del espacio de direcciones
de la unidad de entrada/salida. Las direcciones son generadas por la CPU que es
quien decide a qué dato se debe acceder en cada momento.
Bus
de datos
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 esté realizando ( lectura o 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 (systemclock). 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.
Buses
multiplexados
Algunos diseños utilizan
líneas eléctricas multiplexadas para el bus de direcciones y el bus de datos.
Esto significa que un mismo conjunto de líneas eléctricas se comportan unas
veces como bus de direcciones y otras veces como bus de datos,
pero nunca al mismo tiempo. Una línea de control permite discernir cuál de las
dos funciones está activa.
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 o 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 o 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 caracterpor cada pulsación de reloj que
controla el bus (bus clock), el cual deriva sus pulsaciones del reloj del
sistema (systemclock). 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 TECNOLOGÍA
¿Qué son los Buses?
Un bus se puede definir como
una línea de interconexión portadora de información, constituida por varios
hilos conductores (en sentido físico) o varios canales (en sentido de la
lógica), por cada una de las cuales se transporta un bit de información. El
número de líneas que forman los buses (ancho del bus) es fundamental: Si un bus
está compuesto por 16 líneas, podrá enviar 16 bits al mismo tiempo.
Los buses interconexionan toda la circuitería
interna.
Es decir, los distintos subsistemas del
ordenador intercambian datos gracias a los buses.
Podemos clasificar a los buses, según el
criterio de su situación física:
Buses internos
Buses Externos
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 esta
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 Buses
La placa madre es la tarjeta
más grande que se puede visualizar dentro de una PC y la más importante, ya que
la misma contiene todo el circuito lógico principal para que funcione, además
de alojar el procesador y otros componentes de suma importancia.
Dentro de esta placa los buses
de datos comúnmente llamadas ranuras de expansión ocupan gran parte de la
misma. Estas ranuras indican la denominada arquitectura de sistema.
Los buses de datos sirven para
instalar las placas controladoras que realizan funciones específicas, como por
ejemplo, la tarjeta de video, controladora de disco, placa de sonido, etc.
A través de estos buses
circulan datos y direcciones que serán tratados por los dispositivos y el
procesador de acuerdo a un régimen de llamadas o interrupciones que indican
desde donde provienen los datos o hacia donde deben viajar.
Buses ISA:
Las siglassignifican
INDUSTRY STANDARD ARQUITECTURE.
Las primeras computadoras
personales estaban equipadas con ranuras de 8 bits, que para la velocidad de
aquellos procesadores eran suficientes. Actualmente son lentas para los
procesadores que existen.
Buses MCA:
A medida que los procesadores
aumentaron su velocidad, los buses ISA debieron mantener su velocidad para
permanecer dentro del estándar, desaprovechando los mayores rendimientos de
procesadores y dispositivos.
IBM desarrolló la denominada
ARQUITECTURA DE BUS MICROCANAL (MCA). Basada enranuras de expansión 32 bits,
introdujo cambios de diseño y nuevos conceptos de gestión y funcionamiento del
bus.
El bus MCA es totalmente
incompatible con los demás y de uso exclusivo de IBM. Por ello,quedó
prácticamente en desuso.
Buses EISA:
Las siglassignifican
EXTENDED INDUSTRY STANDARD ARQUITECTURE.
Arquitectura estándar
industrial extendida. Tiene características de la ISA en cuanto a su
compatibilidad pero con la velocidad de MCA es decir, 32 bits.
Buses VESA:
Las ranuras VESA (VIDEO
ELECTRONICA STANDARD ASOCIATION) son una extensión deISA. Incluye toda la
tecnología de EISA, funcionan al ritmo del microprocesador y permiten la
transferencia de datos sin necesidad de que estos intervengan permitiendo
procesos mucho más rápidos y dejando mayor tiempo libre al microprocesador
central. Si bien esta característica lo hace más rápido, lo complejo de su
coxionado límite, la cantidad de 2 o 3 ranuras solamente.
Buses PCI:
Las siglas significan
PERIPHERICAL COMPONENT INTERCONECT.Interconexión a componentes perimetrales. Es
de características similares a VESA, pero sedistingue porque la conexión del
bus con el microprocesador se efectúa por intermedio de unchip adicional que
simplifica y suprime las limitaciones de la conexión directa.
Permite hasta 10 ranuras de
expansión simultáneas pero direccionables, es decir, no es lomismo colocar una
placa PCI en cualquier ranura, deben tener un orden determinado.
Bus AGP
Las siglas AGP corresponden a
AdvancedGraphics Port, o Puerto Avanzado de Gráficos. Se trata de un nuevo
sistema para conectar periféricos en la placa base del PC; es decir, es un
nuevo bus por el que van datos del microprocesador al periférico.
Su propio nombre nos define
este nuevo bus: Puerto, puesto que se comunica con el micro de manera más
íntima que otros buses como PCI (a costa de permitir sólo 1 ranura o slot);
Avanzado, como corresponde a una tecnología moderna que pretende superar las
limitaciones del PCI ; y de Gráficos, ya que ha sido diseñado pensando en ese
uso exclusivamente.
El objetivo a la hora de crear
este bus era conseguir una tasa de transferencia de datos micro-tarjeta gráfica
superior a la que ofrece el PCI de 32 bits a 33 MHz, 132 MB/s. Esta tasa
resulta suficiente para aplicaciones 2D, pero insuficiente (al menos en teoría)
para las nuevas tarjetas 3D, que deben transmitir varios "megas" de
texturas para obtener el máximo realismo.
CardBus y PC Card (comúnmente
PCMCIA)
Las computadoras portátiles
tienen dos slots para adaptadores de "creditcard". Esta interface fue
llamada "PCMCIA", hoy también se conoce como "PC Card.".
Estos son mucho más pequeños, más caros y más lentos que los ISA y EISA.
En un
portátil cada conector es en sí mismo un dispositivo de I/O.
Para bajar documento completo presione clic aquí.
Para bajar documento completo presione clic aquí.