Ten M1 je bezesporu kvalitní, ale zase by se mělo pamatovat, že to nenít ak, že by byl nějaka radikálně na úplně jiné úrovni než konkurence. Dost je to o tom, že se sešla spousta faktorů, které mu pomáhají - 5nm proces, který je napřed před x86 procesory, hodně dobrá architektura, něco udělá optimalizace softwaru možná díky tomu, že jde o uzavřený ekosystém kde se SW a HW mohou optimalizovat přímo na míru jeden druhému.
Bezesporu kvalitní je i to Alder Lake, podle mě.
V tom výčtu jsou některé nepřesnosti myslím.
ad 1+2+3) komprese paměti
Ta komprese paměti funguje jinak, než si myslíte. Existovala v MacOS už předtím (a je i ve windows 10, funguje tam stejně). Je to pokud vím spíš jako swap, není to tak, že by všechna data byla komprimovaná a procesor s nimi přímo mohl pracovat a tím pádem měl efektivně víc paměti. Je to tak, že se stránky komprimují nějakým rychlým algoritmem, pak se uloží jejich zmenšená verze, ale před použitím se musí zase rozkomprimovat, CPU je nemůže bez toho použít. Takže v praxi ten procesor do tohohle komprimovaného stavu převádí ty bloky v RAM, kde jsou data, která procesor nepotřebuje tak často. Co dělá ta HW akcelerace je to, že dokáže provést tu kompresi a dekompresi s nižší režií a spotřebou, takže systém to může používat víc agresivně.
Není to transparentní komprese, kdy by prostě CPU mohlo pracovat s těmi zkomprimovanými stránkami přímo. Tudíž to taky pravděpodobně nemá ten efekt, že se zvyšuje využitelná propustnost paměti na dvojnásobek. Rozhodně to výkon nezvýší, pamatujte, že je to jen velmi rychlá alternativa swapování a swapování výkon nezlepšuje. V situacích, kdy k téhle kompresi procesor začne přistupovat, naopak výkon půjde dolů, takže se tu nehraje o zlepšení výkonu, ale o to, jak moc se ten negativní dopad podaří mírnit (v tom by to díky té HW akceleraci si mělo být lepší, než Windows).
ad 4) jednotky
minimálně u těch jednotek v pohyblivé desetinné čárce (přesněji řádové, protože to funguje v binární, ne dekadické soustavě) bych to takhle nesrovnával. Apple používá 128bitové vektory, takže jedna FPU/SIMD jednotka zvládne jen polovinu početních operací, které zvládne 256bitová jednotka třeba v Zenu 2/3 (a pak má Intel to AVX-512, které zvládne ještě 2× víc)
ad 5+6+7) IPC
Apple má o 59 % vyšší IPC, ale zase ten Zen 3 má o těch 50 % vyšší takty... IPC samotné neznamená nic, výkon je vždycky IPC krá frekvence.
Tohle má přínos hlavně pro spotřebu, protože to vypadá, že přístup 'nízké frekvence, ale vysoké IPC' vede k o dost nižší spotřebě (zdaleka ale ne sám o sobě, u Applu hodně dělá to, že M1 je 5nm a také že asi neběží na tak neoptimálním napětí/taktech jako AMD/Intel). Má to i nevýhody, to jádro je pak větší. Intel a AMD zřejmě volí kombinaci nižšího IPC a vyšších taktů mimo jiné i proto, že musí navzájem konkurovat jeden druhému, takže musí tlačit cenu svého procesoru dolů, protože zákazníci se mezi nimi rozhodují podle ceny. A vyšší taky znamenají vyšší výkon na jednotku plochy -> nižší cena.
ad 8+9) SVE/SVE2...
"Příští rok Apple M2 bude umět SVE2 vektory s podporou až 2048-bit což je opět brutálně víc než má Zen3 (AVX2 je pouze 256-bit široké)"
To je nesmysl. Výkon určuje o šířka jednotek (u AVX2 256 bitů, kromě Zenu se 128bit). Ta 2048bitová šířka vektoru neznamená vůbec nic, protože zpracovávat se to bude na úzkých jednotkách. Procesory ARM budou nejspíš často používat 128bitové jednotky, takže to bude naopak 2× pomalejší než AVX2. Když budeme mít štěstí, tak u toho Apple budou jednotky 256bitové a tím stejně výkonné jako AVX2. Pokud by náhodou Apple použilo 512bitové jednotky, s čímž nepočítám, tak bude na úrovni AVX-512. To Fujitsu s SVE používá 512bitové jednotky. ARM Cortex-X2 má jenom 128bitové jednotky.
Taky je k tomu třeba říct, že se zatím ty instrukce neosvědčily v praxi, momentálně je to skoro vaporware. Takže raději brzděte s tou adorací, ať to nezakřiknete. Pořád neexistuje implementace vedle HPC akcelerátorové architektury Fujitsu, takže je předčasné říkat, že je to nějak radikálně lepší než AVX2/AVX-512. HPC kód je na SIMDování hodně jednoduchý, takže to zdaleka neprověří felxibilnost a kvalitu té isntruční sady.
Klidně se může ukázat, že ten koncept nebude v obecném kódu fungovat tak dobře, jak si teď lidi představují. První várka čipů, Cortexy X2/A710/A510 ale teď konečně jdou na trh, takže se to pomalu bude dát zkoušet.
Mimochodem dosud není jisté, jestli Apple určitě ARMv9/SVE2 aplikuje, nebo kdy to bude. Informace chybějí.
ad 11) Zen 1 / K12
"Zen1 (jež se velmi podobá Apple A7 Cyclone) a zároveň mnohem výkonnějšího ARM procesoru K12"
Zen 1 se nepodobá A7, protože A7 například vůbec nemá uOP cache nebo SMT (obojí jednak velmi důležité pro výkon, jednak to koření hodně do hloubky toho designu). A také například Zen zvládá vyšší takty, což je něco, co také je inherentní z návrhu jádra. Zen celkem viditelně vychází z předchozích koncepcí AMD jako byl Jaguar, sdílená FPU v Bulldozeru (to bylo předstupněm SMT v Zenu) a další jejich knowhow. Keller nepřišel do AMD a nepřinesl sebou novou architekturu, organizoval, radil a pomáhal inženýrům, kteří tam už byli a měli svoje zkušenosti - Zen byl postavený z těch. Viz rozhovor s Mikem CLarkem, který byl skutečný vedoucí vývoje Zenu 1: https://www.anandtech.com/show/17031/anandtech-interviews-mike-clark-amds-chief-architect-of-zen O tom, jak to zhruba vypadalo, se tam povídá.
Ta informace o tom, že K12 bylo mnohem výkonnější jádro, není pokud vím pravdivá. AMD ho nikdy neprezentovalo, ale podle prosáklých informací to výkonnostně a počtem jednotek/šířkou jádra bylo stejné jako Zen. Je o i o tom, že to byly sesterské designy. IPC nemohlo být o moc lepší.