PC

Rosetta 2 di Apple contro l'emulazione di Windows x86 Tutto spiegato

Rosetta 2 di Apple contro l'emulazione di Windows x86 Tutto spiegato

Apple ha creato la storia quando ha lanciato i nuovi MacBook con il suo processore interno Apple M1 basato su ARM, sostituendo i processori Intel dopo più di un decennio. Con una transizione così enorme, Apple aveva un compito gigantesco per mantenere la compatibilità delle app su M1. Tuttavia, sembra che Apple l'abbia ottenuto attraverso il suo potente livello di traduzione - Rosetta 2. Abbiamo già visto come Windows su ARM non sia riuscito ad attirare gli utenti a causa di problemi di compatibilità con le app x86. Quindi cosa rende Rosetta 2 così potente e perché l'emulazione di Windows x86 non sembra avere quella promessa? Bene, per trovare la risposta, andiamo avanti e confrontiamo la Rosetta 2 di Apple con l'emulazione di Windows x86 fianco a fianco.

Emulazione Rosetta 2 di Apple vs Windows x86: tutto ciò che devi sapere

Qui abbiamo menzionato tutte le sezioni che abbiamo trattato in modo da poter trovare facilmente tutte le informazioni. È possibile fare clic sul collegamento per spostarsi senza problemi tra le diverse sezioni. Sommario + -

Come funziona Rosetta 2 di Apple?

Dopo l'introduzione di Rosetta nel 2006 durante la transizione PowerPC-Intel, Apple ha annunciato un Rosetta 2 molto migliorato nel 2020 per una transizione senza interruzioni Intel-Apple Silicon. Per chi non lo sapesse, Rosetta 2 è il livello di traduzione che ti consente di utilizzare app basate su Intel su Mac Apple Silicon. Ma come funziona questo potente livello di traduzione? Ci sono poche informazioni su questo argomento, quindi proveremo a sezionare Rosetta 2 e capire come funziona Rosetta 2.

Prima di tutto, Rosetta 2 è un livello di traduzione, il che significa che traduce i set di istruzioni dell'architettura Intel x86 in un'architettura Apple Silicon basata su ARM. Quando dico set di istruzioni, intendo i comandi (chiamati anche codice macchina nell'informatica) necessari per eseguire un programma di un'architettura su un'altra. Da Le architetture x86 e ARM sono drasticamente diverse, questa traduzione è necessaria per il corretto funzionamento delle app basate su Intel.

Ora viene la domanda, come avviene questa traduzione e in che modo Rosetta riesce a eseguire app x86 pesanti su Mac ARM senza problemi? Puoi attribuire il motivo principale al Compilatore in anticipo (AOT) che Apple ha implementato su Rosetta 2. In precedenza con Rosetta nel 2006, Apple utilizzava solo il compilatore Just-in-time (JIT) per la traduzione binaria statica. Ora con il compilatore AOT su Rosetta 2, Apple Silicon è in grado di tradurre e compilare il codice al volo attraverso la traduzione binaria dinamica.

Ciò che significa è che Rosetta 2 ora utilizza sia il compilatore AOT che JIT, a seconda dello scenario. Anche prima di aver aperto un'app, Rosetta 2 utilizza il compilatore AOT durante l'installazione dell'app per tradurre il codice. Rende l'app basata su Intel comportarsi come un'app universale realizzato in modo nativo per Apple Silicon. Nei casi in cui i parametri non sono noti o i valori verranno generati in runtime, Rosetta 2 utilizza JIT per la traduzione in tempo reale.

In tandem, Rosetta 2 è in grado di farlo tradurre i set di istruzioni x86 al codice specifico di ARM molto prima e in modo più veloce, portando la differenza di prestazioni tra le app native universali e le app basate su Intel su un margine ristretto.

Come funziona l'emulazione di Windows x86?

A differenza di Apple, Microsoft non ha abbracciato completamente ARM e c'è stato un lento sviluppo su questo fronte. La società ha finora concesso in licenza solo alcuni laptop Windows basati su ARM, tra cui Surface Pro X e alcuni PC sempre connessi da HP, Lenovo, ecc. Il motivo principale dietro la lenta adozione di laptop Windows basati su ARM è apparentemente il mancanza di supporto per le app x86-64 bit (64 bit basate su Intel) che coprono la maggior parte delle moderne app di Windows.

A partire da ora, i laptop Windows basati su ARM supportano solo app native basate sul set di istruzioni ARM e app basate su Intel a 32 bit che vengono eseguite tramite l'emulazione di Windows x86. Lo puoi concludere L'emulazione di Windows x86 è stata un collo di bottiglia per una transizione graduale a ARM. Venendo alla domanda, perché Microsoft non può realizzare qualcosa come Rosetta 2 su Windows 10?

IrfanView in esecuzione tramite l'emulatore x86 su Windows 10X

Bene, per rispondere alla tua domanda, lo fa già. Contrariamente alla percezione popolare, Microsoft utilizza effettivamente lo stesso approccio di Rosetta- traducendo i binari in codice macchina attraverso il suo livello WOW64. Secondo un documento Microsoft del 2018, “Il livello WOW64 di Windows 10 consente l'esecuzione del codice x86 sulla versione ARM64 di Windows 10. L'emulazione x86 funziona compilando blocchi di istruzioni x86 in istruzioni ARM64 con ottimizzazioni per migliorare le prestazioni. Un servizio memorizza nella cache questi blocchi di codice tradotti per ridurre il sovraccarico della traduzione delle istruzioni e consentire l'ottimizzazione quando il codice viene eseguito di nuovo. "

A parte questo, nel settembre 2020, Microsoft ha annunciato che una nuova emulazione x86 arriverà sui laptop Windows basati su ARM il prossimo anno. Inoltre, esso porterà anche il supporto per le app a 64 bit basate su Intel su silicone ARM. Per quanto riguarda il compilatore, ci sono pochissime informazioni su questo argomento. Tuttavia, è noto che Microsoft ha utilizzato JIT per la traduzione e la compilazione in tempo reale. Dovremo aspettare e vedere cosa ha nel negozio il nuovo emulatore x86 quando verrà lanciato il prossimo anno.

Emulazione Rosetta 2 di Apple rispetto a Windows x86: prestazioni di traduzione

Mentre la nuova emulazione di Windows x86 dovrebbe arrivare il prossimo anno, ci sono altri problemi che rendono la traduzione x86 su Windows molto più lenta di Rosetta. Prima di tutto, macOS deve supportare solo due architetture: ARM 64 bit e x86 64 bit. Apple ha eliminato il supporto delle app a 32 bit nel 2019. In confronto, Windows su ARM supporta l'architettura ARM a 32 e 64 bit; x86 a 32 bit e x86 a 64 bit in arrivo il prossimo anno. Con un tale sovraccarico di risorse, è difficile rendere la traduzione più veloce.

Successivamente, Windows deve mantenere la compatibilità con le versioni precedenti con migliaia di programmi, plugin, strumenti, librerie obsolete e quant'altro. Considerando che lo stretto controllo di Apple sulla piattaforma garantisce che gli sviluppatori siano sempre sul framework moderno per lo sviluppo di app, il che a sua volta aiuta a compiere una transizione così enorme. Oltre a ciò, poiché Apple ha già eseguito con successo una transizione da PowerPC a Intel Mac (2006-2009) in passato, ha un'esperienza di gran lunga migliore per tirare qualcosa di simile.

Infine, la differenza di prestazioni tra Snapdragon 8cx di Qualcomm (che si trova sui laptop ARM basati su Windows) e Apple M1 è significativa. Anche l'ultimo Snapdragon 888 è almeno una generazione dietro l'Apple A14 Bionic. Tuttavia, ci sono buone notizie. Qualcomm ha annunciato la prossima iterazione del processore desktop: il Snapdragon 8cx Gen 2 5G - a settembre, e il prossimo anno sarà disponibile sui laptop Windows basati su ARM. La combinazione di un nuovo chip e di una migliore emulazione potrebbe fare il trucco per Microsoft.

Emulazione Rosetta 2 di Apple vs Windows x86: qual è il vincitore?

È chiaro che Rosetta 2 è piuttosto potente e Apple ha fatto un lavoro fantastico nel fornire il supporto delle app per i programmi basati su Intel. Al momento, Windows su ARM potrebbe non sembrare così promettente, ma dato l'annuncio di Microsoft del nuovo metodo di emulazione, fa sicuramente sorgere la speranza per gli utenti Windows. Sarà lasciato da vedere se Microsoft riuscirà ad aumentare la Apple nel prossimo trimestre. Comunque, è tutto da noi. Se hai domande, commenta di seguito e faccelo sapere.

Guarda il video ispiratore di LaKeisha, 100 giorni in palestra
Ora, questo è davvero stimolante. La scorsa settimana, ho scritto un post sui 7 propositi per il nuovo anno che infrangerete quest'anno e il primo de...
L'evoluzione della home page di Twitter dal 2006 al 2011 (foto)
Twitter, il servizio di microblogging più popolare di Internet, è stato aggiornato solo una settimana fa. Dall'inizio di Twitter nel 2006 ha subito mo...
Annunci online perché una città come Bangalore sta cadendo preda di questa ultima rivoluzione nella pubblicità
Potrebbe non essere sorprendente sapere che la città high tech di Bangalore dipende fortemente da Internet non solo perché è l'habitat degli hub IT, ...