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

Emulátor Prism v ARM Windows dostává podporu moderních instrukčních rozšíření procesorů x86

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


  •  
  •  
  •  
Flattr this!

Qualcomm chystá šestijádrový ARM procesor Snapdragon X

Tento týden se objevila zpráva, podle níž se do konce třetího kvartálu prodal zhruba milion notebooků s ARM procesorem (míněno těch s Windows). Qualcomm určitě chce větší tržní podíl, než je aktuální výsledek a jedna z věcí tomu bránících, byť ne jediná, je asi i vyšší cena notebooků, mezi nimiž chybí lidovější modely pod dvacet tisíc korun. To se ale má měnit, firma chystá nové levnější verze procesorů a notebooky stojící už od 17 tisíc. Celý článok „Qualcomm chystá šestijádrový ARM procesor Snapdragon X“ »

  •  
  •  
  •  

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

Už dlouho se Microsoft snaží rozběhat Windows na platformě ARM a docílit toho, aby se na ní tento operační systém a aplikace pro něj daly používat stejně jako dnes na procesorech AMD a Intel. Notebooky s Windows 10 a 11 jsou na trhu od roku 2018, i když až letos s procesory Snapdragon X Elite se dá říct, že jsou seriózní „hrozba“. Po celou dobu ale funguje divný stav, kdy se ARM Windows nedají normálně sehnat mimo předinstalované počítače. Celý článok „Windows 11 pro ARM byly vydány na ostro, včetně instalačních ISO“ »

  •  
  •  
  •  

Apple vydává M4, M4 Pro a M4 Max: Rekordní jednovláknový výkon

Na jaře vydala firma Apple překvapivě krátce po generaci M3 z podzimu novou generaci procesorů M4 a získala s ní doteď existující rekord ve výkonu, pokud se měří jednovláknovým benchmarkem Geekbench. Zprvu byla vydána jen základní verze M4 s omezenou dostupností (jen v tabletech). Teď ale Apple generaci procesorů M4 vydává i v počítačích s MacOSem a uvádí i výkonné modely M4 Pro a M4 Max s více jádry. Celý článok „Apple vydává M4, M4 Pro a M4 Max: Rekordní jednovláknový výkon“ »

  •  
  •  
  •  

Pridaj komentár

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