V ideálním světě by teď x86 postupně zaniklo a všichni by víceméně dobrovolně (nebo spíš ve vleku událostí) přešli na ARM64 (nebo něco podobného, RISC-V?). Koncovému uživateli to může být šumafuk, naopak ocení tichost a výdrž baterie (MacBooky s M1 jsou první vlaštovkou). Uvidíme, do čeho všeho Microsoft nacpe Windows 10X, snad to půjde i do strojů s ARMem (za nějakou normální cenu, ne předražený Surface Pro X).
Moc nevěřím tomu, že se na desktopy v blízké době dostane RISC-V, i když je to určitě zajímavý počin a budu tu architekturu dál sledovat. AArch64 je ale současnost - moderní instrukční sada s 32 GP + 32 SIMD registry. Apple M1 může dekódovat a vykonat až 8 instrukcí za jeden cyklus. Je to neuvěřitelné s porovnáním s X86. To ani nemluvím o rychlosti atomických operací, atd... Já fakt už moc nevěřím tomu, že se tady něco dá s X86 dělat - jo budeme mít větší uOP cache, lepší branch predictory, L1 cache, zvýší se počet jader, další rozšíření jako AVX-512, atd... ale ta architektura prostě neumožňuje větší inovace, jaké udělal třeba Apple u M1.
Fakt je ARM tak lepší architektura než x86/amd64/SSE1234/avx/avx2/AVX512? Nemá Apple prostě jen a pouze k dispozici lepší výrobní proces? Ono kdyby se Tiger Lake mohl vyrábět 16jádrově na 5nm EUV TSMC procesu, tak bychom se bavili o něčem jiném.
Apple neukázal, kam je možné zajít s lepší architekturou. Apple jen ukázal, kam je možné zajít s lepším výrobním procesem. Apple je zcela závislý na TSMC, bez nich může leda tak prodávat samolepky s nakousnutým jablkem. Zatímco Intel bude vesele dál vyrábět ve svých U.S. továrnách.
Lepší výrobní proces je určitě výhoda, ale rozhodně bych nepodceňoval samotnou architekturu.
AArch64 je moderní ISA - 2x víc registrů než X86, jednoduché dekódování instrukcí, atd... Kolik umí mainstream X86 CPU dekódovat instrukcí za cyklus? 4? M1 dokáže dvojnásobek. Dokonce ani AVX2 už nevypadá tak skvěle, když M1 může zpracovat až 8 instrukcí za 1 cyklus - takže kombinace 2 ASIMD registrů může klidně konkurovat jednomu YMM registru v případě X86. Atomické operace na M1 jsou taky výkonnější díky tomu, že AArch64 má "weaker" memory ordering než X86, takže pro každou atomickou operaci existuje instrukce, která má v sobě zakódovaný požadovaný ordering (X86 má jen lock prefix).
Nejsem nějaký fanboy Apple. Pokud mám ale objektivně posoudit jejich M1 CPU, tak se jim povedl, a opravdu to není jen rozdíl ve výrobní technologii...
Ano, to jednodušší dekódování má velký vliv, je to jeden ze dvou hlavních důvodů vysokého výkonu M1. AVX na současných CPU od Intelu dost snižuje frekvenci a nejnovější AVX-512 se pozitivně projeví jen v případě dvou 512-bitových FMA jednotek na jádro, což mají jen dražší Xeony. Výrobní proces v případě M1 vs. Tiger Lake nehraje tak velkou roli, když vezmeme v úvahu počet tranzistorů na jednotku plochy. Kvůli Brexitu mi objednaný Tiger Lake uvíznul někde na celnici v Severním Irsku, tak nemůžu posloužit přesnými čísly, ale podle recenzí je sice výkonem plus mínus srovnatelný s M1, ovšem řádově víc topí, což už nezní tak skvěle. Ale je to údajně nějaký 10nm++, tak snad bude lepší než to @#*$%£&€ 10nm--, co mám na stole.