El bus de memoria de la GPU es una pieza fundamental a la hora de definir su rendimiento y comportamiento. En este artículo damos un repaso a lo que significa este concepto, además de explicar el ancho del bus de memoria, teniendo en consideración el tipo de memorias usado y su impacto en el rendimiento. ¡Comenzamos!
Índice de contenidos
Empezando por lo básico: ¿qué es un bus?
Lo primero que tenemos que hacer sin lugar a dudas es explicar qué es un bus en el mundo del hardware. Este es un concepto que está en todos lados, pero quizás no todos conozcan, así que es importante aclararlo de forma básica.
Hagámoslo fácil: en el hardware, un bus es la vía de comunicación física que hace falta para que dos componentes distintos intercambien información. Y es que en un ordenador todas las piezas se comunicarán entre sí (y en su interior) haciendo uso de buses, que podríamos extrapolar a un medio de transporte en la vida real. Igual que en la realidad tenemos distintos medios (carretera, autopista, tren, barco, avión…) en un ordenador hay muchos tipos de buses.
Evidentemente no estamos hablando de que haya buses “inalámbricos” dentro de un ordenador, simplemente queremos que entendáis que hay muchos buses distintos, de distintas capacidades, formas de funcionamiento y propósitos. Este artículo se centra en el bus de memoria de la GPU.
El bus de memoria de la GPU
Una vez explicado el concepto de bus, entonces resulta evidente que el bus de memoria de la GPU realiza la interconexión entre la memoria VRAM de la gráfica y el propio chip gráfico. Entre sus características destaca que es de “doble cara”, en el sentido de que se pueden efectuar lecturas y escrituras en el mismo a la vez.
Y es que la memoria VRAM de la gráfica no solo es responsable del almacenamiento de todas las texturas y elementos con los que trabaja a la hora de renderizar contenido, sino que además es donde se encuentra el frame buffer / color buffer, una región en la que estará toda la información de los píxeles que se mostrarán por pantalla. E incluso si la gráfica no se utiliza para visualización sino para aplicaciones científicas como el Big Data, la VRAM almacenará conjuntos de datos ingentes que habrá que transportar continuamente de manera eficiente.
En todos los casos, está claro que una comunicación rápida y eficiente entre memoria y GPU es fundamental. Para ello debemos tener el mejor bus posible, igual que no podemos pretender conectar dos ciudades importantes sin potentes autopistas, por ejemplo.
El ancho del bus de memoria: ¿hasta qué punto es importante?
Se conoce como ancho de bus de memoria (memory bus width) al número de bits de datos que pasan por él. Es decir, estamos hablando del “número de carriles de la autopista”.
En las tarjetas gráficas actuales, encontramos buses de memoria que van desde los modestos 64 bits de la NVIDIA GT 1030 hasta los 384 bits de la RTX 3090. Incluso podemos encontrar buses bastante más largos, aunque os explicaremos sus peculiaridades en el apartado siguiente. Ahora lo que debemos saber son dos cosas: ¿en qué influye exactamente el ancho del bus de memoria y hasta qué punto debería preocuparnos?
El ancho del bus de memoria dictamina cuántos canales distintos tiene el controlador de memorias de la GPU, esto es, la cantidad de chips que puede servir a la vez. En el caso de las memorias GDDR actuales, estaremos hablando de 32 bits por chip, por lo que una tarjeta gráfica podrá acceder a la vez a la siguiente cantidad de chips como mucho:
Chips = Ancho del bus / 32
A esta idea hay que combinarle la densidad del propio chip de memoria, que actualmente será de 8 gigabits o 16 gigabits, es decir, 1GB o 2GB en el caso de GDDR. Entonces, veamos algunos casos en los que se cumple esta relación:
Las tarjetas gráficas RX 6000 de AMD lanzadas hasta la fecha (RX 6900 XT, RX 6800 XT, RX 6800) cuentan con 16GB de memoria GDDR6 en un bus de 256 bits de ancho. Esto les permite usar hasta 8 chips de memoria a la vez, y precisamente esa es la cantidad que encontramos, con la mencionada densidad de 2GB por chip.
Y si nos vamos por otra banda, vemos cómo la NVIDIA RTX 3080 tiene un bus de memoria de 320 bits, que serían 10 chips a la vez, y precisamente la gráfica tiene una memoria de 10GB con un total de 10 chips de 1GB cada uno. En la foto vemos espacio para 2 chips adicionales, que son usados por la RTX 3090, que precisamente lleva memorias con una densidad de 2GB en un bus de 384 bits.
El ancho de bus y la velocidad de la memoria
Igual que en una autopista no solo influye el número de carriles que tiene sino también la velocidad de los vehículos, lo mismo ocurre en el bus de memoria de la GPU. No solo debemos tener en cuenta su ancho, sino también la velocidad de reloj de la memoria. En la práctica, la cantidad de información que se puede transmitir en cada momento depende precisamente de una combinación del ancho del bus de memoria y la frecuencia de la VRAM, además del ancho de banda de las memorias.
Con esto queremos dejar lo más claro que el ancho bus de memoria no lo es todo para determinar lo bien que funcionarán las memorias en una tarjeta gráfica. Prácticamente la única asociación que estaríamos haciendo sería con el tamaño de memorias, más allá de cualquier otra cosa.
La importante diferencia entre memorias GDDR y HBM
En este punto es importante que os aclaremos que dependiendo de la tecnología de memoria podemos encontrarnos buses más o menos anchos. En particular, las memorias HBM pueden tener buses muchísimo más anchos, como por ejemplo el de 2048 bits de la AMD RX Vega 64, muy superior al de cualquier gráfica con memorias de tipo GDDR (que son las más comunes actualmente). Esto se debe a la gran cercanía física entre el chip de la GPU y las memorias que encontramos en HBM, ya que la VRAM se encuentra dentro del propio chip.
Así, se hace posible algo que eléctricamente es muy complicado, pues la distancia física es un gran limitante a la hora de definir la velocidad o el ancho máximos de un bus. Sin ir más lejos, la mayoría de récords de overclocking de memorias RAM se consiguen con pequeñas placas ITX, y uno de los motivos es la obligada cercanía física entre la CPU y la RAM, lo que hace que el bus de memoria del procesador (nos olvidamos del de la GPU) sea especialmente corto. Así se consigue mandar una señal eléctrica con una integridad muy superior.
Os recomendamos, para ampliar más la información, la lectura de nuestro artículo sobre qué es la VRAM.
Tecnologías para compensar la lentitud de las memorias
Otra forma bastante clara de explicar por qué el bus de memoria no lo es todo está en el hecho de que hay tecnologías que reducen la dependencia de los accesos a memoria.
Por ejemplo, las últimas tarjetas gráficas AMD Big Navi (arquitectura RDNA 2) tienen un modesto bus de memoria de 256 bits, una cifra que se antoja corta si la comparamos con el de la RTX 3090, por ejemplo. Pero también incluyen la tecnología AMD Infinity Cache, que introduce un nuevo nivel de caché relativamente grande (32MB) en el que se almacena la información y texturas de acceso más recurrente, con la idea de reducir el número de accesos a memoria. Así, si se accede menos veces a memoria, menos importa el ancho del bus y menos puede impactar en el rendimiento.
E incluso sin este tipo de “tecnologías especiales”, la realidad es que todo depende de cada arquitectura completa, pues hay algunas más dependientes de la memoria que otras. En todo caso, a favor de los buses de memoria anchos está el hecho de que cada vez hace más falta la memoria VRAM debido al aumento del tamaño de texturas que trae consigo el uso de resoluciones más grandes. Ahora que estamos más cerca de democratizar el 1440p o incluso el 4K es bastante importante tener un bus de memoria amplio.
Conclusiones sobre el bus de memoria de la GPU
El bus de memoria de la tarjeta gráfica es el canal de comunicación entre los chips de la VRAM y el chip gráfico (GPU). Sabiendo que la VRAM es una parte absolutamente fundamental, y que las transferencias entre VRAM y GPU han de ser realmente ágiles, es imprescindible tener un buen bus de memoria.
La magnitud más fundamental para definir cómo de amplio es este bus es el memory bus width o ancho de bus de memoria. Medido en bits, define básicamente la cantidad de canales de memoria que se pueden llevar a la vez, esto es, cuántos chips de memoria pueden estar accediéndose al mismo tiempo. Los chips de memoria tienen canales de 32 bits, por lo que para saber el número de chips hay que dividir el ancho de bus por 32.
Te recomendamos la lectura de nuestros artículos:
Lo más común es que el bus de memoria refleje con exactitud la cantidad de chips de memoria con los que cuenta la tarjeta gráfica. Estos tendrán típicamente una densidad de 1GB o 2GB por chip, según cada caso concreto.
Realmente, el ancho del bus de memoria no lo es todo para conocer cómo de fuerte es el sistema de memoria de una tarjeta gráfica. También hay que tener en cuenta la frecuencia de las mismas y su ancho de banda. Incluso teniendo eso en cuenta la relación de la fortaleza del sistema de memoria con el rendimiento de la gráfica es difusa. Todo depende de cómo se desempeñe y cómo se haya creado cada arquitectura concreta.