Není to už jen souboj AMD/Intel. Už dnes je jasném že Apple Silicon je naprostá špička na laptopu i desktopu a velká konkurence pro Intel i AMD.
Výkonově je minimálně srovnatelná s tím nejlepším co má AMD/Intel na desktopu i laptopu, ale s výrazně nižší spotřebou.
Take on to nebude jen souboj x86 firem, ale i souboj x86 vs ARM.
A co na to RISC-V?
"Apple Silicon" je naprostá špička proto, že jej Apple vyrábí nejpokročilejším výrobním procesem, kterým zatím ani AMD nedělá Ryzeny. A k tomu optimalizuje macOS, zatímco Intel dělá CPU na technologicky nepovedeném procesu a musí mu vše fungovat od Windows 7-8-10-11, přes Linux a BSD až třeba po Solaris. Není to ani tak souboj x86 a ARM? jako spíš souboj o to, kdo bude mít pro svůj produkt nejpokročilejší výrobní proces u TSMC. Víme, že 5nm Zen4 bude dávat minimálně 5GHz all-core Boost.
Chtělo by to i podotknout, že jednoduché operace drtí. OK chápu, máš tam celé nové odladěné a nově odpíchnuté od 0.
Ale... dej tam 3D úlohy a najednou je z toho troska... Dej tomu 3D hry a najednou je to troska. Svévolné využití na internet a počítání a odladěným úlohám je jasné jak to skončí. Něco jako Intel co si kupuje exkluzivitu na svá CPU a je "divné", že to tak je.
A jak říkáš, odladit to na jedno OS, je to nejlehčí co může být.
U tech her je to velmi zajimava otazka. Je logicke, ze na ARM hry zkompilovane pro x86 i 64bitove proste nepojedou tak dobre jako na nativni platforme. Takze pri pripadnem prechodu na ARM proste budou existovat novejsi hry, ktere nebude mozne rozjet na takovou kvalitu. Starsi hry nejspis nebudou mit problem. V rezimu nejake kompatibility samozrejme. Ale podle me se do toho nikomu nechce. Kde to muze prijit a pak se mozna rozsirit jsou konzole, kde ted bezi jak na PS, tak na Xboxu x86-64. Mozna akvizice ARMu Nvidii by tomu mozna taky pomohla, ale z toho myslim seslo (narozdil od AMD a Intelu pro ne neni vyroba CPU hlavni). Jsem docela zvedavy, protoze to je klasicky problem vejce-slepice. Na novou platformu potrebujes dostat programy, ale abys je vytvoril/zkompiloval, tak potrebujes novou platformu. Nejake programy typu Office (a i ty nejsou na M1 ve stejne kvalite) nebudou mit problem, ale hra ve 4K na 120+ fps uz ano. Zda se mi, ze i konzole uz zacinaji narazet na TDP / chlazeni, kdyz vidim, jak je treba PS5 obri radiator.
Myslím si, že se nejedná jen o dostupnost technologie, instrukční sada ARM AArch64 s instrukcemi pevné délky umožňuje vzít 32-bytů a dekódovat osm instrukcí naráz v podstatě s jednoduchým paralelním dekodérem (*1) naopak na straně x86 dekódování i jen 4 instrukcích v jednom hodinovém cyklu je vrcholným uměleckým dílem ať již na straně AMD nebo Intelu. Ano, je zde trace cache pro vnitřní cykly, která dodá až 6 přeložených mikro/makro instrukcí na takt ve vnitřních smyšcách, ale stáel je to málo. Teď se zdá, že se Intel dokáže posunout na těch 6-instrukcí.
U AArch64 si ale trochu myslím, že pro některé úseky kódu je těch 32-bitů na jednoduchou instrukci moc a na druhou stranu adresování je někdy o dost složitější než na MIPS nebo RISC-V a do dispatche pak jde jako dvě mikro opperace. Takže nakonec jednodušší adresování na RISC-V a možnost to komplexnější nahradit dvojicí 16-kódovaných instrukcí může být výhra. Nakonec za zavedení metriky na posuzování návrhu procesorů a kódování instrukcí v Quatitativ Approach dostali páni profesoři Patterson a Hennessy v roce 2017 Turing Award - přitom RISC-V je navržený studentem, spolupracovníkem prof. Pattersona za posuzování podle těchto metrik. Nakonec ARM již SVE i asi na základě jejich návrhu pro RISC-V zavedl. Ale obecně kódový prostor v instrukcích zablokovaný mnoha zbytečnými instrukcemi již těžko uvolní.
Více viz moje starší přednáška z InstallFestu 2021 Vývoj architektur procesorů na příkladech inovací od i4004 k Apple M1 a generacím RISC-V,, je to závěrečné shrnutí a výhledy k předmětu Architektura počítačů, kde letos s výukou přecházíme na RISC-V simulátor (online).
(*1) Ono i po jednoduchém dekódování se z řešení závislostí občas procesorům a i jejich návrhářům pěkně zamotá hlava, viz třeba mé přednášky a záznamy z předmětu Pokročilé architektury počítačů https://cw.fel.cvut.cz/wiki/courses/b4m35pap/lectures/start.
AArch64 je právě ukázka toho, že fixní délka instrukce nemusí být vůbec na škodu. Kód zkompilovaný pro AArch64 není nějak větší než třeba X86. AArch64 je v tomto ohledu celkem promyšlená instrukční sada.
Právě THUMB byl průser - komplikuje to ARM32 dekodér a celkově úspora není nic moc. RISC-V je na tom trochu líp, protože ty 16-bit instrukce jsou navržené celkově mnohem systematičněji, ale na druhou stranu RISC-V je celkem jednoduchý a nemá nějaké praktické instrukce, které má AArch64, takže třeba prolog/epilog ve funkci je u RISC-V zbytečně dlouhý (AArch64 má instrukce pro register pair, takže jedna 32-bit instrukce udělá jakoby 2x load/store, což se u prologu/epilogu funkcí hodí).
Jinak u RISC-V se mi líbí, jakým způsobem je ta instrukční sada navržená a jakým způsobem se navrhují různé rozšíření. Jde fakt vidět, že ti lidi přemýšlí a chcou z toho vytěžit maximum.
Třeba bitmanip: https://courses.cs.washington.edu/courses/cse481a/20sp/notes/bitmanip.pdf
19. 2. 2022, 10:52 editováno autorem komentáře