PC

Apples Rosetta 2 vs Windows x86 Emulation Everything Explained

Apples Rosetta 2 vs Windows x86 Emulation Everything Explained

Apple skabte historie, da den lancerede de nye MacBooks med sin interne ARM-baserede Apple M1-processor, der erstattede Intel-processorer efter mere end et årti. Med en så enorm overgang var der en gigantisk opgave på Apples hånd at opretholde appkompatibilitet på M1. Det ser dog ud til, at Apple har trukket det igennem sit kraftfulde oversættelseslag - Rosetta 2. Vi har allerede set, hvordan Windows på ARM ikke kunne lokke brugere på grund af kompatibilitetsproblemer med x86-apps. Så hvad gør Rosetta 2 så kraftfuld, og hvorfor Windows x86-emulering ikke ser ud til at have det løfte? Nå, for at finde svaret, lad os gå videre og sammenligne Apples Rosetta 2 vs Windows x86 Emulation side om side.

Apples Rosetta 2 vs Windows x86-emulering: Alt hvad du behøver at vide

Her har vi nævnt alle de sektioner, vi har dækket, så du nemt kan finde alle oplysninger. Du kan klikke på linket for problemfrit at flytte mellem forskellige sektioner. Indholdsfortegnelse + -

Sådan fungerer Apples Rosetta 2?

Efter introduktionen af ​​Rosetta i 2006 under PowerPC-Intel-overgangen har Apple annonceret en meget forbedret Rosetta 2 i 2020 til problemfri Intel-Apple Silicon-overgang. For de uindviede er Rosetta 2 oversættelseslag, der giver dig mulighed for at bruge Intel-baserede apps på Apple Silicon Macs. Men hvordan fungerer dette kraftfulde oversættelseslag? Der er lidt information om dette emne, så vi vil forsøge at dissekere Rosetta 2 og forstå, hvordan Rosetta 2 fungerer.

Først og fremmest er Rosetta 2 et oversættelseslag, hvilket betyder, at det oversætter instruktionssættene til Intel x86-arkitektur til ARM-baseret Apple Silicon-arkitektur. Når jeg siger instruktionssæt, betyder det de kommandoer (også kaldet maskinkode i computing), der er nødvendige for at udføre et program med en arkitektur på en anden. Siden x86- og ARM-arkitekturer er drastisk forskellige, denne oversættelse er påkrævet for at Intel-baserede apps fungerer tilfredsstillende.

Nu kommer spørgsmålet, hvordan sker denne oversættelse, og hvordan klarer Rosetta at køre tunge x86-apps på ARM Macs problemfrit? Du kan tilskrive hovedårsagen til AOT-compiler (Ahead-of-time) at Apple har implementeret på Rosetta 2. Tidligere med Rosetta i 2006 brugte Apple kun Just-in-time (JIT) kompilatoren til statisk binær oversættelse. Nu med AOT-kompilatoren på Rosetta 2 er Apple Silicon i stand til at oversætte og kompilere koden i farten gennem dynamisk binær oversættelse.

Hvad det betyder er, at Rosetta 2 nu bruger både AOT- og JIT-compiler afhængigt af scenariet. Selv før du har åbnet en app, bruger Rosetta 2 AOT-compileren under appinstallationen til at oversætte koden. Det gør den Intel-baserede app opføre sig som en Universal-app lavet indfødt til Apple Silicon. I tilfælde hvor parametrene ikke er kendt, eller værdierne genereres i løbetiden, bruger Rosetta 2 JIT til oversættelse i realtid.

I tandem er Rosetta 2 i stand til at oversæt x86 instruktionssæt til ARM-specifik kode meget før og på en hurtigere måde, hvilket bringer præstationsforskellen mellem Universal native apps og Intel-baserede apps til en smal margin.

Sådan fungerer Windows x86-emulering?

I modsætning til Apple har Microsoft ikke fuldt ud omfavnet ARM, og der har været en langsom udvikling på denne front. Virksomheden har indtil videre kun licenseret et par ARM-baserede Windows-bærbare computere, inklusive Surface Pro X og nogle altid tilsluttede pc'er af HP, Lenovo osv. Hovedårsagen til den langsomme anvendelse af ARM-baserede Windows-bærbare computere er tilsyneladende manglende support til x86-64 bit (Intel-baserede 64-bit) apps som dækker størstedelen af ​​moderne Windows-apps.

Fra nu af understøtter ARM-baserede Windows-bærbare computere kun native apps, der er bygget på ARM-instruktionssættet og 32-bit Intel-baserede apps, der kører gennem Windows x86-emulering. Du kan konkludere det Windows x86-emulering har været en flaskehals for jævn overgang til ARM. Når jeg kommer til spørgsmålet, hvorfor kan Microsoft ikke trække noget ud som Rosetta 2 på Windows 10?

IrfanView kører gennem x86 Emulator på Windows 10X

Nå, for at besvare dit spørgsmål gør det det allerede. I modsætning til populær opfattelse, Microsoft bruger faktisk den samme tilgang som Rosetta- oversætte binære filer til maskinkode gennem sit WOW64-lag. Ifølge et Microsoft-dokument fra 2018, “WOW64-laget i Windows 10 tillader, at x86-koden køres på ARM64-versionen af ​​Windows 10. x86-emulering fungerer ved at kompilere blokke af x86-instruktioner til ARM64-instruktioner med optimeringer for at forbedre ydeevnen. En tjeneste cacher disse oversatte blokke kode for at reducere omkostningerne ved oversættelse af instruktioner og muliggøre optimering, når koden kører igen. ”

Bortset fra det meddelte Microsoft i september 2020, at en ny x86-emulering kommer til ARM-baserede Windows-bærbare computere næste år. Derudover er det vil også give support til Intel-baserede 64-bit apps på ARM-silicium. Med hensyn til compileren er der meget lidt information om dette emne. Det er dog kendt, at Microsoft har brugt JIT til oversættelse og kompilering i realtid. Vi bliver nødt til at vente og se, hvad den nye x86-emulator har i butikken, når den lanceres næste år.

Apples Rosetta 2 vs Windows x86-emulering: Oversættelsesydelse

Mens den nye Windows x86-emulering forventes at ankomme næste år, er der nogle andre problemer, der gør x86-oversættelse på Windows meget langsommere end Rosetta. For det første skal macOS kun understøtte to arkitekturer: ARM 64-bit og x86 64-bit. Apple fjernede 32-bit app-support i 2019. Til sammenligning understøtter Windows på ARM ARM 32-bit og 64-bit arkitektur; x86 32-bit og x86 64-bit, der kommer næste år. Med en sådan ressourceomkostning er det svært at gøre oversættelsen hurtigere.

Derefter skal Windows opretholde bagudkompatibilitet med tusindvis af programmer, plugins, værktøjer, forældede biblioteker og andet. Mens Apples stramme kontrol med platformen sikrer, at udviklere altid er på den moderne ramme for udvikling af apps, som igen hjælper med at lave en så enorm overgang. Da Apple tidligere allerede har gennemført en vellykket overgang fra PowerPC til Intel Macs (2006-2009), har den en langt bedre oplevelse at trække noget som dette.

Endelig er præstationsforskellen mellem Qualcomms Snapdragon 8cx (fundet på Windows-baserede ARM-bærbare computere) og Apple M1 betydelig. Selv den nyeste Snapdragon 888 er mindst en generation bag Apple A14 Bionic. Der er dog gode nyheder. Qualcomm har annonceret den næste iteration af desktop-processor - Snapdragon 8cx Gen 2 5G - i september, og det vil være tilgængeligt på ARM-baserede Windows-bærbare computere næste år. Kombinationen af ​​en ny chip og forbedret emulering kan gøre tricket for Microsoft.

Apples Rosetta 2 vs Windows x86-emulering: Hvilken er vinderen??

Det er klart, at Rosetta 2 er ret stærk, og Apple har gjort et fantastisk stykke arbejde med at bringe app-support til Intel-baserede programmer. På nuværende tidspunkt ser Windows på ARM muligvis ikke så lovende ud, men i betragtning af Microsofts meddelelse om den nye emuleringsmetode rejser det helt sikkert håb for Windows-brugere. Det vil være tilbage at se, om Microsoft one-ups Apple i det næste kvartal. Alligevel er det alt fra os. Hvis du har spørgsmål, så kommenter nedenunder og lad os vide det.

Den indiske premierminister Dr. Manmohan Singh slutter sig til Twitter
Den indiske premierminister Dr. Manmohan Singh slutter sig til Twitter for at styrke sin kommunikation med den unge generation af landet. Kontoen @ P...
Sådan batch omdøbes filer i Windows
Omdøbning af en fil på din Windows-pc kan virke som en simpel opgave, og det er faktisk simpelt, medmindre du vil omdøbe flere filer. Mens du kan omdø...
Sådan sikkerhedskopieres iPhone ved hjælp af iTunes eller iCloud
Sikkerhedskopiering af data er meget vigtig. Og når det drejer sig om en enhed, der er så vigtig som din iPhone, er det bare sund fornuft. Heldigvis t...