J’ai déjà parlé d’un éventuel passage d’Apple sur une architecture ARM pour les Mac, et jusqu’il y a peu, ça me semblait irréaliste. Mais plus on avance, plus il semble évident que ça va arriver. Peut-être pas demain, peut-être pas après demain, mais à terme. A cause d’Intel.
Historiquement, Apple est passé des 68000 (Motorola) aux PowerPC (Motorola et IBM) parce que l’architecture n’évoluait pas et que Motorola voulait repartir de bases saines (et performantes). Le passage du PowerPC au x86, c’était un peu différent : le PowerPC posait des soucis de consommation (pour les performances, c’est un autre débat) et évoluait peu. Un problème lié à un point précis : le marché des PowerPC était (très) petit à l’époque et Apple vendait assez peu de Mac. Motorola (Freescale) visait plus l’embarqué et IBM allait déjà vers les consoles, qui ont des besoins très différents d’un ordinateur de bureau. le x86, à l’époque, évoluait bien : Intel, devant la concurrence d’AMD et une architecture ratée (la grande famille des Pentium 4) développait les Core 2 Duo, des puces qui consommaient peu en offrant de bonnes performances. Et pour Apple, ça impliquait que le marché n’allait pas stagner : Intel proposait des nouveautés régulièrement. De plus, gros avantage pour les clients, ça ouvrait la port à Windows dans les Mac (en natif ou en machine virtuelle). En ~2005 (je suppose que le choix date d’un peu avant), c’était donc plutôt une bonne idée.
La situation de 2016 est franchement différente. La concurrence dans le monde du x86 n’existe plus réellement – on espère vraiment un retour d’AMD avec Zen – et Intel se repose sur ses lauriers avec des puces qui n’apportent pas grand chose. Un Kaby Lake (l’architecture de fin 2016) n’est pas tellement plus performant qu’un Haswell par exemple (ou même, en allant un peu plus loin, qu’un Sandy Bridge). Les gains viennent essentiellement de la fréquence et de la gravure, mais l’avantage historique sur ce point diminue régulièrement et le ratage complet de Broadwell montre qu’il y a bien un souci. Kaby Lake, qui sort en ce moment, n’apporte d’ailleurs pratiquement aucune amélioration sur l’architecture de Skylake en dehors d’un GPU plus performant et d’un gain en consommation.
En face d’Intel, il y a l’architecture ARM. Et là, ça bouge. Pour se donner une idée, le premier iPhone utilisait un coeur ARM11, une puce 32 bits comparable du point de vue technique à un 486 (années nonante). En 2007, au moment de la sortie de l’iPhone, c’était le top du ARM (le Cortes A8 date de 2005 mais a été utilisé en masse fin 2007 et dans les iPhone en 2009) et il datait de 2002. En 2016, les puces ARM évoluent beaucoup plus rapidement et (surtout) les performances suivent. Apple sort chaque années depuis 5 ans une nouvelle architecture significativement plus performante que la précédente et un A10 (Hurricane) offre des performances proches d’un Skylake, tout en consommant nettement moins. C’est un peu faussé dans certains cas (notamment les benchs), mais sur des plateformes qui doivent consommer peu (un iPad Pro, un MacBook), ça reste comparable. Je ne suis pas certain que le résultat soit le même avec d’autres contraintes, par exemple avec un A10 doté de plus de deux coeurs et avec des fréquences élevées, mais ça demeure assez impressionnant. Les autres développeurs de puces ARM proposent aussi des CPU nettement plus performants qu’il y a quelques années, même si le résultat est moins bon : les coeurs de Qualcomm, d’ARM ou Samsung gagnent régulièrement en puissance au fil du temps.
En dehors du fait que les puces Intel évoluent assez peu, un problème se pose pour Apple : elles sont trop rigides. Apple a du attendre qu’Intel sorte un chipset USB 3.0 pour intégrer la norme dans les Mac (et dans le Mac Pro, la société a dû utiliser une puce tierce, moins performante). Attendre qu’Intel corrige les bugs du Thunderbolt 3. Les derniers MacBook Pro ont des limites sur le Thunderbolt 3 parce que les CPU ne fournissent pas assez de lignes PCI-Express. Les MacBook Pro 15 pouces ont tous des GPU dédiés parce qu’Intel n’arrive pas à produire le GPU GT4e (la version rapide de sa puce). Les nouveaux MacBook Pro n’ont « que » 16 Go de RAM parce qu’Intel ne gère que cette capacité en LPDDR3 et que les puces actuelles ne prennent pas en charge la LPDDR4, etc.
Je pense que si Apple décidait de proposer ses propres puces ARM (et ses propres GPU, cet article montre assez bien que même si Apple utilise encore du PowerVR, il ne s’agit que d’une partie du GPU), une partie des choses reprochées aux MacBook Pro n’existeraient pas. Les problèmes de mémoire, de lignes PCI-Express ou de GPU « performants » se poseraient beaucoup moins avec une architecture maison, adaptée aux besoins des machines. On le voit bien avec les iPhone : les smartphones gagnent chaque années en performances, ce qui ne serait pas réellement possible avec des processeurs conçus par ARM (c’est bien visible sur les modèles Android).
La transition elle-même ne devrait pas être un problème à mon avis. L’Apple de 2016 n’est pas celui de 2005 : la majorité des logiciels disponible sur la plateforme utilise Objective-C ou Swift et une simple compilation devrait permettre de passer de x86 à ARMv8. C’était déjà le cas en 2005/2006 pour les logiciels développés avec Xcode et ça ne devrait pas changer 10 ans plus tard, la différence étant que l’environnement de développement d’Apple est (beaucoup) plus présent. De même, l’émulation du code x86 peut s’effectuer de la même façon qu’avec Rosetta : tous les appels aux API de macOS – ils sont nombreux – directement en code ARM et le reste en émulation pure. Rosetta offrait de bonnes performances, et j’imagine qu’un émulateur moderne proposerait le même genre de résultats (j’avoue, j’extrapole). Pour un utilisateur lambda qui utilise le Mac App Store (OK, je trolle, ça n’existe pas), une telle transition serait transparente : Apple pousserait un binaire ARM à la place du binaire x86, et hop, terminé. Accessoirement, macOS reste parfaitement adapté pour ça : beaucoup de programmes contiennent encore deux variantes du même logiciel (x86 32 et 64 bits) et ajouter une version ARM 64 bits ne change rien.
Le véritable problème, selon moi, vient de Windows. En 2006, au moment de la dernière transition, la possibilité d’installer Windows avec Boot Camp ou en machine virtuelle a été un formidable argument de vente. D’un coup, la possibilité de passer à Mac OS X tout en gardant les logiciels fonctionnant sous Windows devenait possible. Une personne bloquée par la dépendance à un logiciel précis pouvait enfin imaginer passer sur Mac. Même actuellement, la possibilité de lancer Windows en machine virtuelle reste un excellent argument : le logiciel acheté extrêmement cher, celui imposé par l’école ou le boulot ou les jeux peuvent continuer à fonctionner. Passer sur ARM, ça implique la disparition totale de Windows sur les Mac. Plus de Boot Camp. Plus de machines virtuelles. Et donc moins de jeux (bon, vu les GPU dans les Mac, c’est un peu un argument caduc). Psychologiquement pour certains utilisateurs, je suis certain que le fait de ne plus pouvoir installer Windows va complètement freiner l’achat d’un Mac à base d’ARM. Et les cris d’orfraies quand Apple supprime la qui s’allume sur la coque ou le bong de démarrage ont tendance à me conforter dans mon idée. Dans un sens c’est dommage.
Bonjour Pierre,
oui c’est dommage, mais en même temps, la décennie 2006-2016 a été, de mon point de vue, une décennie de désaffection pour les programme pro. Adobe a mis du temps à adapter ses softs, la disparition d’aperture, de tous les logiciels comptables du marché, des logiciels 3D (autocad reste encore, mais pour les autres)…
Malgré les récentes annonces de partenariat avec IBM et SAP, je trouve qu’il y a moins d’application « pro » sur mac qu’il ya 10 ans. Windows est hélas incontournable…
Cordialement
Il me semble que le principal problème d’Apple, c’est Apple. La montée en flèche des prix des nouveaux Macbook, qui n’apportent pas grand chose de plus que la cuvée précédente, est rédhibitoire. Pour ma part, je songe sérieusement à repasser sur Windows.
Passer sur Intel a été la meilleure idée d’Apple concernant les macs. Du coup on les a vu fleurir partout autour de nous et sur nos bureaux.
Des personnes qui n’y auraient jamais songé auparavant en ont acheté… et bien évidement, le fait de pouvoir avoir Mac Os et Window, facilement sur la même machine est un énorme argument.
Apple a été au top du top de l’informatique jusqu’en 2011 et petit à petit, ce fut la dégringolade…ou le désengagement…
Dans mon milieu ( image video, film et effets ) depuis l’abandon des Mac Pros évolutifs, je n’ai vu qu’un seul MacPro tube fonctionner ( et son propriétaire pas franchement enthousiaste sur le ratio prix d’achat/performances et cablage ), là ou je côtoyais 4 MacPro Towers auparavant. Certains sont passé sur Imac, d’autres sur MBP… Mais on sent quand meme un recentrage d’Apple sur son nouveau fond de commerce juteux : l’iphone et le blingbling des Apple Stores versus les Power Users Creatifs…enfin tout le monde le sait, en terme de profit, c’est une logique implacable…
Mais la, personnellement, Apple à quelque peu tué le Mac, du moins le Mac tel que je le conçois avec ce model 2016… je pense que je n’ai pas besoin d’expliquer pourquoi…
Alors une transition Arm pour parachever le tout, pour des Macs plus fins, plus élégants, plus raffinés qui vont ravire une certaine clientèle, oui… ben qu’ils le fassent… ( sans moi :) … ils en vendront…
mais sur se chemin, il vont perdre, sont deja en train de perdre, un pan entier d’utilisateurs …
C’est dommage, mais c’est comme ça. Ils s’en foutent… nous on oubliera…
J’utilise des ordinateurs depuis l’Amstrad Cpc des années 80s. J’ai aimé, puis j’ai oublié l’Amiga en son temps… ( et oui je suis vieux :) J’ai eu un Power Mac, puis des Pcs, puis je suis repassé sur Mac en 2006…
Les meilleurs ordinateurs que j’ai eu sont mes Mac actuels ( MacPro 5.1 et MBP 2012 ), évolutifs, offrants toutes les connectiques qui me sont nécessaires… je peux y faire tourner Window ou MacOs à loisir… et meme si ils étaient chers à l’achat, c’était justifié et pas completement astronomique….c’est ce que j’attends d’un ordinateur… Helas, les machines d’Apple actuelles ne répondent plus à mes critères … et je pense qu’un Mac Arm encore moins…
Ha c’est dommage qu’on ne puisse pas corriger son commentaire une fois publié, j’ai laissé des fautes magistrales :) désolé
« De même, l’émulation du code x86 peut s’effectuer de la même façon qu’avec Rosetta : tous les appels aux API de macOS – ils sont nombreux – directement en code ARM et le reste en émulation pure. »
Si je ne me trompe pas, ce mode de fonctionnement c’était plutot le Mixed Mode 68K/PPC sous System 7.5.2 et après, mais pas Rosetta.
Dans Rosetta, tout était en PPC, y compris les Frameworks et donc les API utiliséés par l’app, il n’y a pas de changement de mode à l’intérieur d’une même app.
De ce que j’avais vu, les appels aux API de l’OS (pas mal de trucs, du coup) sont exécutés par l’OS en code natif (mais je peux me tromper)
C’est moi ou MacG à pompé ton article? :/
Non, je crois surtout qu’on a la même analyse (en plus, le leur a été publié avant (mais pas écrit)