Děkujeme za vaši dotaz! Jeden z našich pracovníků vás brzy kontaktuje.
Děkujeme za rezervaci! Jeden z našich pracovníků vás brzy kontaktuje.
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
Reference (2)
Vysvětlení a interaktivita trenéra byla skvělá; i když jsem pravděpodobně nebyl dostatečně zkušený, přece jen jsem se hodně naučil!
Pieter Bruynseels - Spot Buy Center BV
Kurz - Design Patterns
Přeloženo strojem
Líbil se mi platforma, kterou jsme používali. Byla opravdu pěkná a snadno použitelná. Obzvláště jsem ocenil sekci o TypeScriptu, zejména část týkající se namespaců a modulů.
Robert - DB Global Technology
Kurz - JavaScript - Advanced Programming
Přeloženo strojem