Pc

Apple's Rosetta 2 versus Windows x86-emulatie Alles uitgelegd

Apple's Rosetta 2 versus Windows x86-emulatie Alles uitgelegd

Apple schreef geschiedenis toen het de nieuwe MacBooks lanceerde met zijn in-house ARM-gebaseerde Apple M1-processor, die Intel-processors na meer dan een decennium vervangt. Met zo'n enorme overgang was er een gigantische taak voor Apple om de app-compatibiliteit op M1 te behouden. Het lijkt er echter op dat Apple het voor elkaar heeft gekregen door zijn krachtige vertaallaag - Rosetta 2. We hebben al gezien hoe Windows op ARM gebruikers niet kon verleiden vanwege compatibiliteitsproblemen met x86-apps. Dus wat maakt Rosetta 2 zo krachtig en waarom lijkt Windows x86-emulatie die belofte niet te hebben? Laten we, om het antwoord te vinden, doorgaan en Apple's Rosetta 2 versus Windows x86-emulatie naast elkaar vergelijken.

Apple's Rosetta 2 versus Windows x86-emulatie: alles wat u moet weten

Hier hebben we alle secties genoemd die we hebben behandeld, zodat u alle informatie gemakkelijk kunt vinden. U kunt op de link klikken om naadloos tussen verschillende secties te schakelen. Inhoudsopgave + -

Hoe Apple's Rosetta 2 werkt?

Na de introductie van Rosetta in 2006 tijdens de overgang van PowerPC naar Intel, heeft Apple in 2020 een sterk verbeterde Rosetta 2 aangekondigd voor een naadloze overgang tussen Intel en Apple Silicon. Voor niet-ingewijden is Rosetta 2 de vertaallaag waarmee u op Intel gebaseerde apps op Apple Silicon Macs kunt gebruiken. Maar hoe werkt deze krachtige vertaallaag? Er is weinig informatie over dit onderwerp, dus we zullen proberen Rosetta 2 te ontleden en te begrijpen hoe Rosetta 2 functioneert.

Allereerst is Rosetta 2 een vertaallaag, wat betekent dat het de instructiesets van Intel x86-architectuur vertaalt naar ARM-gebaseerde Apple Silicon-architectuur. Als ik instructieset zeg, betekent dit de opdrachten (ook wel machinecode genoemd in computers) die nodig zijn om een ​​programma van de ene architectuur op een andere uit te voeren. Sinds x86- en ARM-architecturen zijn drastisch verschillend, deze vertaling is vereist voor een soepele werking van op Intel gebaseerde apps.

Nu rijst de vraag: hoe verloopt deze vertaling en hoe slaagt Rosetta erin om zware x86-apps naadloos op ARM Macs uit te voeren? U kunt de belangrijkste reden toeschrijven aan de Ahead-of-time (AOT) compiler die Apple heeft geïmplementeerd op Rosetta 2. Eerder met Rosetta in 2006 gebruikte Apple alleen de Just-in-time (JIT) -compiler voor statische binaire vertaling. Nu met de AOT-compiler op Rosetta 2, kan Apple Silicon de code direct vertalen en compileren door middel van dynamische binaire vertaling.

Wat het betekent is dat Rosetta 2 nu zowel AOT- als JIT-compiler gebruikt, afhankelijk van het scenario. Zelfs voordat je een app hebt geopend, gebruikt Rosetta 2 de AOT-compiler tijdens de installatie van de app om de code te vertalen. Het maakt de op Intel gebaseerde app gedragen als een universele app native gemaakt voor de Apple Silicon. In gevallen waarin de parameters niet bekend zijn of de waarden tijdens de runtime worden gegenereerd, gebruikt Rosetta 2 JIT voor real-time vertaling.

Samen kan Rosetta 2 dat vertaal x86-instructiesets naar ARM-specifieke code veel eerder en op een snellere manier, waardoor het prestatieverschil tussen universele native apps en op Intel gebaseerde apps tot een kleine marge komt.

Hoe Windows x86-emulatie werkt?

In tegenstelling tot Apple heeft Microsoft ARM niet volledig omarmd en is er op dit gebied een langzame ontwikkeling geweest. Het bedrijf heeft tot nu toe slechts een paar ARM-gebaseerde Windows-laptops in licentie gegeven, waaronder de Surface Pro X en een aantal always-connected pc's van HP, Lenovo, enz. De belangrijkste reden achter de trage acceptatie van ARM-gebaseerde Windows-laptops is blijkbaar de gebrek aan ondersteuning voor x86-64 bit (Intel-gebaseerde 64-bit) apps die het grootste deel van moderne Windows-apps beslaan.

Vanaf nu ondersteunen ARM-gebaseerde Windows-laptops alleen native apps die zijn gebouwd op de ARM-instructieset en 32-bits Intel-gebaseerde apps die werken via Windows x86-emulatie. Dat kun je concluderen Windows x86-emulatie is een bottleneck geweest voor een soepele overgang naar ARM. Komend tot de vraag, waarom kan Microsoft niet zoiets als Rosetta 2 op Windows 10 doen??

IrfanView loopt via x86 Emulator op Windows 10X

Nou, om uw vraag te beantwoorden, dat doet het al. In tegenstelling tot wat vaak wordt gedacht, Microsoft gebruikt eigenlijk dezelfde aanpak als Rosetta- het vertalen van de binaire bestanden naar machinecode via de WOW64-laag. Volgens een Microsoft-document uit 2018, “Dankzij de WOW64-laag van Windows 10 kan x86-code worden uitgevoerd op de ARM64-versie van Windows 10. x86-emulatie werkt door blokken x86-instructies te compileren tot ARM64-instructies met optimalisaties om de prestaties te verbeteren. Een service slaat deze vertaalde codeblokken op in het cachegeheugen om de overhead van het vertalen van instructies te verminderen en optimalisatie mogelijk te maken wanneer de code opnieuw wordt uitgevoerd. "

Afgezien daarvan kondigde Microsoft in september 2020 aan dat volgend jaar een nieuwe x86-emulatie naar ARM-gebaseerde Windows-laptops komt. Bovendien is het zal ook ondersteuning bieden voor op Intel gebaseerde 64-bits apps op ARM-silicium. Wat betreft de compiler, er is heel weinig informatie over dit onderwerp. Het is echter bekend dat Microsoft JIT gebruikt voor real-time vertaling en compilatie. We zullen moeten afwachten wat de nieuwe x86-emulator in de winkel heeft wanneer deze volgend jaar wordt gelanceerd.

Apple's Rosetta 2 versus Windows x86-emulatie: vertaalprestaties

Hoewel de nieuwe Windows x86-emulatie volgend jaar zal verschijnen, zijn er enkele andere problemen die de x86-vertaling op Windows veel langzamer maken dan Rosetta. Ten eerste hoeft macOS slechts twee architecturen te ondersteunen: ARM 64-bits en x86 64-bits. Apple heeft de ondersteuning van 32-bits apps in 2019 afgeschaft. Ter vergelijking: Windows op ARM ondersteunt ARM 32-bits en 64-bits architectuur; x86 32-bit en x86 64-bit die volgend jaar verschijnen. Met een dergelijke overhead voor resources is het moeilijk om vertalingen sneller te laten verlopen.

Vervolgens moet Windows behoud van achterwaartse compatibiliteit met duizenden programma's, plug-ins, tools, verouderde bibliotheken en dergelijke. Terwijl Apple's strakke controle over het platform ervoor zorgt dat ontwikkelaars altijd het moderne raamwerk gebruiken voor het ontwikkelen van apps, wat op zijn beurt helpt bij het maken van zo'n enorme overgang. Bovendien, aangezien Apple in het verleden al een succesvolle overgang van PowerPC naar Intel Macs (2006-2009) heeft gemaakt, heeft het een veel betere ervaring om zoiets als dit te doen.

Ten slotte is het prestatieverschil tussen Qualcomm's Snapdragon 8cx (te vinden op Windows-gebaseerde ARM-laptops) en Apple M1 aanzienlijk. Zelfs de nieuwste Snapdragon 888 loopt minstens een generatie achter op Apple A14 Bionic. Er is echter goed nieuws. Qualcomm heeft de volgende iteratie van een desktopprocessor aangekondigd: de Leeuwenbek 8cx Gen 2 5G - in september en het zal volgend jaar beschikbaar zijn op ARM-gebaseerde Windows-laptops. De combinatie van een nieuwe chip en verbeterde emulatie zou de truc kunnen zijn voor Microsoft.

Apple's Rosetta 2 versus Windows x86-emulatie: welke is de winnaar?

Het is duidelijk dat Rosetta 2 behoorlijk krachtig is en Apple heeft fantastisch werk geleverd door app-ondersteuning te bieden voor op Intel gebaseerde programma's. Op dit moment ziet Windows op ARM er misschien niet zo veelbelovend uit, maar gezien de aankondiging door Microsoft van de nieuwe emulatiemethode, wekt dit zeker hoop voor Windows-gebruikers. Het valt nog te bezien of Microsoft Apple in het volgende kwartaal een boost geeft. Hoe dan ook, dat is allemaal van ons. Als je vragen hebt, reageer dan hieronder en laat het ons weten.

15 gerenommeerde selfies uit 2014 die bewijzen dat India selfiekoorts had
Het woord 'Selfie' heeft ons niet alleen gevangen, maar heeft ons ook betoverd door de enorme invloed die het in ons leven heeft gehad. Dan zou het ni...
Hoe Wat is de meest effectieve manier om vragen te stellen over Quora?
Wat is de meest effectieve manier om vragen te stellen over Quora?
Quora is een voortdurend verbeterende verzameling vragen en antwoorden die door miljoenen mensen over de hele wereld wordt gebruikt. Maar veel gebruik...
Hoe Hoe u uw OneDrive-account op een Linux-computer kunt synchroniseren
Hoe u uw OneDrive-account op een Linux-computer kunt synchroniseren
OneDrive, de cloudopslagservice van Microsoft, is een behoorlijk populair aanbod als het gaat om cloudopslagservices. Met OneDrive hebben we altijd en...