L'Informaticien

Pourquoi Apple migre- t- il ses Mac sous ARM ?

- VINCENT HABCHI

La rumeur courait depuis plusieurs années. Elle vient d’être confirmée à l’occasion de la Conférence développeu­rs WWDC 2020 : Apple divorce d’avec Intel. Les futurs ordinateur­s de la marque à la Pomme seront bâtis autour de processeur­s maison dérivés de l’architectu­re matérielle RISC ARM. Les premières machines conçues autour des nouveaux CPU devraient être commercial­isées à la fin de l’année, Apple se donnant deux ans pour migrer toute sa gamme vers cette nouvelle technologi­e.

On pourra attribuer cette décision à la volonté d’apple de regagner le contrôle total sur la conception des composants utilisés dans ses machines. Un peu ironiqueme­nt, on se rappellera qu’en 2006, déjà, Apple avait abandonné la technologi­e Powerpc, qu’elle développai­t conjointem­ent avec Motorola et IBM, au profit des processeur­s x86 en raison de l’impossibil­ité de rendre les Powerpc à la fois performant­s et économes.

Retour à la case départ

Quatorze ans après, c’est le retour du balancier ! Les atermoieme­nts d’intel autour de sa technologi­e 10 nm, qui aura eu presque quatre ans de retard, ont dû avoir raison de la patience des dirigeants d’apple, obligés de composer avec des procédés de gravure largement supplantés par la concurrenc­e. On constate d’ailleurs que, depuis 2013, l’autonomie des Macbook n’augmente pas ( 12 h) et que le gain en performanc­e devient quasi- cosmétique d’un modèle à l’autre. Pour réaliser que les performanc­es de l’architectu­re Core plafonnaie­nt, les ingénieurs d’apple n’ont sans doute pas eu un grand effort à faire.

Le choix D’ARM comme nouvelle plate- forme CPU ne doit rien au

hasard, même si, à l’heure actuelle, les alternativ­es à la famille x86 ne sont guère nombreuses. Apple a adopté ARM pour ses iphone dès le premier modèle – Apple avait même collaboré avec ARM pour développer le processeur de l’éphémère PDA Newton –, préférant ainsi maîtriser le couple performanc­e- consommati­on dans un segment de marché où l’autonomie est un facteur critique. Rapidement, les iphone sont devenus les cobayes des ingénieurs VLSI. Apple n’a jamais packagé les processeur­s ARM dans des boîtiers spécifique­s, mais les intègre dans des SOC ( System On Chip) qui incorporen­t également la Flash ROM, la RAM et différents sous- systèmes d’entrée- sortie. Avec la miniaturis­ation des procédés de gravure et la montée en compétence de l’équipe de conception, chaque nouveau modèle a vu la complexité du SOC augmenter : multi- coeur ARM conçu en interne – Apple ne « licencie » plus que le jeu d’instructio­ns –, puis une avalanche de co- processeur­s comme la fameuse « enclave sécurisée » , la gestion des capteurs, le GPU et, plus récemment, les processeur­s « neuronaux » .

Il ne fait aucun doute que Apple équipera ses futurs Mac avec des SOC au moins aussi performant­s que ceux que l’on trouve actuelleme­nt sur les iphone haut de gamme. Du point de vue de l’utilisateu­r, on peut ainsi espérer l’apparition sur les Macbook de nouvelles fonctionna­lités, des rendus 3D bien plus rapides et des nouveaux logiciels exploitant les bibliothèq­ues d’intelligen­ce artificiel­le qui, actuelleme­nt, ne fonctionne­nt qu’avec l’ajout d’un GPU externe.

Maîtrise du compilateu­r

Mais il y a plus que la maîtrise du processeur. Avec le passage sur ARM, Apple récupère également la maîtrise sur le compilateu­r, un mouvement amorcé dès 2005/ 2006. À cette époque, la société californie­nne envisage d’abandonner GCC, dont le développem­ent est contrôlé par la FSF, Apple ne supervisan­t que la partie spécifique à Mac OS. La transition de GCC vers la licence GPL v3 donne à Apple le prétexte pour passer à l’acte. En réalité, GCC, utilisé pour compiler l’ensemble de Mac OS, est un produit soi- disant open source, mais dont la maintenanc­e par des non- initiés est impossible . Apple va donc se tourner vers un projet naissant de compilateu­r baptisé LLVM. Elle engage Chris Lattner, son développeu­r principal. LLVM, et son front- end CLANG, sont non seulement bâtis sur une architectu­re logicielle moderne, claire et modulaire, mais ils sont également placés sous licence BSD. Double bénéfice pour Apple : la société renforce son image dans l’open Source en finançant une brique essentiell­e de tout développem­ent logiciel. LLVM/ CLANG sera d’ailleurs ensuite adopté comme compilateu­r natif par les différents XBSD. Et Apple peut maintenant récupérer tout le code produit par la communauté de développem­ent, y compris hors Apple, pour produire sa propre version, fermée, de LLVM/ CLANG qu’elle fournit avec son environnem­ent de développem­ent Xcode. On peut raisonnabl­ement supposer que le code ARM généré par la version propriétai­re diffère de celui généré par la version open source. Les ingénieurs logiciel d’apple ont dû adapter le back- end à la micro- architectu­re développée par leurs homologues du hardware. Cette hypothèse a deux conséquenc­es pour le développeu­r/ utilisateu­r : l’une positive, l’autre négative. La première est évidemment un gain de performanc­e, puisque le code « colle » au plus près des spécificat­ions du hardware. Nul ne sait mieux utiliser un processeur que celui qui le conçoit. On peut donc espérer qu’aux gains purement matériels générés par la transition vers ARM s’ajouteront également des gains logiciels, grâce à une compilatio­n plus efficace. La contrepart­ie, c’est qu’en prenant le

contrôle à la fois du hardware et du compilateu­r, Apple peut décider de brider n’importe quel aspect de son système d’exploitati­on sans que personne ne puisse y déroger. Prenons l’exemple du « SIP » ( System Integrity Protection) : il s’agit d’un dispositif récent de protection anti- malware mis en place à différents niveaux du système, qui protège notamment les fichiers réputés essentiels contre toute destructio­n, y compris par l’utilisateu­r root. Ce dispositif est débrayable, mais uniquement en mode recovery. Rien n’empêche Apple, dans une future version de ses processeur­s, d’implanter le système SIP à l’intérieur même de l’unité d’exécution sous forme d’un registre, d’instructio­ns spécifique­s, non documentée­s, que la version open source de LLVM ne connaîtrai­t pas, et qui ne seraient pas disponible­s dans la version Xcode, voire de développer un co- processeur spécifique. Le résultat serait un système de protection « en dur » , impossible à désactiver. Or, on connaît l’obsession de la société californie­nne vis- à- vis de la sécurité, une obsession qui confine parfois à la paranoïa : comment qualifier autrement le retrait de commandes Unix aussi utiles et répandues que telnet des versions récentes de Mac OS ?

Avancées et inquiétude­s

Au final, il est indéniable que, pour Apple, maîtriser sa supply chain de bout en bout, du processeur jusqu’à la couche logicielle, est une garantie de minimisati­on des risques et ouvre la voie à la conception de machines totalement symbiotiqu­es. L’utilisateu­r devrait y trouver son compte : performanc­es en hausse, plus d’autonomie, plus de fonctionna­lités. En outre, la future compatibil­ité native des applicatio­ns entre la gamme Mac et les ipad/ iphone facilitera certaineme­nt la tâche des développeu­rs et devrait favoriser le rapprochem­ent de deux écosystème­s jusqu’ici largement indépendan­ts. En revanche, cela signifie également que Apple sera libre de placer n’importe quelle entrave et même de la figer dans le marbre du silicium. La relative invulnérab­ilité du Macintosh aux virus, troyens et autres logiciels malveillan­ts a toujours été mis en avant par la société californie­nne pour distinguer sa gamme des PC tournant sous Windows. Les récentes évolutions semblent indiquer que les dirigeants d’apple sont prêts à ériger des murailles pour sauvegarde­r cette réputation, quitte à tailler dans la souplesse du système Unix sur lequel Mac OS est assis. Espérons qu’ils laisseront toujours la possibilit­é aux utilisateu­rs de décider comment ils entendent gérer leur machine. ✖

 ??  ?? Le processeur Apple A. 13, qui équipe les derniers modèles d’iphone, regroupe six coeurs conçus autour de l’architectu­re ARM v8.4, dont deux à haute performanc­e et quatre à basse consommati­on. Le tout accompagné d’un « processeur neuronal » huit coeurs et d’un GPU.
Le processeur Apple A. 13, qui équipe les derniers modèles d’iphone, regroupe six coeurs conçus autour de l’architectu­re ARM v8.4, dont deux à haute performanc­e et quatre à basse consommati­on. Le tout accompagné d’un « processeur neuronal » huit coeurs et d’un GPU.
 ??  ?? Diagramme comparant l’évolution de la performanc­e des processeur­s de la série i5 d’intel et de la série ARM. Il est probable que les processeur­s d’apple surpassent les performanc­es qui sont indiquées ici. Ces derniers sont régulièrem­ent donnés comme dépassant largement leurs concurrent­s tels que les Qualcomm Kryo/ Snapdragon, basés eux aussi sur l’architectu­re ARM.
Diagramme comparant l’évolution de la performanc­e des processeur­s de la série i5 d’intel et de la série ARM. Il est probable que les processeur­s d’apple surpassent les performanc­es qui sont indiquées ici. Ces derniers sont régulièrem­ent donnés comme dépassant largement leurs concurrent­s tels que les Qualcomm Kryo/ Snapdragon, basés eux aussi sur l’architectu­re ARM.

Newspapers in French

Newspapers from France