Vistas de página en total

martes, 20 de marzo de 2012

Buses

Parte 1
Los ordenadores requieren el manejo de una gran cantidad de información. Para poder transmitirla entre los diversos componentes son necesarios unos caminos por los cuales pueda fluir con la mayor soltura posible. Estos “caminos” se denominan Buses. En realidad son circuitería interna de la placa base que permite el envío de datos entre los distintos componentes y que define en gran medida la velocidad del ordenador en sí, ya que cuanto más rápido envíe esos datos, mayores operaciones podrá realizar por segundo.
Bits de trabajo
La cantidad de datos posible a transmitir depende del número de bits que puedan manejar de una sola vez. Antiguamente sabemos que los ordenadores y equipos informáticos trabajaban con un máximo de 8 bits de forma simultánea; posteriormente aparecieron los ordenadores de 16 bits, actualmente muy extendidos los de 32 bits y cada día son más populares los sistemas de 64 bits, es decir que los Buses pueden transmitir bloques de datos de 64 bits cada uno.
Tipos de Buses
En general podemos hablar de 3 tipos de buses:
El Bus de direcciones: se encarga de transmitir la información ordenada desde el procesador (al cual está conectado directamente) a cualquier otro componente como la memoria o el disco duro.
El Bus de control: transporta información acerca del estado de las diferentes operaciones que el procesador está realizando, lo que permite que todos los paquetes de información lleguen en el orden adecuado para ser interpretados de la forma correcta.
El Bus de datos: interconecta todos los dispositivos que tenemos en nuestro PC con el procesador del sistema, como por ejemplo la memoria, tarjeta gráfica, discos duros, ratón, monitor,…  También conocemos de manera más popular los conocidos como Buses de Expansión (ver imagen), es decir, los conectores físicos donde se insertan las tarjetas (como la gráfica, ya sea PCI, AGP o PCI Express).
Por lo general se pueden distinguir dos tipos de Buses de datos: el FSB (Front Side Bus) y el BSB (Back Side Bus). Veamos en qué consiste cada uno.
Front Side Bus
(Bus de la Parte Frontal). Es un Bus de Datos mediante el cual están conectados la mayoría de los dispositivos de un ordenador o equipo informático, como la RAM, periféricos externos, etc. Este Bus a su vez está conectado con diferentes puertos y controladores como aquellos que permiten la transmisión de datos provenientes del disco duro, DVD, CD,…
Back Side Bus
(Bus de la Parte de Atrás). Únicamente existe en ordenadores con memoria caché para el procesador (del tipo L2 o L3) y es el Bus que interconecta el procesador con este tipo de memoria, mucho más rápida que la memoria RAM convencional. Se trata de una mejora sustancial con respecto al FSB mucho más antiguo, ya que el BSB empezó a implementarse en sistemas Pentium Pro y Pentium II. Debido a estas características de velocidad, la transmisión de datos que circula entre la memoria caché y el procesador se suele llevar a cabo a una velocidad de reloj mucho más rápida que la del resto del sistema y por supuesto, que la del FSB. Esto permite que las operaciones de cálculo que el procesador necesita realizar se realicen sin formar los conocidos “cuellos de botella” ya que no tiene que depender de la memoria RAM convencional para realizarlos, si no que usa un “atajo” (el BSB) para llegar a una memoria mucho más rápida.
El chipset de una placa base
Es el guardia, el policía que gobierna el flujo de datos por los Buses y suele estar formado por dos componentes denominados “Northbridge” (puente norte) y “Southbridge” (puente sur). Como era de esperar, todas las conexiones que deben ser más rápidas van conectadas al Northbridge y las que no requieren una velocidad muy elevada van al Southbridge.
Northbridge
¿Qué componentes son los que requieren una velocidad muy alta de comunicación con el procesador? aquellos que son esenciales para la transmisión interna muchos datos de forma simultánea. Una tarjeta gráfica tiene que mover una cantidad enorme de datos para poder mostrar, por ejemplo, a los juegos de última generación en movimiento, con todas esas sombras, luces, nieblas, transparencias, polígonos… (ver imagen). Si esta tarjeta estuviera conectada al Southbridge, el proceso de cálculo sería mucho más lento, porque los datos le llegarían al procesador con “cuentagotas”. Los dos Buses de Expansión que están conectados al Northbridge son el AGP y el PCI Express, precisamente los que controlan los gráficos del PC.
Otro componente que no podría estar conectado a otro sitio es la memoria RAM del sistema, que aunque más lenta que la caché que comentábamos antes, necesita una vía directa con el procesador para permitir el intercambio de información lo más rápido posible.

Ejemplo de tarjeta aceleradora de gráficos en conexión AGP o PCI Express
Una de las preguntas que mucha gente nos hace con respecto a la caché y la RAM es: Si la caché es más rápida ¿por qué no se usa siempre memoria caché en los PC y dejamos de usar la RAM convencional?. La respuesta es la de siempre, problemas de dinero. La caché es muy cara y subiría mucho los precios de un equipo informático. Por eso se usa una caché relativamente pequeña (256 Kb más o menos) que permita almacenar y enviar datos rápidamente cuando sea necesario y el resto de operaciones en las que se necesite memoria, usamos la RAM, mucho más barata.
Southbridge
Los componentes conectados a este lado del chipset son los antiguos Buses de Expansión PCI o PCI Express 1x, USB, Firewire, Red, Teclados, Ratón, puertos Serie y Paralelo, SCSI, IDE y en general todos los que no vayan conectados al Northbridge que ya hemos visto antes.
A continuación podemos ver de forma gráfica lo que hemos explicado en los párrafos anteriores.
Viendo esta imagen podemos apreciar lo que hemos aprendido hasta ahora. En la parte superior se encuentra el procesador (en este caso un Pentium 4) conectado directamente al Northbridge del chipset (Memory Controller Hub), que va directamente al Slot o Bus de Expansión del tipo AGP (de velocidad 4x) y también tiene conexiones con la memoria RAM convencional del tipo RDRAM. Si nos dirigimos más abajo, hacia el Southbridge del chipset (I/O Controller) vemos que están los Buses de Expansión PCI, los puertos USB, el conector de red 10/100 Ethernet, los discos duros y otros periféricos.
Parte 2
Historia de los Buses de datos
Un repaso rápido por la vida de los Buses puede ayudarnos a entender cual es la situación que tenemos hoy.
Inicialmente los principales desarrolladores de equipos informáticos, a finales de la década de los 70 desarrollaron Buses capaces de trabajar con 8 bits de forma simultánea denominados XT. Con el avance de la tecnología informática aparecieron procesadores capaces de manejar 16 bits de datos, pero si los Buses aún continuaban a 8 bits se producía un “cuello de botella”. Esto propició la “invención” de Buses del tipo ISA. Hoy en día muchos ordenadores aún los tienen instalados para maximizar la compatibilidad con tarjetas antiguas pero ya están en deshuso, es decir, no es posible comprar una placa nueva que incorpore Buses de este tipo. El último gran Bus de Expansión que hoy en día sigue siendo usado y algunos fabricantes todavía lo incorporan es el bus PCI, útil para conectar tarjetas que no requieran una gran capacidad de transmisión de datos como módems o tarjetas de sonidos sencillas. En ordenadores más antiguos, PCI era suficiente para el control gráfico. Sin embargo, con la aparición de aplicaciones exigentes a este nivel no hubo más remedio que incorporar un nuevo tipo de Bus denominado AGP, que en su primera versión duplicaba en velocidad a las primeras versiones de puertos PCI. El avance ha sido imparable y aún se necesita más potencia de transmisión de datos, por lo que los últimos Buses de Expansión necesarios para mover todo eso han sido los PCI Express.

Diferentes tipos de PCI Express - Fuente HowStuffWorks
Generalmente las medidas de velocidad se suelen expresar en un formato de múltiplos, así por ejemplo, las primeras versiones del Bus AGP se denominan AGP 1x, la segunda generación AGP 2x y así hasta 8x que trabaja a 533 Mhz con una capacidad de 2048 Mbps (Mega bits por segundo).   En principio las últimas son compatibles con las primeras, de manera que una tarjeta AGP 8x podría funcionar en un Slot 2x sin problemas, lo único que hace es disminuir su velocidad (pero no se consigue obtener todo su rendimiento).
Los que han tenido un desarrollo espectacular han sido los PCI Express, donde en su primera versión 1x es capaz de manejar 32 o 64 bits de información simultánea a una velocidad de de 250 Mbps. En el momento de escribir este artículo existen versiones 32x, con velocidades de 8000 Mbps. Únicamente las versiones 16x y 32x del PCI Express están conectadas al Northbridge por lo que son muy indicadas para la instalación de tarjetas gráficas muy rápidas.
Lo que ha llegado pero aún le queda mucho por desarrollar se denomina Hypertransport y es un Bus que puede funcionar entre 200 y 2600 Mhz a una velocidad de hasta 2100 Mbps.
Buses y Puertos
Veamos sobre la práctica cuales son y donde se encuentran los Buses y los Puertos de una placa base.

1. Buses de Expansión del tipo PCI. Se usan para la conexión de tarjetas que no requieran demasiada rapidez, como red o sonido.
2. Buses de Expansión del tipo PCI Express 16x. Lo normal es que tengamos una sola conexión de este tipo, pero si hay dos o más es para aumentar el rendimiento de tarjetas gráficas, al poder conectarlas en paralelo. Actualmente existen soluciones que permiten la interconexión de varias tarjetas desarrolladas por los principales fabricantes nVidia y ATI. El primero ha desarrollado la tecnología SLI que requiere tarjetas de tipo DUAL de características muy similares. Por su parte, ATI ha inventado el sistema Crossfire con mejores resultados y sobre todo más barato, ya que permite conectar tarjetas que difieran en rendimiento.

Interconexión de tarjetas mediante el sistema de ATI Crossfire
3. Tomas de audio, para la conexión de altavoces y micrófono externos.
4. Puertos de RED, USB, Firewire. Los conectores de Red Ethernet permiten la conexión en redes para el intercambio de datos, los USB permiten conectar casi cualquier tipo de periférico a unas velocidades aceptables, sobre todo las últimas versiones 2.0. Firewire permite también la conexión de periféricos a velocidades algo superiores que los puertos USB. Dependiendo del periférico que compremos habrá que conectarlo a uno u otro.
5. Puertos paralelos y serie. Conectores del tipo DB25 y DB9.
6. Tomas para teclado y ratón. Son conectores del tipo PS/2.
7. Puertos Serial ATA (SATA) para la conexión de discos duros. Son una evolución del IDE y soporta velocidades desde 150 Mbps hasta los 300 Mbps de su segunda versión (SATA2).
8. Puertos IDE, también para la conexión de discos duros aunque más antiguos y lentos que los SATA.
9. Puerto PCI Express 1x. Un puerto para la conexión de múltiples tarjetas (sonido, módem, red,…)

http://mundopc.net/los-buses-de-tu-pc-desde-el-isa-hasta-el-pci-express-e-hypertransport/2/