Si hay algo evidente en la industria de los procesadores es que Intel y AMD dominan completamente el mercado en un duopolio que parece no tener rival. Sin embargo, en los últimos tiempos el ODM (esto significa que no fabrican chips, sino que tan solo los diseñan) ARM está cobrando cada vez más importancia, especialmente con diseños como DynamIQ, una apuesta que promete mejorar la potencia de los procesadores manteniendo el consumo, y en este artículo os vamos a contar en qué consiste.
Realmente, si hay un diseño de ARM que es conocido ese es big.LITTLE, consistente en una arquitectura heterogénea que consta de núcleos más grandes y potentes para realizar tareas demandantes y otros núcleos más pequeños y de bajo consumo para ahorrar energía cuando el equipo no requiere una gran potencia. Esta arquitectura lleva tiempo implementada en los chips de los teléfonos inteligentes y no hace mucho que Intel (e incluso parece que AMD con Zen 5) ha adoptado un paradigma similar (pero a su manera) en sus procesadores de escritorio, por lo que todo apunta a que es el camino a seguir.
ARM DynamIQ, ¿cómo aumentar la potencia sin elevar el consumo?
La arquitectura ARM lleva ya muchos años postulándose como una alternativa a Intel y AMD, pero especialmente en teléfonos móviles y en servidores gracias a su bajo consumo, pero no ha sido hasta que Apple ha decidido crear su propio chip M1 e integrarlo en sus equipos hasta que ARM ha entrado de verdad en la industria doméstica del PC.
Esta nueva arquitectura que ARM ha llamado DynamIQ (se trata de un juego de palabras en inglés que combina la palabra «dinámico» con «IQ», coeficiente intelectual) en principio está orientada a dispositivos móviles y dispositivos IoT, pero han confirmado que también pretenden que llegue al ecosistema de los ordenadores personales e incluso a los servidores, ya que su potencial es tremendo.
Según ARM, el objetivo de esta arquitectura es hacer viable que sus chips sean equipados en sistemas de realidad virtual y machine learning, y para ello han añadido más núcleos y un número mayor de instrucciones (y esto es precisamente en lo que ARM siempre ha «flojeado» en comparación con x86, ya que sus chips tienen unos conjuntos de instrucciones mucho más pequeños y específicos), entregando en total hasta 50 veces más potencia en tareas de IA.
El tema subyacente de DynamIQ es la escalabilidad heterogénea; estas dos palabras esconden mucha jerga del ecosistema, pero como ARM predice que se venderán otros 100.000 millones de chips ARM en los próximos 5 años, señalan áreas clave como lo automoción, la inteligencia artificial y el aprendizaje automático en el extremo interesante de este crecimiento. Como resultado, el rendimiento, la escalabilidad y la latencia serán métricas clave en el futuro que DynamIQ pretende habilitar.
Un paso más allá de big.LITTLE
La primera etapa de DynamIQ es un paradigma de clúster más grande, lo que significa hasta ocho núcleos por cada uno de ellos. No obstante, esto significa que también puede haber un diseño de núcleo variable dentro de un clúster; esos ocho núcleos podrían ser completamente diferentes unos de otros, e incluso de diferentes familias Cortex-A en diferentes configuraciones.
La similitud con big.LITTLE es más que evidente, solo que en lugar de tener «núcleos grandes» y «núcleos pequeños», aquí directamente se permitiría el contar con un número definido de núcleos y que cada uno de ellos fuera diferente de todos los demás (esta es la diferencia con big.LITTLE, realmente).
Aquí surgen muchas preguntas, como cómo la jerarquía de caché permitirá que los subprocesos migren entre núcleos dentro de un clúster (quizá similar a cómo los subprocesos migran entre clústeres big.LITTLE hoy en día), incluso cuando los núcleos tienen diferentes disposiciones de caché. ARM todavía no ha entrado en este nivel de detalle, así que es algo que está todavía en el aire. Cada clúster de configuración de núcleo variable será parte de una nueva estructura, con modos de ahorro de energía adicionales y su objetivo es proporcionar una latencia mucho menor.
El diseño subyacente también permite que cada núcleo se controle de forma independiente en relación al voltaje y la frecuencia, así como los estados de suspensión para ahorro de energía. Según las diapositivas proporcionadas por ARM, varios otros bloques de IP como los aceleradores, deberían poder conectarse a esta estructura y beneficiarse de esa baja latencia; los elementos citados por ARM como las decisiones automotrices críticas para la seguridad podrían beneficiarse mucho de esto.
Una de las áreas de enfoque principales de ARM es la redundancia. La nueva estructura permite que se utilice un número aparentemente ilimitado de clústeres, de modo que si uno falla los demás podrán ocupar su lugar. Dicho esto, el tipo de redundancia que algunos de los clientes de chips ARM podrían necesitar es la conmutación por error en caso de daño físico, como podría suceder en un accidente en un coche autónomo. Será interesante ver si la visión de ARM con DynamIQ se extiende a ese nivel de redundancia a nivel de SoC o si dependerá de los socios de ARM este tipo de implementación.
Junto con la nueva estructura, ARM declaró que se ha implementado un nuevo diseño de subsistema de memoria para ayudar con las capacidades de cómputo; sin embargo, no se menciona nada específico. En la línea de cálculo adicional, ARM afirma que las nuevas instrucciones de procesador dedicadas (como operaciones de precisión limitada) para IA y Machine Learning se integrarán en una variante de la arquitectura ARMv8.
No estamos seguros por ahora si se trata de una extensión de ARMv8.2-A que introdujo precisión media para el procesamiento de datos, o si es una versión completamente nueva. ARMv8.2-A también agrega características RAS y mejoras en el modelo de memoria, lo que coincide con el «nuevo diseño de subsistema de memoria» mencionado anteriormente. ARM ha dicho que se necesitarán nuevos núcleos para fabricar procesadores con esta arquitectura.
Por ahora, ARM DynamIQ está centrado en tecnologías nuevas y futuras como la IA, automoción y realidad mixta, si bien es cierto que queda claro que DynamIQ se puede utilizar en otros modelos de uso existentes como tablets, móviles inteligentes, PCs y servidores. Esto dependerá, eso sí, de cómo ARM lo haga compatible con diseños centrales actuales, ya que podrían simplemente lanzarlo como una licencia por separado.