Odpovídáte na názor k článku Valve tajně sponzorovalo emulátor x86 na ARM64 FEX. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.
Akcelerovat emulaci x86 samozřejmě smysl má, když většina aplikací je x86-only a nechcete prodávat zařízení jen geekům. AArch64 má užitečnou např bitovou masku pro zápis do registrů. Není třeba ANDovat a ORovat každou práci s registrem, když v x86 chcete zapsat jen do půlky registru. RISC-V to musel dostat jako extenzi, jinak by neměl na trhu šanci.
Jenže to pro binární rekompilaci nestačí. Musel byste do vygenerovaného kódu vkládat memory barriers pro synchronizaci mezi jádry CPU a po každé SIMD operací zkontrolovat výsledky. Takto emulátor (přesněji JIT binární rekompilace) nemusí tyto zpomalující série instrukcí vkládat do kódu, jen přepne 2 přepínače: 1) vypne jednu optimalizaci práce s RAM a 2) povolí speciální výsledky pro SIMD (FPU jednotky je umí, skalární instrukce FPU na ARMu je vrací).
Pro zajímavost, rozdíl výkonu s akcelerací a bez je běžně i 8x, v SIMD operacích i násobně pomalejší než toto. S hardwarovou akceleraci emulace x86 jste na 2/3 nativního výkonu, což vzhledem k dvojnásobku zpracovaných instrukcí za cykl je v pohodě a srovnává v x86 kódu s Intelem. Pozor, AArch64 instrukce jsou trochu "řidší" a ARM procesory mají menší frekvenci než typický x86. Zvláště u Intelu, kde lže s TDP až dvojnásobně a před novým mikrokódem utavil napájecí vodiče tranzistorů. Nicméně nový Qualcomm má dotáhnout na 5 GHz, tím pádem i tato výkonnostní výhoda x86 padá.
> Podle mě aby CPU mohl zvládnout AVX2 tak by potřeboval SVE2 s 256-bit délkou - pak by to bylo poměrně přímočaré.
Zapomínáte na to, že první implementace AVX2 byla v AMD "double-pump", tedy 256bit operace dělal na 128bit jednotkách. Stejně jako pak byla implementace AVX-512 v předchozí generaci AMD. Nebo když hodně do minulosti, tak Z80 v ZX Spektru byl 8bit CPU se 4bit ALU:
https://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-how-it.html?m=1
> Kdo chce výkon na desktop/mobile segmentu a x86 tak použije AMD. AVX-512 je mimochodem to nejlepší na x86.
Záleží výkon v čem. Např v kompilaci kódu tichý a úsporný notebook s Qualcommem nebo Apple Silicon dotahuje na desktopový AMD. A to je dnes spousta věcí mimo hrubý výkon CPU, např GPU, video kodeky, NPU, ... Jinak AMD je výkonné a dobré, o tom se nehádám. Několik let se bude jíst OEM koláč Intelu, takže procesory Apple/AMD/Qualcomm nejdou proti sobě a je super, že si dnes uživatel může vybrat hned ze 4 výrobců výkonných procesorů. V podstatě pro výběr Intelu už musí mít člověk nějaký hodně velký důvod.
Ještě taková technická: AVX-512 instrukce protáhnou "více práce" skrz úzký dekodér instrukcí, pokud se jako na AMD a Intel dekódují za 1 cykl (čínský x86 dekóduje 2 cykly). Tímto v SIMD operacích je x86 srovnatelné s 8 instrukcemi za cykl. K tomu HT využije zbylé jednotky v jádře CPU pro vícevláknové kódy. Tedy AMD má pro tyto scénáře kompenzující řešení, narozdíl od Intelu, který v consumer segmentu nemá ani jedno.