Luego de que se confirmara la existencia de algunas limitaciones en el direccionamiento de la memoria gráfica del GPU Nvidia GeForce GTX 970 “GM204”. Por fin Nvidia nos presenta los detalles técnicos que originan este extraño comportamiento en su GPU.
PUBLICIDAD
Antes de continuar con la lectura de este artículo, les recomendamos leer nuestros artículos sobre la arquitectura gráfica Maxwell y sobre el GPU GM204, a fin de que puedan entender muchos de los términos que usaremos en los siguientes párrafos.
Los controladores de memoria caché y VRAM de Maxwell
Aunque, originalmente publicamos que cada controlador de memoria gráfica (VRAM) GDDR5 de 64 bits (2×32 bits) de Maxwell, estaba conformado por 2 controladores de 32 bits y 16 unidades de renderizado “ROPs”, en realidad tenemos que las unidades de renderizado “ROPs”, están alojadas en el sub-sistema de memoria caché de segundo nivel.
Nvidia aclara que esta confusión se debió a la falta de coordinación entre sus equipos de diseño y marketing, aunque debo mencionar, que hubiera sido fácilmente detectable, si es que nos guiábamos por el esquema de la arquitectura (imagen original a continuación de este párrafo), en vez de por las especificaciones que nos llegaron.
PUBLICIDAD
Con la nueva información, tenemos que el sub-sistema de memoria caché de segundo nivel de Maxwell, está conformado por múltiples módulos de memoria caché de segundo nivel “L2” SRAM de 256KB, cada uno de ellos conectado directamente a 8 unidades de renderizado “ROPs”.
Cada módulo L2 está conectado a una unidad crossbar que los conecta directamente a cada SMM que conforma al GPU Nvidia, basado en la arquitectura gráfica Maxwell (2 SMMs por cada módulo L2); y a su vez al controlador de memoria, donde cada módulo L2 cumple la función de caché de cada uno de los controladores GDDR5 de 32 bits que conforman cada controlador de memoria de Maxwell.
Para que se entienda de mejor forma lo explicado anteriormente, he realizado algunas ediciones al diagrama del GPU GM204 que originalmente publicó Nvidia:
Dicho lo anterior, tenemos las siguientes configuraciones para el bus de memoria de hipotéticos GPUs Maxwell:
- GPU Maxwell con bus de 64 bits: 1MC (2×32) + 512KB (2x256KB) + 16 ROPs (2×8).
- GPU Maxwell con bus de 128bits: 2MC (4×32) + 1024KB (4x256KB) + 32 ROPs (4×8).
- GPU Maxwell con bus de 192 bits: 3MC (6×32) + 1536KB (6x256KB) + 48 ROPs (6×8).
- GPU Maxwell con bus de 256 bits: 4MC (8×32) + 2048KB (8x256KB) + 64 ROPs (8×8).
- GPU Maxwell con bus de 384 bits: 6MC (12×32) + 3072KB (12x256KB) + 96 ROPs (12×8).
Hasta aquí, ninguno de los nuevos datos pareciera cambiar significativamente la configuración de los GPUs Nvidia Maxwell; y en efecto, los GPUs Maxwell completamente habilitados (como GeForce GTX 980 y GeForce GTX 960) no sufren de ninguna alteración. Pero esta historia no se aplica a los GPUs Maxwell con unidades deshabilitadas.
Los efectos del recorte de unidades en GPUs Maxwell
A lo largo de toda la historia de los GPUs, los fabricantes desarrollan entre 2 y 5 nuevos GPUs, para cada una de sus nuevas generaciones de productos, los que dependiendo de su número de unidades deshabilitadas, se destinan hacia diversos segmentos de precio y rendimiento del mercado.
De momento dentro de la familia de GPUs Maxwell de segunda generación, tenemos que Nvidia ha lanzado 2 GPUs: GM204 y GM206, donde los únicos GPUs basados en ellos y que cuentan con todas sus unidades activas son: GeForce GTX 980 “GM204” y GeForce GTX 960 “GM206”, entre los GPUs con unidades deshabilitadas tenemos:
- GeForce GTX 970 “GM204” (3 SMM deshabilitados).
- GeForce GTX 980M “GM204” (4 SMM deshabilitados).
- GeForce GTX 970M “GM204” (6 SMM deshabilitados).
- GeForce GTX 965M “GM204” (8 SMM deshabilitados).
Dados los mayores detalles sobre los sub-sistemas de Memoria de Maxwell, tenemos que las especificaciones de estos GPUs recortados mencionados, tendrán que ser actualizadas, pues al deshabilitar un SMM, se deshabilita también porciones de memoria caché de segundo nivel “L2” y unidades de renderizado “ROPs”asociadas, 2 SMM deshabilitados inhabilitarían el módulo L2 completo.
Lo anterior, ocasiona que las porciones de la memoria caché de segundo nivel “L2” deshabilitadas, no puedan ser usadas para servirle al controlador de memoria como un veloz buffer para acelerar el acceso a los datos gráficos, dando como resultado, que estas porciones de memoria no se vean beneficiadas por el caché L2.
En los siguientes gráficos, vemos que tomando como ejemplo a GM204, al deshabilitarle un SMM, el GPU pierde 128 shader processors, 8 unidades de textura y su memoria caché de primer nivel “L1” (aunque en teoría, aún con el SMM deshabilitado, el L2 continuaría siendo funcional; deshabilitar 2 SMMs ocasionaría que el módulo L2 de 256KB y sus 8 ROPs queden inhabilitados):
Hipotético GM204 con 1 SMM deshabilitado.
Hipotético GM204 con 2 SMMs deshabilitados.
Para lidiar con los efectos del recorte, Nvidia segmentó el direccionamiento de memoria en 2 porciones para sus GPUs con unidades deshabilitadas: una porción de mayor prioridad que se beneficia del L2 (más veloz); y otra sin memoria caché de segundo nivel (más lenta), todo con el fin de continuar aprovechando el bus de memoria completo (256 bits en GM204 y 128 bits en GM206), sin recurrir a recortarlo (por ejemplo de 256 bits a 224 o 192 bits como ocurria con los GPUs Kepler y anteriores).
El tamaño exacto de dichos segmentos, puede variar, dependiendo de la configuración particular de cada GPU con unidades deshabilitadas, por lo que para que ello quede claro, tendríamos que hablar de cada uno de los GPUs Nvidia con unidades deshabilitadas por separado, lo que dejamos para un próximo artículo, empezando por el primero de ellos: GeForce GTX 970 (dentro de algunos minutos publicare sus especificaciones actualizadas).
Link: PC Perspective.
También pueden comentar en nuestro foro.