Los componentes de un ordenador se comunican para realizar las tareas que los pedimos. Están unidos por un complicado entramado de «carreteras», también conocidos como bus de datos, y aunque te parezca mentira los utilizas a diario porque nos referimos a PCI-Express, SATA o USB entre otros. Estos buses de datos son de diferente tipología, tienen diferentes características y unen diferentes componentes entre ellos, y en este artículo te lo vamos a explicar en profundidad.
Un ordenador no solo procesa datos, sino también los distribuye y es aquí donde entra lo que es un bus de datos, el cual no es un vehículo colectivo transportando información, sino que hace referencia a la distribución de información a través del cableado. Veamos, por tanto, a qué nos referimos cuando hablamos de un bus de datos.
¿Qué es un bus de datos?
Le llamamos bus de datos a un canal de comunicación entre dos componentes, que pueden ser por ejemplo dos memorias, una memoria y un procesador o dos procesadores entre sí. Por este motivo, cuando hablamos de buses lo que hacemos es hablar del cableado que comunica dos elementos y, por tanto, no dejan de ser las carreteras por las que viajan los datos e instrucciones como señales eléctricas.
Sin embargo, existen diferentes tipos de buses según la necesidad de cada parte del ordenador. Se ha de tener en cuenta que no todas las partes del PC requieren transmitir la misma cantidad de datos y que dicho proceso de intercambio de información consume energía eléctrica.
Todos los buses de datos tienen las mismas características:
- Pulso o velocidad de reloj: indica cada cuanto tiempo transmite y/o recibe datos, esta se da en Hz, por lo que para saber el tiempo debemos conseguir la inversa, la cual es 1/Hz.
- Unidireccional, Duplex y Full Duplex: cuando hablamos de un bus que es direccional, este puede transmitir información en una sola dirección. Si es Duplex puede hacerlo en una dirección u otra, pero no a ambas a la vez. Full Duplex transmite información en ambas direcciones.
- Serial o paralelo: si se transmite un solo bit por pulso, entonces es un bus serial, si transmite varios al mismo tiempo, entonces es en paralelo.
Interfaces
Es importante separar lo que es el bus en sí mismo, lo cual no deja de ser el cableado utilizado por donde viaja la información, de lo que es la interfaz, la cual se encuentra en la periferia del chip. No obstante, es la interfaz la que controla cuando se envían los datos y, por tanto, el funcionamiento y es importante tener en cuenta que en un ordenador se suelen concentrar todas las interfaces en un punto en común usando buses cada vez más rápidos.
La clave se encuentra en el chipset de la placa base, la cual unifica todas las interfaces de baja velocidad en una de alta velocidad con tal de reducir la cantidad de cableado que va al procesador. El motivo por el cual esto no se hace desde el inicio es por el hecho de que no es necesario y por el hecho que las pistas sobre la placa base que son el cableado son de metal y se aumenta la resistencia con la distancia, lo cual es fatídico para la transferencia de datos.
Es por todo ello que a día de hoy nos encontramos que el bus PCI Express de la tarjeta gráfica sale del procesador, mientras que otros buses como el USB para periféricos están mucho más alejados.
Topología
Llamamos topología a la forma en la que está organizado el cableado y, por tanto, como se comunican los diferentes componentes a través de un bus, estas vienen derivadas del mundo de las telecomunicaciones y se utilizan los mismos tipos según el tipo de elementos que se han de intercomunicar entre sí. En general se habla de bus cuando hablamos de dos elementos intercomunicados entre sí, por lo que se puede decir que la topología no es otra cosa que la complejidad de los buses en un sistema.
Estas no son comunes a la hora de comunicar chips entre sí, pero sí en los buses internos de los diferentes procesadores, especialmente en CPU y GPU por su enorme complejidad. Es por ello que cuando hablamos de buses no solemos comentar los internos y nos referimos a la comunicación entre dos dispositivos distintos.
Dichas tipologías se utilizan a nivel interno en los chips, externamente se usan conexiones directas, las cuales pueden ir en horizontal o en vertical. Usando en el último caso vías de silicio, ya sea apilando un chip sobre otro o usando un interposer como sustrato que se encargue de la comunicación
Ancho de banda
El ancho de banda es la cantidad de información que se transmite a través de un bus, este se puede declarar de la siguiente manera:
- Si el bus es en serie se suele dar en bits por segundo, si es en paralelo en bytes por segundo.
- Hay veces donde se da en bits, en ese caso indica la cantidad de pines que transmite por ciclo de reloj. Así pues, cuando se habla de que hay un bus de 256 bits es que hay esa cantidad de pines y cables transmitiendo información por cada pulso.
¿Cuáles son los diferentes buses de datos en un PC?
A continuación, os vamos a describir los diferentes buses que podéis encontrar dentro de vuestro ordenador para comunicar a los diferentes componentes entre sí y cuáles son sus diferentes características de cada uno de ellos. En ellos vamos a obviar los que se encuentran dentro de los chips para centrarnos en los que sirven para comunicar dos componentes entre sí o un componente con un dispositivo. Realizada la aclaración vamos a ver los diferentes tipos de buses que nos podemos encontrar.
Procesador y memoria
En la actualidad se encuentra controlado por IMC o controlador de memoria integrado del procesador, su trabajo consiste en comunicarse con la memoria RAM respetando sus tiempos de comunicación. Se trata del bus de datos más esencial de todos y a su vez el más complejo, dado que con cada nuevo tipo de memoria RAM se requiere rediseñar toda la infraestructura interna del IMC.
A día de hoy, e independientemente de si hablamos de una CPU y la RAM, así como de la GPU y la VRAM, el acceso a la RAM no se hace por un solo elemento, sino por varios al mismo tiempo. Por lo que el IMC ha de gestionar el acceso para cada una de las partes y asegurarse que haya coherencia de memoria. Es decir, si un componente usando una memoria cambia los datos en una parte de la misma, ha de existir un mecanismo que avise el resto de componentes de los cambios producidos. El formato más usado es el de los DIMM y So-DIMM donde cada par de módulos comparten un bus de 64 bits cada uno. Por otro lado, en el caso de las tarjetas gráficas, la memoria GDDR usan buses de 32 bits por chip de memoria.
Peripheral Computer Interconnect Express (PCI Express)
El PCI Express es un bus del tipo Full Dúplex y en paralelo que ha servido para comunicar durante años los componentes que requieren un alto ancho de banda para funcionar. Es por ello que lo encontramos como bus interno y no externo, debido a su ancho de banda y, por tanto, su alto consumo. Su evolución empezó con el bus PC de 8 bits de los primeros PC, evoluciona a ISA de 16 bits, PCI de 32 y 64 bits y hasta llegar al PCI Express, eso sin olvidarnos del AGP en todo el periplo. A día de hoy se utiliza principalmente para dos componentes: tarjetas gráficas y unidades de almacenamiento SSD. Su particularidad respecto a otros buses es que tiene la capacidad de copiar datos desde y hacia la RAM del sistema.
Se presenta en diferentes anchos según la cantidad de bits que se quieran transmitir por ciclo de reloj, los conectores suelen ser x16, x8, x4 y x1. En el último caso, como habréis adivinado, funciona como un bus en serie y no es muy utilizado en general. En cuanto a su velocidad, este lleva ya 6 generaciones, con 5 de ellas lanzadas ya al mercado y las cuales duplican el ancho de banda en cada generación.
Unidades de almacenamiento
Al antiguo bus que se utilizaba para conectar el disco duro del PC se le conocía como PATA, IDE o ATAPI. Estuvo durante dos décadas en los ordenadores de todo el mundo, pero a día de hoy ha sido reemplazado por el bus SATA. A medida que se fue haciendo posible llegar a altas velocidades de reloj con un solo pin de comunicación y la velocidad que requerían los discos duros no aumentaban, entonces se decidió simplificarlo todo a un bus en serie.
Por lo que en cierta medida recuerda al bus USB en su funcionamiento, pero con la diferencia y es que separa por completo y en conexiones diferentes, lo que es la transferencia de datos de la alimentación. Por lo que se puede decir que solo el cable de datos SATA es un bus. Actualmente, es un tipo de bus ya casi en desuso en los PC modernos, pero todavía sigue conservándose en su versión SATA 3, que ya no se va a actualizar y, por lo tanto, está condenado a desaparecer antes o después.
El USB es el bus de datos por antonomasia
El bus de datos por antonomasia y el que es más popular para conectar y alimentar periféricos externos de todo tipo. Durante 20 años ha sufrido una evolución de los 12 Mbits por segundo del USB 1.0 a los 80.000 Mbits por segundo del USB 4.2 que fue presentado hace poco.
El USB ha evolucionado muchísimo en los últimos años, y por el camino ha ido devorando otras interfaces con tal de tener una única, algo que al final nos beneficia a los usuarios porque cuando algo está estandarizado no solo es más fácil de encontrar, sino que se abaratan los costes. Al contrario del PCI Express y el SATA se trata de un bus totalmente pensado para periféricos externos, como su nombre indica, usa un único pin de datos para transmitir la información.
Bus de datos de vídeo
Muchos procesadores modernos incluyen tarjetas gráficas integradas. Estas, normalmente, no son muy potentes, pero sobran para sacar vídeo y permiten ahorrar dinero a la hora de configurar un ordenador. Para aprovecharlas, se requiere que la placa base disponga de salidas de vídeo y, por consiguiente, un bus de video.
Todas las placas base del mercado lo incluyen en la actualidad, aunque los conectores pueden variar. Este bus va directamente del socket del procesador al panel I/O de la placa base. Normalmente es unidireccional, ya no integran tecnologías como AMD FSR o NVIDIA G-Sync, que si requeriría que fuera bidireccional.