Emulace x86 aplikací v ARM Windows už zvládá i FMA a AVX2

Nová verze Windows 11 s označením 24H2, která byla nedávno vydána, přinesla velké změny na platformě procesorů ARM – mimo AI funkcí pro tzv. Copilot+ PC to byla také zlepšení emulace Prism, která umožňuje na procesorech ARM přímo spouštět klasické windowsí programy pro procesory x86 od AMD a Intelu. Prism ale dostane další velkou aktualizaci, která by měla být důležitá pro ty, kdo chtějí na ARMu hrát náročné nové hry.

Microsoft tento měsíc oznámil další zlepšení, které se teď dá testovat v novém insider sestavení 27744 před tím, než se dostane do běžné distribuce. Je možné, že toto zlepšení mělo původně být už součástí aktualizace 24H2, ale nakonec nestihlo deadline.

AVX2 kód na ARMu

Tato nová verze emulace Prism přidává podporu dalších instrukcí virtuálnímu procesoru, který pro x86 aplikace poskytuje. Doteď byly podporovány instrukce jen po SSE4. Ty byly poprvé v procesorech Nehalem a částečně v předchozím Core 2 Penryn z let 2007 a 2008, ale obvykle by k běhu programů měly stačit, protože na platformě Windows panuje kultura kompatibility, kdy je software obvykle kompilován tak, aby fungoval na širokém spektru i starých počítačů. Obvykle je to tak, že optimalizace používající nové instrukce jsou zkompilovány s detekcí funkcí CPU, takže na novém procesoru se aktivují, ale pokud používáte starší CPU, použije se alternativní kód se staršími instrukcemi a aplikace normálně běží, byť s horším výkonem.

V některých případech ale program je zkompilovaný tak, že odporu nových instrukcí vyžaduje natvrdo a v takových případech emulování takové x86 aplikace v ARM Windows selhávalo. Nová verze Prismu už poskytuje procesor, který umí instrukce AVX i AVX2 a také některé další dosud neimplementované – FMA, F16|C, BMI, RDRAND, XSAVE, XSTOR, XSETBV/XGETBV.

Díky tomuto budou fungovat některé aplikace, které jsou na například AVX a/nebo AVX2 závislé, což budou asi zejména různé workstation aplikace typu CAD/CAM, ale vedle nich také hry. AVX2 vyžadují například některé tituly série Yakuza, Assissin’s Creed Odyssey nebo Death Stranding. Nejmodernější 512bitové instrukce AVX-512 v emulaci podporované stále nejsou, ale to by nemělo blokovat spuštění prakticky žádného softwaru. Programy používající tyto instrukce mají pravděpodobně vždy záložní kód pro procesor bez nich.

Podporované instrukce lze zobrazit třeba pomocí utility Coreinfo64. Toto reportuje virtuální procesor v nové verzi Prism podporující AVX2 (Autor: Microsoft)

Určité omezení je, že podpora těchto instrukčních rozšíření je implementována jenom pro programy, které běží v 64bitovém režimu, 32bitové x86 aplikace je nebudou vidět. Toto by v praxi nemělo vadit, protože program, který natvrdo vyžaduje AVX či AVX2, bude zpravidla 64bitový. Problém teoreticky může vzniknout, pokud třeba výbavu procesoru nedetekuje přímo samotný 64bitový program, ale separátní binárka nebo instalátor, které jsou 32bitové.

Příkladem softwaru, který díky této vylepšené emulaci bude běžet a dříve neběžel, je Adobe Premiere Pro 25, který zatím nemá verzi pro ARM Windows. Ovšem Microsoft právě pro tento program nasadil podporu AVX2 v jakési zkušební preview verzi již ve Windows 11 24H2, díky tomu program funguje již v tomto updatu. Pro ostatní software ale nová verze zpřístupněná doteď nebyla a do praxe ji uvolní až ono sestavení 27744. Proto jsme zmiňovali, že možná Microsoft zamýšlel dřívější vydání, z kterého nakonec zbylo jen specifické nasazení pro Premiere 25 Pro.

Surface Laptop a Surface Pro z řady Copilot+ PC s ARM procesory Qualcomm Snapdragon X Elite a X Plus (Autor: Microsoft)

Na ARMu asi AVX2 výkon zvyšovat nebude

Tato implementace nových instrukčních rozšíření má za cíl hlavně kompatibilitu, tedy schopnost spustit daný software. Neočekávejte od ní zlepšený výkon, protože pokud na x86 procesorech tyto instrukce zrychlují práci, je to díky tomu, že daná CPU mají širší 256bitové jednotky SIMD. Oproti 128bitovým instrukcím SSE až SSE4 na nich jedna instrukce udělá dvojnásobek výpočetní práce. Ovšem současné procesory ARM nemají 256bitové jednotky a v softwaru používajícím AVX nebo AVX2 budou tedy všechny výpočty stále překládané na dvě dílčí 128bitové operace, bez zvýšení výkonu.

AVX2 kvůli hrám implementuje i Apple

Schopnost emulovat novější instrukční rozšíření procesorů až po AVX2 ze začátku nemělo ani řešení (Rosetta 2), které používá pro kompatibilitu na ARM procesorech Apple ve svém operačním systému. Apple ji ale přidal letos, přičemž cílem je zřejmě zlepšit kompatibilitu s novými hrami (nebo usnadnit jejich portování), které už někdy mohou AVX2 vyžadovat.

Tip: Čistě „zelený“ počítač? ARM procesory od Nvidie vyjdou příští září

V případě Windows má zřejmě toto vylepšení emulace stejný cíl, tedy pokrýt některé hry, které AVX2 vyžadují natvrdo a bez těchto instrukcí se nespustí. Instrukce AVX2 poskytují prakticky všechny procesory staré méně než deset let s výjimkou Celeronů a Pentií s malými jádry, takže v případě her se je už někdy vývojáři rozhodují vyžadovat, jelikož hry jsou obecně náročné a na lowendové mobilní čipy na ně stejně nemají dost výkonu.

S touto změnou by se tedy měl zmenšit počet her pro Windows, nefungujících na procesorech ARM. Je ale třeba říct, že toto je jen jedna z možných příčin nekompatibility, častější asi budou problémy spojené s ovladači GPU a zejména pak to, že některé hry používají ochranu DRM, která má ovladač kompatibilní pouze s procesory x86. Emulovat ovladače překladové vrstvy Microsoftu ani Applu neumí, a takovou hru pak nelze spustit, byť by ji jinak procesor a GPU zvládaly, kdyby ochrana proti kopírování nebyla aktivní. S tímto problémem tato vylepšená verze překladače nepomůže.

Tip: Windows 11 pro ARM byly vydány na ostro, včetně instalačních ISO

Zdroj: Microsoft

Jan Olšan, redaktor Cnews.cz


Contents

Apple uvádí procesory M5 Pro a M5 Max. Mají nová prostřední jádra

Apple tento týden uvádí různé novinky. Spolu s ním také přišlo na notebooky vybavené novými výkonnými procesory. Apple vydal v říjnu čipy M5, ale tehdy jen v základní verzi. Teď se přidávají M5 Pro a M5 Max, které poskytují více jader, více paměti, výkonnější GPU, jsou nově čipletové jako procesory Intelu a AMD a také je tu překvapení: úplně nová architektura na mnohovláknový výkon zaměřených jader. Celý článok „Apple uvádí procesory M5 Pro a M5 Max. Mají nová prostřední jádra“ »

Kvůli cenám pamětí brutálně zdražují i Arm desky Raspberry Pi

Netřeba asi už opakovat, že v posledních měsících nastalo bezprecedentně razantní zdražení pamětí, které tlačí nahoru ceny modulů DDR5 a DDR4, současně také ceny SSD a s nimi i ceny různých zařízení. Včera jsme sílu tohoto zdražování probírali v tomto článku. Kvůli růstu cen pamětí teď bohužel musely hodně tvrdě zdražit i Raspberry Pi, které doteď právě byly velmi úspornou cestou, jak získat náhradu kompletního počítače. Celý článok „Kvůli cenám pamětí brutálně zdražují i Arm desky Raspberry Pi“ »

ARM procesory Nvidia Vera budou k dostání na volném trhu

Na trhu nejvýkonnějších serverových procesorů, které se používají hlavně v datacentrech a superpočítačích, figuruje zejména AMD a Intel, přičemž jejich hlavní konkurencí doteď byly Arm procesory, které si na základě licencí vyráběly sami datacentroví „hyperscaleři“ jako Amazon. Teď ovšem možná vyroste konkurent další, a to Nvidia, která během mánie okolo AI ovládla většinu tržeb za serverový hardware svými GPU a teď by chtěla i do CPU. Celý článok „ARM procesory Nvidia Vera budou k dostání na volném trhu“ »

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *