Saltar al contenido
Noticias de tecnologia

Arm anuncia la arquitectura Armv9: SVE2, seguridad y la próxima década

Arm anuncia la arquitectura Armv9: SVE2, seguridad y la próxima década

Han pasado casi 10 años desde que Arm anunció por primera vez la arquitectura Armv8 en octubre de 2011, y ha sido una década bastante agitada de la informática, ya que la arquitectura del conjunto de instrucciones vio una mayor adopción a través del espacio móvil al espacio del servidor, y ahora comienza a ser común en el mercado de dispositivos de consumo, como computadoras portátiles y las próximas máquinas de escritorio. A lo largo de los años, Arm ha evolucionado la ISA con varias actualizaciones y extensiones de la arquitectura, algunas importantes, otras tal vez se revisen fácilmente.

Hoy, como parte del evento Arm’s Vision Day, la compañía anuncia los primeros detalles de la nueva arquitectura Armv9 de la compañía, sentando las bases de lo que Arm espera que sea la plataforma informática para los próximos 300 mil millones de chips en la próxima década.

La gran pregunta que los lectores probablemente se harán a sí mismos es qué diferencia exactamente a Armv9 de Armv8 para garantizar un salto tan grande en la nomenclatura de la ISA. A decir verdad, desde un punto de vista puramente ISA, v9 probablemente no sea un salto tan fundamental como v8 fue sobre v7, que había introducido un modo de ejecución completamente diferente y un conjunto de instrucciones con AArch64, que tenía ramificaciones de microarquitectura más grandes sobre AArch32, como registros extendidos, 64 -bit espacios de direcciones virtuales y muchas más mejoras.

Armv9 continúa el uso de AArch64 como el conjunto de instrucciones de línea de base, sin embargo, agrega algunas extensiones muy importantes en sus capacidades que garantizan un incremento en la numeración de la arquitectura, y probablemente permite que Arm también logre una especie de reclasificación de software no solo de la nuevas funciones v9, pero también las diversas extensiones v8 que hemos visto lanzadas a lo largo de los años.

Los tres nuevos pilares principales de Armv9 que Arm ve como los objetivos principales de la nueva arquitectura son la seguridad, la inteligencia artificial y las capacidades mejoradas de vector y DSP. La seguridad es un tema muy importante para la versión 9 y profundizaremos en los nuevos detalles de las nuevas extensiones y características en un momento, pero sacar primero las características de DSP y AI debería ser sencillo.

Probablemente, la característica nueva más importante que se promete con las nuevas CPU compatibles con Armv9 que serán inmediatamente visibles para desarrolladores y usuarios es la base de SVE2 como sucesora de NEON.

Scalable Vector Extensions, o SVE, en su primera implementación se anunció en 2016 y se implementó por primera vez en los núcleos de CPU A64FX de Fujitsu, ahora impulsando la supercomputadora Fukagu ​​número 1 del mundo en Japón. El problema con SVE fue que esta primera iteración del nuevo conjunto de instrucciones SIMD de longitud de vector variable tenía un alcance bastante limitado y estaba dirigido más a cargas de trabajo HPC, faltando muchas de las instrucciones más versátiles que todavía estaban cubiertas por NEON.

SVE2 se anunció en abril de 2019 y buscó resolver este problema complementando el nuevo conjunto de instrucciones SIMD escalable con las instrucciones necesarias para servir cargas de trabajo más variadas similares a DSP que actualmente todavía usan NEON.

El beneficio de SVE y SVE2 más allá de la adición de varias capacidades SIMD modernas está en su tamaño de vector variable, que va de 128b a 2048b, lo que permite una granularidad variable de 128b de vectores, independientemente de en qué se esté ejecutando el hardware real. Desde el punto de vista del procesamiento y la programación de vectores, significa que un desarrollador de software solo tendría que compilar su código una vez, y si en el futuro una CPU presentara, por ejemplo, tuberías de ejecución SIMD nativas de 512b, el código podría funcionar. Aprovecha ya todo el ancho de las unidades. De manera similar, el mismo código podría ejecutarse en diseños más conservadores con una capacidad de ancho de ejecución de hardware menor, lo cual es importante para Arm, ya que diseñan CPU desde IoT hasta dispositivos móviles y centros de datos. También hace todo esto mientras permanece dentro del espacio de codificación 32b de la arquitectura Arm, mientras que las implementaciones alternativas como en x86 tienen que agregar nuevas extensiones e instrucciones dependiendo del tamaño del vector.

El aprendizaje automático también se considera una parte importante de Armv9, ya que Arm considera que cada vez más cargas de trabajo de aprendizaje automático se convertirán en un lugar común en los próximos años. La ejecución de cargas de trabajo de ML en aceleradores dedicados, naturalmente, seguirá siendo un requisito para todo lo que sea crítico para el rendimiento o la eficiencia energética; sin embargo, todavía habrá una gran adopción nueva de cargas de trabajo de ML de menor alcance que se ejecutarán en CPU.

Las instrucciones de multiplicación de matrices son clave aquí y representarán un paso importante para lograr una mayor adopción en todo el ecosistema como una característica básica de las CPU v9.

En general, veo a SVE2 como probablemente el factor más importante que justificaría el salto a una nomenclatura v9, ya que es una característica ISA más definitiva que la diferencia de las CPU v8 en el uso diario, y eso garantizaría que el ecosistema de software funcione y, de hecho, divergen de la pila v8 existente. En realidad, eso se ha convertido en un gran problema para Arm en el espacio del servidor, ya que el ecosistema de software sigue siendo la base de los paquetes de software en la v8.0, que desafortunadamente carecen de las importantes Extensiones de sistema grandes v8.1.

Tener todo el ecosistema de software avanzando y poder asumir que el nuevo hardware v9 tiene la capacidad de las nuevas extensiones arquitectónicas ayudaría a impulsar las cosas y probablemente resolvería parte de la situación actual.

Sin embargo, la v9 no se trata solo de SVE2 y nuevas instrucciones, sino que también tiene un gran enfoque en la seguridad, donde veremos algunos cambios más radicales.