El Centro de Investigación y Desarrollo de Samsung Austin revela detalles de su microarquitectura de CPU Exynos M6 inédita

click fraud protection

El Centro de Investigación y Desarrollo de Samsung Austin (SARC) ha publicado un documento que detalla la microarquitectura del núcleo de CPU personalizado Exynos M6 cancelado.

Sabemos que el proyecto de núcleo de CPU personalizado en el Centro de Investigación y Desarrollo de Austin (SARC) de Samsung llegó a su fin en octubre de 2019. Para un proyecto que se promocionó con tanta fanfarria con el lanzamiento del Exynos M1 con Exynos 8890 en 2016, fue un final triste. ¿Por qué la SARC abandonó el proyecto? El núcleo personalizado Exynos M5, presentado en el Exynos 990 SoC es el último núcleo totalmente personalizado diseñado por Samsung en el futuro previsible y, en retrospectiva, es fácil ver por qué Samsung abandonó los núcleos personalizados, ya que simplemente no eran lo suficientemente competitivos. Ahora se sabe que el núcleo del Exynos M5 tiene un déficit de eficiencia energética del 100% contra Cortex-A77 de ARM, lo cual dice mucho. Sin embargo, no tenía por qué resultar así. Los diseños de Exynos M1 y Exynos M2 mostraron cierta promesa, y el proyecto de núcleo de CPU personalizado se consideró, en ese momento, importante por el bien de la competencia en el espacio de CPU móvil. El Exynos M3 supuso una gran caída a pesar del importante aumento del IPC, y el

Exynos M4 y Exynos M5 no pudo mantenerse al día con la IP de CPU estándar de ARM. ¿Cuáles fueron los cambios de microarquitectura en el próximo núcleo personalizado, el Exynos M6 cancelado?

Hasta ahora se desconocía la respuesta a esa pregunta. Ahora, sin embargo, el equipo de desarrollo de CPU de SARC ha presentado un documento titulado "Evolución de la arquitectura de CPU Samsung Exynos" (que conocimos a través de anandtech) en el Simposio Internacional de Arquitectura de Computadores (ISCA), que es una conferencia del IEEE. Revela muchos detalles sobre las CPU de la serie Exynos M anteriores, así como la arquitectura del Exynos M6 cancelado.

El documento presentado por el equipo de desarrollo de CPU de SARC detalla los esfuerzos del equipo durante sus ocho años de existencia y también revela detalles clave de los núcleos ARM personalizados que van desde el Exynos M1 (Mongoose) hasta el Exynos M5 (Lion) de generación actual, e incluso la CPU Exynos M6 inédita, que, antes de la cancelación, se esperaba que apareciera en el SoC 2021 del Exynos 990. sucesor.

El equipo de CPU SARC de Samsung se estableció en 2011 para desarrollar núcleos de CPU personalizados, que luego aparecieron en Samsung Systems. SoC Exynos de LSI. El primer SoC Exynos que utilizó un núcleo personalizado fue el Exynos 8890, que apareció en el Samsung Galaxy de 2016. S7. Los núcleos personalizados siguieron siendo parte de los SoC Exynos hasta el Exynos 990 con los núcleos Exynos M5, que aparecían en las variantes del Samsung Galaxy S20 con tecnología Exynos. (El proximo Exynos 992, que probablemente aparecerá en el Galaxy Note 20, se espera que incluya ARM Corteza-A78 y no el Exynos M5.) Sin embargo, SARC había completado la arquitectura Exynos M6 antes de que el equipo de CPU hubiera Recibí noticias de su disolución en octubre de 2019, y la disolución se hizo efectiva en Diciembre.

El documento ISCA presenta una tabla general de las diferencias microarquitectónicas entre los núcleos de CPU personalizados de Samsung, desde el Exynos M1 hasta el Exynos M6. Algunas de las características conocidas del diseño fueron reveladas por la compañía en su análisis profundo inicial de la arquitectura de CPU M1 en el evento HotChips 2016. En HotChips 2018, Samsung profundizó en el Exynos M3. También se ha detallado la arquitectura de los núcleos Exynos M4 y Exynos M5, así como la del M6.

Fuente: SARC

anandtech señala que la característica clave de los diseños de Samsung a lo largo de los años fue que se basó en el mismo modelo RTL que comenzó con el núcleo Exynos M1 Mongoose. Samsung siguió realizando mejoras en los bloques funcionales de los núcleos a lo largo de los años. El Exynos M3 representó un cambio respecto a las primeras iteraciones ya que amplió sustancialmente el núcleo en varios aspectos, pasando de un diseño de 4 de ancho a un núcleo medio de 6 de ancho. (Los Apple A11, A12 y A13, por otro lado, tienen un ancho de decodificación de 7 anchos, mientras que Cortex-A76, A77 y A78 tienen un ancho de 4 anchos. El Cortex-X1 aumenta el ancho de decodificación a 5 anchos).

El informe también hace algunas revelaciones que antes no eran públicas sobre el Exynos M5 y el M6. Para el Exynos M5, Samsung realizó cambios más importantes en la jerarquía de caché de los núcleos, reemplazando los cachés L2 privados con un nuevo caché compartido más grande, además de revelar un cambio en la estructura L3 de un diseño de 3 bancos a un diseño de 2 bancos con menos latencia.

El núcleo M6 cancelado habría supuesto un salto mayor en términos de microarquitectura. SARC había realizado grandes mejoras, como duplicar las cachés de datos e instrucciones L1 de 64 KB a 128 KB. anandtech señala que esta es una elección de diseño que hasta ahora solo ha sido implementada por los núcleos de la serie A de Apple, comenzando con el Apple A12.

La capacidad de ancho de banda del L2 se duplicó hasta 64 B/ciclo, mientras que el L3 habría experimentado un aumento de 3 MB a 4 MB. El Exynos M6 habría sido un núcleo decodificador de 8 de ancho. Como lo señaló anandtech, esta habría sido la microarquitectura comercial más amplia conocida actualmente en términos de decodificación. Sin embargo, aunque el núcleo era mucho más amplio, las unidades de ejecución de números enteros no experimentaron muchos cambios. Una tubería compleja agregó una segunda capacidad de división entera, mientras que las tuberías de carga/almacenamiento siguieron siendo las mismas que las del M5 con una unidad de carga, una unidad de almacenamiento y una unidad de carga/almacenamiento. Los oleoductos de punto flotante/SIMD habrían visto una cuarta unidad adicional con capacidades FMAC. El DTLB L1 se incrementó de 48 páginas a 128 páginas, y el TLB principal se duplicó de páginas 4K a 8K (cobertura de 32 MB).

El Exynos M6 habría representado otro cambio significativo con respecto a sus predecesores al aumentar la ventana de fuera de servicio del núcleo por primera vez desde el M3. Habría archivos de registros físicos de punto flotante y enteros más grandes, y el ROB (Reorder Buffer) habría aumentado de 228 a 256. anandtech señala que una debilidad importante de los núcleos Exynos personalizados todavía está presente en el M5 y también habría estado presente en el M6. Serían sus etapas de canalización más profundas las que resultarían en una costosa penalización por error de predicción de 16 ciclos, que era mayor que la de los núcleos de CPU de ARM que tienen una penalización por error de predicción de 11 ciclos. El documento SARC profundiza aún más en el diseño del predictor de rama, mostrando el diseño basado en Scaled Hashed Perceptron del núcleo de la CPU. Este diseño habría mejorado continuamente a lo largo de los años y las implementaciones, mejorando la precisión de la rama y reduciendo continuamente las predicciones erróneas por kilo de instrucciones (MPKI). SARC presenta una tabla que muestra la cantidad de estructuras de almacenamiento que ocupa el predictor de sucursales dentro del front-end. Las tecnologías de captación previa del núcleo también se detallaron en el documento, y cubren la introducción de una caché µOP. en el M5, así como los esfuerzos del equipo para fortalecer el núcleo contra vulnerabilidades de seguridad como Espectro.

SARC también detalló en el documento los esfuerzos para mejorar la latencia de la memoria en los núcleos Exynos personalizados. En el Exynos M4, el equipo SARC incluyó un mecanismo de cascada de carga que redujo la latencia efectiva del ciclo L1 de cuatro ciclos a tres en cargas posteriores. El núcleo M4 también introdujo una derivación de ruta con una nueva interfaz desde los núcleos de la CPU directamente a los controladores de memoria, lo que evitó el tráfico a través de la interconexión. De acuerdo a anandtech, esto explicó algunas de las mayores mejoras de latencia que la publicación pudo medir con el Exynos 9820. El Exynos M5 introdujo una omisión de búsqueda de caché especulativa, que emitía una solicitud tanto a la etiqueta de interconexión como a la de caché simultáneamente. Esto posiblemente ahorraría latencia en caso de que se pierda la memoria caché mientras la solicitud de memoria está en curso. La latencia de carga promedio también mejoró continuamente a lo largo de las generaciones, desde 14,9 ciclos en el M1 a 8,3 ciclos en el M6.

Si bien las características de microarquitectura anteriores son bastante técnicas, los entusiastas de las CPU estarán familiarizados con el término Instrucciones por reloj (IPC), que significa por MHz. rendimiento en el rendimiento de la CPU de un solo subproceso (es el principal factor que determina el rendimiento de la CPU de un solo subproceso, siendo el otro factor la velocidad del reloj del centro). El IPC entero y el IPC de punto flotante son ambos determinantes del IPC. El equipo SARC logró obtener una media de mejoras anuales del 20% desde la M1 hasta la M6. El M3, en particular, representó una gran mejora porcentual en el IPC, aunque se vio defraudado por otros factores. El Exynos M5 representó una mejora del 15-17% en IPC, mientras que la mejora de IPC para el Exynos M6 inédito Se ha revelado que tiene un promedio de 2,71 frente a 1,06 para el M1, lo que representa una mejora del 20% con respecto al M5.

Brian Grayson, el presentador del periódico, respondió preguntas sobre la cancelación del programa durante la sesión de preguntas y respuestas. Dijo que el equipo siempre había estado en el objetivo y en el cronograma con mejoras de rendimiento y eficiencia con cada generación. (¿Eso significa que los objetivos no eran lo suficientemente altos en primer lugar?). La mayor dificultad del equipo, por el contrario, fue tener mucho cuidado con el futuro. cambios de diseño ya que el equipo no tenía los recursos para comenzar desde cero o reescribir completamente un bloquear. En retrospectiva, el equipo habría tomado decisiones diferentes en el pasado con algunas de las direcciones de diseño. En marcado contraste, ARM tiene múltiples equipos de CPU trabajando en diferentes ubicaciones que en realidad compiten entre sí. Esto permite "rediseños desde cero", como el Corteza-A76. El Corteza-A77 y el Cortex-A78 son los sucesores directos del A76.

El equipo SARC tenía ideas para mejorar los próximos núcleos, como el hipotético Exynos M7. Sin embargo, supuestamente fue una persona de muy alto rango en Samsung quien decidió cancelar el programa central personalizado. Como anandtech Como señala, los núcleos personalizados no eran competitivos en términos de eficiencia energética, rendimiento y uso de área (PPA) en comparación con las CPU de ARM de una generación en particular. El mes pasado, ARM anunció el programa Cortex-X Custom que presenta el nuevo Corteza-X1, un núcleo de próxima generación destinado a dispositivos móviles de 2021. Tiene la filosofía de diseño de romper los límites de Cortex-A PPA y, en su lugar, buscar un rendimiento absoluto. Al Exynos M6, por tanto, le habría costado competir con él. Aun así, parece que Samsung no adaptará el Cortex-X1 y optará sólo por el combo Cortex-A78 + Cortex-A55 en el Exynos 992; sin embargo, puede adoptarse en el buque insignia Galaxy S del próximo año.

El equipo de SARC todavía diseña interconexiones personalizadas y controladores de memoria para Samsung Systems LSI. También estaba trabajando en arquitecturas de GPU personalizadas, pero Samsung Systems LSI firmó un acuerdo con AMD utilizar la arquitectura de GPU RDNA de próxima generación (arquitectura de gráficos de próxima generación) de AMD en futuras GPU Exynos, a partir de 2021.

En general, el proyecto de núcleo de CPU personalizado fue una lección esclarecedora para los proveedores de chips móviles sobre lo que puede salir mal. El equipo de CPU de SARC tenía grandes ambiciones de competir con Apple, que es el líder indiscutible en el espacio de CPU móviles. Desafortunadamente, no pudo competir con ARM, y mucho menos con Apple. Los problemas podrían haberse resuelto, pero año tras año, los esfuerzos de la SARC quedaron uno o dos pasos atrás, y se reflejó negativamente en el envío de productos como las variantes Exynos 9810 del Samsung Galaxy S9. Ahora, todos los principales proveedores de chips móviles de Android utilizarán la IP de CPU estándar de ARM a partir de 2021, y esta lista incluye Qualcomm, Samsung, MediaTek y HiSilicon. La pelea se llevará a Apple con núcleos como el Cortex-X1, no con núcleos ARM personalizados diseñados desde cero.


Fuente: Evolución de la arquitectura de la CPU Samsung Exynos | A través de: anandtech