ARM anuncia la arquitectura Armv9

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 las 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 principales objetivos 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 un poco en los nuevos detalles de las nuevas extensiones y características, 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 , que ahora alimentan a la supercomputadora Fukagu ​​número 1 del mundo en Japón . El problema con SVE era 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 buscaba 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 es 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 vectoriales, 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, pipelines de ejecución SIMD nativos 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, deben agregar nuevas extensiones e instrucciones según el 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 las 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 realmente 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, a la que, lamentablemente, le faltan 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.

Presentación de la arquitectura informática confidencial

En los últimos años, hemos visto que la seguridad y las brechas de seguridad del hardware están a la vanguardia de las noticias, con muchas vulnerabilidades como Spectre, Meltdown y todos sus ataques de canal lateral hermanos que muestran que existe una necesidad fundamental de un reconsidere cómo abordar la seguridad. Una forma en que Arm quiere abordar este problema general es rediseñar cómo funcionan las aplicaciones seguras con la introducción de la arquitectura informática confidencial de Arm.

Antes de continuar, quiero advertir que las divulgaciones de hoy son simplemente explicaciones de alto nivel de cómo funciona el nuevo CCA, y Arm dice que se darán a conocer más detalles sobre cómo funciona exactamente el nuevo mecanismo de seguridad a finales de este verano.

El objetivo de la CCA es aprovechar más la situación actual de la pila de software en la que las aplicaciones que se ejecutan en un dispositivo tienen que confiar inherentemente en el sistema operativo y el hipervisor en el que se ejecutan. El modelo tradicional de seguridad se basa en el hecho de que los niveles de software más privilegiados tienen permitido y pueden ver la ejecución de niveles inferiores, lo que puede ser un problema cuando el sistema operativo o el hipervisor se ven comprometidos de alguna manera.

CCA introduce un nuevo concepto de creación dinámica de “reinos”, que pueden verse como entornos de ejecución seguros en contenedores que son completamente opacos para el sistema operativo o el hipervisor. El hipervisor seguiría existiendo, pero sería el único responsable de la programación y la asignación de recursos. Los reinos en cambio, sería gestionado por una nueva entidad llamada el “gestor de dominio”, que se supone que es una nueva pieza de código más o menos 1/10 º del tamaño de un hipervisor.

Las aplicaciones dentro de un dominio podrían “dar fe” de un administrador de dominio para determinar que se puede confiar en él, lo que no es posible con, por ejemplo, un hipervisor tradicional.

Arm no profundizó en lo que crea exactamente esta separación entre los reinos y el mundo no seguro del sistema operativo y los hipervisores, pero sonó como espacios de direcciones respaldados por hardware que no pueden interactuar entre sí.

La ventaja del uso de dominios es que reduce enormemente la cadena de confianza de una aplicación determinada que se ejecuta en un dispositivo, y el sistema operativo se vuelve en gran medida transparente a los problemas de seguridad. Las aplicaciones de misión crítica que requieren controles de supervisión podrían ejecutarse en cualquier dispositivo, a diferencia de la situación actual en la que las empresas o las empresas requieren que se usen dispositivos dedicados con pilas de software autorizadas.

No es nuevo en v9, sino que se introdujo con v8.5, MTE o extensiones de etiquetado de memoria que tienen como objetivo ayudar con dos de los problemas de seguridad más persistentes en el software del mundo. Los desbordamientos de búferes y el uso después de la liberación son problemas continuos de diseño de software que han sido parte del diseño de software durante los últimos 50 años y pueden tardar años en identificarse o resolverse. MTE tiene como objetivo ayudar a identificar dichos problemas al etiquetar los indicadores en la asignación y verificarlos durante el uso.

Hojas de ruta de CPU de Arm

No relacionado directamente con v9, sin embargo vinculado a la hoja de ruta tecnológica de los próximos diseños v9 en el futuro cercano, Arm también habló sobre algunos puntos con respecto al rendimiento proyectado de los diseños v9 en los próximos 2 años.

Arm habló sobre cómo el espacio móvil había experimentado aumentos de rendimiento de 2.4x (aquí estamos hablando de IPC de diseño de proceso puramente ISO) de los dispositivos X1 de este año en comparación con el Cortex-A73 hace unos años en 2016.

Curiosamente, Arm también habló sobre los diseños de Neoverse V1 y cómo están logrando 2.4 veces el rendimiento de los diseños de la clase A72, y revela que esperan que los primeros dispositivos V1 se lancen a finales de este año.

Para los núcleos IP móviles de próxima generación, con nombre en código Matterhorn y Makalu, la compañía está revelando una ganancia agregada de IPC del 30% esperada en estas dos generaciones, excluyendo la frecuencia o cualquier otra ganancia de rendimiento adicional que pudieran alcanzar los diseñadores de SoC. En realidad, esto representa un aumento generacional del 14% en estos dos nuevos diseños y, como se muestra en la curva de rendimiento en la diapositiva, indicaría que las mejoras se están desacelerando en relación con lo que Arm había logrado en los últimos años desde el A76. Aún así, la compañía afirma que la tasa de avance aún está muy por encima del promedio de la industria, lo que es cierto que algunos jugadores lo están reduciendo.

Curiosamente, Arm también incluyó una diapositiva que quería centrarse en el impacto del lado del sistema en el rendimiento, en lugar de solo en el rendimiento de IP de la CPU. Algunas de las cifras que se presentan aquí, como el 1% de rendimiento por cada 5ns de latencia de memoria, han sido cifras de las que hemos hablado extensamente durante algunas generaciones, pero Arm aquí también señala que hay toda una generación de rendimiento de CPU que puede ser exprimido si uno se enfoca en mejorar varios otros aspectos de una implementación mejorando la ruta de la memoria, aumentando los cachés u optimizando las capacidades de frecuencia. Considero que esto es una oportunidad velada de los enfoques conservadores actuales de los proveedores de SoC que no están utilizando completamente el margen de rendimiento esperado de los núcleos X1 y, posteriormente, tampoco alcanzan las proyecciones de rendimiento esperadas del nuevo núcleo..

Arm sigue viendo a la CPU como el bloque de cálculo más versátil del futuro. Si bien los aceleradores dedicados o GPU tendrán su lugar, tienen dificultades para abordar puntos importantes como la programabilidad, la protección, la omnipresencia (esencialmente la capacidad de ejecutarlos en cualquier dispositivo) y las capacidades comprobadas para funcionar correctamente. Actualmente, el ecosistema informático está extremadamente fragmentado en la forma en que se ejecutan las cosas, no solo difiere entre los tipos de dispositivos, sino también entre los proveedores de dispositivos y los sistemas operativos.

La multiplicación de SVE2 y Matrix puede simplificar enormemente el ecosistema de software y permitir que las cargas de trabajo informáticas den un paso adelante con un enfoque más unificado que podrá ejecutarse en cualquier dispositivo en el futuro.

Por último, Arm tenía una gran cantidad de información nueva sobre el futuro de las GPU de Mali, y reveló que la compañía está trabajando en nuevas tecnologías como VRS y, en particular, Ray Tracing. El último punto es bastante sorprendente de escuchar, y las señales de que el ecosistema de escritorio y consola impulsado por la introducción de RT de AMD y Nvidia también empujará el ecosistema de GPU móvil hacia RT.

Los diseños de Armv9 se darán a conocer pronto, los dispositivos a principios de 2022

El anuncio de hoy se realizó en un formato de nivel extremadamente alto, y esperamos que Arm hable más sobre los diversos detalles de Armv9 y nuevas características como CCA en las divulgaciones tecnológicas anuales habituales de la compañía en los próximos meses.

En general, Armv9 parece ser una mezcla entre un cambio ISA más fundamental, como SVE2, y una nueva línea de base general para el ecosistema de software para agregar la última década de extensiones v8 y construir las bases para la próxima década. de la arquitectura Arm.

Arm ya había hablado sobre Neoverse V1 y N2 a fines del año pasado , y espero que el N2 al menos finalmente se presente como un diseño v9. Arm revela que espera más diseños de CPU Armv9, probablemente los sucesores Cortex-A78 y X1 del lado móvil, que se darán a conocer este año, y es probable que las nuevas CPU ya hayan sido grabadas por los proveedores habituales de SoC, y se espera que lo estén. visto en dispositivos comerciales a principios de 2022.

Comparte en las redes sociales

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *