PC

Emulace Apple Rosetta 2 vs Windows x86 Vše vysvětleno

Emulace Apple Rosetta 2 vs Windows x86 Vše vysvětleno

Společnost Apple vytvořila historii, když uvedla na trh nové MacBooky s vlastním procesorem Apple M1 založeným na ARM, který po více než deseti letech nahradil procesory Intel. Při tak velkém přechodu byl na straně Apple obrovský úkol udržovat kompatibilitu aplikací na M1. Zdá se však, že to Apple stáhlo prostřednictvím své výkonné překladové vrstvy - Rosetta 2. Už jsme viděli, jak Windows na ARM nedokázal nalákat uživatele kvůli problémům s kompatibilitou s aplikacemi x86. Čím je tedy Rosetta 2 tak silná a proč emulace Windows x86 zřejmě nemá tento slib? Abychom našli odpověď, pojďme si porovnat Apple Rosetta 2 vs Windows x86 Emulation bok po boku.

Emulace Apple Rosetta 2 vs Windows x86: Vše, co potřebujete vědět

Zde jsme se zmínili o všech částech, které jsme probrali, abyste mohli snadno najít všechny informace. Kliknutím na odkaz můžete plynule přecházet mezi různými částmi. Obsah + -

Jak Apple Rosetta 2 funguje?

Po představení Rosetty v roce 2006 během přechodu PowerPC-Intel oznámila společnost Apple v roce 2020 mnohem vylepšenou Rosettu 2 pro bezproblémový přechod Intel-Apple Silicon. Pro nezasvěcené je Rosetta 2 překladová vrstva, která vám umožní používat aplikace založené na Intel na počítačích Apple Silicon Mac. Jak ale tato výkonná překladová vrstva funguje? O tomto tématu je málo informací, takže se pokusíme rozebrat Rosetta 2 a pochopit, jak Rosetta 2 funguje.

Rosetta 2 je především překladová vrstva, což znamená, že překládá instrukční sady architektury Intel x86 do architektury Apple Silicon založené na ARM. Když řeknu instrukční sadu, znamená to příkazy (nazývané také strojový kód ve výpočtech) potřebné k provedení programu jedné architektury na jiné. Od té doby Architektury x86 a ARM se zásadně liší, tento překlad je vyžadován pro bezproblémové fungování aplikací založených na Intel.

Nyní přichází otázka, jak k tomuto překladu dochází a jak se společnosti Rosetta daří bezproblémově spouštět těžké aplikace x86 na počítačích ARM Mac? Hlavní důvod můžete připsat Předběžný kompilátor (AOT) že Apple nasadil na Rosetta 2. Dříve s Rosettou v roce 2006, Apple používal pouze kompilátor Just-in-time (JIT) pro statický binární překlad. Nyní s kompilátorem AOT na Rosetta 2 je Apple Silicon schopen překládat a kompilovat kód za běhu prostřednictvím dynamického binárního překladu.

Znamená to, že Rosetta 2 nyní v závislosti na scénáři používá kompilátor AOT i JIT. Ještě předtím, než jste otevřeli aplikaci, používá Rosetta 2 k překladu kódu kompilátor AOT během instalace aplikace. Je to aplikace založená na Intel chovat se jako univerzální aplikace vyrobeno nativně pro Apple Silicon. V případech, kdy parametry nejsou známy nebo budou hodnoty generovány za běhu, používá Rosetta 2 JIT pro překlad v reálném čase.

V tandemu je Rosetta 2 schopna přeložit sady instrukcí x86 na ARM specifický kód mnohem dříve a rychlejším způsobem, čímž se rozdíl výkonu mezi nativními univerzálními aplikacemi a aplikacemi založenými na Intel dostane na úzkou hranici.

Jak funguje emulace Windows x86?

Na rozdíl od společnosti Apple Microsoft zcela nepřijal ARM a na této frontě došlo k pomalému vývoji. Společnost dosud licencovala pouze několik notebooků Windows založených na ARM, včetně Surface Pro X a některé vždy připojené počítače HP, Lenovo atd. Hlavním důvodem pomalého přijímání notebooků Windows založených na ARM je zjevně nedostatek podpory pro x86-64 bitové (64bitové) aplikace založené na Intel které pokrývají většinu moderních aplikací pro Windows.

Notebooky Windows založené na ARM od této chvíle podporují pouze nativní aplikace postavené na sadě instrukcí ARM a 32bitové aplikace založené na Intel, které běží prostřednictvím emulace Windows x86. Můžete to uzavřít Emulace systému Windows x86 byla překážkou pro plynulý přechod na ARM. Pokud jde o otázku, proč nemůže Microsoft v systému Windows 10 vytáhnout něco jako Rosetta 2?

IrfanView běžící přes x86 emulátor ve Windows 10X

Abych odpověděl na vaši otázku, už ano. Na rozdíl od všeobecného vnímání, Microsoft ve skutečnosti používá stejný přístup jako Rosetta- překlad binárních souborů do strojového kódu prostřednictvím jeho vrstvy WOW64. Podle dokumentu společnosti Microsoft z roku 2018, „Vrstva WOW64 systému Windows 10 umožňuje spuštění kódu x86 ve verzi ARM64 systému Windows 10. Emulace x86 funguje tak, že se kompilace bloků pokynů x86 do pokynů ARM64 provádí pomocí optimalizací ke zlepšení výkonu. Služba ukládá tyto přeložené bloky kódu do mezipaměti, aby snížila režii překladu instrukcí a umožnila optimalizaci, když se kód znovu spustí. “

Kromě toho v září 2020 společnost Microsoft oznámila, že v příštím roce přichází nová emulace x86 do notebooků Windows založených na ARM. Kromě toho přinese také podporu pro 64bitové aplikace založené na Intel na ARM křemíku. Pokud jde o překladač, je o tomto tématu velmi málo informací. Je však známo, že Microsoft používá JIT k překladu a kompilaci v reálném čase. Po spuštění příštího roku si budeme muset počkat a uvidíme, co má nový emulátor x86 v obchodě.

Emulace Apple Rosetta 2 vs Windows x86: Výkon překladu

Zatímco nová emulace Windows x86 má dorazit příští rok, existují i ​​další problémy, díky nimž je překlad x86 ve Windows mnohem pomalejší než Rosetta. Nejprve musí macOS podporovat pouze dvě architektury: ARM 64bitová a x86 64bitová. Apple v roce 2019 ukončil podporu 32bitových aplikací. Pro srovnání, Windows na ARM podporuje 32bitovou a 64bitovou architekturu ARM; x86 32-bit a x86 64-bit, které se blíží příští rok. S takovou režií zdrojů je obtížné rychlejší překlad.

Dále musí Windows udržovat zpětnou kompatibilitu s tisíci programů, pluginů, nástrojů, zastaralých knihoven a kdoví co ještě. Zatímco těsná kontrola platformy nad společností Apple zajišťuje, že vývojáři jsou vždy v moderním rámci pro vývoj aplikací, což zase pomáhá při tak velkém přechodu. Kromě toho, protože Apple již v minulosti úspěšně provedl přechod z PowerPC na Intel Mac (2006-2009), má mnohem lepší zkušenost s něčím podobným.

A konečně, rozdíl ve výkonu mezi Qualcommem Snapdragon 8cx (k dispozici u notebooků ARM založených na Windows) a Apple M1 je významný. Dokonce i nejnovější Snapdragon 888 je nejméně o generaci za Apple A14 Bionic. Existují však dobré zprávy. Qualcomm oznámil další iteraci stolního procesoru - Snapdragon 8cx Gen 2 5G - v září a bude k dispozici pro notebooky Windows založené na ARM příští rok. Kombinace nového čipu a vylepšené emulace může Microsoftu pomoci.

Emulace Apple Rosetta 2 vs Windows x86: Což je vítěz?

Je jasné, že Rosetta 2 je docela silná a Apple odvedl skvělou práci při poskytování podpory aplikací pro programy založené na Intel. V současné době nemusí Windows na ARM vypadat tak slibně, ale vzhledem k oznámení společnosti Microsoft o nové metodě emulace jistě vzbuzuje naději pro uživatele Windows. Uvidí se, jestli Microsoft v příštím čtvrtletí zvýší Apple. To je od nás všechno. Máte-li jakékoli dotazy, komentujte níže a dejte nám vědět.

Facebook v roce 2012 [infografika]
Facebook je druhým nejnavštěvovanějším webem na světě a očekává se, že v srpnu 2012 překročí hranici 1 miliardy více než 845 milionů registrovaných už...
15 renomovaných selfie z roku 2014, které dokazují, že Indie měla selfie horečku
Slovo „selfie“ nás nejen zachytilo, ale také nás uchvátilo naprostou velikostí vlivu, který měl v našich životech. Potom by to nemělo být skutečným př...
Jak ovládat svůj Facebook News Feed pro zobrazení příslušných příspěvků
Od svého založení v roce 2006 prošel Facebook News Feed mnoha drastickými změnami. Skutečnost, že můžete vidět aktualizace stavu svého přítele, obrázk...