Alors que les puces M5 existent depuis octobre 2025, Apple a enfin mis à jour son document de référence pour les développeurs, qui se penche sur les composants intégrés dans ses différents systèmes sur puce. La version 5.0 du Apple Silicon CPU Optimization Guide intègre les puces de la génération M5 (et les A19), mais pas la récente puce M6 ni la A20 Pro. L'occasion de nous intéresser à certains changements qu'Apple n'avait pas encore documentés officiellement jusque-là.

Commençons par une évolution importante dont nous avons déjà parlé. Dans les points évoqués très largement dans le document, on trouve les instructions MTE, mises en avant lors du lancement des iPhone 17 en 2025. C'est une solution de protection de la mémoire qui est implémentée au niveau matériel, dans les puces de la famille M5, et nous avions dédié un article à ces dernières au moment de l'annonce.
Memory Integrity Enforcement, la solution d'Apple pour mieux protéger les iPhone 17 des attaques les plus sophistiquées
Attention, cet article va être assez technique, mais sans entrer dans les détails que seuls les développeurs qui travaillent en assembleur peuvent comprendre. Nous allons essayer de vous expliquer certains changements effectués chez Apple entre les générations, sans revenir totalement aux bases des processeurs. Le premier point, c'est que la gamme M5 (A19 inclus) passe sur le jeu d'instructions ARM v9.3, ce qui ajoute quelques instructions imaginées par Arm, la société à l'origine des puces du même nom.
Le jeu d'instructions est l'ensemble des commandes que le processeur peut comprendre, et Arm propose régulièrement des nouveautés à ce niveau. D'un point de vue purement pratique, accepter toutes les instructions modernes permet d'exécuter du code pensé pour cette version précise. Les développeurs peuvent donc employer les compilateurs récents, optimiser en assembleur, lancer des machines virtuelles ou des applications compilées pour cette version, etc.

Nous n'allons pas passer tout le document en revue, il fait 309 pages, mais il y a quelques points intéressants tout de même. Premièrement, une grande partie des modifications importantes dans les instructions sont tournées vers l'IA et le traitement de données organisées pour ce type de calculs. Apple avait ajouté les instructions SME et SVE dans les puces de la génération M4, pour accélérer les calculs matriciels, et les puces M5 gagnent la version 2.1 du standard ainsi que quelques optimisations précises liées à ce type d'usages.

L'Apple M4 est plus qu'une mise à jour mineure, grâce aux instructions SME et SVE














