Nvidia en NX (Consola Portátil)

Comentario Original:

Buenas,

Pongo un post de Thraktor en neogaf muy interesante por si lo quieres comentar:

http://m.neogaf.com/showpost.php?p=204046041

Sobre el uso de un solo chip en la nx portatil y sobremesa.

Saludos.

Gracias por el enlace, más que nada porque es sumamente didáctico acerca de varios temas y se me hubiese pasado de largo desde el momento en que NeoGAF es un foro que cada vez me repugna más, no como forma de coger información sino por las narrativas que se crean dentro de las misma réplicas que muchas veces, por no decir el 99% de las veces, no se sustentan en la realidad, pero la réplica de Thraktor es interesante porque sitúa las cosas desde una aproximación realista, lo suyo no deja de ser una especulación pero tiene cierto sentido:

Estaría bien considerar un hipotético chip Tegra tanto para la consola doméstica como la portátil y como podría ser. Lo podríamos llamar TN1:

  • Fabricado en TSMC bajo el proceso 16FF+
  • CPU: 8xA72 (A partir de 2 Ghz en la consola doméstica, un montón menos en la portñátil).
  • GPU: 4 SM (512 ALUs/CUDA Cores), 1.2 Ghz+ en la consola doméstica, 300Mhz en la portatil, o 3 SMs a 400 Mhz (portátil).
  • RAM: 4x 64 bit LPPDR4 (Bus completo de 256 bits para la consola doméstica para 120 GB/seg, bus de 64 bits para la portátil).

Antes de ir a la inerente locura de Nintendo de lanzar una portatil con un SoC como este, vamos a ver las ventajas que consiguen utilizando el mismo SoC en ambos dispositivos.

  • Coste reducido de Investigación y Desarrollo: Solo le tienes que pagar a Nvidia para el diseño de un solo chip, y solo tienes que ir a través del proceso de tape out y validación.Reduced R&D cost: you only have to pay Nvidia to design a single die, and you only have to go through one tape-out and validation process.
  • Adquisición más sencilla: Solo necesitas manejar un simple pedido de una sola pieza del inventario y reducir el coste de inventario, por lo que si (por ejemplo) la consola doméstica no vende como se espera, puedes utilizar esos chips para la portátil.
  • Intervalos: Puedes tocar los chips para diferentes productos, lo cual no es posible con los chips a medida para consola. Por ejemplo puedes probar los chips para ver cuales funcionan mejor a menor voltaje y utilizarlos en la portatil. Alternativamente puedes activar solo 3 SMs en la portátil, permitiendo utilizar los chips que de otra manera serían considerados defectuosos.
  • Escalado perfecto: ¿Quieres precisamente cinco veces la potencia de la GPU en sobremesa en comparación con la portátil? ¿Que tal el mismo chip a cinco veces la velocidad de reloj?
  • Eficiencia energética de una portátil: Utililizando una gran GPU a baja velocidad de reloj esta dará mejor rendimiento por Watt que una GPU más pequeña y a mayor velocidad (por ejemplo unas 512 ALU a 300 Mhz consumen menos que 256 aLUS a 600 Mhz por el mismo rendimiento?

Y las desventajas:

  • Coste del chip: Como muchos chips que terminan en las portatiles, acaas utilizando un chip más grande (y por tanto más caro) en la portátil de lo que necesitarias dado un nivel de rendimiento, incrementando sustancialmente tus costes.
  • Limitación en el voltaje:  (No voy a citar lo que dice, luego lo comentare porque es confuso)
  • Elección de la CPU: Las CPUs optimas para el chip de la portatil consumiendo 2W y la consola doméstica corriendo en una orden de magnitud para arriba van a ser diferentes. Acabas limitando el pico de rendimiento de la consola doméstica (digamos si usa un A53) o fuerzas a la CPU de móvil a funcionar a una frecuencia extremadamente baja (digamos si usa un A57/A72).

El planteamiento no esta mal pero ya contiene un error de entrada y tiene que ver con la comunicación con la memoria y el tamaño del chip y este tiene relación con el coste del mismo. Es decir, si la interfaz de memoria aumenta entonces lo hace también el tamaño del chip. ¿El motivo? La interfaz de comunicación con el exterior se encuentra en la periferia del chip por lo que si el bus de memoria aumenta entonces lo hace también el tamaño del chip.

IOPad

El motivo de ello es que la interfaz de memoria se situa siempre en la parte exterior del chip, en esta página hemos visto varios ejemplos de ello:

Es decir, el hecho de tener una versión del mismo chip de sobremesa que portátil con unidades desactivadas supone tener un chip más grande de lo que necesitaría realmente la portátil y más caro. Es más, sobre el tamaño del llamado TN1 el propio Thraktor nos dice que en comparación con el SoC de 3DS sería muy grande, ya el tamaño del controlador de memoria sería más grande que el SoC de 3DS.

La interfaz de 128 bits LPDDR4 en el A9X a 16nm consume unos 24mm^2 del espacio, así que la interfaz para los 256 bits necesitara cerca de 48mm^2

¿Sabéis cuanto mide el SoC completo de 3DS? En el siguiente análisis forense del SoC de 3DS se puede leer que el tamaño de dicho chip es de 6.6mm x 6.4mm, es decir unos 42.24 mm^2… Si, el chip de 3DS es sumamente pequeño, más que el controlador de memoria del nuevo chip, pero mejor ir desgrananando lo que se va diciendo en la réplica de NeoGAF.

La CPU es la parte facil, ARM  nos ha contado que un bloque de cuatro núcleos del A72 en 16nm FF+ con 2MB de cache esta sobre los 8mm^2, dandonos unos 16mm^2 para nuestra cPU. La GPU es más dificil de estimar sin las fotos del chip Pascal, pero utilizando la absurda sobrecomplicación de que esta GPU tiene 1/5 de los SMs del GP104 (GeForce 1080), tiene que tener un 1/5 del tamaño, con ello obtenemos un valor de 63mm^2. La interfaz de 128 bits LPDDR4  en los 16nm del A9X (el chip del iPad más nuevo en estos momentos) toma alrededor de 24mm^2 de espacio, así que una interfaz de 256 bits ocupa cerca de 48mm^2. Entonces, añadid unos 25% para el resto de bloques (audio, encriptación, codecs, etc) y llegamos a los 159mm^2, el cual sería un núcleo ciertamente gigante para una portátil. El A9X es de 147mm^2.

¿Me tengo que creer que Nintendo va a poner un armatoste varias  veces más grande en su siguiente portátil? Más bien pienso que esta idea es de…

obelix-estanlocos

El coste de un chip depende de dos factores:

  • El coste de las obleas del proceso y fábrica donde se produzcan.
  • La cantidad de chips buenos por oblea.

Cuanto más grande es el chip más aumenta la tasa de defectos aumenta que tiene este, tradicionalmente Nintendo siempre ha utilizado chips pequeños en sus portátiles para poder tenerlos baratos. No solo eso sino que el propio autor de la réplica reconoce que el chip sería demasiado grande y es que el nivel de consumo de una tablet y una consola portátil no es lo mismo, es más… ¿Os habéis fijado que los Tegra actualmente no van smartphones? El motivo es el enorme consumo que tienen para ello. ¿Entonces que es lo que va a hacer Nintendo a nivel de portátil? Dudo para empezar que den el salto a FinFet, continuaran utilizando un proceso planar y el más avanzado al que pueden optar son los 20nm, pero hay que tener en cuenta que Nitendo suele hacer compatibles hacía atras sus portátiles, en el caso de NX-Wii U habría ciertos problemas… ¿Pero en el caso de NX-3DS? No, desde que tenemos una CPU con el mismo conjunto de instrucciones… ¿Y como se hace? Hay que tener en cuenta que este chip que en 3DS ocupa 42mm^2 en 3DS:

clipboard07lEsta fabricado a 40nm, por lo que un equivalente a 20nm mediría poco más de 10mm^2… ¿Y que hay de New 3DS? Bueno, el único cambio sustancial en New 3DS es la RAM (densidad de 128MB a los 256MB) y la CPU que pasa a ir al triple de velocidad y con 2MB de Cache L2. La CPU colocando una CPU nueva no es problema, el problema más bien esta en otros elementos del sistema basados en la compatibilidad hacía atrás:

  • El ARM9 para la compatibilidad con DS es utilizado en modo 3DS para ciertas funciones por lo que para la compatibilidad hacía atrás con 3DS ha de ser arrastrado en NX Portátil.
  • El ARM7 para la compatibilidad hacía atrás con GBA en DS se encargaba del sonido, esto hace que haya sido arrastrado en 3DS. Aunque es muy probable que Nintendo lo elimine por completo en NX en 3DS seguía estando lo que provoca que los juegos de embajador de GBA no sean de consola virtual sino nativos porque la consola los puede ejecutar nativamente.
  • La GPU de 3DS, el PICA200, no es un Tile Renderer, de ahí a que el chip tenga memoria embebida para ciertas operaciones, dicha memoria embebida también es arrastrada al nuevo sistema

Nintendo puede reciclar sin problemas ciertos elementos del SoC de 3DS para la nueva consola y que pueden ser utilizados en la NX portátil por lo que los cambios reales serían:

  • El añadido de una nueva CPU, la cual puede sustituir al ARM11MP4 de New 3DS ya que los juegos de 3DS no son dependientes de la velocidad de reloj sino del conjunto de instrucciones.
  • El cambio de la interfaz de memoria de FCRAM a LPDDR4.
  • El añadido de una nueva GPU (Nvidia)

La gente cree que Nintendo va colocar el Tegra tal cual, hice una entrada el año pasado hablando de la posibilidad Nvidia, pero deje de lado a Nvidia durante un tiempo porque pensaba que AMD tenía más números y ahora la balanza parece estar del lado de Nvidia. En dicha entrada deje ir lo siguiente y tiene su sentido dentro de lo que se esta rumoreando las últimas semanas:

En la oferta de trabajo del pasado mes de Octubre se podía leer que lo del bajo consumo es importante para Nintendo:

Captura de pantalla 2015-04-18 a las 15.47.55

Un mes después aparecía la siguiente noticia:

En junio del año pasado, Nvidia transformó su división GPUs al modelo Propiedad Intelectual “IP”; pero desde ese entonces, la empresa no ha logrado licenciar sus GPUs a ninguna empresa.

Kepler no impresionó a ningún fabricante de SoCs ARM, pero al parecer Maxwell tendrá mejor suerte, pues la empresa afirma estar en negociaciones con algunos fabricantes de SoCs, los que de momento prefiere mantener en secreto.

NVIDIA piensa que sus GPUs basados en la arquitectura gráfica Maxwell, permitirán que muchos fabricantes de SoCs puedan diferenciarse de sus competidores en el segmento de los dispositivos móviles (menos de los SoC Tegra de la propia Nvidia).

Maxwell cuenta con un rendimiento por watt muy superior al de Kepler, por lo que podría despertar el interés de algún fabricante de SoCs, consiguiendo que Nvidia le robe el primer cliente a competidores como Imagination Technologies, ARM, Vivante y otros.

Recordemos que Nintendo no andaba buscando un SoC sino el procesador gráfico para dicho SoC,  pero es que extrañamente el timing de búsqueda de una GPU por parte de Nintendo y el anuncio de Nvidia de que un SoC no-Tegra podría llevar una GPU Maxwell son muy cercanos en el tiempo, se que puede ser una coincidencia pero hay demasiados elementos que me hacen pensar en una alianza Nintendo-Nvidia de cara a NX.

Las GPUs de Nvidia son de la misma naturaleza que el PICA200 a la hora de renderizar, no son Tile Renderers, por lo que es posible que Nintendo coloque en el interior del SoC de la NX portátil el PICA200 y la configuración del chip sea muy parecida a la de 3DS pero añadiendo la CPU nueva y la GPU de Nvidia y aquí entramos en el problema que he comentado antes, dado que DMP no tiene su GPU diseñada para FinFET si se añade para la clásica compatibilidad hacía atrás con la generación anterior entonces lo máximo que podría aspirar son los 20nm en lo que al nodo se refiere y por tanto estaríamos hablando de una GPU con Maxwell como el Tegra X1, aunque no sería el Tegra X1 sino que utilizaría una GPU bajo arquitectura Maxwell. ¿Pero que configuración?

Hay que tener que las GPUs de Nvidia escalan en el número de unidades según la interfaz de memoria que tengan y con el ancho de banda, voy a tomar el GM204/GeForce 980 como referencia para empezar. En dicho procesador gráfico tenemos unos 4 GPCs (512 núcleos CUDA por GPC) conectados a un controlador de memoria de 256 bits GDDR5.

gtx980-17b

En el caso del GM106 (GeForce 960) tenemos un bus GDDR5 de 128 bits lo que hace que el número de GPCs se reduzca a la mitad.

gn-gm206-diagram

Podems concluir con esta simple regla de tres que una GPU con un controlador GDDR5 de 64 bits tendría un solo GPC y por tanto unos 512 núcleos, pues bien… La cantidad de SMMs que es la otra unidad mínima (Un GPC se compone de varios SMMs)…

GeForce_GTX_980_SM_Diagram_FINAL_575px

Y la cantidad de SMMs es variable de 1 a 4 unidades, dado que las unidades de texturizado dependen del ancho de banda del sistema entonces si colocamos una mayor o menor interfaz de memoria la cantidad de SMMS aumenta o disminuye. Una interfaz de 64 bits LPDDR4 permite colocar 256 núcleos CUDA como ocurre en el Tegra X1.

Tegra-X1-vs-Tegra-K1-710x346

Ahora bien… Lo que yo creo es que Nintendo utilizará una interfaz LPDDR4 de 32 bits y colocará una GPU con un solo SMM, es decir… 128 núcleos CUDA para la gráfica en total, lo que colocarían el tamaño del chip y sus costes en el espacio de las consolas portátiles de Nintendo. El otro tema serían las velocidades de reloj, el tema del consumo es otra de la obsesiones de Nintendo y pienso que en este escenario Nintendo mantendría las velocidades de reloj de GPU y CPU de 3DS, 268 Mhz y 804 Mhz respectivamente en el caso de la CPU y la GPU de la NX portátil. ¿Sería impotente acaso? Tendría una potencia mucho mayor que la de PS Vita, no solo en CPU sino que la GPU sería varias veces más potente.

El otro tema es el factor forma de la portátil… ¡Si Nintendo mantiene la compatibilidad hacía atrás con 3DS entonces eso significaría que el factor forma continuaría siendo el de doble pantalla! New-Nintendo-3DS-26

Claro esta que en esta entrada no hablo de la NX Tablet sino de lo que vendría a ser la consola portátil, al igual que ocurre con el iPad y el iPhone ambos productos tendrían resoluciones resoluciones distintas y por tanto configuraciones distintas en lo que el SoC se refiere, el cual iría escalando desde la portátil a la sobremesa pasando por la tablet, haciendo un total de tres factores forma y por tanto 3 SoCs distintos para una misma plataforma de software.

Anuncios