La première publication de cet article date du 11 novembre 2020 (lire : Magie de Noël : ces articles du Club iGen passent en accès libre).
Pour ses Mac Apple Silicon, Apple a créé un nouveau système sur puce (SoC) basé sur l’Apple A14, sa puce dédiée aux iPhone et iPad. L’Apple M1 n’est pas encore disponible officiellement, les premiers Mac ne sortiront que la semaine prochaine, mais la puce a déjà fait parler d’elle avec des mesures de performances qui la placent devant quasiment tous les Mac Intel disponibles aujourd’hui.
Si ces résultats peuvent en surprendre, ce n’est pas le cas d’AnandTech qui a publié le soir même du keynote son analyse complète de l’Apple A14. Comme tous les ans, le site a pu mesurer très précisément les progrès réalisés par Apple avec son processeur maison et les gains de performances apportés par la mise à jour. Et quand on sait que cette puce de smartphone dépasse le meilleur processeur portable Intel du moment, les premiers scores Geekbench de l’Apple M1 ne sont pas étonnants.
En attendant de pouvoir tester les Mac Apple Silicon et vérifier ce qu’ils ont dans le ventre, l’analyse d’AnandTech est précieuse pour comprendre pourquoi Apple a choisi de basculer sur ses propres puces ARM. Et avoir une idée déjà assez précise de ce que l’on peut attendre des Mac avec Apple M1.
Les cœurs de l’iPhone, mais plus nombreux, plus rapides et avec plus de mémoire
L’Apple M1 est basée sur l’Apple A14, mais le constructeur ne s’est pas contenté d’un petit ajustement. La puce dédiée aux Mac est plus grosse, elle contient plus de transistors et des composants supplémentaires qui ne sont pas nécessaires sur les iPhone et iPad. Malgré tout, les fondations restent les mêmes et en particulier, les cœurs de son processeur sont similaires.
AnandTech s’est surtout intéressé aux cœurs rapides, nom de code « Firestorm ». Il y en a quatre dans l’Apple M1, le double de la puce dédiée aux iPhone et iPad. On sait aussi qu’ils fonctionnent à une fréquence légèrement plus élevée : 3 GHz au mieux pour la puce mobile, contre 3,2 GHz pour celle des Mac. Ces deux facteurs contribuent chacun à leur manière à améliorer les performances réelles des Mac Apple Silicon. Le nombre de cœurs est essentiel dans les tâches optimisées pour fonctionner en parallèle, la fréquence en hausse est utile sur les tâches qui n’utilisent au contraire qu’un seul cœur.
Cela étant, c’est le cache processeur qui ressort le plus de l’analyse. Depuis qu’Apple a commencé à faire ses propres puces mobiles, c’est d’ailleurs l’un des facteurs les plus importants pour comprendre l’écart avec la concurrence :
Pour faire très simple, la mémoire vive de l’ordinateur est beaucoup trop lente pour les processeurs modernes. Pour limiter les échanges entre CPU et RAM, on utilise un cache placé directement à côté du processeur ce qui limite les temps d’attente. C’est aussi de la mémoire bien plus rapide, ce qui est indispensable pour obtenir de bonnes performances, mais elle est aussi nettement plus coûteuse et donc plus rare.
Cela fait des années qu’Apple utilise des caches processeur plus gros que le reste de l’industrie et l’Apple M1 confirme cette tendance avec notamment 12 Mo de cache L2, partagés entre les quatre cœurs Firestorm. Cette configuration n’est pas commune, comme le rappelle AnandTech qui souligne que les autres constructeurs de processeurs préfèrent associer une plus petite quantité de cache L2 pour chaque cœur, plutôt qu’un cache commun. Apple persiste et signe pour ses Mac, avec un cache L2 unique qui est surtout très rapide.
Si l’on parle de cache L2, c’est parce qu’il y a aussi, vous l’aurez deviné, un cache L1. Les processeurs peuvent aussi intégrer du cache L3, mais pas ceux d’Apple, et ce depuis plusieurs années. Chaque nombre est un indicateur de la proximité du cache par rapport à chaque cœur du processeur, mais aussi de sa rapidité et de son prix. Pour toutes ces raisons, le cache L1 est toujours le plus petit, mais le plus rapide, tandis que le L3, quand il existe, est le plus gros et le plus lent.
Dans l’Apple M1, on retrouve deux caches L1, l’un de 128 Ko pour les données et l’autre de 192 Ko dédié aux instructions du processeur. Ces chiffres peuvent sembler ridicules face aux SSD de plusieurs téraoctets que l’on a aujourd’hui, mais cette mémoire est bien plus rapide et ces valeurs sont en fait très élevées. Pour vous donner une idée, c’est trois fois plus que les processeurs ARM concurrents, et même six fois plus que dans les processeurs x86 actuels. Pour couronner le tout, ce cache L1 est non seulement plus gros, il est aussi plus rapide que ceux des processeurs concurrents.
Sur ces points, l’Apple A14 est une évolution assez mineure de l’Apple A13 sorti l’an dernier, et surtout de l’Apple A12 qui est une génération où le constructeur a creusé l’écart. Pour en savoir plus, je vous renvoie à nos précédents articles où l’importance du cache processeur et notamment de sa latence était détaillée :
- Apple A12, une puce qui cache bien son jeu
- Processeurs : Apple maintient son avance avec l’A13 Bionic
Outre ses énormes caches, Apple a aussi mis en avant pendant le keynote une autre particularité de ses processeurs : leur architecture « ultra large ». On entre dans des considérations très techniques et je vous conseille de lire l’article d’AnandTech pour avoir tous les détails, mais en simplifiant, sachez que chaque cœur de processeur dispose d’un « décodeur » qui fait le lien entre les données piochées dans le cache et les unités d’exécution qui agissent sur ces données. Plus ce décodeur est large, plus le processeur peut gérer d’instructions en parallèle.
Le décodeur intégré aux processeurs x86 d’Intel comme d’AMD a une largeur de 4 ou 5, ce qui veut dire qu’il peut gérer 4 ou 5 instructions par cycle. Les processeurs ARM basés sur Cortex sont aussi à cette largeur de 4, et ils devraient passer à une largeur de 5 avec les futurs Cortex-X1. Les cœurs Firestorm intégrés au processeur des Apple A14 et M1 reposent quant à eux sur un décodeur d’une largeur de 8. Deux fois plus que la concurrence, ce qui en fait le décodeur le plus large de l’industrie à l’heure actuelle, tout simplement.
Cette différence offre à Apple un avantage que le site qualifie de « totalement disproportionné ». AnandTech a réussi cette année pour la première fois à calculer le ROB, pour Re-Order Buffer, un indicateur de la capacité d’un processeur à gérer les instructions en attente de traitement. Encore une fois, je simplifie les choses : le processeur est capable de réorganiser les instructions qu’il reçoit pour optimiser le temps de traitement, ce qui implique qu’elles sont traitées dans le désordre. Plus le processeur peut gérer d’instructions, plus sa « fenêtre dans le désordre » est grande, plus il sera performant.
Chaque cœur puissant Firestorm intégré aux Apple A14 et M1 sait gérer jusqu’à 630 instructions dans le désordre. C’est quasiment deux fois plus que les meilleurs cœurs d’Intel (350), 2,5 fois plus que ceux d’AMD (250) et quasiment trois fois plus que le futur Cortex-X1 conçu ARM (220). Apple a réussi à se hisser au-dessus de la concurrence avec une marge impressionnante pour des raisons qui restent inexpliquées. Tout ce que l’on peut suggérer, c’est que le constructeur voit un avantage décisif dans cette aptitude et qu’il a tout fait pour l’améliorer.
Pour gérer autant d’instructions dans le désordre, le processeur doit assurer derrière une exécution en parallèle sans faille. Apple a donc équipé ses cœurs puissants de moteurs d’exécution en grand nombre et surtout capables de traiter une grande quantité de données. Les détails techniques seront mieux rendus par l’article original, je vais me contenter de noter que l’Apple A14 améliore encore les opérations liées à des vecteurs et surtout aux nombres réels à virgule flottante. Ce dernier point est particulièrement important en JavaScript et le fait qu’Apple le favorise explique en partie les très bons scores des appareils iOS dans ce domaine.
L’Apple A14 fait déjà mieux que (presque) tous les processeurs sur le marché
Ces considérations techniques sont passionnantes, mais elles sont assez éloignées de la question des performances réelles. Pour essayer de positionner l’Apple A14 par rapport à ses prédécesseurs et ses concurrents, AnandTech a utilisé la batterie de tests SPEC. Ils mesurent les performances des processeurs avec beaucoup plus de précision qu’un test simplifié comme le propose Geekbench. Autre avantage, ils permettent de connaître précisément la consommation électrique associée à chaque tâche. En contrepartie, ils prennent plus longtemps à exécuter et ils ne sont pas aussi faciles à analyser.
Les résultats mettent en valeur les progrès réalisés par Apple d’une génération à l’autre. Entre l’Apple A14 et l’Apple A13, les performances ont été améliorées de l’ordre de 18 à 25 % pour les cœurs rapides et autour de 35 % pour les cœurs efficients qui ont davantage avancé cette année. Ce n’est pas fulgurant, mais la gravure à 5 nm permet d’obtenir ces progrès sans augmenter la consommation de la puce. Sur plusieurs tests, le nouveau processeur parvient même à être plus économe tout en étant plus rapide que son prédécesseur. C’est le signe que le constructeur a une marge de manœuvre pour les années à venir, ou pour une déclinaison plus puissante.
La comparaison avec les meilleures puces trouvées dans des smartphones Android est presque injuste. L’Apple A14 fait systématiquement mieux sur les deux plans, celui des performances comme de l’énergie. Sur les tests qui dépendent de la mémoire, Apple fait jusqu’à deux fois mieux, alors même que la RAM est similaire sur tous ces appareils. C’est bien la preuve que le cache processeur mis en place par la firme est bien supérieur, c’est lui qui creuse l’écart.
Les cœurs efficients, surnommés Icestorm cette année, voient leurs performances augmenter de 35 % environ sur tous les tests, tandis que leur consommation énergétique a légèrement diminué. C’est important, car ces cœurs peuvent remplacer les puissants dans plus de cas et ainsi augmenter l’autonomie des appareils. Pendant son keynote, Apple a même glissé que les quatre cœurs Icestorm de l’Apple M1 étaient au niveau en termes de performances d’un MacBook Air Intel dual-core, tout en consommant beaucoup moins.
Jusque-là, on a comparé l’Apple A14 à des puces mobiles. Le site a toujours glissé un processeur x86 à titre de comparaison, mais cette année, l’Apple M1 change la donne. Le CPU conçu par Apple va aussi servir dans des Mac et affronter ainsi directement ceux d’Intel qui servaient depuis 2006. Tout en rappelant que la comparaison se fait avec le CPU d’un iPhone et pas encore celui d’un Mac, les conclusions d’AnandTech sont sans appel :
Apple n’avait tout simplement pas d’autre choix que d’abandonner Intel et l’architecture x86 au profit de sa propre micro-architecture. Ne rien changer aurait signifié stagnation et de pires produits.
Le site a concentré ses efforts sur deux processeurs x86, un chez Intel et un chez AMD. Pour le premier, c’est le Core i7-1185G7, un processeur pour ordinateurs portables de dernière génération sorti cet automne ; pour le second, le Ryzen 9 5950x, un processeur pour ordinateurs de bureau qui repose sur la dernière architecture Zen3. Ce sont deux processeurs très différents, mais AnandTech voulait comparer l’Apple A14 au meilleur de ce qu’Intel peut offrir avec un TDP de moins de 30 W qui aurait pu trouver sa place dans un Mac portable. Quant au processeur d’AMD, c’est la meilleure option dans la gamme grand public du constructeur.
Avec GeekBench 5, un test qui mesure les performances du processeur et donne un score synthétique, l’Apple A14 est coincé entre les deux CPU x86 : au-dessus de celui d’Intel, sous celui d’AMD. C’est le test mono-core qui a été utilisé et c’est le seul qui compte pour juger des performances de l’Apple M1, puisque l’iPhone n’a que deux cœurs puissants, contre quatre pour les futurs Mac Apple Silicon.
Cette position se retrouve aussi avec les tests SPEC, l’Apple A14 termine à nouveau entre ses deux concurrents conçus par Intel et AMD. C’est plus impressionnant qu’avec Geekbench, puisque ces tests sont plus exigeants et créés pour tester les processeurs des ordinateurs, pas ceux des smartphones. Et pourtant, le CPU d’Apple est souvent très proche et même devant ses concurrents x86 sur certains tests liés à la gestion de la mémoire.
Un rappel, à nouveau, de l’avantage procuré par un cache processeur aussi gros et rapide, les processeurs x86 ne peuvent pas lutter sur ce point. Et le site relève que le modèle d’AMD ne fait mieux que grâce à Zen3, la toute nouvelle architecture du fondeur. L’éternel concurrent d’Intel a pris une grosse longueur d’avance ces dernières années, sans pour autant creuser réellement l’écart avec la puce conçue par Apple.
Même si l’Apple A14 n’est pas tout à fait en tête de ces résultats, il convient de mettre en perspective ces mesures en rappelant que l’on compare une puce de smartphone à des processeurs pour ordinateurs. Le SoC d’Apple a un TDP de 5 W et il fait mieux qu’un processeur d’ordinateur portable avec un TDP de 28 W, et à peine moins bien qu’un processeur d’ordinateur fixe avec un TDP de 49 W. Pour le dire autrement, AMD a besoin de dix fois plus d’énergie pour afficher des performances à peine meilleures.
Et si ce n’était pas déjà suffisamment la soupe à la grimace pour Intel et AMD…
L’Apple M1 n’est que le début
L’Apple M1 est le premier SoC d’Apple dédié aux Mac, mais ce sera aussi le moins puissant de l’histoire1. Le constructeur a presque fait preuve de retenue en visant dans un premier temps uniquement ses machines entrée de gamme, du MacBook Air au Mac mini, en passant par le « petit » MacBook Pro 13 pouces. Les rumeurs veulent qu’une version gonflée destinée aux iMac et aux autres MacBook Pro est attendue dans les prochains mois, et Apple devra aussi gérer son Mac Pro pour achever la transition.
Les premiers résultats très encourageants obtenus par AnandTech ne sont que le début et l’avenir des puces Apple pour Mac est brillant. Mais quand on voit ce graphique qui superpose les performances des processeurs Intel et celles des SoC Apple depuis 2015, la conclusion était inévitable. En cinq ans, Intel a amélioré ses performances d’environ 28 %. Pendant le même temps, Apple a obtenu des gains de l’ordre de 198 %, soit environ trois fois plus. Et c’est bien en 2020 que les deux courbes se croisent :
Si Apple peut déjà dépasser Intel avec une puce entrée de gamme, qu’en sera-t-il pour sa puce dédiée aux Mac haut de gamme ? Un « Apple M1X » prendrait le dessus face à AMD, mais pourrait-il même concurrencer les processeurs les plus puissants, comme les Xeon utilisés dans le Mac Pro et l’iMac Pro ?
Même si ce n’est pas visible sur des mesures de performance théoriques, cela pourrait toujours être le cas à l’usage. En effet, Apple n’a pas besoin de créer un processeur générique, capable de faire tourner n’importe quel système d’exploitation et de remplir n’importe quelle tâche. Contrairement à Intel, la firme de Cupertino peut se contenter d’un processeur plus spécialisé et optimisé uniquement pour ses besoins. On en voit déjà la preuve avec l’Apple M1, comme le signale sur Twitter un employé d’Apple, qui note qu’une opération effectuée constamment par les apps codées avec les API de macOS et iOS est bien plus rapide sur les Mac Apple Silicon.
fun fact: retaining and releasing an NSObject takes ~30 nanoseconds on current gen Intel, and ~6.5 nanoseconds on an M1
— David Smith (@Catfish_Man) November 10, 2020
Je ne vais pas entrer dans les détails et explications, si ce n’est pour noter que les NSObject sont des données enregistrées et lues dans la mémoire. Une app passe son temps à stocker des informations dans la mémoire de l’ordinateur, puis à les libérer quand elle n’en a plus besoin. Chaque opération de ce type prend environ 30 nanosecondes sur un Mac Intel, contre environ 6,5 nanosecondes sur un Mac Apple Silicon pour les apps optimisées. Et même si vous faites tourner une app Intel sur un Mac avec Apple M1, l’opération nécessite deux fois plus de temps, soit environ 14 nanosecondes. Ce qui est toujours deux fois plus court qu’avec une app optimisée pour l’architecture x86 sur un Mac Intel. 🤯
Cet exemple est très intéressant, car il témoigne bien de l’importance des choix d’Apple. Pourquoi avoir des caches processeurs aussi gros et aussi rapides ? Parce que le constructeur, qui est aussi le créateur de ses API de développement utilisées par tous les développeurs, sait que c’est un excellent moyen concret d’accélérer les apps sur sa plateforme. Intel ou AMD n’ont pas cette connaissance aussi précise et pointue des besoins des apps sur iOS et macOS et seul un acteur impliqué à tous les niveaux de la chaîne peut obtenir une telle optimisation.
Ce travail ne concerne d’ailleurs pas que le CPU, même si AnandTech s’est surtout focalisé sur lui. Tous les composants de l’Apple M1 sont optimisés pour les besoins de macOS et des apps. Le choix d’intégrer un moteur neuronal répond au développement des processus d’apprentissages automatisés, et des apps qui comptent dessus, comme Pixelmator Pro, vont voir leurs performances décupler avec la transition2. Et on peut aussi parier sur le fait que d’autres apps vont suivre la tendance et compter davantage sur cette capacité du SoC pour leurs traitements complexes.
Dernière pièce du puzzle et non des moindres, l’Apple M1 intègre un GPU de huit cœurs, deux fois plus que dans l’Apple A14. Sur le plan des graphismes, Apple a surtout visé les puces graphiques intégrées aux processeurs d’Intel et le constructeur ambitionne de faire bien mieux, tout en consommant nettement moins d’énergie. Ce qui n’est pas trop difficile, c’est vrai, et les mesures réalisées avec l’A12Z des iPad Pro 2020 montraient déjà de meilleurs scores, et surtout une bien meilleure efficience, que les GPU Intel.
Mais surtout, le constructeur a créé un GPU taillé spécialement pour ses besoins et en l’occurrence, pour Metal, son API graphique. Les apps qui reposent sur elles vont bénéficier de cette puce graphique optimisée et les premiers résultats qui ont commencé à apparaître donnent une idée de ce que l’on peut attendre. Le responsable d’Affinity Photo, éditeur d’images qui est parmi les premiers à être optimisé Apple Silicon, a montré ces mesures de performance décoiffantes.
Son Mac avec Apple M1 obtient un score Metal de 7 907 points. Il l’a opposé à un iMac de 2019, un modèle de 27 pouces équipé d’une carte graphique dédiée Radeon Pro 580X d’AMD, l’option quasiment la plus élevée à l’époque. Sur le papier, ce GPU indépendant qui dispose de 8 Go de mémoire vive dédiée devrait afficher de bien meilleures performances. Et pourtant, le score obtenu sur l’iMac Intel n’est que de 5 568 points, des performances 42 % inférieures au Mac Apple Silicon.
Il convient de noter une nouvelle fois que ces résultats ont été obtenus avec la première génération de puce pour Mac conçue par Apple, et encore, avec une génération taillée pour l’entrée de gamme. Ajoutez à cela le constat que l’Apple A14 a profité du passage à une gravure de 5 nm pour optimiser ses consommations plus que pour augmenter ses performances, et vous en arriverez à la conclusion que nous n’avons encore rien vu.
Et même avec l’Apple M1, on a encore sans doute de quoi découvrir dans les mois qui viennent. Ainsi, Apple propose uniquement deux options de mémoire vive, 8 Go par défaut et 16 Go au maximum. C’est peu par rapport aux Mac Intel et c’est peut-être une limite du SoC, mais le constructeur avait aussi insisté pendant sa présentation sur le fait que la mémoire est gérée différemment. Les gains de performance qui sont a priori liés pourraient expliquer qu’une quantité moindre sera suffisante.
Le CEO d’OTOY à qui l’on doit Octane X, un moteur de rendu 3D conçu pour Metal, note que les Mac Apple M1 devraient pouvoir stocker davantage de ressources graphiques dans leur mémoire partagée grâce à ces mécanismes de compression exclusifs à Apple. Il évoque le chiffre de 100 Go de textures stockées dans 16 Go de mémoire. C’est un premier exemple, il y en aura sûrement d’autres à l’avenir.
Quoi qu’il en soit, cela fait bien longtemps que le Mac n’avait pas un avenir aussi radieux. La dernière fois, c’était peut-être en 2005 avec la transition vers Intel qui apportait déjà des gains de performance extraordinaires par rapport aux processeurs PPC. Est-ce qu’Apple tiendra plus de quinze ans avec ses puces ? En attendant de le savoir, on a hâte de tester les premiers Mac Apple Silicon !
-
En oubliant le DTK et son Apple A12Z issu de l’iPad Pro, car ce n’est pas un Mac vendu au grand public. ↩︎
-
L’éditeur a d’ailleurs promis des performances jusqu’à 15 fois supérieures aux Mac Intel que les nouveaux modèles avec Apple Silicon vont remplacer. 🤯 ↩︎