Apple ha publicado una guía para desarrolladores que quieran optimizar su código específicamente para los procesadores que se encuentran en los chips Apple Silicon.
Este documento PDF de 169 páginas no está diseñado para el público en general. Por un lado, porque está reservado a los desarrolladores con una cuenta en Apple que firman un acuerdo que restringe su uso a la optimización del código y prohíbe compartirlo. Luego, porque no está escrito para neófitos y rápidamente llega al meollo del asunto, con detalles sobre las instrucciones, estructuras, jerarquía de caché y otros elementos que componen una CPU.
La introducción marca la pauta, aclarando que la guía supone que el lector tiene conocimientos básicos sobre el funcionamiento del procesador y el desarrollo de bajo nivel, incluso si no se trata de conocimientos específicos del conjunto de instrucciones ARM utilizado por Apple. El consejo se aplica tanto a los chips M para Mac, iPads y Apple Vision como a los chips A que se encuentran en iPhones y iPads, desde el M1 al M3 y del A14 Bionic al A17 Pro, así como a las futuras CPU de Apple.
Así inicia la guía:
Esta guía incluye:
- Una descripción general de la arquitectura del conjunto de instrucciones (ISA) junto con un método para detectar la existencia de características ISA.
- Descripción detallada de las instrucciones SIMD avanzadas y coma flotante (FP)
- Una discusión sobre funciones intrínsecas para utilizar instrucciones específicas en lenguajes de alto nivel.
- Una descripción general de las topologías de CPU y caché con recomendaciones para una utilización eficaz del multiprocesamiento asimétrico
- Una descripción general de alto nivel de la microarquitectura de la CPU con tamaños de estructuras clave de la CPU y tablas de latencia de instrucciones y ancho de banda
- Una discusión sobre las secuencias de instrucciones recomendadas para diversas acciones y algoritmos.
- Listas de eventos y métricas de monitoreo del rendimiento para medir el comportamiento clave del rendimiento de la CPU
Incluso para los desarrolladores, esta guía probablemente sea demasiado avanzada y específica para la mayoría de las necesidades. Sin embargo, esto sigue siendo una inmersión bastante fascinante en el funcionamiento de los procesadores desarrollados por Apple.
Developer | Guía de optimización de CPU Apple Silicon