Le Mac Pro, le passage sur des CPU ARM et la cohabitation

Depuis quelques années, les rumeurs sur un passage des processeurs x86 (Intel, plus exactement) aux processeurs ARM – Apple, même – sortent régulièrement. Catalyst, les évolutions de macOS, celles de l’iPad et plus généralement l’écosystème Apple tendent vers ce point, mais sans rien de véritablement concret en 2019. Mais la sortie du Mac Pro n’amène pas franchement un signal fort pour un abandon rapide du x86 dans les Mac, surtout avec le support actuel d’Apple. Sortir un Mac de ce type en 2019 implique au moins une chose : même si les Mac ARM arrivent rapidement, les deux architectures risques de cohabiter pendant un moment.

Pourquoi passer sur du ARM ?

La question est intéressante. Actuellement, les Mac semblent dans une impasse technologique pour différentes raisons. Je mets semblent parce qu’il s’agit d’un point de vue subjectif, forcément : les fabricants de PC, avec les mêmes contraintes, choisissent d’autres voies. Premièrement, parce qu’Intel a de gros problèmes : l’architecture n’a pas évolué réellement depuis 2015 avec Skylake. Un MacBook Pro de 2019 (ou même un Mac Pro) a plus de coeurs et une fréquence plus élevée qu’un 2016, mais ce sont des paramètres d’ajustement, c’est le même processeur, avec juste une partie graphique un rien meilleure un peu moins nulle. C’est le cas de tous les CPU Intel actuels et c’est un problème : les performances n’évoluent pas à fréquence identique, donc il faut augmenter le nombre de coeurs ou la fréquence, dans les deux cas au détriment de la consommation. Apple peut jouer sur le fait que ce que la société met en avant pour les professionnels, notamment le traitement vidéo, tire bien parti de ces deux points, mais ça reste un problème. Typiquement, Apple ne peut pas proposer un MacBook vraiment compétitif parce qu’Intel n’a pas de CPU vraiment meilleur qu’en 2015.

Les Mac souffrent aussi d’un problème au niveau des GPU, mais c’est de la faute d’Apple. La société reste sur des GPU AMD qui évoluent peu et consomment beaucoup. Nvidia fait des puces plus rapides et qui consomment moins, mais Apple reste avec AMD. Je ne connais pas la raison (on la découvrira sûrement un jour), on peut supposer que Nvidia est une partie du problème, mais le fait est que rester sur de l’AMD limite pas mal de choses. Même avec le boulot qu’Apple fait sur les pilotes et avec les cartes custom qu’AMD fabrique pour Apple, ça reste un problème. De ce qu’on sait de Navi (RDNA, Radeon RX 5700, ça sort bientôt), la nouvelle architecture n’est pas la solution. AMD n’a rien montré pour les PC portables, et si ça remplace avantageusement le Polaris (RX 580) du Mac Pro (ou des iMac), ça reste reste a priori en retrait au niveau de la consommation.

Enfin, les Mac souffrent de certains choix d’Intel, notamment sur le support de la mémoire. Certains Mac utilisent encore de la LPDDR3 ou de la DDR4, alors qu’ils devraient utiliser de la LPDDR4. C’est de la faute d’Intel. Certaines évolutions qui semblent naturelles du côté des iPad n’arrivent pas sur les Mac parce qu’Intel ne peut pas (ou ne veut pas) le faire. On peut parler des écrans à rafraîchissement variables, des hautes définitions, du support natif de l’USB à 10 Gb/s, etc.

Le passage sur du ARM règlerait une partie des problèmes. Même en prenant en compte uniquement l’Apple A12 (la puce de 2018), Apple arrive à proposer un CPU plus rapide à fréquence identique que les Skylake (et dans certains cas, de façon très nette), avec une évolution par an qui apporte des gains significatifs et l’intégration de technologies modernes (LPDDR4, etc.). Le tout, sur des plateformes grand public, avec une consommation nettement plus faible que ce que propose Intel. Pour se donner une idée, avec une consommation maximale aux alentours de 10 W, Apple arrive à proposer une puce avec huit coeurs (dont quatre rapides) et un GPU plus rapide que ce que proposaient les MacBook Pro 15 pouces de 2013 ou 2014. En comparaison, un MacBook Pro 13 pouces actuels à un CPU qui consomme jusqu’à 28 W. La seule inconnue actuelle, c’est la montée en charge des puces. Un A12X consomme beaucoup moins qu’un CPU de MacBook Pro pour des performances au minimum équivalentes (et plus élevées dans pas mal de cas), mais c’est un CPU avec quatre coeurs (les coeurs basses consommation sont négligeables) et un GPU impressionnant pour la consommation, mais limité dans l’absolu. Je ne sais pas si la même puce avec huit coeurs et un GPU au moins doublé, pour arriver au niveau de la Radeon Polaris des MacBook Pro 15 pouces, garderait les mêmes avantages de consommation. Ni même si Apple peut proposer une version avec beaucoup plus de coeurs facilement. Parce qu’un A12X a le défaut d’être assez gros : 122 mm2 en 7 nm, pour quatre coeurs (huit en réalité, mais les coeurs basse consommation, ici aussi, sont négligeables sur ce point) et un GPU, quand un Core i7 moderne fait la même taille en 14 nm.

En tout cas, d’un point de vue grand public, on peut parfaitement remplacer les composants d’un MacBook Pro ou Air tout en gardant des performances du même ordre et en gagnant en autonomie de façon significative.

Pourquoi ne pas passer sur ARM ?

Maintenant, une transition de ce type va poser des problèmes. Enfin, surtout un problème. La compatibilité. Changer d’architecture implique de recompiler tous les programmes (Apple semble travailler sur ce point) et de pouvoir exécuter tous les anciens programmes de façon efficace. Très clairement, passer sur du ARM maintenant ne permettrait pas ce point. L’exemple des PC portables sous Windows ARM est éloquent : si c’est vaguement utilisable avec des logiciels ARM, c’est horrible à l’usage avec des logiciels x86. Même du temps du passage PowerPC vers x86, avec un gain important, les applications PowerPC restaient lentes. De plus, passer en ARM supprime de facto la virtualisation et la possibilité d’installer Windows, qui reste une chose qui rassure pas mal de gens et qui sert énormément à une partie des autres. Je sépare volontairement les deux car mon expérience me montre que la possibilité d’installer Windows et de virtualiser rassure vraiment au moment du passage sur Mac, mais que dans la pratique, ça reste assez rare de le faire.

Une cohabitation qui pourrait être longue

La sortie du Mac Pro 2019, je reviens au début, montre que la cohabitation devrait être longue. Apple supporte ses machines plusieurs années, et on peut considérer que sur un Mac de ce prix, on ne devrait pas descendre en dessous de 6 ou 7 ans. Ce qui implique – dans le meilleur des cas – que macOS tournera sur x86 au moins jusqu’en 2025. Ce n’est pas nécessairement une bonne nouvelle, d’ailleurs : développer pour deux architectures limite clairement les possibilités sur la prise en charge des nouveautés. Après, Apple peut faire la même chose que pour les PowerPC : l’annonce du passage au x86 date de juin 2005, les premières machines sont sorties en janvier 2006, le premier OS uniquement x86 en septembre 2009 (à peine quatre ans, donc) et le support PowerPC a été abandonné en juillet 2011 (6 ans). Le Mac Pro est peut-être une sorte de Power Mac G5 Quad : une machine surpuissante pour son époque et onéreuse (3 400 € en 2005), une sorte de baroud d’honneur. Mais bon, même en prenant le calendrier du PowerPC, ça laisse encore quelques années de cohabitation. Et Apple n’a de toute façon pas formellement annoncé l’abandon du x86.