Intéressant : Apple pourrait passer à autre chose qu’une architecture x86 (Intel) d’ici quelques années. Beaucoup voient Apple passer sur une architecture ARM à moyen terme pour les processeurs de ses ordinateurs (Mac), à la manière des appareils iOS.
Un peu d’histoire
Sans aller dans la case Apple II, commençons par les Mac. Apple a d’abord utilisé des processeurs Motorola, les 680×0. Une famille populaire, des puces performantes, fournies par Motorola. Quand Motorola a abandonné le 68000, Apple est passé aux PowerPC, avec un émulateur de code 68000 dans Mac OS.
Avec le PowerPC, Apple a eu le choix des fournisseurs : IBM et Motorola. La société a aussi pris plus de responsabilités, l’alliance s’appelait AIM (Apple, IBM, Motorola). Apple a utilisé des puces des deux fondeurs en parallèle, soit pour le même type de CPU (G3), soit pour différentes gammes (G4 chez Motorola, G5 chez IBM). L’émulation du 68000 marchait assez bien parce que les PowerPC étaient (beaucoup) plus rapides que les 68000.
Le passage à Intel a été assez rapide et l’émulation efficace. Les puces Intel étaient (un peu) plus rapides, tout du moins dans le domaine grand public : passer d’un antique G4 ou d’un G5 simple coeur à un Core Duo offrait un bon gain de puissance, et le fonctionnement de Rosetta qui appelle directement les API x86 au lieu d’émuler du code PowerPC aide bien. Dans le domaine professionnel, le passage a été plus difficile : les puces Intel, même les gros modèles, n’étaient pas franchement plus rapides que les PowerPC G5 avec plusieurs coeurs/CPU.
Le cas iOS
Sur iOS, Apple a commencé par utiliser des puces Samsung (iPhone à iPhone 3GS) basée sur un design ARM pour le CPU. Avec l’A4 et l’A5(x), Apple s’est en partie passé de Samsung en concevant ses propres puces, mais toujours en utilisant un design ARM pour le CPU. L’A6 et l’A6(x) sont différents : Apple utilise son propre design CPU. La société a développé le processeur en interne, avec diverses sociétés rachetées au fil du temps. C’est une réussite au niveau des performances, le Swift (processeur de l’A6) est plus rapide que les design ARM actuels (Cortex A8 et Cortex A9).
Le cas Mac
Est-ce qu’une progression de ce type serait possible dans les Mac ? A mon avis, pas réellement. ARM propose des puces qui consomment peu, mais pas réellement des puces performantes. Elles sont très efficaces dans leur segment de marché — la mobilité — et ont des performances très bonnes par rapport à la consommation, une chose qu’Intel ne maîtrise pas actuellement.
Intel propose des puces très performantes, bien plus qu’un processeur ARM actuel. La donne actuelle est simple : le meilleur des processeurs ARM du marché, le Cortex A15, est un peu plus rapide que l’Atom d’Intel. L’Atom d’Intel, c’est une architecture qui date de 2008, peu performante dans l’absolu, qui offre des performances équivalentes à celles d’un Pentium 4 du début des années 2000. Soyons clair, on peut penser ce que l’on veut, mais la puce la moins performante d’Intel offre environ les performances de la puce la plus performante chez ARM.
Entre un Atom et un Core i7, il y a facilement un rapport 10 en performances. La différence peut augmenter dans certains cas, diminuer dans d’autres, mais on en est là. Exemple simple : il y a un rapport 4 sur les test JavaScript (SunSpider) entre un iPhone 5 et un MacBook Air, sachant que le MacBook Air utilise un processeur d’entrée de gamme fortement limité pour des raisons de consommation.
Pour un Mac Pro, un iMac ou un MacBook Pro, passer aux puces ARM, même à moyen terme, semble donc irréaliste : il faudrait qu’Apple augmente les performances de ses puces d’un facteur 10 pour concurrencer les puces Intel actuelles (2012). Sachant qu’Intel ne se repose pas sur ses lauriers, ça semble difficile.
Pour un appareil mobile ?
Beaucoup pensent qu’Apple va commencer par les MacBook Air et les machines d’entrée de gamme. Pourquoi pas, la différence de performances est moins importante. Mais même comme ça, il faudrait un Apple A6 au moins quatre fois plus rapide qu’actuellement pour arriver au même niveau qu’un MacBook Air 2012.
Extrapolons : si Apple veut mettre un A6 dans un MacBook Air, les contraintes de consommation ne sont pas les mêmes. On peut augmenter la fréquence et le nombre de coeurs. De 1,3 (iPhone) ou 1,4 GHz (iPad 4), on peut imaginer passer à 1,8 ou 2 GHz (ce qu’atteignent les MacBook Air). On peut aussi passer à quatre coeurs. Mais même comme ça, on devrait rester assez loin d’un MacBook Air.
Apple peut faire évoluer les performances, Intel augmente de 10 à 15 % les performances chaque année. Mais c’est là le souci : si Apple monte, Intel aussi.
Les contraintes d’émulation
Imaginons, Apple a réussi à faire un SoC ARM capable d’égaler un Core i5 ULV, ça reste du domaine du possible. Maintenant, il va falloir lancer les applications x86. Avec le passage 68000 -> PowerPC, le gain en performances était énorme. Avec le passage PowerPC -> x86, le gain était moyen. Avec un passage x86 -> ARM, il ne faut pas s’attendre à des performances meilleures.
Le problème, c’est qu’émuler un jeu d’instructions, ça demande de la puissance. Une application PowerPC lancée sur un Mac Intel a longtemps été bien plus lente — sans compter l’utilisation de la mémoire — que la même lancée sur un bon PowerPC. Même en réutilisant l’astuce de Rosetta et en utilisant directement les frameworks compilés pour ARM, on risque de perdre énormément en performances sur de l’émulation.
Et si les développeurs pourront proposer des binaires universels, comme du temps du passage PowerPC -> x86, il ne faut pas se leurrer, beaucoup d’applications resteront en x86 comme beaucoup d’applications — même 7 ans après — sont encore uniquement disponibles en PowerPC.
La perte de la compatibilité Windows
Enfin, ça reste un argument pour beaucoup de monde, passer à ARM signifie perdre Windows et la virtualisation. Actuellement, la possibilité d’installer Windows ou en tout cas de virtualiser Windows pour utiliser une application disponible uniquement sous l’OS de Redmond est quelque chose d’important. C’est à mon avis une des raisons du succès des Mac depuis le passage à Intel, le changement est plus simple, et pouvoir revenir à Windows rassure.
Passer à ARM, c’est abandonner cet avantage. Ne parlons pas de Windows RT (Windows sur ARM), pour deux raisons. La première, c’est que ce n’est pas vraiment Windows : les applications classiques ne fonctionnent pas dessus. La seconde, c’est que Microsoft ne propose Windows RT qu’en OEM et pas à la vente. Donc même si les Mac tournent sur de l’ARM, installer Windows RT ne sera pas possible (comme il n’est pas possible de l’installer sur iPad).
Au final ?
Au final, je vois mal un passage à l’architecture ARM à moyen terme. Même à long terme, je reste dubitatif : rattraper Intel sur son propre terrain (et faire mieux dans l’absolu) me semble irréaliste, même pour une société avec les moyens d’Apple.
Reste une hypothèse : abandonner Intel mais rester en x86. Apple pourrait développer un processeur x86 performant (peu probable, les problèmes restent les mêmes) ou tout simplement racheter une société qui fait du x86. Il y en a deux : Via et AMD. La première a une puce un peu meilleure que l’Atom (comme l’A6…), la seconde est dans la tourmente et a des puces raisonnablement performantes, même si Intel reste devant.
Si Apple rachetait AMD, elle serait doublement gagnante : elle se paye un fondeur de CPU, ET un fabricant de puces graphiques, puisqu’ATI appartient à AMD. et là, Apple qui a les sous, peut injecter des millions dans des CPU x86 d’AMD, ils ont les compétences, ils se renforcent deux fois sur l’intégration matérielle en maitrisant le CPU et le GPU.
Il reste alors nVidia pour nourrir les PC en puces graphiques.
Non ?
L’usine de fonderie d’AMD est maintenant indépendante, il s’agit de Globalfoundries Inc.
De plus, si AMD ne produit plus de puces graphiques pour PC, ça risque de poser des problèmes, nVidia sera quasiment en position de monopole. Les fabricants de PC n’aimeront pas ça, ni les régulateurs.
J’aimais bien AMD, mais les puces d’Intel sont actuellement bien meilleures, et je ne crois pas que les utilisateurs de Mac accepteront de supporter les désagréments de changement de CPU (même s’il est facile que celui du PowerPC à Intel) si, en plus, le gain de puissance est nul, voire négatif.
En tout cas, article très intéressant. Je rajouterai ceci : pour de plus en plus de gens, la puissance d’un iPad est suffisante. Il leur permet de réaliser (presque) tout ce qu’ils faisaient avec leur gros ordinateur avec facilité. Ajouter donc un clavier à votre iPad, et vous avez votre « Mac ARM ».
Le bon gros ordinateur restera indispensable pour des applications lourdes, donc si Apple développait quand même une gamme d’ordinateur à base d’ARM, ce serait en plus de celle à base d’Intel. Ce n’est pas une bonne idée. C’est ce qu’on reproche à Microsoft avec Windows RT, incompatible avec Windows. On aurait alors 2 voire 3 gammes incompatibles (Mac Intel, Mac ARM, iPhone/iPad), ou alors, comme indiqué dans l’article, via une émulation.
N’oublions pas qu’il a fallu une décennie pour que sorte l’iPad…. Une fois que les solutions techniques furent assez efficaces (retardé par l’iPhone et le passage obligatoire de ce dernier par les « orifices » que sont les opérateurs téléphonique).
De plus, « ARM vient d’annoncer ses premiers processeurs 64 bits A57 et A53 pour serveurs » (source: lemondeinformatique.fr); il est plus facile de partir d’un ARM et d’augmenter sa puissance par 10 en dégradant sa consommation électrique que d’augmenter la puissance d’un x86 en conservant voir diminuant (c’est ce que Intel cherche) l’enveloppe thermique.
En tout cas, chez Apple, on doit sérieusement penser à la question, surtout dans une optique de rapprochement des OS X et iOS.