Todas las GPUs necesitan memoria VRAM para funcionar, siendo las más utilizadas en la actualidad la memoria GDDR6 y la HBM2e, en esta entrada os vamos a explicar como el bus de memoria afecta a la cantidad de VRAM que hay instalada en una tarjeta gráfica. Para ello os vamos a explicar el caso tanto de la GDDR6 como de la HBM2.
Si alguna vez te has preguntado como es que las tarjetas gráficas de gama media o baja no tienen tanta memoria VRAM como las de gama alta, todo esto tiene una explicación muy sencilla, el ancho de banda del bus de memoria afecta a la cantidad de chips en placa, pero si quieres una explicación más detallada, entonces sigue leyendo.
Bus y cantidad de VRAM con memorias GDDR6
La memoria GDDR6 es una memoria de doble canal, cada uno de los chips tiene un bus de 32 bits que realmente son dos buses de 16 bits que funcionan en paralelo y que permiten hacer dos accesos a la memoria simultáneos. Esto significa que cada interfaz GDDR6 en la GPU ha de ser como mínimo de 32 bits, 2 x 16 bits, y estar organizada de 32 bits en 32 bits.
Si tenemos una GPU con un bus de 64 bits entonces tendremos dos chips de memoria GDDR6, si tenemos una con un bus de 128 bits serán 4 chips de memoria GDDR6, 192 bits 6 chips, 256 bits 8 chips, 320 bits 10 chips y 384 bits 12 chips, etc,
Obviamente a medida que la interfaz de memoria se vaya ensanchando más perímetro ocupara la GPU y más grande se hará esta, por lo que si queremos añadir más capacidad en la VRAM deberemos aumentar el bus de memoria, lo que supone aumentar la cantidad de interfaces y con ello la periferia del chip.
No obstante, existe un modo llamado x8 en el caso de la GDDR6, el cual consiste en que dos chips comparten alternada dos canales, de tal manera que al primer chip le tocan los primeros 8 bits de transferencia de cada canal y al otros los otros 8 bits al otro chip. Esta técnica lleva tiempo utilizando en las memorias GDDR y es una forma de aumentar la capacidad de la VRAM sin tener que aumentar la complejidad de la interfaz de memoria, pero tampoco aumenta el ancho de banda.
Este modo es utilizado en la memoria en la RTX 3090 y le permite a la tarjeta de NVIDIA tener 24 GB de memoria haciendo uso de 24 chips en placa, sin necesitar un bus de 768 bits para ello, y si, no nos hemos olvidado que hace uso de GDDR6X, pero es que fuera de la interfaz PAM-4, tanto la GDDR6 y la GDDR6X funcionan exactamente igual.
Bus y cantidad de VRAM con memorias HBM
Estas memorias por formar parte de una configuración 2.5DIC, con un interposer por el medio y vias a través de silicio funcionan distinto y pueden parecer algo complejas.
En primer lugar hemos de tener en cuenta que cada interfaz HBM es de 1024 bits, pero dado que se comunica en vertical con el interposer, su interfaz no ocupa el espacio perimetral que ocuparía una GDDR6 de 1024 bits. Eso si, a cada interfaz le corresponde una pila de memoria HBM, quedando la cosa de la siguiente manera:
Sin el interposer la memoria HBM2 no sería posible ya que es la pieza encarga de enrutar la señal a los diferentes chips de la pila y es que las memorias HBM no están compuestas por un mismo chip sino por varios distintos en la pila.
La HBM estándar utiliza 4 chips por pila, para comunicarse con ellos cada interfaz de 1024 bits se divide en 8 canales de 128 bits cada uno, asignando 2 canales a cada chip de la pila. Actualmente cada chip de memoria en una pila HBM tiene una capacidad de 2 GB, por lo que esto son 8 GB por pila
Claro esta que el bus de memoria HBM se puede recortar, por ejemplo hace unos años se propuso un tipo de memoria HBM de bajo coste con una interfaz de 512 bits y por tanto con solo 2 chips por pila.
La relación del bus de memoria el resto de componentes internos de la GPU
Otra de las relaciones en una GPU es entre la cache último nivel de la misma con las interfaces con la memoria VRAM, ya que la cantidad de particiones de la L2 crece o disminuye según el ancho de la interfaz de memoria.
La cache de último nivel de una GPU no solamente es cliente de la interfaz de memoria, sino también de los niveles de cache anteriores, algunos de los cuales situados en las Compute Units y de las unidades de función fija como son la primera se encuentra dentro de las las unidades de rasterizado, teselación o los ROPS. También son clientes de la cache de último nivel los procesadores de comandos hacen uso de la cache L2,
Por lo que el bus de memoria afecta a la cantidad de particiones de cache de último nivel y estas a la configuración interna de la GPU.