Comentario#1:

Si hacen inteprete x86 a arm ya los demanda Intel.

La actual Intel tiene mucha jeta y mucho morro, precisamente han sido incapaces ellos de crear en todo este tiempo un chip x86-64 de bajo consumo que se pueda colocar en los dispositivos Post-PC y esta ocurriendo que el rendimiento de estos para ciertas utilidades básicas ya igualan e incluso superan las gamas bajas de una Intel que esta siendo disruptada por completo. Ay, los viejo tiempos… ¿Cuanto hace que no hablaba de esto?

king-s1

El concepto es muy simple, las CPU con conjunto de instrucciones y registros ARM también se ven beneficiados por las evoluciones tecnológicas en manufactura de procesadores. Intel lleva unos 12 años estancada sin presentar una nueva gran arquitectura porque colocada arriba del todo y con la torpeza de AMD en su día con lo Bulldozers pues… ¿Y que hacen lo titulares de un mercado cuando algo en la gama baja les esta persiguiendo? Tiran de rendimiento pero llega un punto en que el  disruptor avanza también y acaba teniendo un producto lo suficientemente bueno para el público pero con una serie de ventajas que lo hacen mejor para el cliente.

En el caso que nos ocupa el cliente es la propia Apple, pasar de CPUs Intel a los propios Ax de la propia Apple tiene para los de Cupertino una serie de ventajas.

  • Como son procesadores propios les van a salir mucho más baratos que comprarle a Intel.
  • El perfil termal y de consumo de lo Ax es mucho mejor para lo factores forma, es decir, para los diseños industriales de Apple.

Ahora bien, sobre el interprete… Qualcomm es de las empresas que no revelan nada de su hardware y se dice que no revelan nada porque el Snapdragon 845 y el 850 tienen un interprete que coge el binario para x86 y lo convierte en una instrucción ARMv8 que la CPU del Snapdragon puede entender sin problemas. En realidad esto también lo hace Intel en sus CPUs, su front-end e x86-64 pero tienen un inteprete que transforma las intrucciones a una arquitectura RISC interna que solo conoce la propia Intel y AMD hace lo mismo con la suya propia. Curiosamente en las GPUs cuando la APIs crean código a tiempo real para las listas de comandos el controlador, esta vez por software, compila a tiempo real el código para que el conjunto de registros e instruccione propio de la GPU lo pueda entender sin problemas.

SoC-ARM-emulación-x86-en-Windows-10-768x395

Qualcomm utiliza por el momento un interprete por software de manera oficial pero nada les impide el uso de un interprete por hardware en futuros sistemas e incluso que lo tengan implementado parcial o totalmente en los Snapdragon 845 y 850. El interprete puede que sea desarrollado por el departamento de hardware de la propia Microsoft, lo cual de funcionar de manera eficiente sería un hostíon enorme en contra de Intel porque Microsoft podría entrar en una gama baja y en su visión de dispositivos Post-PC, la cual es diferente a la de Apple donde la empresa de Cupertino tiene una linea divisoria clara entre los Macs y los dispositivos Post-PC.

7506_applewrong

El caso de Apple es diferente al de Microsoft, sus situaciones son distintas y no se pueden comparar. La aparición de un interprete x86 en un ARM dirigido al mercado Windows es una amenaza para Intel 1.000.000X más grande que si lo hace Apple… ¿el motivo? Bueno…

DSCF1801_2500_resized

Si Apple se pasa a sus propios procesadores son solo sus 13.1 millones de portátiles vendidos, pero si HP, Lenovo, Dell y el resto se encuentran que pueden montar PCs ma´s baratos con un SoC ARM y que funcionen para ciertos mercados sin problemas de compatilidad… ¿A donde creeis que iran esos grandes ensambladores? La única manera de sobrevivir que tendría Intel sería ir recortando el precio de sus procesadores y con ello sus ganancias.

Curiosamente Steve Jobs le pidió un chip x86-64 a Intel para el iPad, cosa que el por aquel entonces CEO de Intel no acepto. ¿El motivo? No podían abusar de los altos margenes porque era una condición de Apple para comprarles el chip a granel para lo que sería el iPad. Y sabemos que Intel abusa de su posición con uno margenes estratoféricos en sus procesadores. Fenómeno que ocurre cuando no tienes competencia en ese sector del mercado. Y si, se que existe Ryzen, pero por consumo Ryzen no es viable en ciertos factores forma y la única salida que tienen es Intel. Por eso la propia Intel tiene miedo de que salga una alternativa.

Comentario#2:

Urian, sabes perfectamente que, en la anterior transición, Apple utilizó tanto un intérprete para los programas antiguos como fatbinary para los nuevos. No digo que sea imposible hacerla sin intérprete, pero si más difícil, ya que las nuevas máquinas serían incapaces de ejecutar cualquier programa no compilado para la nueva arquitectura.

No me acordaba del Rosetta cuando escribi la respuesta y de que con binario diferente en lo programas antiguos no había retro-compatibilidad. Gracias por recordarlo.

Para los que no sepáis que era Rosetta era la capa (via software) de compatibilidad, es decir un traductor de binarios al vuelo.

apple_rosetta

Lo que yo pienso es que Apple lo que va a hacer será crear un inteprete por hardware que no van a revelar mientras hacen la misma jugada que supuestamente esta haciendo Microsoft, decir que hay un inteprete dinámico subyacente en el Sistema Operativo cuando realmente hay inteprete por hardware. En la era de la transición PowerPC a Intel eso no se podía hacer por el simple motivo que no era Apple la que diseñaba los procesadores de sus maquinas y ahora si, por lo que transparentemente puede sacar un A13M para los futuros MacBook o lo que supuestamente acaben lanzando y simplemente pedir Fatbinaries (codigo fuente para Intel y para ARM en un solo binario) sin tener que preocuparse por tener que desarrollar un nuevo interprete por software.

Comentario#3:

¿El set de instrucciones ARM thumb tiene potencia equiparable a x86 para ordenadores de nivel de escritorio?

Es algo muy complejo, lo dejo para otra entrada si me permites.

Comentario#4:

No se… hay cosas que no me encajan, esto me suena a propaganda de los medios.

La cpu vale, los cortex han evolucionado bastante, pero… ¿Los shaders de ese ipad superan 1.4 Tflops a una velocidad un poco inferior y consumiendo menos de que, que consumiría un dispositivo de esos 6-8W como máximo frente a los 50W de la xbox one S? No me cuadra.

A no ser que pudiesen usar ese neural processor como asistente de la gpu, ¿pero la gpu sola?
O a no ser que ya estén usando nuevos materiales como la aleación de silicio-germanio, que algo muy por encima he llegado a leer que AMD estaba como mirándolo (de esto último no me hagas caso, solo que puede ser una opción).

Teniendo en cuenta que a 10nm estamos teniendo SoCs con GPUs que tienen 512 ALUs/»Stream Processors» no veo ninguna imposibilidad en lo que comente en la entrada pasada y sobretodo si tenemos en cuenta que el A12X tiene una GPU extendida. Ya he explicado el motivo por el cual la configuración de cada cluster/nucleo/SM/CU (escoged le denominación que queráis) no es ni de 32 ALUs (caso de los PowerVR), ni tampoco de 64 ALUs sino de 128 ALUs.

Aparte que el aumento en la densidad del SoC no sería mucho, el A12 a secas tendría unos 512 ALUs/»Stream Processors» en su GPU divididos en cuatro «núcleos» donde cada núcleo tendría como he dicho unos 128 ALUs/»Stream Processors» y mide unos 3.23mm^2, por lo que el aumento de pasar de 4 a 7 no es una exageración en cuanto al tamaño y tiene todo el sentido del mundo. Y si, se que suena sorprendente que con el bajo consumo que tiene pueda alcanzar a la GPU de Xbox One S, pero no creo que siempre lo haga sino que solo puede hacerlo en un modo turbo especial que no puede sostener mucho tiempo por motivos térmicos. Apple no nos ha dicho en que situaciones alcanza esos topes de rendimiento.

Bueno, con esto termino la entrada, como siempre sabéis que tenéis el canal de Discord y los comentarios para comentar