Zkuste nás kontaktovat

Návrh Školení

Základy architektury RISC-V a přehled ekosystému

Prostředí instrukčního souboru RISC-V a jeho uplatnění v průmyslu

  • Filosofie open-source ISA a proces standardizace organizací RISC-V International
  • Základní koncepty RISC-V: architektura typu Load-Store, struktura registrů a řazení bajtů v paměti
  • Srovnání s ARM, x86 a POWER: výhody a nevýhody pro heterogenní výpočetní systémy
  • Hodnocení zralosti ekosystému: společnosti SiFive, T-Head, Western Digital a rostoucí komunita open-source tvůrců čipů
  • Klíčové standardizované rozhraní: Privileged ISA a vrstva abstrakce softwaru pro stroje (MSBL)

Modely paměti a soulad s ABI standardy

  • Specifikace neprivilegované architektury: mapování CSR registrů, zpracování výjimek a hierarchie pamětí
  • Sady instrukcí RV32I/RV64I a soulad s ABI standardy pro přenositelnost binárních souborů mezi platformami
  • Pravidla řazení operací v paměti a instrukce určené k synchronizaci procesorů ve víceprocesorových systémech

Programování v assembleru RISC-V a nástroje kompilátoru

Programování na úrovni instrukcí

  • Běžné celočíselné instrukce (skupina I), rozšíření pro násobení/dělení (M) a atomické operace (A)
  • Strategie programování v závislosti na šířce slov – pro 32bitové i 64bitové verze RISC-V
  • Pravidla volání procedur a správa zásobníku při vývoji vestavěných systémů a reálných časových aplikací

Ovládání kompilátorového prostředí

  • Kompilátorový nástroj založený na LLVM: Clang, LLVM a nástroje Binutils určené k překládání kódu do RISC-V
  • Nastavení skriptů pro linkování, konfigurace paměťových sekcí a rozvržení v prostředí bez operačního systému či RTOS systémech
  • Využívání vestavěných funkcí kompilátoru, úrovně optimalizace a analýzy výkonu kladoucí základy pro ladění kódu
  • Pracovní postupy při tvorbě open-source nástrojů: sestavování, testování i balení vlastních kompilátorů GCC či Clang

Vývoj vestavěných systémů a operačních systémů reálného času

Práce bez operačního systému a v RTOS prostředí

  • Využívání jazyka Rust k programování systémových komponent pro RISC-V: efektivní abstrakce, bezpečná správa paměti i vývoj v režimu bez OS
  • Pracovní prostředí typu No-Std: tvorba vlastních nástrojů na propojování modulů, ovladače periférií a práce s mapovanými paměťovými adresami
  • Nastavování a vývoj prostředí Zephyr RTOS a Buildroot pro platformy RISC-V
  • Programování řídicích jednotek: GPIO, sběrnice I2C, SPI, UART i DMA řadičů

Optimalizace spotřeby energie a výkonu

  • Přístupy k vypínání hodinových generátorů, správě napájecích oblastí i snižování energetické náročnosti systémů
  • Analýza výkonu z hlediska časových cyklů pomocí simulačních profilérů a interních měřicích funkcí procesorů
  • Doladění doby odezvy přerušení u kriticky důležitých bezpečnostních aplikací

Vývoj jádra Linuxu a systémového firmware pro RISC-V

Firmware a zaváděcí mechanismy pro start systému

  • Tvorba firmwaru na bázi OpenSBI – implementace specifikací SBI pro ovládání procesorů
  • Příprava moderních firmwarech řešení typu UEFI/EDK II určených k zavádění systémů na architektuře RISC-V
  • Přizpůsobení nástrojů Coreboot a U-Boot pro jednoplatinové počítače s procesorem RISC-V

Integrace jádra Linuxu do systémů RISC-V

  • Přispívání k vývoji hlavní větve linuxového jádra: tvorba překryvů rozhraní, správa topologie CPU a ovladačů řadičů přerušení (AIA)
  • Vytváření specifických BSP balíčků a konfigurace jádra pro zakázkové platformy typu SoC
  • Podpora různých formátů souborových systémů, síťových služeb a schopnost využití kontejnerů (Docker, Kubernetes) na počítačích s RISC-V procesorem

Návrh SoC systémů založených na RISC-V a prototypování v FPGA

Architektura víceprocesorových SoC řešení a jejich integrace

  • Návrhy sítí propojujících procesory (NoC) určené pro vícejádrové systémy RISC-V
  • Koncepty koherence paměti mezi procesory a protokoly komunikace na bázi sběrnic typu Axi4 či CHI
  • Slučování různých open-source modulů (např. OpenCores), rámce ChIPS Framework či komerčních komponent RTL do jednoho řešení
  • Tvorba matic sběrnic a propojování bloků pro správu pamětí (DDR, SRAM, eMMC, PCIe)

Vytváření prototypů procesorů v prostředí FPGA

  • Syntéza a simulace jádra RISC-V (např. BOOM, VexRiscv či PULP) přímo na programovatelných hradlových maticích
  • Využívání mechanismů SystemVerilog Assertions (SVA) a postupů verifikace typu UVM k zajištění správného fungování systému
  • Metody formální verifikace a vytváření testovacích scénářů na bázi vlastností určujících chování architektury RISC-V

Rozšíření RISC-V o vektorové instrukce a specializovanou akceleraci

Podrobná analýza rozšíření RVV (RISC-V Vector)

  • Operace čtení a zápisu dat do vektorů, slučování více operací násobení a sčítání v jediné instrukci (VFMA) a zrychlení výpočtů matic
  • Pracovní strategie se specifikovanou délkou vektorů (VL, VLEN) určené k optimalizaci pracovního zatížení procesoru prostřednictvím SIMD technik
  • Práce s maskami ovlivňujícími využití dat ve vektorech, segmentová kontrola a možnost používání různých typů dat při zpracování signálů i strojového učení

Tvorba vlastních akcelerátorů DSP a specializovaných instrukcí

  • Návrh funkčně zaměřených akcelerátorů na základě dodatečných rozšíření ISA specifikace a využití rozhraní typu CBAR určených k distribuci operandy mezi částmi systému
  • Modifikace frontendu kompilátorů tak, aby přímo generovaly vybrané nové instrukce a odpovídající formy kódu programů
  • Rozdělení úloh mezi softwarovou a hardwarovou část systému tak, aby vznikl efektivní závěrečný produkt typu SoC řešení<\/li>

Urychlování výpočtů s umělou inteligencí a rozvoj edge AI na RISC-V platformách

Tvorba jednotek pro zpracování dat typu NPU určených k využití u procesorů RISC-V

  • Architekturní strategie budování jednotek na podobný princip jako silykotové mřížky, implementace „tensor cores“ a optimalizace paměťového využití kódů typu on-chip pro zpracování AI operací
  • Techniky komprese modelů (např. v 8bitové reprezentaci INT8, 4bitovém formátu INT4 či FP8) před jejich nasazením do okrajových aplikací RISC-V
  • Možnosti provozování známých nástrojů na vývoj modelů: TensorFlow Lite Micro, ONNX Runtime a PyTorch Edge v prostředí architektury RISC-V

Heterogenní prostředí pro výpočty vyžadující AI funkce

  • Společný návrh hlavního procesoru RISC-V a doplňkových akcelerátorů AI typu NPU tak, aby vytvořily výkonné systémy na zpracování inferencí v reálném čase
  • Optimalizace přenosů mezi paměťmi a sběrnicemi s cílem odlehčit přetíženým pásům DDR či HBM ukládajícím hmotnostní parametry modelů AI i datové aktivační stavy
  • Přihlédnutí k termálním vlastnostem systémů i jejich energetickým nárokům při nasazování do aplikací vyžadujících kontinuální inferenci dat typu AI na okrajích sítě

Zabezpečení hardwarových systémů a principy tzv. confidential computing u architektury RISC-V

Ochrana pamětí na úrovni fyzického rozvržení a důvěrné prostředí provádění kódu

  • Fungování mechanismů typu PMP (Physical Memory Protection) a bezpečných tabulek vedení pamětí určených ke zvýšení ochrany dat
  • Principy pracujících bezpečných prostředí „Trusted Execution Environments“ (TEE): integrace systémů typu OP-TEE a techniky vyvinuté pro klasifikaci úrovně důvěrnosti provozních sekcí jako u standardu SEV
  • Stabilizace bezpečného zavádění systémů: vytvoření kořene důvěry, nutnost ověřování softwaru při spouštění a možnosti ověřování integrity provozovaných programů

Rychlé šifrovací procedury na bázi hardwaru

  • Nové rozšíření instrukčního souboru RISC-V určená pro zrychlení kryptografických operací (např. Zk, Zkr či komponenty skupiny K): podpora algoritmů SHA, AES, RSA, verze PSS a implementace standardního kryptografie eliptických křivek (ECC)
  • Vkládání nových postupů šifrování „post-kvantového“ charakteru do aktuálních procesorů RISC-V pro nadcházející technologické období
  • Opatření k potlačení rizik útoků typu side-channel: vývoj programů v režimu konstantní doby vykonání, přidávání náhodných skrytých operací a instalace dedikovaných generátorů pseudonáhodných čísel na úrovni hardware

Pokročilý návrh vlastních architektur a metody rozšiřování ISA standardu

Tvorba doménově specifických architektur a přidávání nových instrukcí do souborů kódu

  • Způsoby rozšiřování standardu ISA: způsob zápisu nových povelů, tvorba tabulek obsahu a vyhodnocování vlivů na definice ABI či postup podávání návrhů do organizace RISC-V International
  • Navrhování vlastních rozšířených skupin registrů pomocí rozhraní typu CBAR určených k snadné distribuci operandů mezi jednotlivými bloky systému
  • Přístupy ke zrychlování procesoru přes přidávání nových sekvencí vykonávání instrukcí, eliminaci potenciálních konfliktů („hazardů“) a požadované úpravy celého řetězce činností CPU

Prověřování správnosti navrhnutých modifikací architektury a jejich finální schválení

  • Příprava speciálních testovacích skriptů zaměřených na ověření vlastností nových instrukcí – využívající směrované vstupy nebo náhodně generované podmínky testování
  • Zavedené systémy kontroly regresní, které zajišťují komplexní měření krytí návrhu a celkovou spolehlivost nově vzniklých architektonických prvků
  • Povinná ověřování kompatibility navržených rozšíření s užívanými standardními specifikacemi ABI zaručující interoperabilitu jednotlivých systémů na platformě RISC-V

Bezpečnostně důležité aplikace s využitím architektury RISC-V v automobilovém průmyslu i průmyslové výrobě

Plnění požadavků na funkční bezpečnost dle specifikací pro automobily

  • Tvorba procesorů RISC-V určených k využití u vozidel s cílem plnění požadavků normy ISO 26262 na funkční bezpečnost systémů
  • Určování specifických úrovní kvalifikace ASIL-Q a koncepce příslušných dokumentů popisujících chování komponent typu silikonová IP báze RISC-V
  • Tvorba řešení pro vysoce důležité bezpečnostní systémy využívající deterministickou obsluhu přerušení, páry procesorových jader pracujících současně (lockstep) či kontrolní mechanismy ochrany pamětí

Aplikace průmyslové automatizace a edge computingu na bázi RISC-V procesorů

  • Zajištění shody s požadavky normy IEC 61508 pro dosažení úrovně SIL při navrhování vícejádrových řešení na báze RISC-V určených pro průmyslové prostředí
  • Tvorba bran typu Industrial IoT s procesorem RISC-V jako základem: propojování různých komponent, výkonová analýza dat na okrajích sítí a provozní možnosti aktualizací firmwaru bez nutnosti vypínání systémů (OTA)

Závěrečný projekt: Vytvoření celého systému na platformě RISC-V od návrhu až k uvedení do provozu

Průběh realizace komplexního řešení od začátku po hotový výsledek

  • Vymezení architekturních kritérií, výběr typu rozšířených instrukcí a návrh základní konfigurace procesoru určené ke splnění předpokládaných požadavků uživatele
  • Realizace návrhu v jazyku SystemVerilog, spojená s tvorbou simulujících testovacích modulů a formálními technikami ověření správnosti vypracovaného řešení
  • Vytvoření funkčního prototypu na bázi FPGA, generování požadovaného firmware pro start systému a propojení s potřebnými ovladači hardwaru určenými k použití bez operačních systémů
  • Úpravy prostředí typu Linux BSP a nástrojů kompilace specifikovaných na míru pro navrhnuté jádro procesoru RISC-V
  • Nasazení celého systému s možnostmi zpracování dat AI typu inferenčního výpočtu, využití akcelerátorů NPU, komprese modelů a následné vyhodnocení parametrů výkonnosti systému
  • Kontrola stupně zabezpečení: ověření fungování mechanizmů ochrany typu PMP, kontroly na počátku provozu s cílem zajistit důvěrnost kódů a postupy rychlého vyhodnocování šifrovacích výkonů hardware
  • Shromáždění kompletní dokumentace vztahující se k architektonickému řešení, popis strategií vlastnického duševního majetku a prezentace finálních výsledků před spolupracujícím týmem specialistů

Požadavky

Žádné předpoklady nejsou nutné.

 21 Hodiny

Počet účastníků


Cena za účastníka

Reference (2)

Nadcházející kurzy

Související kategorie