Oryon, así es el nuevo núcleo de CPU de los Snapdragon X
Pronto veremos una gran cantidad de ordenadores portátiles cuyo chip principal será el nuevo Snapdragon X de Qualcomm, el cual estrena nuevo núcleo, Oryon. En este artículo nos vamos a centrar en la nueva unidad central de proceso de Qualcomm, su arquitectura y rendimiento en comparación con otros cores contra los que competirá en el mercado.
Índice de contenidos
¿Qué son los núcleos Oryon en el Snapdragon X?
Los núcleos Oryon derivan de los Phoenix de Nuvia, al fin y al cabo Qualcomm compro la empresa creada por exingenieros de Apple para que desarrollen diseños que hagan que en cuanto al rendimiento de la CPU no quedarse no solo por detrás de Apple en ARM, sino que tengan la suficiente capacidad como para poder interpretar el código x86 a ARM sin que esto sea un problema de cara al rendimiento. Por lo que sí hay algo que define a los Snapdragon X son precisamente estos núcleos, sin embargo, no es lo único que compone este SoC.
En el caso que nos ocupa hablaremos de los núcleos Oryon en exclusiva, lo que es en realidad la CPU del nuevo chip de Qualcomm y que muy probablemente veremos en otros chips de la marca con el tiempo en variantes para móviles o incluso realidad virtual, pero que por el momento se encuentra orientado a ser el SoC principal de varios portátiles basados en Windows para ARM.
Lo que tenemos en el caso del Snapdragon X son 3 clústeres de 4 núcleos Oryon cada uno, por lo que en un futuro Qualcomm puede escalar añadiendo más clústeres o en su defecto hacer que la arquitectura escale para soportar 8 núcleos por clúster.
Sin configuración heterogénea
Al contrario de lo que ocurre en muchos diseños actuales, Qualcomm ha decidido que Oryon no tenga un hermano pequeño acompañándole, sino que todos los núcleos del Snapdragon X sean simétricos en lo que a arquitectura se refiere. Es decir, no han desarrollado un E-Core, lo que no quita que en un futuro lo desarrollen o en su defecto un P-Core, dejando al núcleo actual como el eficiente.
No obstante, hasta 2 núcleos en toda la CPU pueden colocarse a una velocidad de reloj superior el resto, con tal de mejorar el rendimiento a la hora de ejecutar la parte que no se puede paralelizar del código. Por lo que si bien no soportan multihilo, si que soportan velocidades de Boost, algo que demuestra que este primer diseño no está pensado para teléfonos móviles u otros dispositivos de bajo consumo.
Organización de la caché en Oryon
Con respecto a las cachés en los núcleos Oryon del Snapdragon X nos encontramos con la siguiente organización:
- La caché L1 es privada de cada núcleo, está como toda CPU se encuentra dividida en datos e instrucciones.
- Se trata de una caché de primer nivel con un tamaño bastante considerable en comparación con otros diseños, ya que hablamos de 192 KB para instrucciones, y 96 KB para datos.
- En cuanto a su latencia de acceso, esta es de 4 ciclos de reloj.
- La L2 se encuentra compartida para todo el clúster (12 MB para un total de 36 MB en el Snapdragon X).
- Su latencia, después de que el dato no se encuentra en la caché L1, es de 17 ciclos, por lo que en ese aspecto se encuentra en un rendimiento muy a la par con los núcleos que utiliza Apple en sus chips.
- Siempre contiene una copia automática del contenido de la L1, por lo que los núcleos pueden acceder a ella si en su caché de primer nivel hay contención de cara al acceso. Lo cual no debe confundirse con un caché miss, desde que es un acceso directo, por lo que su latencia será menor en este caso.
En cuanto a lo que podríamos considerar la L3, llamada en estos casos System Level Cache, esta se encuentra en el controlador de memoria integrado en el SoC con un tamaño de solo 6 MB y totalmente fuera de lo que podemos considerar la CPU. ¿Su latencia? Bastante alta en comparación, hasta 105 ciclos de reloj.
¿Qué hay dentro de un núcleo Oryon?
(Antes de nada, cabe aclarar que el diagrama que veis en esta sección es un trabajo de Cardyak quien ha organizado toda la información del núcleo Oryon en los Snapdragon X de forma ordenada y que permite entender mucho mejor la arquitectura de esta CPU que con la remesa de diapositivas de Qualcomm)
Cómo se puede ver estamos ante un diseño capaz de decodificar 8 instrucciones simultáneamente en su Frontend y que después del reordenamiento de instrucciones dispone de 14 puertos a los que enviar las instrucciones a los diferentes tipos de ALU en el Backend o unidad de ejecución, la cual se organiza de la siguiente manera:
- 6 ALU para enteros que pueden realizar operaciones aritméticas sencillas.
- 2 de ellas se encargan de la predicción de saltos.
- Otras 2 tienen la capacidad de realizar en un solo ciclo instrucciones FMA (A+B*C).
- 4 ALU para coma flotante.
- Cada una de ellas con una unidad SIMD de 128 bits.
- Sin soporte para BF16, sin embargo, para ello ya está la NPU Hexagon en el Snapdragon X.
- 4 unidades Load/Store
Ahora bien, ¿qué nos podemos esperar en cuanto a rendimiento?
Oryon frente a otros núcleos ARM
Mientras que los núcleos x86 han conseguido llegar a un ratio de 8 instrucciones decodificadas, que no ejecutadas, por ciclo de reloj, el decodificador en los núcleos ARM ha llegado ya a la cifra de 10. Claro está que estamos hablando del núcleo ARM Cortex X929, que es el último que ha lanzado ARM Holdings al mercado, y rival real del núcleo Oryon y el P-Core de los Apple M4.
El problema claro esta es que no podemos comparar los diferentes núcleos de forma directa, en primer lugar por el hecho que el ARM Cortex X929 todavía no se encuentra en ningún SoC en el mercado y en segundo lugar por la disparidad de sistemas operativos si hablamos de compararlo con el chip de Apple, no obstante, hemos decidido usar las cifras de Geekbench 6 en su prueba para un solo hilo para ello.
Por lo que se puede ver, Oryon no resulta revolucionario en cuanto a rendimiento y Qualcomm no lo tendrá fácil. Eso sí, su desarrollo no solo ha supuesto un litigio legal frente a ARM Holdings, sino que esta última se ponga las pilas de una vez por todas. Se puede decir que el mundo de los núcleos con set de instrucciones ARM está más candente que nunca.