Plan du cours
Fondamentaux de l’architecture RISC-V et vue d’ensemble de l’écosystème
Paysage de l’ISA RISC-V et adoption industrielle
- Philosophie open source de l’ISA et paysage de standardisation par RISC-V International
- Modèle mental de RISC-V : architecture charge-stockage, fichier de registres, ordonnancement des octets
- Comparaison avec ARM, x86 et POWER : compromis pour les architectures de calcul hétérogènes
- Évaluation de la maturité de l’écosystème : SiFive, T-Head, Western Digital et la communauté silicium open source en croissance
- Interfaces standardisées : ISA privilégiée RISC-V, couche d’abstraction logicielle machine (MSBL)
Modèles mémoire et conformité ABI
- Spécification de l’architecture non privilégiée : carte CSR, gestion des exceptions et hiérarchies mémoire
- Jets d’instructions RV32I / RV64I et conformité ABI pour la portabilité binaire multiplateforme
- Conventions d’ordonnancement mémoire et instructions de barrière pour les systèmes multiprocesseurs
Programmation assembleur RISC-V et chaîne d’outils de compilation
Programmation des instructions basse niveau
- Instructions entières de base (I), extensions Multiplication/Division (M), opérations atomiques (A)
- Stratégies de programmation tenant compte de la bitness pour les cibles RISC-V 32 et 64 bits
- Conventions d’appel et gestion du cadre de pile pour les systèmes logiciels embarqués et temps réel
Maîtrise de la chaîne d’outils de compilation
- Chaîne d’outils de compilation basée sur LLVM : Clang, LLVM, Binutils pour la compilation croisée RISC-V
- Scripts de liaison, sections et configuration de la disposition mémoire pour les environnements bare-metal et RTOS
- Functions intrinsèques de compilateur, niveaux d’optimisation et ajustement du code par profilage
- Flux de travail de développement d’outils open source : construction, test et packaging de chaînes d’outils GCC/Clang personnalisées
Développement de systèmes embarqués et systèmes d’exploitation temps réel
Programmation bare-metal et RTOS
- Programmation système Rust pour RISC-V : abstractions à coût nul, gestion mémoire non sûre et développement bare-metal
- Environnements No-Std : liens personnalisés, développement de pilotes de périphériques et E/S mémoire mappée
- Développement de RTOS Zephyr et BSP Buildroot pour les cibles RISC-V
- Interfaçage des périphériques : programmation des contrôleurs GPIO, I2C, SPI, UART et DMA
Optimisation de l’alimentation et des performances
- Portage d’horloge (clock gating), gestion des domaines d’alimentation et optimisation des modes basse consommation
- Analyse des performances exacte au cycle près avec profilers de simulation et compteurs de performances matérielles
- Ajustement de la latence d’interruption en temps réel pour les applications critiques en sécurité
Développement du noyau Linux et des chargeurs de démarrage pour RISC-V
Écosystème du firmware de démarrage et des chargeurs
- OpenSBI (implémentation de la spécification SBI) : développement du firmware de chargeur
- UEFI/EDK II sur RISC-V : développement de la pile de démarrage firmware moderne
- Portage de Coreboot et U-Boot pour les ordinateurs à carte simple RISC-V
Intégration du noyau Linux
- Contributions au noyau RISC-V principal (mainline) : superpositions de l’arbre des périphériques (device tree), topologie CPU et développement de pilotes de contrôleur d’interruption (AIA)
- Développement de BSP fournisseurs et configuration du noyau pour les plateformes SoC personnalisées
- Prise en charge du système de fichiers, de la pile réseau et de la conteneurisation (Docker, Kubernetes) sur les systèmes hôtes RISC-V
Conception SoC RISC-V et prototypage FPGA
Architecture et intégration SoC multi-cœur
- Méthodologies de conception de réseau sur puce (NoC) pour les processeurs multi-cœur RISC-V
- Cohérence de cache Axi4/CHI et protocoles de communication inter-processeurs
- Intégration de IP open source : OpenCores, framework ChIPS et composants RTL fournisseurs
- Conception de matrice de bus et intégration de contrôleurs mémoire (DDR, SRAM, eMMC, PCIe)
Prototypage de processeurs sur FPGA
- Synthèse et implémentation FPGA du cœur RISC-V (par ex., BOOM, VexRiscv, PULP)
- Assertions SystemVerilog (SVA) et méthodologie de validation fonctionnelle basée sur UVM
- Outils de validation formelle et tests basés sur les propriétés pour la validation du cœur RISC-V
Extensions vectorielles RISC-V et accélération spécifique à un domaine
Approfondissement de l’extension RVV (Vector RISC-V)
- Charge/stockage vectoriel, multiplication-accumulation vectorielle fusionnée (VFMA) et accélération du calcul matriciel
- Opérations vectorielles de longueur variable (VL, VLEN) pour l’exécution SIMD optimisée selon la charge de travail
- Opérations de masques vectoriels, contrôle de segments et flexibilité des types de données pour les charges de travail DSP et IA
Conception d’instructions spécifiques à un domaine et d’accélérateurs DSP
- Conception d’accélérateurs spécifiques à un domaine via des extensions personnalisées et des interfaces d’opérandes basées sur CBAR
- Modifications de l’interface avant du compilateur pour la génération d’instructions personnalisées et l’émission de code
- Stratégies de partitionnement matériel-logiciel pour l’intégration d’accélérateurs dans les SoC de production
Accélération IA et apprentissage automatique à la périphérie sur RISC-V
Conception et intégration de NPU pour processeurs RISC-V
- Architecture de l’unité de traitement neuronal (NPU) : tableaux systoliques, cœurs tensoriels et compression des poids pour l’accélération IA sur puce
- Techniques de quantification de modèles (INT8, INT4, FP8) pour le déploiement à la périphérie sur RISC-V
- Compatibilité des frameworks : TensorFlow Lite Micro, ONNX Runtime et PyTorch Edge sur les cibles RISC-V
Calcul hétérogène pour les charges de travail IA
- Conception conjointe du CPU hôte RISC-V et de l’accélérateur IA NPU pour des pipelines d’inférence en temps réel
- Optimisation du sous-système mémoire : gestion de la bande passante HBM/DDR pour les poids et les activations des modèles IA
- Budget thermique et énergétique pour les systèmes d’inférence IA à la périphérie
Sécurité matérielle et calcul confidentiel sur RISC-V
Protection de la mémoire physique et exécution de confiance
- Protection de la mémoire physique (PMP) et mécanismes de sécurité du marcheur de tables de pages (Page Table walker)
- Architectures Secure Enclave/TEE pour RISC-V : intégration OP-TEE, environnements d’exécution de confiance de classe SEV
- Sécurité de la chaîne de démarrage : racine de confiance, démarrage sécurisé et attestation de lancement mesurée
Accélération cryptographique
- Extensions cryptographiques RISC-V (Zk, Zkr, extensions K) : accélération de SHA, AES, RSA, RSA-PSS et ECC
- Intégration de la cryptographie post-quantique (PQC) pour les processeurs RISC-V de nouvelle génération
- Techniques d’atténuation des attaques par canaux auxiliaires : programmation en temps constant, masquage et générateurs de nombres aléatoires matériels
Architecture personnalisée avancée et conception d’extensions ISA
Architecture spécifique à un domaine et extensions d’instructions personnalisées
- Méthodologie de conception d’extensions ISA : codage, tables de codage, analyse de l’impact ABI et processus de soumission de spécification auprès de RISC-V International
- Conception de fichiers de registres personnalisés avec CBAR (Registres d’adresse de base personnalisés) pour le dispatch d’opérandes
- Pipelinage d’instructions, détection de conflits (hazards) et modifications du pipeline pour les extensions personnalisées
Validation et approbation des modifications d’architecture personnalisées
- Conception de bancs d’essai pour les extensions personnalisées : génération de stimulus dirigés vs aléatoires contraints
- Frameworks de tests de régression et validation basée sur la couverture pour les modifications architecturales
- Tests d’interopérabilité : garantir le fonctionnement des instructions personnalisées dans le cadre des contraintes ABI établies
Applications RISC-V critiques en sécurité et automobiles
Conformité aux normes de sécurité fonctionnelle et automobile
- Conformité à la sécurité fonctionnelle ISO 26262 pour les processeurs RISC-V automobiles
- Classification ASIL-Q et développement de manuels de sécurité pour l’IP silicium RISC-V
- Gestion déterministe des interruptions, paires de cœurs lockstep et protection mémoire pour les systèmes RISC-V critiques en sécurité
Applications industrielles temps réel et de calcul à la périphérie
- Conformité SIL IEC 61508 et planification déterministe sur les plateformes multi-cœur RISC-V
- Développement de passerelles IoT industrielles avec RISC-V : connectivité, analyse à la périphérie et systèmes de mise à jour firmware OTA
Projet de fin de cours : Développement de système RISC-V de bout en bout
Projet du cycle de vie complet
- Spécification d’architecture : conception des extensions ISA et de la configuration du cœur pour un cas d’usage défini
- Implémentation RTL en SystemVerilog avec bancs d’essai UVM et couverture de validation formelle
- Prototypage FPGA, développement du firmware de démarrage et intégration de la pile de pilotes bare-metal
- Personnalisation du BSP Linux et de la chaîne d’outils pour le cœur RISC-V personnalisé
- Déploiement de charges de travail IA : intégration NPU, quantification des modèles et benchmark de performances
- Validation de la sécurité : application de PMP, démarrage sécurisé et benchmark d’accélération cryptographique
- Documentation de l’architecture technique, analyse de la stratégie IP et présentation inter-fonctionnelle en équipe
Pré requis
Aucun.
Nos clients témoignent (3)
J'ai particulièrement apprécié l'approche de la génération d'idées, notamment lors de l'activité consistant à d'abord lister les mauvaises idées avant de rédiger la liste des bonnes. J'ai constaté qu'il était en fait utile de commencer par les mauvaises idées, car cela m'a permis de prendre mon élan pour générer des idées, sans me soucier du fait qu'elles soient bonnes ou mauvaises.
William Boscher - Bank Julius Baer Guernsey
Formation - Design Thinking: Innovation & Creative Problem Solving
Traduction automatique
Les explications et l'interactivité du formateur étaient vraiment excellentes ; même si je n'étais probablement pas assez expérimenté, j'ai beaucoup appris !
Pieter Bruynseels - Spot Buy Center BV
Formation - Design Patterns
Traduction automatique
J'ai aimé la plateforme que nous avons utilisée. Elle était vraiment agréable et facile à utiliser. J'ai particulièrement apprécié la section sur TypeScript, en particulier les parties consacrées aux espaces de noms et aux modules.
Robert - DB Global Technology
Formation - JavaScript - Advanced Programming
Traduction automatique