PC

Émulation Rosetta 2 d'Apple vs Windows x86 Tout expliqué

Émulation Rosetta 2 d'Apple vs Windows x86 Tout expliqué

Apple a créé l'histoire en lançant les nouveaux MacBook avec son processeur interne Apple M1 basé sur ARM, remplaçant les processeurs Intel après plus d'une décennie. Avec une transition aussi énorme, Apple avait une tâche gargantuesque de maintenir la compatibilité des applications sur M1. Cependant, il semble qu'Apple l'ait réussi grâce à sa puissante couche de traduction - Rosetta 2. Nous avons déjà vu comment Windows sur ARM n'a pas réussi à attirer les utilisateurs en raison de problèmes de compatibilité avec les applications x86. Alors, qu'est-ce qui rend Rosetta 2 si puissant et pourquoi l'émulation Windows x86 ne semble pas avoir cette promesse? Eh bien, pour trouver la réponse, allons-y et comparons côte à côte l'émulation Rosetta 2 d'Apple et l'émulation Windows x86.

Émulation Rosetta 2 d'Apple vs Windows x86: tout ce que vous devez savoir

Ici, nous avons mentionné toutes les sections que nous avons couvertes afin que vous puissiez facilement trouver toutes les informations. Vous pouvez cliquer sur le lien pour vous déplacer de manière transparente entre les différentes sections. Table des matières + -

Comment fonctionne Rosetta 2 d'Apple?

Après l'introduction de Rosetta en 2006 lors de la transition PowerPC-Intel, Apple a annoncé une Rosetta 2 bien améliorée en 2020 pour une transition transparente Intel-Apple Silicon. Pour les non-initiés, Rosetta 2 est le couche de traduction qui vous permet d'utiliser des applications Intel sur les Mac Apple Silicon. Mais comment fonctionne cette puissante couche de traduction? Il y a peu d'informations à ce sujet, nous allons donc essayer de disséquer Rosetta 2 et de comprendre comment fonctionne Rosetta 2.

Tout d'abord, Rosetta 2 est une couche de traduction, ce qui signifie qu'elle traduit les jeux d'instructions de l'architecture Intel x86 en architecture Apple Silicon basée sur ARM. Quand je dis jeu d'instructions, cela signifie les commandes (également appelées code machine en informatique) nécessaires pour exécuter un programme d'une architecture sur une autre. Depuis Les architectures x86 et ARM sont radicalement différentes, cette traduction est nécessaire pour le bon fonctionnement des applications Intel.

Maintenant, la question se pose, comment cette traduction se produit-elle et comment Rosetta parvient-elle à exécuter de manière transparente des applications x86 lourdes sur des Mac ARM? Vous pouvez attribuer la raison principale à la Compilateur Ahead-of-Time (AOT) qu'Apple a déployé sur Rosetta 2. Auparavant, avec Rosetta en 2006, Apple n'utilisait que le compilateur Just-in-time (JIT) pour la traduction binaire statique. Maintenant, avec le compilateur AOT sur Rosetta 2, Apple Silicon est capable de traduire et de compiler le code à la volée grâce à la traduction binaire dynamique.

Cela signifie que Rosetta 2 utilise désormais à la fois le compilateur AOT et JIT, selon le scénario. Avant même d'ouvrir une application, Rosetta 2 utilise le compilateur AOT lors de l'installation de l'application pour traduire le code. Cela rend l'application basée sur Intel se comporter comme une application universelle fait nativement pour Apple Silicon. Dans les cas où les paramètres ne sont pas connus ou les valeurs seront générées lors de l'exécution, Rosetta 2 utilise JIT pour la traduction en temps réel.

En tandem, Rosetta 2 est capable de traduire les jeux d'instructions x86 au code spécifique ARM bien avant et de manière plus rapide, ce qui réduit la différence de performances entre les applications natives universelles et les applications basées sur Intel.

Fonctionnement de l'émulation Windows x86?

Contrairement à Apple, Microsoft n'a pas pleinement adopté ARM et il y a eu un développement lent sur ce front. La société n'a jusqu'à présent licencié que quelques ordinateurs portables Windows basés sur ARM, y compris le Surface Pro X et certains PC toujours connectés par HP, Lenovo, etc. manque de prise en charge des applications x86-64 bits (64 bits basées sur Intel) qui couvrent la majeure partie des applications Windows modernes.

À partir de maintenant, les ordinateurs portables Windows basés sur ARM ne prennent en charge que les applications natives basées sur le jeu d'instructions ARM et les applications Intel 32 bits qui fonctionnent via l'émulation Windows x86. Vous pouvez conclure que L'émulation Windows x86 a été un goulot d'étranglement pour une transition en douceur vers ARM. Pour en venir à la question, pourquoi Microsoft ne peut-il pas réaliser quelque chose comme Rosetta 2 sur Windows 10?

IrfanView s'exécutant via l'émulateur x86 sous Windows 10X

Eh bien, pour répondre à votre question, c'est déjà le cas. Contrairement à la perception populaire, Microsoft utilise en fait la même approche que Rosetta- traduire les binaires en code machine via sa couche WOW64. Selon un document Microsoft de 2018, «La couche WOW64 de Windows 10 permet au code x86 de s'exécuter sur la version ARM64 de Windows 10. L'émulation x86 fonctionne en compilant des blocs d'instructions x86 en instructions ARM64 avec des optimisations pour améliorer les performances. Un service met en cache ces blocs de code traduits pour réduire la surcharge de traduction d'instructions et permettre une optimisation lorsque le code s'exécute à nouveau. »

En dehors de cela, en septembre 2020, Microsoft a annoncé qu'une nouvelle émulation x86 arriverait l'année prochaine sur les ordinateurs portables Windows basés sur ARM. De plus, il apportera également la prise en charge des applications 64 bits basées sur Intel sur silicium ARM. Quant au compilateur, il y a très peu d'informations à ce sujet. Cependant, on sait que Microsoft utilise JIT pour la traduction et la compilation en temps réel. Nous devrons attendre de voir ce que le nouvel émulateur x86 a dans le magasin lors de son lancement l'année prochaine.

Émulation Rosetta 2 d'Apple vs Windows x86: performances de traduction

Alors que la nouvelle émulation Windows x86 devrait arriver l'année prochaine, il existe d'autres problèmes qui rendent la traduction x86 sous Windows beaucoup plus lente que Rosetta. Tout d'abord, macOS ne doit prendre en charge que deux architectures: ARM 64 bits et x86 64 bits. Apple a supprimé la prise en charge des applications 32 bits en 2019. En comparaison, Windows sur ARM prend en charge l'architecture ARM 32 bits et 64 bits; x86 32 bits et x86 64 bits à venir l'année prochaine. Avec une telle surcharge de ressources, il est difficile de rendre la traduction plus rapide.

Ensuite, Windows doit maintenir la compatibilité descendante avec des milliers de programmes, plugins, outils, bibliothèques obsolètes, etc. Alors que le contrôle strict d'Apple sur la plate-forme garantit que les développeurs sont toujours sur le cadre moderne pour développer des applications, ce qui, à son tour, aide à faire une telle transition. En plus de cela, comme Apple a déjà effectué une transition réussie de PowerPC vers Intel Mac (2006-2009) dans le passé, il a une bien meilleure expérience pour tirer quelque chose comme ça..

Enfin, la différence de performances entre le Snapdragon 8cx de Qualcomm (trouvé sur les ordinateurs portables ARM Windows) et Apple M1 est significative. Même le dernier Snapdragon 888 est au moins une génération derrière l'Apple A14 Bionic. Il y a cependant de bonnes nouvelles. Qualcomm a annoncé la prochaine itération du processeur de bureau - le Snapdragon 8cx Gen 2 5G - en septembre, et il sera disponible sur les ordinateurs portables Windows ARM l'année prochaine. La combinaison d'une nouvelle puce et d'une émulation améliorée peut faire l'affaire pour Microsoft.

Émulation Rosetta 2 d'Apple vs Windows x86: quel est le gagnant?

Il est clair que Rosetta 2 est assez puissant et Apple a fait un travail fantastique en apportant la prise en charge des applications pour les programmes Intel. À l'heure actuelle, Windows sur ARM peut ne pas sembler aussi prometteur, mais étant donné l'annonce par Microsoft de la nouvelle méthode d'émulation, cela suscite sûrement l'espoir pour les utilisateurs de Windows. Il restera à voir si Microsoft one-ups Apple au prochain trimestre. Quoi qu'il en soit, tout cela vient de nous. Si vous avez des questions, commentez ci-dessous et faites-le nous savoir.

Comment Facebook a vendu des publicités en 2004
Le réseau social (film) nous a montré le voyage de Facebook.com de TheFacebook.com à Fb sur les marchés boursiers. Mais ce que le film n'a pas montré,...
Bombe Google contre GoDaddy en représailles pour avoir soutenu SOPA
Un programmeur nommé Rob Kohr a lancé une bombe Google contre Godaddy en représailles pour avoir soutenu SOPA via Google plus post, qui a été diffusé ...
Twitter réagit à la déclaration de K. J. Yesudas `` Les femmes ne devraient pas porter de jeans ''
Les remarques du célèbre chanteur et compositeur indien K.J Yesudas sur les femmes portant des jeans ont suscité de nombreuses critiques sur les résea...