PC

Apples Rosetta 2 vs Windows x86 Emulation Everything Explained

Apples Rosetta 2 vs Windows x86 Emulation Everything Explained

Apple skapte historie da de lanserte de nye MacBooks med sin interne ARM-baserte Apple M1-prosessor, og erstattet Intel-prosessorer etter mer enn et tiår. Med en så stor overgang var det en gigantisk oppgave på Apples hånd å opprettholde appkompatibilitet på M1. Imidlertid ser det ut til at Apple har trukket den gjennom sitt kraftige oversettelseslag - Rosetta 2. Vi har allerede sett hvordan Windows på ARM ikke klarte å lokke brukere på grunn av kompatibilitetsproblemer med x86-apper. Så hva gjør Rosetta 2 så kraftig og hvorfor Windows x86-emulering ikke ser ut til å ha det løftet? Vel, for å finne svaret, la oss fortsette og sammenligne Apples Rosetta 2 vs Windows x86 Emulation side om side.

Apples Rosetta 2 vs Windows x86-emulering: Alt du trenger å vite

Her har vi nevnt alle seksjonene vi har dekket, slik at du enkelt kan finne all informasjonen. Du kan klikke på lenken for å sømløst flytte mellom forskjellige seksjoner. Innholdsfortegnelse + -

Hvordan Apples Rosetta 2 fungerer?

Etter introduksjonen av Rosetta i 2006 under PowerPC-Intel-overgangen, har Apple kunngjort en mye forbedret Rosetta 2 i 2020 for sømløs Intel-Apple Silicon-overgang. For uinnvidde er Rosetta 2 den oversettelseslag som lar deg bruke Intel-baserte apper på Apple Silicon Mac-maskiner. Men hvordan fungerer dette kraftige oversettelseslaget? Det er lite informasjon om dette emnet, så vi vil prøve å dissekere Rosetta 2 og forstå hvordan Rosetta 2 fungerer.

Først og fremst er Rosetta 2 et oversettelseslag som betyr at det oversetter instruksjonssettene til Intel x86-arkitekturen til ARM-basert Apple Silicon-arkitektur. Når jeg sier instruksjonssett, betyr det at kommandoene (også kalt maskinkode i databehandling) som trengs for å utføre et program av en arkitektur på en annen. Siden x86 og ARM arkitekturer er drastisk forskjellige, denne oversettelsen er nødvendig for at Intel-baserte apper skal fungere tilfredsstillende.

Nå kommer spørsmålet, hvordan skjer denne oversettelsen, og hvordan klarer Rosetta å kjøre tunge x86-apper på ARM Mac-maskiner sømløst? Du kan tilskrive hovedårsaken til Ahead-of-time (AOT) kompilator som Apple har distribuert på Rosetta 2. Tidligere med Rosetta i 2006, brukte Apple bare Just-in-time (JIT) kompilatoren for statisk binær oversettelse. Nå med AOT-kompilatoren på Rosetta 2, er Apple Silicon i stand til å oversette og kompilere koden i farta gjennom dynamisk binær oversettelse.

Hva det betyr er at Rosetta 2 nå bruker både AOT- og JIT-kompilator, avhengig av scenariet. Selv før du har åpnet en app, bruker Rosetta 2 AOT-kompilatoren under appinstallasjonen for å oversette koden. Det lager den Intel-baserte appen oppføre seg som en Universal-app laget naturlig for Apple Silicon. I tilfeller der parametrene ikke er kjent eller verdiene blir generert i løpetiden, bruker Rosetta 2 JIT for oversettelse i sanntid.

I tandem er Rosetta 2 i stand til å oversett x86 instruksjonssett til ARM-spesifikk kode mye før og på en raskere måte, noe som gir ytelsesforskjellen mellom Universal native apps og Intel-baserte apps til en smal margin.

Hvordan fungerer Windows x86-emulering?

I motsetning til Apple har Microsoft ikke fullt ut omfavnet ARM, og det har vært en langsom utvikling på denne fronten. Selskapet har så langt bare lisensiert noen få ARM-baserte Windows-bærbare datamaskiner, inkludert Surface Pro X og noen alltid tilkoblede PC-er av HP, Lenovo, etc. Hovedårsaken bak den langsomme adopsjonen av ARM-baserte Windows-bærbare datamaskiner er tilsynelatende mangel på støtte for x86-64 bit (Intel-baserte 64-bit) apper som dekker mesteparten av moderne Windows-apper.

Fra nå av støtter ARM-baserte bærbare Windows-bærbare datamaskiner bare innebygde apper bygget på ARM-instruksjonssett og 32-biters Intel-baserte apper som kjører gjennom Windows x86 Emulation. Du kan konkludere med det Windows x86-emulering har vært en flaskehals for jevn overgang til ARM. Når det kommer til spørsmålet, hvorfor kan ikke Microsoft trekke ut noe som Rosetta 2 på Windows 10?

IrfanView kjører gjennom x86 Emulator på Windows 10X

Vel, for å svare på spørsmålet ditt, gjør det det allerede. I motsetning til populær oppfatning, Microsoft bruker faktisk den samme tilnærmingen som Rosetta- oversetter binærfiler til maskinkode gjennom WOW64-laget. I følge et Microsoft-dokument fra 2018, “WOW64-laget i Windows 10 tillater at x86-kode kjøres på ARM64-versjonen av Windows 10. x86-emulering fungerer ved å kompilere blokker med x86-instruksjoner i ARM64-instruksjoner med optimaliseringer for å forbedre ytelsen. En tjeneste cacher disse oversatte kodeblokkene for å redusere kostnadene ved oversettelse av instruksjoner og tillate optimalisering når koden kjører igjen. ”

Bortsett fra det, i september 2020 kunngjorde Microsoft at en ny x86-emulering kommer til ARM-baserte Windows-bærbare datamaskiner neste år. I tillegg er det vil også gi støtte for Intel-baserte 64-biters apper på ARM silisium. Når det gjelder kompilatoren, er det svært lite informasjon om dette emnet. Imidlertid er det kjent at Microsoft har brukt JIT for oversettelse og kompilering i sanntid. Vi må vente og se hva den nye x86-emulatoren har i butikken når den lanseres neste år.

Apples Rosetta 2 vs Windows x86-emulering: Oversettelsesytelse

Mens den nye Windows x86-emuleringen kommer til neste år, er det noen andre problemer som gjør x86-oversettelse på Windows mye tregere enn Rosetta. For det første må macOS bare støtte to arkitekturer: ARM 64-bit og x86 64-bit. Apple gjorde unna 32-bit app-støtte i 2019. Til sammenligning støtter Windows på ARM ARM 32-bit og 64-bit arkitektur; x86 32-bit og x86 64-bit som kommer neste år. Med en slik ressurskostnad er det vanskelig å gjøre oversettelsen raskere.

Deretter må Windows opprettholde bakoverkompatibilitet med tusenvis av programmer, plugins, verktøy, utdaterte biblioteker og hva ikke. Mens Apples stramme kontroll over plattformen sørger for at utviklere alltid er på det moderne rammeverket for å utvikle apper som igjen hjelper til med å gjøre en så enorm overgang. I tillegg til at Apple allerede har gjort en vellykket overgang fra PowerPC til Intel Mac (2006-2009), har det en langt bedre opplevelse å trekke noe som dette.

Til slutt er ytelsesforskjellen mellom Qualcomms Snapdragon 8cx (funnet på Windows-baserte ARM-bærbare datamaskiner) og Apple M1 betydelig. Selv den nyeste Snapdragon 888 er i det minste en generasjon bak Apple A14 Bionic. Det er gode nyheter skjønt. Qualcomm har kunngjort neste iterasjon av stasjonær prosessor - Snapdragon 8cx Gen 2 5G - i september, og den vil være tilgjengelig på ARM-baserte Windows-bærbare datamaskiner neste år. Kombinasjonen av en ny brikke og forbedret emulering kan gjøre susen for Microsoft.

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

Det er klart at Rosetta 2 er ganske kraftig, og Apple har gjort en fantastisk jobb med å gi app-støtte for Intel-baserte programmer. For tiden ser Windows på ARM kanskje ikke så lovende ut, men gitt Microsofts kunngjøring av den nye emuleringsmetoden, vekker det sikkert håp for Windows-brukere. Det blir igjen å se om Microsoft gir Apple opp i neste kvartal. Uansett, det er alt fra oss. Hvis du har spørsmål, kan du kommentere nedenfor og gi oss beskjed.

Hvordan bruke Key Logger for å få noen passord og spionasje?
Ved hjelp av Keylogger kan du ikke bare spore hva andre gjorde i systemet, men også hva du gjør selv. 1. Last ned Key Logger. 2. Keylogger holder red...
Topp 5 Twitter Management Tools
Med så mange Twitter-verktøy tilgjengelig, har det blitt tøffere å velge den beste i partiet. Et feil verktøy kan tukle merkevareidentiteten din så ...
Hvorfor er Google Adsense ikke ansvarlig?
Googles inntekt på 97% kommer fra Annonse, men ansvaret til Google Adsense virker kanskje ikke tilfredsstillende. Selv om det ikke var noen brudd på r...