Comentario#1:

Yo estaba esperando el análisis hypeante con los a73 y Parker, pero solo veo drama y nintendoomed, pos nada.

Comentario#2:

Urien especulas con datos de los que no hypean, por que no analizas con los supuestos a73? Y que sea Pascal, creo que es más divertido para la imaginación

No especulo con el A73 de cara a Switch por un motivo muy simple, es un chip que aparecerá bajo un proceso de 10nm y creo que los pocos chips con dicho proceso llevan dicha CPU. En dicho proceso un solo núcleo del Cortex A73 mide unos 0.65mm^2 por lo que es un chip muy pero que muy pequeño pero Nvidia no ha adoptado su tecnología a los 10nm aún y el Tegra más avanzado que es el Tegra Parker se fabrica utilizando los 16FF+ de TSMC y a la hora de fabricar un SoC es necesario que todos y cada uno de los componentes estén adaptados al mismo nodo de fabricación.

Pero hay un tema que es el timing, montar una consola no es como montar un PC en la tienda sino que tiene años de desarrollo de antemano y  es muy posible que cuando Nintendo y Nvidia firmaron el acuerdo y empezarón a concretar las piezas de la arquitectura el Cortex A73 no estaba dentro de las posibles CPUs seleccionables. En todo caso si Nvidia ha conseguido convencer a Nintendo para adoptar el proceso de 10nm de Samsung para su consola entonces me callare y mi reacción será la siguiente:

Cuando aparece un nuevo nodo los fabricantes de chips suelen colocar unos precios por oblea muy altos para paliar los costes de transición. Los 10nm son un nodo muy caro en estos momentos y aunque sea posible hacer un chip más pequeño y de menor consumo o capaz de alcanzar mayores velocidades quien pide la fabricacion del chip se puede ¿más barato con el nodo viejo en vez del nodo nuevo.  ¿Cuando se empezó Nintendo a plantear lo que acabaría siendo Switch? ¿En 2014? ¿Que tecnología había por aquel entonces que fuese palpable y disponible? Un fabricante de consolas necesita algo que exista fisicamente y se pueda fabricar en masa no en el momento en que se lanza la consola sino en el momento en el que los ingenieros empiezan a trabajar en el nuevo sistema

En cuanto a la diferencia entre Maxwell y Pascal… Bueno, ambas utlilizan núcleos CUDA pero el diseño es compleatamente distinto, la forma en la que las unidades CUDA están organizadas es distinta, en el caso de Maxwell están organizadas en grupos de 128 llamados SMM.

smm

El ratio es de 128 núcleos CUDA para 8 Tex (Unidades de texturas), en el caso de Pascal la organizacion de cada SM es distinta:

nvidiasm

Si os fijais en la organizacion de los SMM y los SM veréis que un SM no incluye el planificador (Polymorph Engine), tiene la mitad de unidades CUDA y de texturas y tampoco la cache compartida. Esto tiene una respuesta muy pero que muy sencilla que os va a sorprender y que pone en perspectiva lo que es Pascal realmente.

gpc

Esto es el GPC de la GeForce 1080, si os dais cuenta esta compuesto por un grupo de TPC que incluyen en cada uno de ellos 2 SM y si os dais cuenta debajo del segundo SM de cada TPC hay una linea azul claro que es la cache comprtida y el TPC en la parte superior tiene el Polymorph Engine por lo que podemos deducir que TPC en Pascal= SMM en Maxwell y el colmo de todo es que en las mismas condiciones exactas ambos chips rinden igual es que… la gracia es que Pascal es la misma arquitectura que Maxwell pero a 16nm FinFet. Es decir, el «Maxwell» 256 cores del Tegra X1 y el «Pascal» 256 cores del Tegra «Parker» son en realidad la misma GPU pero con nodos de fabricación distintos. Esta maniobra no es diferente que la que ha hecho AMD con Polaris que no es más que GCN adaptada a procesos FinFet (16 y 14nm) y el nodo 16FF+ que utiliza el Tegra «Parker» le permite alcanzar mayores velocidades de reloj pero Nvidia nunca ha hecho oficiales dichas velocidades de reloj y las especificaciones del Tegra «Parker» en concreto sino que ha hablado de la potencia global dentro del Drive PX 2.

¿Entonces que diferencias hay entre el Tegra Parker y el Tegra X1? La tabla de especificaciones comparativas que siempre pongo nos marcan las diferencias.

NVIDIA-Tegra-Parker-SOC_Specs-1

La GPU en realidad es la «misma» por lo que tenemos que mirar en otras partes y la diferencia esta en la CPU y el Uncore, la configuracion del Tegra X1 es Cortex A57+Cortex A53 mientras que en el Tegra «Parker» es Cortex A57+Denver 2. En ambas configuraciones el punto en común es el Cortex A57 pero la otra CPU cambia por completo siendo en el X1 un Cortex A53 y en el otro caso Denver 2. A más, a mas,  en el caso de «Parker» hay un nuevo uncore llamado Coherent HMP architecture que es el elemento más diferenciador de todos.

Imaginaos por un momento que un SoC es una ciudad con distintos barrios donde cada barrio es un componente y que dentro de dicha ciudad hay una autopista circular. que lo que hace es atravesar toda la ciudad por donde pasan la mayoría de los coches/datos para ir de un barrio a otro e incluso para entrar y salir de la ciudad.

urbana_norte_2

El uncore no es dicha autopista, en realida es el sistema de tráfico que se encarga de gestionar los viajes de los datos y en general suele ser un Crossbar Switch controlado que abre y cierra los canales de datos hacía una direccion o hacía otra. Cuando los datos salen de la CPU, la GPU o  incluso vienen de la memoria es el Crossbar Switch el que se encarga de envialos a su destinto. Pues bien, el HMP es dicho elemento y es donde se encuentra conectada no solo las CPUs y si hacemos caso a la siguiente diapositiva el HMP parece estar pensado para albergar la combo Denver 2+ A57 en realidad.

parker6

¿Donde esta la GPU? ¿Es que acaso la GPU no es coherente? Aquí tenemos que entrar en uno de los elementos que suelen tener los SoC y es el hecho que las GPUs suelen tener su propio uncore donde no solo esta conectada la GPU sino una serie de chips de apoyo como pueden ser los chips de codificar y descodificar video por ejemplo. Independientemente de si la GPU es un chip aparte o esta dentro de un SoC esta tiene su propio uncore y es aqui donde las diferencias entre Maxwell y Pascal existen, en el tema del acceso coherente a toda la memoria en arquitecturas con memoria unificada. En el caso del Tegra X1 la GPU no tiene un sistema de coherencia con la CPU por lo el espacio de memoria estaba separado en una serie de direcciones de memoria para la CPU y otra serie de direcciones de memoria para la GPU.

Esto lo llamo Nvidia Unified Virtual Memory, no es más que un nombre que le ha puesto Nvidia al hUMA de las arquitecturas HSA, es exactamente lo mismo…

Slide 1

huma-3

… al menos en apariencia por el hecho que en Maxwell esa unificación de memoria no era a nivel físico sino virtual y ha sido con Pascal que ha pasado a ser física. ¿Que significa esto? Cuando la memoria no es coherente pese a estas unificada lo que acaba ocurriendo es que para pasar de un espacio de memoria a otro hay que realizar copias de datos incluso si se encuentran fisicamente en la misma memoria. ¿Que importancia tiene esto? Pues es clave porque no sabemos como va a querer Nintendo el esquema de memoria de su consola si completamente coherente y unificado o donde la coherencia no este aunque no lo sabremos hasta que tengamos el SDK de la consola y lo comprobemos pero va a ser un buen indicador para saber si la GPU va a ser Maxwell y/o Pascal pero es que ni eso nos va a hacer falta, cuando manden el chip bajo el microscopio lo sabrán y no creo que tarden mucho una vez alguien haga un análisis forense sobre una unidad de la consola y nos saque una litografía pormenorizada del chip principal.