IntelPowerPC

Lo del PowerPC te lo puedo responder, pero en el tema Intel te puedo responder porque al menos en una de las consolas de siguiente generacion (en el caso de que la otra exista, cosa que dudo tal y como están las cosas) todo apunta a que no va a utilizar un SoC de Intel y todo tiene que ver con la comunicacion CPU-GPU.

AMD lleva años desarrollando una evolucion del Northbridge con interfaz Hypertransport extendida en ancho de banda y completamente coherente al que todos los elementos del SoC o del NoC (MCM) se conectan en forma de Northbridge universal, incluyendo la GPU que dejaría tener sus propio Northbridge para tener uno universal.

infinity fabric

En las consolas de la pasada generación la GPU tenia un Northbridge privado al que no tenia acceso la CPU, los componentes de la GPU podían acceder tanto a la memoria utilizando el Northbridge de la CPU (Coherente) haciendo uso del bus Fusion Compute Link (Onion) mientras que si accedían a la GPU (No Coherente) lo hacían a través del Radeon Memory Bus (Garlic).

El concepto de tener un Northbridge universal supone la eliminación por completo del Northbridge de la GPU y por tanto del bus RMB/Garlic. Esto es algo que en consolas en principio no se ha realizado y digo en principio porque luego os comentare que si, que existe un hardware en el mercado que lo utiliza. El caso es que en PC el primero en tener este tipo de Northbridge coherente unificado aunque no el Infinity Fabric que sería la evolución fue el AMD Carrizo.

Slide 20 - HSA Accel Features

Su GPU aunque de las mismas especificaciones que la de la AMD Kaveri en principio ha recibido modificaciones para el soporte en sus caches de un entorno completamente coherente.

carrizo_gcn_scematics.png

Ahora bien, Kaveri es GCN 1.1 (Sea Islands) por lógica Carrizo debería ser GCN 1.2… (Volcanic Islands)… ¿No es así? Pues no, no es así, porque las GCN 1.2 no tienen los cambios pertinentes para un SoC completamente coherente, la paradoja es que Carrizo tiene la única GPU versión GCN 1.3/GCN4 a 28nm, la cual es la misma que… Polaris que es la arquitectura utilizada en las RX 4×0 y RX 5×0 que se encuentran ahora mismo en el mercado, pero ninguna de estas GPUs se han diseñado con el Infinity Fabric sino que este se ha incluido en las AMD Vega (GCN5) que es su evolución.

¿Y como es que estoy comentando todo esto? El Infinity Fabric al contrario que el antiguo Northbridge de AMD no solo sirve para comunicar procesadores de manera interna (SoC) sino también de manera externa (NoC) y tenemos dos ejemplos en el mercado que son los siguientes. Por un lado la tenemos el AMD Epyc donde los diferentes Summit Ridge (Ryzen de 8 núcleos) se comunican entre si a través del Infinity Fabric.

epyc_tech_day_first_session_for_press_and_analysts_06_19_2017-page-072

Por otro lado tenemos el Kaby Lake G…

8th-Gen-Intel-Core-processor.jpg

El Kaby Lake G contiene una AMD Vega 11 como GPU, la cual incorpora una interfaz Infinity Fabric, no sabemos como se comunica el Kaby Lake con el Vega 11 incluido en el empaquetado. ¿Es posible que Intel integre una tecnología de AMD en sus CPUs? Es posible, al fin y al cabo hay tecnologías de Intel en AMD y viceversa, pero lo del HSA es sumamente interesante, aunque lo he comentado muchas veces el Infinity Fabric permite tanto un NoC como un SoC completamente coherente… ¿Y que significa esto? Lo he puesto muchas veces.

Es basicamente pasar de dos espacios de memoria diferenciados en el direccionamiento:

NonFullHSA

Que sería como si en un barrio tuviesemos dos empresas de mensajería distintas, con su propio libro de direcciones no coordinados entre si.

A lo siguiente:

FullHSA

Donde pasamos a tener una sola empresa de mensajería en el barrio donde todo esta perfectamente coordinado. ¿Cambia esto algo a la hora de programar? Bueno, si que lo cambia porque por paradojico que parezca tenemos que realizar copias de datos del espacio coherente al no-coherente cuando no existe dicha unificación. Es por eso por ejemplo que PS4 pese a tener memoria física unificada en apariencia tiene una unidad DMA para pasar datos de la parte coherente a la parte no-coherente. Este mismo problema ocurre con la PS4 Pro, cuya GPU todo el mundo dice que es una Polaris incrustrada pues no, no es una Polaris y en lo único que coinciden es el número de CUs, en realidad la GPU de PS4 Pro es una GCN 1.2 y no tiene un Northbridge unificado. No es una GCN 1.1 porque sabemos que soporta el Delta Color Compression que es propio de las GCN 1.2 por lo que sus RBE están modificados.

PS4DCC

El Delta Color Compression no requiere ningún cambio en el código ya que es algo realizado por los RBE que copian en memoria de manera provisional los búfers intermedios con una compresión de datos. Por otro lado gracias a la necesidad de recuperar muchas veces estos búfers como texturas las unidades de texturas dentro de las Compute Units también están modificadas para ello, pero son unidades de función fija en realidad y por tanto su funcionamiento esta fuera del control del desarrollador.

Pero tanto PS4 como PS4 Pro comportan el problema que ciertos componentes pueden utilizar los dos buses y existe la posibilidad a nivel de código de acceder a un espacio de la RAM u otro. En el caso de Xbox One y Xbox One S ocurre lo mismo que en PS4 y PS4 Pro y en Xbox One X también ocurre desde el momento en que no tenemos un Northbridge universal, lo cual será una de las bases para la siguiente generación de consolas.

Una vez hecho este repaso hemos de tener en cuenta que AMD lleva años buscando que este tipo de Northbridge se convierte en un elemento universal, para ello liberaron la tecnologia y fundaron la Fundación HSA. Cuyos miembros son:

HSAMembers.PNG

Entre las empresas que están dando apoyo nos encontramos a la propia Sony, pero en general y no la Sony Computer Entertainment solamente.

HSAContributors.PNG

¿Que tiene que ver esto con el Infinity Fabric? Pues que todo esto forma parte del mismo estandar de Northbridge que están adoptando varias empresas de SoCs… ¿Donde esta Intel en todo esto? No lo esta y es aquí donde la conclusión es clara… ¿Como es que el Kaby Lake G requiere un complejo sustrato/interposer? Pues porque hace uso de la tecnología Intel EMIB pero en ningún momento hace uso del Infinity Fabric de AMD y no parece que Intel lo vaya a integrar en sus CPUs, de la misma manera que no parece que NVidia lo vaya a integrar, teniendo su propia version del concepto llamada NVLink.

El caso es que Intel no tiene por el momento una GPU competitiva de cara a una consola de siguiente generación y lo único que puede hacer es ir en conjunto con AMD pero su tozudez al no adoptar la tecnologia HSA y crear un Northbridge de este tipo le crea una serie de problemas de cara a integrar una CPU Intel con una GPU de AMD en un mismo SoC e incluso en un NoC… Bueno, en un NoC lo hemos visto ya pero requiere de un caro sustrato/interposer mientras que en elementos como el AMD Epyc no es necesario.

650px-amd_epyc_interconnect

Cada uno de los Summit Ridge a través de la interfaz Infinity Fabric se puede comunicar con al menos hasta 3 procesadores sin tener un sustrato/interporser tan complejo.

¿Por qué explico todo esto? Yo personalmente descartaría a Intel de la ecuación de una consola de siguiente generación… ¿Entonces donde queda ese rumor de un hardware tipo consola? Os presento el Intel Hades Canyon…

intel-nuc-hades-canyon-amd-rx-vega-1078x516.jpg

Un NUC de AMD con el Kaby Lake G en su interior:

Intel-Hades-Canyon

Se presento de manera oficial en el pasado CES de no hace ni un mes.

intel-nuc-hades-canyon-amd-rx-vega-2

Incluso hay gente que ya lo tiene y lo ha podido trastear por lo que el hardware ya se encuentra disponible en el mercado:

Fijaos en lo pequeño que es y lo ideal que es para un eventual factor forma tipo consola de videojuegos. El problema es su alto precio…

HadesCanyonPrecio.PNG

Por ese precio uno se puede montar un PC de sobremesa mucho más barato y su potencia no es superior a nivel de GPU que PS4 Pro y aún menos que Xbox One X. ¿Entonces para que Intel y AMD se colocan a realizar un diseño de este tipo si no existe cliente potencial más allá de la propia Intel? El alto precio es en parte porque el caro de fabricar Kaby Lake G por el momento pero… ¿Es solo para Intel? Digamos que lo vamos a ver caer en algún que otro producto Apple en un futuro cercano pero el concepto no era solo para Apple inicialmente sino que el cliente original era Valve y creo que la historia ya la he contado, pero bueno.

Valve en su arrogancia y sin capacidades desarrolladas para la creación de un Sistema Operativo competitivo para juegos pensaba que podía crear uno basado en Linux pero preparado para Gaming al que llamaron Steam OS, la idea era la de poder crear equipos tipo consola centrados alrededor de la tienda de Steam. El problema del Steam OS es que Valve con tal de conseguir el mayor número de software posible en su plataforma creo un puento de traslado de Direct3D 9 a OpenGL…

Ahora pensadlo bien y veréis los dos problemas:

  1. Se añade más tiempo de CPU por lo que se acaba necesitando una CPU más potente eliminando la ventaja en costes de no utilizar la licencia de Windows por un lado y en hardware par Windows acaba teniendo problemas.
  2. Nunca llegaron a desarrollar el puente de traslado de Direct3D 11 a OpenGL.
  3. La aparición de Vulkan les jodio completamente el invento de la primera generación del Steam OS.

¿Que hizo Valve? Decir que Vulkan es el futuro pero aún no han sacado ninguna versión del Steam OS basado en el mismo, lo cual es normal conociiendo las limitaciones de Valve que recordemos que no es una gran empresa de SOs.

dx12_vulkan_1

Vulkan y DX12 son análogos el uno del otro pero Valve nunca saco un Steam OS con una capa de traslación de DirectX 11 y 12 a Vulkan. Los ensambladores que inicialmente apostaron por el SO de Valve terminaron…

1byglv

Y por desaveniencias con Valve acabaron enviando a la mierda las Steam Machines de segunda generación en el proceso, las cuales tenían que basarse todas en el Kaby Lake G. ¿Las consecuencias? Intel y AMD teniendoselo que comer con patatas por completo el NoC que ya tenían desarrollado al 100%. Es decir, el Kaby Lake G era para una generación de Steam Machines que no han aparecido no solo porque Valve no ha terminado el Steam OS 2 sino porque los ensambladores apenas vendieron sistemas con el Steam OS.

¿La participación de Intel en consolas?

Jameson

Descartadla en serio, porque Intel no se mete en ningún mercado que no les de unos margenes enormes por chip de ellos y cuando digo margenes enormes me refiero a eso. ¿Entonces? Intel esta ahora mismo en modo…

giphy.gif

¿El motivo? El minado de criptomonedas hace uso de las GPUs de AMD y Nvidia que están siendo vendidas con altos márgenes e incluso han subido de precio en el proceso mientras se agotan rapidamente. Intel no esta sacando beneficio de ello e incluso sus Knight Algo no se están vendiendo, de ahí el interés de Intel de «sacar GPUs dedicadas» que salió hace unos meses con la contratación de Raja Koduri, todo el mundo sabe que una GPU no se hace en dos días pero deben estar llorando a mares por no poder sacar provecho de ello. ¿Para una consola de nueva generación? Lo dudo, no les interesan los margenes bajos y encima la solución de AMD por el Infinity Fabric es más elegante en costes. Sin ir más lejos ya tenemos pistas en las patentes de Sony de que la siguiente generacion de PlayStation (con un NoC o con un SoC) harán uso del Ryzen y será compatible hacía atrás.

¿Puede que me equivoque? Pues si, pero el tiempo ya pondrá las cosas en su sitio, en todo caso tenia que aclarar lo de la «consola» de Intel.