AdobeStock_184312429_770-400.jpeg
Accueil » Actualités » Open Source RISC-V ISA offre plus

Open Source RISC-V ISA offre plus



RISC-V peut être implémenté sur des ASIC et des FPGA, mais qu’en est-il des outils de développement logiciel open source ?

Dernièrement, les nouvelles sur l’architecture de jeu d’instructions RISC-V (ISA) gratuite et ouverte ont attiré beaucoup d’attention. L’une des raisons est que RISC-V pourrait devenir un concurrent moins cher mais viable du leader mondial des processeurs Arm, surtout si ce dernier est acquis par le géant du GPU Nvidia.

Même avant l’annonce potentielle d’Arm by Nvidia, la plate-forme RISC-V avait gagné un large public parmi les concepteurs de systèmes sur puce (SoC), en partie grâce à sa plate-forme de développement standardisée et à son écosystème diversifié.

RISC-V est une architecture de traitement, mais pas une implémentation de processeur. Cela supprime le biais en faveur d’une microarchitecture ou d’une technologie silicium particulière. RISC-V est un ISA gratuit et open source basé sur les principes de l’ordinateur à jeu d’instructions réduit (RISC). C’est pourquoi il est indépendant du processeur matériel. RISC-V peut être implémenté dans un ASIC ou un FPGA, et sur n’importe quel nœud de processus.

Ainsi, plutôt que de payer pour un ISA propriétaire, par exemple d’Arm ou d’Intel pour accompagner leurs processeurs respectifs, un développeur peut utiliser l’ISA RISC-V open source comme base pour créer ses propres implémentations de processeur. Ces implémentations peuvent être utilisées pour le développement interne, pour vendre en tant que dispositifs physiques commerciaux (COTS) ou même les concéder sous licence en tant que cœurs de propriété intellectuelle (IP) pouvant être utilisés dans d’autres conceptions de puces.

Un exemple de ce dernier est SiFive, une société de semi-conducteurs sans usine qui produit à la fois des cœurs IP sous licence et du silicium personnalisable basé sur le RISC-V ISA. En outre, SiFive fournit une carte compatible Arduino basée sur RISC-V appelée HiFive1. De nombreuses autres sociétés fournissent des cœurs IP RISC-V, notamment Andes Technology, Codasip, Bluespec et Cortus, entre autres.

Plusieurs sociétés fournissent des implémentations RISC-V soft-core ciblées pour les FPGAS, telles que Microsemi, Rumble Development et ORCA. Les plates-formes basées sur RISC-V apparaissent même à la périphérie. GreenWaves Technologies propose un appareil IoT alimenté par batterie, compatible avec l’IA et pris en charge par RISC-V.

Chaînes d’outils basées sur RISC-V

Il existe plusieurs grands projets de framework de compilateur open source qui fournissent de nombreux outils nécessaires à la chaîne d’outils RISC-V. L’un est le projet GCC (GNU Compiler Collection), qui est une initiative open source fournissant un support de compilateur pour de nombreuses variantes ISA standard RISC-V. GCC offre également une prise en charge des cibles Linux et « Bare-metal » (RTOS et sans système d’exploitation).

Un autre fournisseur est le projet LLVM, une nouvelle initiative de framework de compilateur open source qui fournit également une prise en charge du backend du compilateur et de la bibliothèque pour les variantes ISA standard RISC-V. Alors que le projet LLVM s’est traditionnellement concentré sur la prise en charge du système d’exploitation cible du système d’exploitation Linux, la communauté s’intéresse de plus en plus à l’extension de la prise en charge des périphériques cibles bare-metal embarqués.

Eclipse est un environnement de développement intégré (IDE) open source couramment utilisé pour le développement de logiciels. Eclipse peut être utilisé pour développer presque n’importe quel type de logiciel, mais est souvent utilisé pour les applications Java. Ce sont les compilateurs frontaux proposés par Eclipse qui comptent le plus en ce qui concerne RISC-V. Plusieurs fournisseurs, tels que Microsemi, proposent des environnements de développement gratuits basés sur Eclipse.

Outil La description
Compilateur CCG
GNOU Identifiant GNU
Débogueur GDB
Support linguistique C, C++
Prise en charge du système d’exploitation hôte Fenêtres, Linus
Prise en charge du système d’exploitation cible Bare-metal (RTOS ou sans système d’exploitation)
Support matériel cible SiFive, bouquetin, autres

L’une des plus grandes listes d’outils est peut-être fournie sur RISCV.org. Cette liste contient des simulateurs, des débogueurs, des compilateurs et des bibliothèques C, des chargeurs et des moniteurs de démarrage, des noyaux et des systèmes d’exploitation (OS) et des environnements de développement intégrés (IDE).

En plus des suites d’outils open source, un vaste écosystème a évolué pour prendre en charge le développement RISC-V. Par exemple, la Fondation RISC-V compte désormais plus de 200 entreprises membres. En outre, il existe de nombreux développeurs d’implémentations RISC-V et d’outils RISC-V dans le monde.

L’ajout de processeurs aux structures FPGA n’a rien de nouveau. L’une des raisons les plus convaincantes est que les FPGA offrent aux concepteurs le choix entre une logique séquentielle – telle qu’utilisée par la plupart des processeurs – ou des architectures FPGA à logique parallèle. Les processeurs traditionnels exécutent des programmes de traitement séquentiel familiers. Inversement, les matrices programmables telles que les FPGA peuvent implémenter à peu près n’importe quelle fonction matérielle nécessaire pour augmenter la capacité de traitement séquentiel.

« La structure programmable est intrinsèquement parallèle par nature puisque plusieurs blocs matériels peuvent fonctionner simultanément, soit en parallèle où la logique est dupliquée, soit de manière pipeline », explique Tim Morin, Technical Fellow, Microchip Technology, Inc. « L’ISA ouvert de RISC-V Les processeurs basés sur les processeurs offrent aux utilisateurs la liberté d’innover d’une manière qu’ils ne pouvaient pas auparavant, par exemple en choisissant une adresse IP de processeur standard auprès des fournisseurs existants.

Adobe Stock, FPGAAdobeStock_382091444_700.jpeg

Le SoC RISC-V multicœur peut être implémenté dans les ASIC et les FPGA.

Publications similaires