jueves, 16 de octubre de 2008

Buses

Introducción al concepto de bus

Se denomina bus, en informática, al conjunto de conexiones físicas (cables, placa de circuito impreso, etc.) que pueden compartirse con múltiples componentes de hardware para que se comuniquen entre sí.

El propósito de los buses es reducir el número de rutas necesarias para la comunicación entre los distintos componentes, al realizar las comunicaciones a través de un solo canal de datos. Ésta es la razón por la que, a veces, se utiliza la metáfora "autopista de datos".


Front Side Bus

Front Side Bus o su acrónimo FSB (traducido "Bus de la parte frontal"), es el término usado para referirse al bus de datos bidireccional que dispone la CPU para comunicarse con el northbridge. La máxima velocidad teórica del FSB está determinada por su ancho de banda (que puede ser distinto de un sistema a otro) y la velocidad del reloj del chipset. Por ejemplo, un FSB de 32 bits de ancho de banda funcionando a 100MHz ofrece un máximo de 1600 MB/s aproximadamente, teniendo en cuenta los clock ticks.

Algunos ordenadores tienen una Memoria Caché L2 o L3 externa a la propia CPU conectados mediante un back side bus (Bus trasero o bus de la parte de atrás). Este bus y la memoria Caché conectada a él es más rápida que el acceso a la Memoria RAM por el FSB.

Historia y futuro

El FSB empezó a formar parte de la arquitectura de computadoras estándar desde que las aplicaciones requieren más memoria de la que el procesador podría retener.

Los más modernos FSB se utilizan a modo de conexión exclusiva principal entre la CPU y el Chipset. Éste chipset (generalmente compuesto por el trabajo en conjunto del northbridge y el southbridge) es el encargado de interconectar el resto de buses del sistema. Los buses como PCI, AGP, y buses de memoria se comunican con el chipset para permitir el correcto flujo de datos entre los diferentes dispositivos. Generalmente estos buses secundarios funcionan a una velocidad derivada de la velocidad del FSB.

Pese a la solución que dio al problema, siempre se ha pensado en que el FSB debería ser una tecnología con tendencia a desaparecer. Empresas como AMD siempre han criticado el FSB, ya que limita mucho las capacidades reales de un sistema generando mucha latencia y un tiempo de respuesta mayor, creando un auténtico cuello de botella para el resto de dispositivos. No fue hasta 2001 y la aparición de la tecnología Hypertransport cuando se pudo diseñar una tecnología capaz de suplantar el uso del FSB. Actualmente empresas fabricantes de chipsets como NVIDIA, SiS ó VIA Technologies, ya han comenzado a eliminar el uso del FSB sustituyéndolo con la versión 3.0 de HyperTransporting.

Características de un bus

Un bus se caracteriza por la cantidad de información que se transmite en forma simultánea. Este volumen se expresa en bits y corresponde al número de líneas físicas mediante las cuales se envía la información en forma simultánea. Un cable plano de 32 hilos permite la transmisión de 32 bits en paralelo. El término "ancho" se utiliza para designar el número de bits que un bus puede transmitir simultáneamente.

Por otra parte, la velocidad del bus se define a través de su frecuencia (que se expresa en Hercios o Hertz), es decir el número de paquetes de datos que pueden ser enviados o recibidos por segundo. Cada vez que se envían o reciben estos datos podemos hablar de ciclo.

De esta manera, es posible hallar la velocidad de transferencia máxima del bus (la cantidad de datos que puede transportar por unidad de tiempo) al multiplicar su ancho por la frecuencia. Por lo tanto, un bus con un ancho de 16 bits y una frecuencia de 133 MHz, tiene una velocidad de transferencia de:

16 * 133.106 = 2128*106 bit/s, o 2128*106/8 = 266*106 bytes/s o 266*106 /1000 = 266*103 KB/s o 259.7*103 /1000 = 266 MB/s


Subconjunto de un bus
En realidad, cada bus se halla generalmente constituido por entre 50 y 100 líneas físicas distintas que se dividen a su vez en tres subconjuntos:
  • El bus de direcciones, (también conocido como bus de memoria) transporta las direcciones de memoria al que el procesador desea acceder, para leer o escribir datos. Se trata de un bus unidireccional.
  • El bus de datos transfiere tanto las instrucciones que provienen del procesador como las que se dirigen hacia él. Se trata de un bus bidireccional.
  • El bus de control (en ocasiones denominado bus de comando) transporta las órdenes y las señales de sincronización que provienen de la unidad de control y viajan hacia los distintos componentes de hardware. Se trata de un bus bidireccional en la medida en que también transmite señales de respuesta del hardware.
Los buses principales

Por lo general, dentro de un equipo, se distinguen dos buses principales:
  • el bus interno o sistema (que también se conoce como bus frontal o FSB). El bus interno permite al procesador comunicarse con la memoria central del sistema (la memoria RAM).
  • el bus de expansión (llamado algunas veces bus de entrada/salida) permite a diversos componentes de la placa madre (USB, puerto serial o paralelo, tarjetas insertadas en conectores PCI, discos duros, unidades de CD-ROM y CD-RW, etc.) comunicarse entre sí. Sin embargo, permite principalmente agregar nuevos dispositivos por medio de las ranuras de expansión que están a su vez conectadas al bus de entrada/salida.
El conjunto de chips

El conjunto de chips es el componente que envía datos entre los distintos buses del equipo para que todos los componentes que forman el equipo puedan a su vez comunicarse entre sí. Originalmente, el conjunto de chips estaba compuesto por un gran número de chips electrónicos (de allí su nombre). Por lo general, presenta dos componentes:
  • El Puente Norte (que también se conoce como controlador de memoria, se encarga de controlar las transferencias entre el procesador y la memoria RAM. Se encuentra ubicado físicamente cerca del procesador. También se lo conoce como GMCH que significa Concentrador de controladores gráficos y de memoria.
  • El Puente Sur (también denominado controlador de entrada/salida o controlador de expansión) administra las comunicaciones entre los distintos dispositivos periféricos de entrada-salida. También se lo conoce como ICH (Concentrador controlador de E/S).
Por lo general, se utiliza el término puente para designar un componente de interconexión entre dos buses.



Es interesante tener en cuenta que para que dos buses se comuniquen entre si, deben poseer el mismo ancho. Esto explica por qué los módulos de memoria RAM a veces deben instalarse en pares (por ejemplo, los primeros chips Pentium que tenían buses de procesador de 64 bits, necesitaban dos módulos de memoria con un ancho de 32 bits cada uno).

A continuación encontrará una tabla con las especificaciones relativas a los buses más comunes:

NormaAncho del bus (bits)Velocidad del bus (MHz)Ancho de banda (MB/seg.)
ISA 8 bits88,37,9
ISA 16 bits168,315,9
Arquitectura estándar industrial extendida (EISA, Extended Industry Standard Architecture)328,331,8
Bus local VESA (VESA Local Bus)3233127,2
PCI 32 bits3233127,2
PCI 64 bits 2,16466508,6
AGP3266254,3
AGP (Modo x2)3266x2528
AGP (Modo x4)3266x41056
AGP (Modo x8)3266x82112
ATA33163333
ATA1001650100
ATA1331666133
ATA serial (S-ATA, Serial ATA)1
180
ATA serial II (S-ATA2, Serial ATA II)2
380
USB1
1,5
USB 2,01
60
FireWire1
100
FireWire 21
200
SCSI-184,775
SCSI-2 - Fast81010
SCSI-2 - Wide161020
SCSI-2 - Fast Wide 32 bits321040
SCSI-3 - Ultra82020
SCSI-3 - Ultra Wide162040
SCSI-3 – Ultra 284040
SCSI-3 - Ultra 2 Wide164080
SCSI-3 - Ultra 160 (Ultra 3)1680160
SCSI-3 - Ultra 320 (Ultra 4)1680 DDR320
SCSI-3 - Ultra 640 (Ultra 5)1680 QDR640

No hay comentarios: