Después de varios años, ARM ha actualizado por fin su ISA y acaba de anunciar ARM V9, la cual será la base para los futuros núcleos que actualmente se encuentran en desarrollo. Con la situación de ARM en entredicho por la retrasada compra de NVIDIA aparece este nuevo set de registros e instrucciones.
En estos momentos estamos esperando ver que ocurre con la compra de ARM por parte de NVIDIA, mientras tanto ellos siguen desarrollando su tecnología no solo de sus CPU ARM, sino también de sus GPUs Mali y sus NPU Ethos, las cuales podrían ver los días contados si se confirma la compra al entrar en conflicto con los procesos y recursos de la propia NVIDIA de cara a los gráficos y la inteligencia artificial.
¿Por qué ARM ha actualizado la ISA de sus CPU?
Pese a que cualquiera puede fabricar una CPU con un set de registros e instrucciones, ISA, compatible con ARM, no existe un comité o foro de estos fabricantes de cara a diseñar las nuevas instrucciones. Esto es debido a que es la propia ARM Holdings quienes internamente desarrollan las nuevas versiones de la ISA.
Cuando una ISA recibe una actualización lo que se hace es crear nuevas instrucciones, a las que se les asigna un opcode y son documentadas en su funcionamiento a todos los niveles. Tanto a nivel de la definición de la propia instrucción así como su interacción a nivel interno de la circuitería de cada CPU.
Las ISA que utilizan las CPUs por tanto reciben actualizaciones por el hecho que los nuevos desafíos lo requieren. Es mucho mejor crear instrucciones nuevas y los mecanismos internos para poder ejecutarlas como por ejemplo nuevas unidades de ejecución que tirar con la vieja versión de una ISA, la cual es ineficiente de cara a los nuevos retos que han ido apareciendo a través del tiempo.
¿Qué novedades trae la ISA ARM V9?
Lo primero que hay que tener en cuenta es que la ISA ARM V9 es totalmente compatible con la anterior versión de la misma, por lo que los binarios que funcionaban en las CPU con la ISA ARMv8 lo harán en la nueva ISA. No obstante la ISA tiene una serie de cambios importantes.
El primer cambio importante está en el añadido de las instrucciones SVE2, Scalable Vector Extensions. Su origen está en el superordenador Fugaku de Fujitsu, la cual utiliza la CPU con ISA ARMv8 A64FX. Las instrucciones SVE que eran exclusivas de dicha CPU de Fujitsu ahora se han integrado dentro del set ARM V9 y podrán utilizarlos todos aquellos que licencien dicha ISA. ¿Con qué podemos comparar las instrucciones SVE? Al ser una extensión SIMD de 512 bits la podemos comparar con las instrucciones AVX-512 de Intel.
Las instrucciones SVE2 son por tanto sucesoras de las viejas instrucciones NEON, las cuales han sido integradas en su totalidad siendo SVE2 un superconjunto de instrucciones que integra NEON y SVE.
Mejoras en el rendimiento de los núcleos en ARM V9
El renovado set de instrucciones ARM V9 también traerá mejoras en el diseño de los diferentes núcleos en velocidad de reloj, latencia, ancho de banda con la RAM y en el sistema de cachés.
- La latencia de las instrucciones con la memoria se ha reducido de los 150 ns de media a los 90 ns.
- La velocidad de reloj media ha aumentado de los 2.6 GHz a los 3.3 GHz, con una mejora de rendimiento del 3% por cada 100 MHz.
- El ancho de banda con la RAM pasará de ser de 20 GB/s a 60 GB/s de media, esto llevará al desarrollo de nuevos tipos de memoria más allá de la LPDDR5.
- La caché L2 duplicará su tamaño respecto a los diseños para ARMv8, mientras que la caché L3 se cuadriplicará. Esto supone un aumento de rendimiento del 9% con solo duplicar el tamaño de las cache.
ARM cree que el futuro está en los aceleradores
Esto es algo que resuena en toda la industria, el aumento del rendimiento a través de mejoras continuas del IPC no va a ser el motor de mejora de futuros sistemas. Desde hace ya tiempo que se habla del uso de aceleradores y procesadores de dominio específico para acelerar ciertas tareas concretas.
El mercado mayoritario de ARM son los dispositivos de bajo consumo como smartphones y tablets, pero por el bajo consumo de estos dispositivos se han de buscar otros caminos para aumentar el rendimiento, siendo los aceleradores el mejor de ellos, ya que permiten realizar tareas concretas con un consumo reducido y un área reducida en un chip. En el diseño de las CPUs ya se están implementando instrucciones que no son llevadas a cabo por los núcleos principales, sino por coprocesadores que trabajan en paralelo y son mucho más eficientes.
Tampoco podemos olvidar como los núcleos ARM están ganando fuerza en el mercado de los servidores, en el cual gracias a que Linux es dominante la ISA x86 pierde toda ventaja. En los servidores también los aceleradores están ganando fuerza con el objetivo de reducir el coste energético de las diferentes operaciones y poder llegar así al ExaFLOP de potencia.