Introduction à RISC-V

Qu’est-ce que RISC-V ?

  • Architecture RISC (Reduced Instruction Set Computer) : Jeu d’instructions simplifié pour une meilleure efficacité.
  • Open-source et libre de droits : Contrairement à ARM et x86, RISC-V peut être utilisé sans licence propriétaire.
  • Modulaire et extensible : Possibilité d’ajouter des extensions personnalisées.

Origine

  • Développé à l’Université de Californie, Berkeley (2010).
  • Géré par la RISC-V International Foundation (standardisation).

Pourquoi RISC-V est important ?

✅ Pas de royalties → Idéal pour les startups et l’innovation.
✅ Flexibilité → Adaptable aux besoins (IoT, IA, supercalculateurs).
✅ Écosystème en croissance → Soutenu par Google, NVIDIA, Qualcomm, Alibaba, etc.
❌ Moins mature qu’ARM/x86 → Manque encore de logiciels et outils optimisés.

Architecture de base

Jeu d’instructions (ISA)

  • Base entière (I) : Opérations arithmétiques, sauts, accès mémoire.
  • Extensions standards :
    • M (Multiplication/division)
    • A (Atomiques)
    • F/D (Flottant simple/double précision)
    • C (Compression d’instructions)

Exemple : RV32IMAC = 32 bits + extensions M, A, C.

Registres

  • 32 registres entiers (x0-x31)
    • x0 : Toujours égal à 0 (registre « zero »).
    • x1 (ra) : Return Address (adresse de retour).
    • x2 (sp) : Stack Pointer.
    • x10-x17 (a0-a7) : Arguments de fonctions.
  • PC (Program Counter) : Pointeur d’instruction.

Exemple de code assembleur RISC-V

addi x1, x0, 42    # x1 = 0 + 42
add x2, x1, x1     # x2 = x1 + x1
lw x3, 0(x2)       # Charge en x3 la valeur à l'adresse mémoire [x2 + 0]
jal ra, fonction   # Saut vers une fonction (ra = adresse de retour)

Instructions courantes

InstructionDescription
addi rd, rs1, immAddition avec immédiat
lw rd, offset(rs1)Chargement mot (32 bits)
sw rs2, offset(rs1)Stockage mot
jal rd, labelSaut et lien (call)
beq rs1, rs2, labelBranchement si égal

RISC-V vs ARM vs x86

CritèreRISC-VARMx86
LicenceOpen-sourcePayante (ARM Ltd.)Propriétaire (Intel/AMD)
FlexibilitéExtensions libresModulaire (Cortex)Peu flexible
ÉcosystèmeEn développementTrès matureDominant (PC/serveurs)
PerformancesVariable (dépend des implémentations)Optimisé mobileOptimisé haute perf

Implémentations populaires

  • Kendryte K210 : Pour l’IoT et l’IA embarquée.
  • SiFive Freedom : Cores RISC-V pour applications généralistes.
  • Alibaba T-Head : Processeurs pour serveurs cloud.
  • Raspberry Pi-like : Cartes comme HiFive Unleashed.

Conclusion

RISC-V est une alternative libre et puissante face à ARM et x86, idéale pour l’embarqué, l’IoT et les architectures personnalisées. Son adoption croissante pourrait changer l’industrie des semi-conducteurs !