Comentando más rumores sobre NX

El rumor se merece ser comentado, lo ha puesto Daniel Mallorca hace unos minutos en lo comentarios, su origen es un post de NeoGAF.

T1 Rumors

La NX utilizará una GPU Polaris a medida. Seguramente fabricada en el proceso de fabricación FinFET de 14nm. La fuente me ha contado que es la misma arquitectura con fuertes cambios a medida por supuesto. Esta contienen la colección de carácteristicas de Polaris, “Es marginalmente mejor que la PS4” y en teoría podría tener el “Dos veces el poder de la GPU de PS4”. Le he preguntado acerca de PS4K siendo dos veces más potente que la PS4 original y como la potencia teórica de la la NX podría ser y se me dijo “Teoricamente podría estar cercana a las especificaciones rumoreadas de la PS4K”, Por supuesto, no sabemos nada de Polaris o de las especificaciones de la PS4K, pero él me dio esa métrica.

Voy a parafrasear aquí, pero el comentario de una fuente sobre la potencia de la NX es que “Los desarrolladores pueden portar un juego de PS4 facilmente y tener potencia a utilizar. Incluso los que más demandan”. Mi propia teoría es que si un juego baja por debajo de los 30fps en PS4 se mantendría en NX a 30fps con algunos efectos mejorados.

Antes de seguir hay que tener en cuenta una cosa respecto a PS4, bueno, dos distintas. En primer lugar tenemos que su CPU resulta un cuello de botella para sacar todo el rendimiento posible a la GPU de dicha consola (I, II, III). Se comenta que tanto PS4K como NX (en este último caso no lo sabemos) se podrían fabricar en un proceso de 1xnm FinFET por lo que acabarían utilizando GPUs AMD Polaris, pero por otro lado AMD ya ha comentado que su CPU bajo esos procesos va a ser el aún no aparecido ni presentado oficialmente como producto final AMD Zen, el cual v a ser sucesor de la serie felina de gama baja (Bobcat, Jaguar, Puma) como de la serie de gama alta (Bulldozer, Piledriver, Excavator, Steamroller) y por tanto ambas van a converger en una sola.

AMD_ZEN_x86_Core

Hay que tener en cuenta que los dos módulos Jaguar (8 núcleos) de PS4 y Xbox One utilizan como núcleo el equivalente a un Intel Atom, utilizando el AMD Athlon 5150, el cual hace uso de un módulo Jaguar (4 núcleos) a 1.6 Ghz (misma velocidad que la CPU de PS4) podemos extrapolar y saber lo que nos podemos esperar del AMD Zen.

Captura de pantalla 2016-04-16 a las 9.11.31

Dado que son 8 núcleos la potencia sería de: 5114. Pero la potencia por núcleo se mantendría y es esta la que nos interesa, para realizar la comparativa. Por otro lado AMD no compara el Zen con Jaguar sino con el Excavator, la CPU de su SoC Carrizo lanzado recientemente al mercado:

Captura de pantalla 2016-04-16 a las 9.18.17

Veamos por tanto la potencia de Excavator:

Captura de pantalla 2016-04-16 a las 9.16.55

La CPU aquí funciona no a 1.6 Ghz sino a 3.6 Ghz por lo que debemos normalizar el resultado:

1,6*(1451/3,6)= 645.

Por simple regla de tres no resulta un salto tan espectacular por núcleo a igualdad de velocidad de reloj, si aplicamos lo del 40% entonces:

645*1.4=903.

Colocar un AMD Zen como CPU supondría un aumento considerable de las capacidades de la CPU de la consola y por tanto evitar en el caso de PS4K que se convierta en un cuello de botella aún más grande. ¿El problema? El módulo no tiene que ser pequeño precisamente por el tema de la cache L3, y pese al aumento de la potencia por núcleo unos 4 núcleos no son suficientes por lo que son necesarios dos módulos como este:

ZenCPU

Lo que suponen unos 16MB de Cache L3 para el sistema, esto en el SoC final poco no ocupa precisamente y es un espacio considerable. ¿Pero que ocurre con Nintendo? Lo que ocurre es que…

im_silenced

Hace unos meses apareció la siguiente oferta de trabajo, no le preste mucha atención pero desde cierta perspectiva tiene sentido:

b4ed9430-s

¿Y que es lo que pone?

Nintendo Nintendo Platform-friendly combination of embedded OS and SDK for game development

Fitness:

  • Combination like: technology of embedded software program development experience or experience in
  • C/C++ or embedded ARM and PowerPC CPU use
  • Built-in built-in, embedded Linux and ΜITRON, using a specialized operating system
  • Built-in equipment failure cause analysis
  • Digital electronics firmware development
  • Development of equipment to connect to the Internet, such as network appliances
  • PC peripheral device driver development
  • Development of communication the DRM encryption processing equipment
  • How to be transferable to other software technology
  • A medium-sized team (as a guide for 5 or more people) by people interested in software development experience, or that development forms

* Any development experience related to video games.

La idea sería portar el Cafe OS de Wii U de PowerPC a ARM…

WiiUOS

Actualmente hay CPUs bajo conjunto de instrucciones ARM que tienen un rendimiento mucho mayor que el AMD Jaguar y llevan tiempo siendo probados en el mercado. Su inclusión en el SoC de sobremesa tendría sentido si se quiere unificar el entorno de desarrollo entre portátil y sobremesa. Hay que tener en cuenta que el NX OS sería como el Café OS e incluiría una serie de servicios del sistema utilizados por todos los juegos y dado que estamos hablando de la unificación a nivel de herramientas de desarrollo esta perspectiva tiene sentido.

Pe… pero Urian… Los ARM son CPU de Smartphone y de Tablet.

Y que… El A57 y el A72 en potencia por ciclo de reloj barren el suelo con el AMD Jaguar y tienen un mejor rendimiento/consumo y no son promesas. Curiosamente el hecho de que Nintendo pida expertos de gente que conoce tanto PowerPC como ARM solo pueden significar dos cosas o en realidad una ya que una implica la otra: La primera es que el SO ha sido traspasado de PowerPC a ARM, la segunda es que están pasando los juegos de PowerPC a ARM y tendría sentido para tener una serie de remasters de la propia Nintendo de entrada durante el lanzamiento de la consola, así como para poder facilitar la transición de Wii U a NX en lo que a herramientas de desarrollo se refiere.

Por otro lado AMD tenía pensado lanzar un SoC haciendo uso del conjunto de instrucciones ARM utilizando el proceso de 20nm…

amd-project-skybridge

No obstante AMD ha decidió saltarse el proceso de 20nm y Skybridge quedo cancelado… ¿Que es lo que ha hecho AMD? Rediseñar estos chips para pasarlos a FinFet:

Captura de pantalla 2016-04-16 a las 10.37.25

Por lo que un SoC de AMD con ARM puede existir sin problemas ya que ya se encuentra diseñado. Por otro lado, no creo que Nintendo vaya a por una GPU con mayor capacidad que la de PS4, más bien siendo realistas y teniendo en cuenta cosas como el coste se van a quedar en una potencia igual a la de PS4 en GPU y algo mayor en CPU, y será esa potencia algo mayor en CPU lo que le dará a NX una cierta ventaja técnica. Pero tanto como el doble… Como que no, no es realista. Es decir, el comentario se contradice a si mismo ya de entrada en ese aspecto.

En cuanto a la GPU, esto es especulativo pero aún no sabemos las especificaciones de Polaris de forma oficial pero las que se han filtrado son las siguientes en lo que a consumo se refiere:

Captura de pantalla 2016-04-16 a las 10.10.29

Baffin vendría a ser Polaris 11, el cual se colocaría en la R9 470 y consumiria alrededor de 50W (la tarjeta completa, incluyendo el chip y la memoria) por lo que por el tema de consumo pienso que Nintendo podría utilizar el Polaris 11/Baffin. ¿Pero cuales son sus especificaciones? Según la información filtrada son los siguientes:

Captura de pantalla 2016-04-16 a las 10.22.57

Hay que tener en cuenta que Nintendo puede tocar la velocidad de reloj de la GPU en el SoC y bajarla, en todo caso el rendimiento/consumo sería ya mayor que el de PS4 con la velocidad a 1Ghz por lo que Nintendo se puede ver tentada a bajar 100 Mhz la velocidad de reloj de la GPU para reducir el consumo. Se dice además que el Polaris 11 tiene un tamaño por si solo de 115mm^2 aproximadamente, mucho menor que el AMD Bonaire integrado en el SoC de Xbox One que ocupa por si solo unos 169mm^2, tenemos que añadirle que en esta configuración es muy posible que la memoria embebida desaparezca de la ecuación y que tengamos una configuración 128 bits GDDR5 como memoria del sistema que en modo clamshell, dos chips por canal:

ceEzdqVD2txu2

Permitirían una configuración de unos 8GB de memoria en el sistema, más que suficiente para recibir ports de Xbox One y de PS4 sin problemas.

Lo demás que viene a continuación es paja, hasta llegar a la parte final del rumor.

Nintendo esta utilizando Vulkan con NX. Esto va de la mano a utilizar una GPU basada en Polaris y va en conjunción con el anuncio de Nintendo uniendise a Kronos. Pero el desarrollador con el que ha hablado sobre la GPU, quien esta portando el juego de PS4 a NX dice que Vulkan aún no esta listo (en lo que el SDK de Diciembre de 2015 se refiere, debería actualizarse en Mayo) y ellos están utilizando una variación de la API de PS4, GMNX, hasta que Vulkan este listo. Nintendo provee algunas buenas herramientas como GMNX para ayuar a los desarrolladores a portar desde PX, Xbox y PS4 a NX.

Hold_it

GNMX es una API propietaria de Sony, en realidad Sony tiene dos APIs, una de bajo nivel que permite el acceso completo al hardware gráfico que es GNM y la otra donde ciertas funciones son llevadas por un controlador que es llamada GNMX y da menos rendimiento pero es más fácil de programar.

captura-de-pantalla-2014-11-16-a-las-13-14-31-e1416219773491

GNMX es por tanto una versión reducida de GNM con un alto parecido semántico a DirectX para poder facilitar el hecho de portar los juegos, GNMX es el equivalente a DirectX 11 en lo que a funcionalidad se refiere y una API que fuera de las nomenclaturas de ciertas funciones es clavada a OpenGL 4.4 y DirectX 11.2 donde hay funciones comunes entre las tres APIs en cuanto a funcionamiento interno pero como he dicho con nombres distintos.

2442356-8487857728-Direc

El caso es que existiendo el OpenGL 4.4… ¿que sentido tiene utilizar el GNMX que es además una API propietaria de Sony? Si Nintendo forma parte del grupo Khronos no solo tiene acceso a Vulkan sino también a OpenGL, y lo más lógico sería pensar que Nintendo esta utilizando OpenGL. Es más, GNMX es igual que Mantle una API alrededor de una GPU en concreto y Nintendo quiere que el entorno de desarrollo sea completamente agnóstico por lo que OpenGL 4.4 y Vulkan tienen sentido, GNMX no lo tiene y quien se ha inventado el rumor ha dicho algo que carece por completo de sentido.

Anuncios