Procesory RISC-V jsou zatím pořád jen na cestě k něčemu většímu, než je embedded sektor, ale při současném vývoji kolem ARMu jsou tomu možná blíž, než se zdá. Vypadá to však, že by mohly přijít i do segmentu úplně nejvýkonnějších procesorů, který patří Intelu a AMD, zatímco ARM se o něj (s výjimkou Applu) pořád spíš pokouší. Firma Tenstorrent vedená Jimem Kellerem teď vyvíjí procesory, které by mohly být podobně silné jako ty od Applu.
O Jimu Kellerovi se nejen u nás dost psalo. Tento inženýr a manažer se zkušeností z velké řady firem byl jedním z těch, kteří pomáhali převést AMD od Bulldozeru k Zenu, poté ovšem přešel do Tesly a (k nemalému zděšení) Intelu. Nicméně v Intelu moc dlouho nezůstal a pak se v roce 2020 objevil ve startupu Tenstorrent. Letos v lednu se stal jeho šéfem, takže to vypadá, že tentokrát neplánuje pobýt jen pro něj typické dva tři roky, ale chce v této firmě působit déle.
Tenstorrent se z AI odrazil k CPU
Tenstorrent začal s akcelerátory AI, ale teď se, zdá se, orientuje také na procesory právě s architekturou RISC-V. A vzhledem k tomu, že Keller (ale také další důležití aktéři) se podílel na enormně úspěšných architekturách jako AMD K8, Zen nebo procesory Apple, by to mohlo dopadnout zajímavě.
Tenstorrent oznámil, že pracuje na výkonných procesorech s instrukční sadou RISC-V, které budou mít vlastní architekturu nazvanou Ascalon a konkurovat x86 a ARMu v serverech. Architektura Ascalon bude velmi široké out-of-order jádro, což slibuje vysoké IPC. Jde tedy podobnou cestou jako architektury Apple úspěšné v mobilních SoC a procesorech M1/M2.
Tenstorrent ve skutečnosti vyvíjí několik různých jader založených patrně na stejném základě. Tato jádra se liší velikostí, komplexitou a samozřejmě výkonem, podle čehož jsou pak vhodná pro různá určení. Nejslabší verze má 2-wide dekodódování instrukcí, pak jsou verze 3-wide, 4-wide, 6-wide (architektura Alastor) a konečně 8-wide jádro Ascalon se schopností zpracování osmi instrukcí za cyklus. Ačkoliv firma mluví hlavně o použití v serverech, jádro Ascalon by mohlo být podle slajdů použitelné i v HPC a procesorech pro notebooky.
Ascalon má, jak již bylo řečeno, 8 instrukčních dekodérů, takže umí zpracovat osm instrukcí RISC-V za takt, což je stejně jako v současných velkých jádrech Apple. Stejně široký bude i backend s výpočetními jednotkami. Ascalon má šest celočíselných jednotek ALU a dvě jednotky pro výpočet větvení. Jen o něco slabší je load/store pro čtení z paměti a zápis, kde budou tři pipeline (takže zvládnou kombinaci tří čtení nebo zápisů za takt, přesná distribuce load a store jednotek není známá).
Jádro pak má dvě FPU jednotky pro výpočty s floating-point daty, které současně slouží i jako vektorové (SIMD) jednotky. Jádro má 64bitovou architekturu RV64ACDHFMV – podporuje tedy vektorové instrukční rozšíření, jehož příchod do architektury RISC-V dlouho meškal, a také virtualizaci.
Dvě SIMD jednotky jádra Ascalon mají šířku 256 bitů (jako AVX/AVX2), takže se teoreticky ve výpočetní propustnosti plně optimalizovaného kódu mohou rovnat čtyřem 128bitovým jednotkám u Applu, jehož řešení je ale flexibilnější a v praxi asi bude mít výhodu. Není to ale pořád tak vysoký SIMD výkon, jaký umožňují nejlepší současné architektury x86.
Jádro má mít údajně pokročilé prediktory větvení typu TAGE (ty jsou pro výkonné CPU povinnost), ale uvidíme, zda se firmě v tomto povede přiblížit k lídrům s desetiletími zkušeností. Zatím neznáme všechny parametry cache, ale L1 pro data bude zřejmě mít velmi velkou kapacitu (128 kB, 8cestná asociativita) podobně jako u Applu. Fetch z instrukční cache má být 32 bajtů za cyklus, procesor samozřejmě bude umět různý prefetching.
Podle Tenstorrentu budou load/store jednotky mít hluboké fronty, ale hodnoty nebyly sděleny. Také nevíme, jak hluboký bude reorder buffer, ale lze asi čekat, že u architektury s takto ambiciózní „šířkou“ by mohl být také velmi hluboký (u procesorů Apple je kolem 600 instrukcí), což by pak umožnilo dosahovat velmi vysokého IPC. Podle kapacity L1 cache či šířky, zdá se, má Tenstorrent v úmyslu následovat stejný recept. Naopak není nikde zmíněná schopnost SMT.
Absolutní výkon tohoto jádra bude záviset na tom, jak vysokých se podaří dosáhnout frekvencí, protože samotné IPC nestačí. Toto se nemusí podařit hned v první generaci, ale další mohou pak takty postupně zvyšovat. Tenstorrent má zřejmě ambice skutečně konkurovat tomu nejvýkonnějšímu, co v procesorech dnes je, přičemž v serverech by zrovna mohly stačit i relativně nižší takty (kolem 3 GHz), protože u nich není taková potřeba vysokých jednovláknových boostů.
V kádru jsou veteráni, nyní dokonce Raja Koduri
U startupů je vždycky značná šance, že se velké plány nepodaří dotáhnout do konce, ovšem Tenstorrent má asi poměrně dobré základy – aktivní je už nějakou dobu a vedle Jima Kellera jsou i další vedoucí pracovníci hodně zkušení. Ascalon má za šéfarchitekta Wei-Han Liena, který prošel firmami NexGen, což je x86 výrobce, kterého koupilo AMD a z jehož dílny pocházela architektura K6, pak samotným AMD, poté s Kellerem přes PA-Semi a Apple, kde pracoval na čipech A6, A7 a snad i M1.
Zcela čerstvě se přitom do Tenstorrentu přidalo i další jméno, které budete znát: Raja Koduri, který právě skončil v Intelu. Podle svých slov chystá vlastní aktivity v použití AI pro grafiku počítačových her, ale současně se také nyní stal jedním z členů správní rady Tenstorrentu. Toto nicméně není pozice uvnitř firmy, kde by přímo pracoval na produktech, ani úplně práce na plný úvazek.
Tip: Odchod, nebo vyhazov Raji Koduriho? Zakladatel, tvář a motor snah Intelu o samostatná GPU končí
Jádra Tenstorrentu by měla být licencovatelná, takže minimálně ony menší verze mohou být použité v embedded, ale i klientských procesorech jiných firem coby konkurence jader třeba od SiFive, ale i řady dalších společností, které architektury RISC-V vyvíjejí. Tenstorrent by se možná i mohl stát předním tahounem této architektury, ale to teprv uvidíme.