Nová jádra RISC-V: SiFive P550 už poráží ARM Cortex-A75, Intel s ním chystá 7nm čip

28. 6. 2021

Sdílet

 Autor: SiFive
RISC-V je velmi perspektivní technologie, ale zatím pořád dost pozadu. Nové jádro SiFive Performance P550 to má změnit s výkonem přesahujícím ARM Cortex-A75. A podílet se na tom má i Intel, který na něm založí 7nm čipy.

Často píšeme o nových jádrech Cortex (nebo teď ještě serverových Neoverse), které nabízí ARM k licencování a stávají se tak srdcem různých ARM procesorů pro telefony a další zařízení. Paralelně k nim se ale rozjíždí konkurenční – a otevřenější – platforma instrukční sady RISC-V, byť zatím jen dohání ARM, jenž je ve výkonu a pokročilosti jader o hodně napřed.

Nyní ovšem firma SiFive, jeden z hlavních tahounů RISC-V, ohlásila nové jádro, které by mělo náskok opět stáhnout: design nazvaný SiFive Performance P550 by měl být zatím vůbec nejvýkonnějším RISC-V. I když pořád ukazuje, že tato alternativa k ARMu stále ještě potřebuje další vývoj.

SiFive Performance P550

SiFive Performance P550 je takový první výpad SiFive do „velkých“ jader, který by mohl RISC-V přivést někam, kde jsou dnes méně výkonné z těch výkonnějších procesorů ARM – má údajně již porážet Cortex-A75 z roku 2017, nebo alespoň v některých testech.

Jde o superskalární jádro typu out-of-order, tedy schopné zpracovávat instrukce mimo pořadí a díky tomu jich zpracovat více v jednom cyklu, což je kritické pro dosažení vysokého výkonu. Pipeline má hloubku 13 stupňů.

Jádro je stavěné na zpracování až třech instrukcí za cyklus – dekódování a issue fronty jsou stavěné na tři instrukce za cyklus a ve výpočetním backendu jsou také tři ALU – jedna komplexní s podporou dělení a násobení, jedna zřejmě jednoduchá a třetí, která asi také bude pro jednoduché operace (logické, sčítání), ovšem na stejném portu je k ní přidružená také funkcionalita jednotky pro zpracování větvení.

Jak je vybavená load/store část, bohužel SiFive neuvádí, jádro je osazeno 32 KB L1 cache pro data a 32 KB pro instrukce, k tomu pak má dále 256KB L2 cache, která je také privátní pro každé jádro. Jádra se pak v procesoru sdružují do klastru až čtyř jader, který sdílí L3 cache, jejíž kapacita může být 1 až 4 MB. Všechny cache jinak podporují ECC.

Schéma jádra SiFive Performance P550 Schéma jádra SiFive Performance P550 (Zdroj: CNX-Software)

Slabina: pořád bez SIMD

Výše jsme nezmínili FPU či lépe řečeno SIMD jednotku. To je právě slabina jádra P550, protože zatímco v hrubém celočíselném výkonu se může údajně rovnat už dost modernímu Cortexu-A75, tomuto jádru úplně schází pro standardní CPU jádro zcela neodmyslitelné SIMD rozšíření, které je nedocenitelné pro multimédia, ale i další náročné operace jako numerické výpočty, výpočty AI, ale také třeba základní operace jako MEMCPY a MEMSET.

Architektura P550 podporuje instrukční sadu RV64GBC, což znamená 64bitový RISC-V se základními přídavky (G znamená rozšíření MAFD, tedy násobení & dělení, floating point výpočty a atomické operace; B jsou instrukce pro manipulaci bitů; C jsou komprimované instrukce, tedy něco jako Thumb2 u ARMu). Chybí ale rozšíření V, které zahrnuje vektorové (SIMD) operace.

Jednou ze slabin RISC-V je totiž velká fragmentace na takováto různá rozšíření, což jednou může být problém pro programátory aplikací. Také se ale vývoj některých stěžejních rozšíření jako je právě vektorové/SIMD velmi vleče a zatím je podporuje minimum jader RISC-V (není se co divit, když se oddaluje finalizace jejich specifikace, není úplně lákavé implementovat její pracovní verzi, aby pak nakonec křemík byl nekompatibilní s verzí finální).

Jádro P550 tak bylo dokončeno bez podpory rozšíření V a SIMD výpočtů, ale stejně tak například postrádá podporu virtualizace/hypervizorů (rozšíření H). Toto znamená, že s tímto jádrem se ještě RISC-V nemůže odpíchnout a vtrhnout do světa klientských počítačů, ať již desktopových, notebooků, nebo třeba mobilních zařízení. V těchto ekosystémech je SIMD nezbytnost. Ač tedy jde o poměrně výkonnou architekturu, pořád asi zůstane jen komponentem pro řadiče a různé řídící a pomocné jednotky dalšího hardwaru, které jsou očím uživatele skryté.

Výkon jádra Performance P550 proti jádru ARM Cortex A75 Výkon jádra Performance P550 proti jádru ARM Cortex-A75 (Zdroj: CNX-Software)

Mnohem menší než ARM, ale...

SiFive uvádí, že jádro Performance P550 má být na 7nm procesu schopné dosahovat frekvenci 2,4 GHz a přitom mít plochu jen 0,25 mm², vedlo toho SiFive uvádí i plochu 0,38 mm², což je možná pro nějakou výkonnější implementaci. Proti Cortexu-A75 má podle výrobce mít až 3× lepší výkon na jeden milimetr čtvereční. Ovšem je jasné, že to není úplně fér srovnání, když Cortex-A75 podporuje všechna ta rozšíření, která SiFive P550 neumí a menší je i díky tomu.

Jádro P550 má podle SiFive mít v benchmarcích SPECint 2006 výkon až 8,65 bodu na 1 GHz frekvence. Jádro má být v SPECint2006 až o 31 % výkonnější než Cortex-A75 a ve floating-point SPECfp2006 o 14 % lepší (jde ale o oficiální benchmarky, které je nutné brát s rezervou – není ani úplně jisté, zda jde o srovnání na stejných taktech, tj. IPC).

Jádra SiFive Performance Jádra SiFive Performance (Zdroj: AnandTech)

Performance P270: SIMD, ale nižší výkon

Pro potřeby aplikací, kde SIMD je nutné, má SiFive také jádro, ale to už bohužel není tak sofistikované. Rovněž nyní nově vydaná architektura SiFive Performance P270 podporuje vektorové rozšíření (má tedy instrukční sadu R64GCBV), ale je to pořád jen in-order jádro, možná vycházející ještě ze starší linie jader Freedom U74. Pipeline je jen osmistupňová, takže lze očekávat podstatně nižší frekvence než u P550.

Krom in-order architektury je také jádro stavěné jen na dvě operace za cyklus, jak ve frontendu, tak v backendu, kde jsou přítomné dvě ALU. Vektorová jednotka zpracovává SIMD operace o šířce 256 bitů, což odpovídá technologii AVX/AVX2 u x86 (Cortex-A75 s instrukcemi Neon má jen 128bitové SIMD). Jenže výpočetní jednotka pro tyto operace je jen jedna, byť pro load-store vektorové operace je zřejmě ku pomoci další separátní pipeline.

Vektorové rozšíření V je podporované ve verzi specifikace 1.0rc, tedy už by mělo být skoro hotové, ale bohužel se ještě nedají úplně vyloučit nějaké nekompatibility, jelikož ještě nemá specifikaci úplně finální. Opět asi ilustrace, že vývoj tohoto rozšíření trval či trvá déle, než by bylo zdrávo.

Schéma jádra SiFive Performance P270 Schéma jádra SiFive Performance P270 (Zdroj: CNX-Software)

SiFive také nabízí automatický překladač ze SIMD kódu pro jiné architektury na SIMD assembler pro RISC-V, ale samozřejmě je možné, že komplikovanější a ručně vyladěný kód nepřeloží optimálně.

Jádro P270 má dosahovat v benchmarku SPECint 2006 asi 4,6 bodu na GHz frekvence. Když to srovnáte s předchozím údajem, má tedy jen 53 % IPC výkonnějšího out-of-order jádra P550 a asi by mělo být srovnáváno spíš s úsporným Cortexem-A55. I když SIMD výkon by mohlo mít lepší. Jádro je logicky menší než P550, má na něj stačit 0,175 mm² (tyto údaje budou asi pro nějaký pokročilý proces, jako 5nm TSMC).

Jádra RISC V licencovatelná od SiFive Jádra RISC-V licencovatelná od SiFive. Performance jsou nejvýkonnější dostupné architektury, Intelligence jsou uzpůsobená pro použitá v akcelerátorech AI a Essential jsou méně výkonná jádra pro řadiče a další embedded použití (Zdroj: SiFive)

RISC-V jádra SiFive na 7nm procesu Intelu

Před dvěma týdny se objevily zprávy o tom, že má Intel zájem o vstup či rovnou odkup SiFive. Námluvy nicméně mají být v rané fázi a není jasné, zda z toho něco bude. Spolupráci ale obě firmy chystají. Intel oznámil, že bude licenční jádra SiFive, včetně těchto nových, podporovat v rámci svých továren, takž jeho klienti budou moci snadno navrhnout a v továrnách Intelu vyrábět RISC-V čipy s nimi. Intel k tomu má poskytnout vlastní IP jakou jsou řadič pamětí, PCI Express a další potřebné bloky.

Tip: Intel chce koupit SiFive. Hlavního výrobce RISC-V čipů, jenž by mohl být příštím ARMem

Ještě zajímavější ale je, že Intel má údajně vyprodukovat přímo „vývojovou platformu“ pro RISC-V, v níž by snad jádra Performance P550 měla být takto integrována. Není jasné, zda se tím míní kompletní SoC, který by pak byl osazován na vývojářské desky podobné třeba Raspberry Pi nebo dražším podobným zařízením. Tato vývojová platforma má kódové označení „Horse Creek“ a má používat 7nm proces Intelu. Ten by měl začít komerčně vyrábět příští rok a čipy z něj by měly na trh přijít v roce 2023.

ICTS24

Intel chystá chystá použití jade Performance P550 na 7nm procesu ve svých továrnách Intel chystá chystá použití jade Performance P550 na 7nm procesu ve svých továrnách (Zdroj: AnandTech)

Tiskové zprávy jsou ale o povaze Horse Creeku dost vágní, není ani potvrzeno, že to přímo bude procesor, který by Intel vyráběl pro nějaké účely. Teoreticky by to mohlo i znamenat, že jádra SiFive mohla být použita jako komponent nějakého čipu s jiným účelem. Nebo by mohlo opět jít o IP, které by bylo nabízeno jako stavební blok či základ obsahující jádra RISC-V a další omáčku a obslužné části od Intelu, ale Intel by takovýto čip přímo nevyráběl, to už by bylo na případných zákaznících, které by touto nabídkou přilákal. Zatím tedy bude nutné vyčkat, co se z tohoto prohlášení ve skutečnosti vyklube.

Galerie: RISC-V jádra SiFive Performance P550 a Performance P270, partnerství s Intelem

Zdroje: SiFive, CNX-Software, AnandTech