Pour la première fois de l’histoire de l’informatique personnelle, une entreprise maitrise entièrement la conception de ses ordinateurs, du système d’exploitation aux processeurs1. Cette entreprise, vous l’aurez compris, c’est Apple. Échaudée par la stagnation des processeurs PowerPC puis Intel, encouragée par le succès des processeurs de l’iPhone, Apple intègrera ses propres puces aux futurs Mac.
Le Mac devient un iPhone comme un autre
La grande entreprise de refondation de macOS parvient à sa conclusion logique : après avoir revu toutes les couches intermédiaires, Apple ravale la façade avec macOS Big Sur, et reprend les fondations avec une nouvelle microarchitecture. Depuis hier, les architectures x86 et ARMv8-A sont traitées sur un pied d’égalité. Apple devrait présenter de nouvelles machines dotées d’un processeur Intel cette année, et prendre en charge les machines existantes pendant quelques années.
Mais in fine, tous les Mac embarqueront du « silicium Apple ». Apple utilisera le même matériel de la plus petite montre à la plus grande station de travail, mais en proposera différentes « expressions », correspondant à différentes expressions d’un logiciel maintenant largement mutualisé. Le Mac est un iPhone comme un autre, et l’iPad est une Apple Watch comme une autre, en quelque sorte.
Regardez le keynote d’introduction, et vous n’entendrez pas une seule fois le mot « ARM »2. C’est que l’enjeu réside moins dans l’opposition entre les architectures x86 et ARMv8-A que dans les possibilités offertes par les circuits conçus par l’équipe de Johny Srouji (lire : La longue liste à puces d’Apple). Dans un monde où les processeurs sont des « systèmes sur puce », Apple reprend le contrôle de la destinée du Mac.
Les processeurs modernes seraient suffisamment puissants pour réaliser toutes sortes de calculs, mais l’efficacité vaut mieux que la puissance. Les algorithmes modernes peuvent réaliser des tâches extraordinairement pointues, mais les branches logicielles sont moins rapides que les gravures dans le silicium. Apple conçoit des circuits spécialisés parce que ceux qui prennent le logiciel au sérieux doivent fabriquer leur propre matériel.
Certains voudront commenter l’abandon des processeurs Intel, mais il vaut mieux se concentrer sur l’adoption des technologies Apple. Avec la puce A12Z, le developer transition kit hérite ainsi de la secure enclave qui maintient l’intégrité des opérations cryptographiques, et du neural engine qui s’intéresse à l’intelligence artificielle. Surtout, c’est le premier Mac « moderne » dont les graphismes ont été conçus à Cupertino.
Depuis trois ans, et après avoir embauché les meilleurs spécialistes du domaine, Apple conçoit ses propres circuits graphiques. Ce petit détail, presque passé sous le radar, aura de grandes conséquences pratiques. Les futurs Mac possèderont une banque de mémoire unifiée, partagée par le processeur et le circuit graphique, dont les communications seront ainsi accélérées.
Le « vieux » circuit graphique de l’Apple A12Z gère d’ores et déjà deux écrans ProDisplay XDR, ses successeurs n’auront aucun mal à faire oublier les circuits intégrés par Intel. Reste une seule inconnue : Apple compte-t-elle rivaliser avec les cartes dédiées, ou bien a-t-elle prévu d’adapter son architecture aux cartes additionnelles, pour les besoins des stations de travail ?
Une transition ordonnée
En attendant d’obtenir une réponse à cette question, Apple tient à rassurer les développeurs et les utilisateurs, et assurer la continuité de l’esprit du Mac. Le message est clair, « les Mac resteront les Mac que vous connaissez et que vous aimez », explique Andreas Wendker. Le vice-président de l’ingénierie logicielle déroule un catalogue, comme un programme pour les futurs développements :
Ils feront tourner les mêmes applications professionnelles puissantes, ils offriront les mêmes API, ils laisseront les utilisateurs créer plusieurs volumes avec différentes versions du système d’exploitation, ils laisseront les utilisateurs démarrer depuis un disque externe, ils prendront en charge les pilotes de périphériques, et ce seront de formidables machines UNIX pour les développeurs et la communauté scientifique qui pourront utiliser leurs logiciels favoris.
Rosetta assure que les applications actuelles, compilées pour les processeurs Intel, tourneront sur les futures machines sans la moindre modification. Avec la compilation anticipée, les applications distribuées par le biais de l’App Store ou sous la forme de paquets sont « traduites » lors de l’installation, et les autres au premier lancement. Seules les applications utilisant des systèmes de compilation à la volée seront traduites dynamiquement.
Universal permet de concevoir des fat binaries, compilées pour les architectures x86 comme ARMv8-A, pour éviter les pénalités inhérentes au processus de « traduction » de Rosetta. Cette technique est éprouvée : elle a été utilisée lors de la transition des processeurs PowerPC vers les processeurs Intel, et pour le maintien de la compatibilité avec les systèmes 32 bits lors de l’adoption de l’architecture x86-64.
Apple assure que la plupart des applications peuvent être adaptées « en quelques jours », et que les projets les plus complexes demandent seulement « quelques semaines » de travail. Toutes les applications intégrées au système, et les applications professionnelles comme Final Cut et Logic, ont déjà été adaptées. Pour faciliter la transition, Apple assiste les principaux projets open source, et travaille avec Unity pour les graphismes comme Parallels pour la virtualisation.
Les applications natives, qu’elles aient été conçues avec AppKit ou SwiftUI, ou même portées depuis l’iPad avec Catalyst, sont concernées. Mais les futurs Mac dotés d’une puce Apple seront capables de faire tourner les applications iOS sans le moindre changement… et sans la moindre optimisation. Oh, Apple insiste. Les applications Mac devraient être développées avec AppKit ou SwiftUI, et les applications iOS devraient être adaptées avec Catalyst.
Sauf que le loup est dans la bergerie : « nous prévoyons de proposer les applications iPhone et iPad dans le Mac App Store », explique Ali Özer, directeur des frameworks Cocoa. Les choix des développeurs détermineront la trajectoire de la plateforme, qui pourrait bien être réduite au plus petit dénominateur commun.
-
Seule IBM s’était approchée d’une telle intégration avec les ThinkPad 800, commercialisés entre 1994 et 1998, dotés d’un processeur PowerPC 603 et capables d’utiliser les systèmes OS/2 Warp et AIX. Mais les processeurs PowerPC étaient conçus dans le cadre de l’alliance AIM avec Apple et Motorola, et ces machines étaient aussi vendues avec Windows NT et Solaris. ↩︎
-
Il est prononcé dans le state of the union, plus particulièrement dédié aux développeurs, mais uniquement pour parler de la « traduction » des instructions. ↩︎