Chez Microsoft, un émulateur x86 qui irait très bien au Mac ARM

Mickaël Bazoge |

Cobalt pourrait bien être la pièce manquante qui permettra à Microsoft de s’imposer enfin sur le marché de la mobilité. C’est du moins ce qui se murmurerait dans les labos de Redmond ! Derrière le nom de code Cobalt, se cache en effet un projet fou, raconte Mary Jo Foley de ZDnet : un émulateur x86 pour processeurs ARM.

Cela signifie, en clair, la possibilité de faire fonctionner des logiciels desktop Windows sur des smartphones et des tablettes équipés de puces ARM, soit la quasi-totalité du marché. Microsoft a bien l’intention de pousser sa technologie Continuum, qui transforme un smartphone Windows 10 Mobile en PC de bureau… si on n’est pas trop exigeant.

Continuum affiche en fait un succédané de Windows, qui se limite de plus à une toute petite poignée de logiciels universels (lire : Prise en main du PC caché dans Windows 10 Mobile). Avec ce support des processeurs ARM — qui motorisent aussi les smartphones de Microsoft —, c’est tout un monde qui s’ouvrirait pour les utilisateurs de Windows 10 Mobile. Et un atout de poids pour la plateforme mobile de Redmond et ses partenaires.

Ce développement est fortement poussé par HP, qui mise beaucoup sur Continuum avec ses smartphones Elite x3. Mais en l’état, la clientèle professionnelle de ce terminal l’utilise avec une solution VNC, ce qui n’est pas optimal en termes de performances évidemment. Le projet Stack de Dell pourrait également en tirer parti, même si Intel est aussi dans le coup… mais le fondeur peut aussi produire des processeurs ARM depuis cet été.

L’autre intérêt pour ce qui nous concerne, c’est que cet émulateur x86 irait comme un gant à un futur Mac sous ARM. Installer Windows sous Boot Camp fait aujourd’hui encore partie des arguments de poids qui poussent une entreprise à acheter des Mac plutôt que des PC. Si demain un ordinateur Apple motorisé par un SoC ARM “maison” peut faire fonctionner des applications x86, il n’y a plus vraiment de raison pour le constructeur de s’embêter avec des processeurs Intel.

D’après les sources de Mary Jo Foley, Microsoft souhaite orienter Cobalt d’abord vers les smartphones, voire les tablettes et les ordinateurs plus traditionnels. Cet émulateur pourrait faire son apparition dans la mise à jour Redstone 3 de Windows 10, qui sera disponible à l’automne prochain.

avatar cv21 | 

J'aime bien cette idée d'utiliser son mobile comme ordi de bureau...
Même si cela peut paraître absurde vu que le smartphone seul peut suffire.

avatar IceWizard | 

Généralement, émulateur rime avec lenteur !

avatar SartMatt | 

Ça risque en effet d'être assez lent : autant dans le sens RISC vers CISC, l'émulation peut rester relativement simple, quasiment toutes les instructions d'un jeu d'instructions RISC ayant un équivalent direct dans les jeux d'instructions CISC, autant pour tout ce qui est les instructions complexes du CISC, ça va être la misère. La raison d'être du CISC est justement de proposer des instructions complexes que le CPU va exécuter beaucoup plus vite que la suite d'instructions simples équivalente...

Donc pour la bureautique, ça peut être jouable, mais pour tout ce qui nécessite de la puissance, et en particulier pour tout ce qui est optimisé pour les CPU x86 récents (donc utilise les instructions les plus complexes de ces CPU), ça va ramer.

Pour rappel, du temps de Windows RT, certains ont fait des essais avec QEMU, sur une tablette avec un Tegra 3 4 cœurs 1.3 GHz, certaines applications datant de l'époque des Pentium 100 étaient trop lentes...

Accessoirement, un tel émulateur ne résoudra pas le problème de bootcamp sur les Mac en cas de passage à ARM. Les plateformes ARM sont telles qu'il est compliqué de faire un installeur générique pour installer un OS sur toutes les plateformes ARM existantes. Tous les éditeurs d'OS ont choisi l'approche inverse, faire une image spécifique pour chaque plateforme (même Windows RT fonctionnait comme ça). Donc dans l'éventualité où Microsoft relancerait une version ARM de Windows, il faudrait soit que Microsoft propose des images spécifiques pour les Mac ARM, soit qu'Apple le fasse (et le facture du coup à prix d'or en option ^^). Les deux hypothèses me paraissent relativement peu probables...

avatar saoullabit | 

@SartMatt

Il n'y a plus aujourd'hui de processeurs CISC...
Le cœur même des proc Intel est un RISC

avatar byte_order | 

Oui, le coeur est une architecture a multiples pipelines RISC. Mais le jeu d'instruction au dessus est, lui, toujours du CISC. Et pour les émuler sur de l'ARM, va bien falloir faire *par logiciel* ce que font les procs Intel *par microcode*. Qui va aller le plus vite à ce jeu là à votre avis ?

avatar SartMatt | 

La définition CISC/RISC est relative à l'ISA du CPU, pas à sa micro-architecture interne.

Et il est extrêmement réducteur de dire qu'un CPU Intel d'aujourd'hui a un cœur RISC. Conceptuellement, c'est plus proche du VLIW, puisque les micro-ops sont réordonnées et fusionnées pour reformer des groupes d'instructions plus complexes.

À noter que c'est d'ailleurs pareil pour la plupart des CPU RISC d'aujourd'hui, le cœur n'exécute jamais directement le jeu d'instruction de l'ISA externe, il y a toujours une couche de décodage qui va convertir ça en microcode "interne", et de plus en plus souvent la logique interne du cœur d'exécution se rapproche d'une architecture VLIW (c'est notamment le cas sur les micro-architectures Apple et sur les Cortex actuels).

avatar RyDroid | 

L'émulation est probablement suicidaire. Mais un compilateur à la volée (JIT = Just In Time, en anglais) peut probablement donner des résultats acceptables pour des applications n'ayant pas besoin de beaucoup de puissance.

avatar McDO | 

Emuler un OS et un ou plusieurs logiciels (gourmands) qui tournent dessus en même temps...

lolilol ?

avatar macinoe | 

Non.

Windows RT est un windows pour processeur arm.

Ce qui est emulé ce sont certaines application x86 qui tourneraient dessus.

avatar RyDroid | 

Il n'y a pas besoin d'émuler l'OS, "juste" d'émuler les instructions x86-64 ou les compiler (probablement à la volée).

avatar Stardustxxx | 

Et ca va supporter les instructions multimedia : SSE2, SSE3, AVX, AVX2 ?

avatar occam | 

Disons les choses clairement : sans Boot Camp, je ne pourrais pas, dans le cadre de mes projets professionnels, commander ou préconiser un seul Mac que je ne paierais pa à 100% de ma poche.

Partout où je travaille, y compris les projets dont j'ai le contrôle, le Mac n'est viable qu'en raison du fait que je puis faire à chaque fois la démonstration que c'est AUSSI une superbe machine sous Windows.
Indépendamment de la proportion du travail accompli par la suite sur l'un ou l'autre système.

Si un Mac ARM avec émulateur x86, demain, devait faire preuve de performances brutes sous Windows inférieures à la concurrence Intel — adios macOS.
Je ne pourrais plus commander un seul Mac.

Sauf si Microsoft s'avisait de porter W10 sur ARM et de miser sur l'émulateur en attendant.
C'est le seul scénario imaginable qui n'entraînerait pas l'abandon du Mac.
Notamment grâce à la perception qu'en ont mes services IT, pour qui Windows sur ARM foutrait tellement le bordel que le Mac passerait provisoirement pour un havre de stabilité.

avatar Jeckill13 | 

En gros ça confirme une chose, c'est que mélanger un OS mobile et un os desktop n'est pas une solution viable question performance … c'est possible oui c'est souhaitable ???

avatar petergab | 

Pourtant c'est déjà fait avec la "touch bar", il y a bien un WatchOS en même temps qu'OS X !
C'est certainement ce point qui a fait dire qu'Apple avait de l'avance avec les nouveaux MacBook Pro...

avatar byte_order | 

Y'a la puce de l'apple watch, mais rien ne dit qu'il y a un watchOS pour la gérer plutôt que du code dans macOS (exfiltré de watchOS, par ailleurs un fork de iOS lui même un fork de macOS...) qui le pilote...

J'ai pas regardé de près, ceci dit.

avatar petergab | 

Réponse prudente tout en étant circonstanciée, cela me convient :)

avatar macinoe | 

"En gros ça confirme une chose, c'est que mélanger un OS mobile et un os desktop n'est pas une solution viable question performance … c'est possible oui c'est souhaitable ???"

Euh non, ça veut seulement dire qu'émuler une application x86 sous arm en gardant de bonne performance, ce n'est pas simple, sinon impossible.

Android sous desktop ça existe et il est en train de fusionner avec Chrome OS.

avatar inumerix | 

@Jeckill13

Je vois pas le rapport...

avatar harisson | 

Chimera number 2016 by DinoSoft ^_^

avatar inumerix | 

Idem pour moi. Si un jour les Mac devaient passer à l'ARM s'en serait fini pour moi du Mac, malheureusement. Pour des raison professionnelles j'ai besoin de faire tourner des machines virtuelles Windows et Linux sous en x86. Je suis passé au Mac quand ils sont passé à Intel. J'en partirai si ils passent à l'ARM. L'émulation j'ai déjà essayé. Les performances sont misérables.

Apparemment l'auteur de cet article n'a jamais utilisé d'émulateur...

Décidément Macg vous baissez en ce moment...

avatar JoKer | 

Ça n'est pas l'émulation le problème, mais les performances matériels.
Les utilisateurs de Mac connaissent bien l'émulation, avec Rosetta.
Un émulateur tellement fabuleux et intégré que c'était transparent.
Mais cette transparence était aussi due au fait que les processeurs PowerPC avaient des performances très inférieurs aux processeurs Intel.
Donc un logiciel PowerPC emulé sur Intel tournait quasiment à la même vitesse que le logiciel natif sur un Mac PowerPC.

Le problème actuellement c'est que les performances des processeurs ARM ne sont pas vraiment au niveau de ce qu'intel propose (en tout cas dans l'offre public).

avatar byte_order | 

Le problème actuellement c'est que les performances des processeurs ARM ne sont pas bien au dela de ce que Intel propose, et donc ne permettent pas d'émuler du x86 sur ARM aussi vite que du x86 natif. C.a.d. l'inverse de la situation au moment du switch PowerPC vers Intel et Rosetta.

La question est de savoir quand cela sera le cas, et même si cela sera le cas. Les murs rencontrés par Intel attendent aussi l'ARM, faut pas rêver.

avatar SartMatt | 

Et encore, t'es gentil de dire que les performances des ARM ne sont pas bien au delà de ce qu'Intel propose : en réalité, ce serait déjà bien qu'elles arrivent au niveau de ce qu'Intel propose. C'est loin d'être le cas, le haut de gamme ARM arrive tout juste à titiller le bas du panier chez Intel, et en outre avec une efficacité énergétique qui n'est plus forcément à l'avantage d'ARM...

avatar Jazzride | 

sous intel il faut déja du gros proc du gros HD de la ram à foison alors sous ARM. soyons sérieux une minute. pas de intel pas de travail, que ce soit sur pc ou mac.

avatar Mike Mac | 

ARM, la danseuse de tous ceux qui ne rêvent que d'un Apple jouant toujours la carte de la rupture.

L'émulateur, le nouveau plug pour rester dans la course si Apple rebat les cartes (mères).

Une future option payante ?

avatar k43l | 

C'est surtout que le Mac ARM tant espérer par certains, créera une fragmentation inédite.

Intel avait de quoi remplacer les Power PC à tout les niveaux.

ARM mise à part des processeurs basse consommation mais "performant" pour les mobiles - tablettes sur des OS mobiles c'est très bien.
Maintenant parler d'OS bureau avec des applications lourde on a jamais vu.

A moins d’arrêter les Macbook pro, les Mac et se fermer au iphone, ipad et macbook

avatar macinoe | 

Oui, MacOS pour ARM existe déjà et il s'appelle iOS.

Il ne faut pas espérer autre chose qu'un déclinaison un peu plus "Desktop" d'iOS et encore, c'est très hypothétique.

L'émulation x86 sur ARM sans perte de performance significative, il faut oublier.

avatar DouceProp | 

Amusant, pour surfer sur Internet sur grand écran, ou faire du Word, Excel... Mais c'est tout. Et déjà pas mal pour beaucoup de métiers ! Pas le mien, pour l'instant, mais le futur étant certainement très très mobile, on peut imaginer que dans 10 ans on se baladera tous avec notre ordinateur dans la poche et qu'on pourra se poser où on veut pour travailler dès qu'on aura trouvé un écran, un clavier et une souris... Qui sait ? Les téléphones sont de plus en plus fortiches !

avatar Hideyasu | 

Ca serait pas plus ergonomique de développer les outils actuels sur ARM ? Plus facile je sais pas mais c'est pas comme si ils avaient pas les moyens

avatar JLG47_old | 

Pour faire du texte et envoyer ses messages, la lenteur est toute relative.
Le plus malin restait simplement de pourvoir utiliser confortablement un grand écran, (AirPlay plus dynamique et plus réactif) tout le logiciel existe dans tous les smartphones.

avatar JLG47_old | 

Le problème de Boot Camp est l'obligation de choisir un OS, et un seul à la fois.
En émulation, il est possible d'en utiliser plusieurs et de les faire communiquer.
Pour ce qui le concerne, cela me permet de conserver le confort de MAC OS au quotidien et de pouvoir utiliser les quelques application professionnel exclusivement Windows avec presque le même confort, en particulier des copier-coller, et d'un seul système de gestion de documents.

avatar SartMatt | 

Tu confonds émulation et virtualisation.

Partager un ensemble de ressources matérielles entre plusieurs OS tournant en même temps, c'est de la virtualisation, pas de l'émulation.

L'émulation, c'est le fait de simuler le fonctionnement d'un système ou d'une machine sur un autre système ou machine.

CONNEXION UTILISATEUR