Spike
Écosystème RISC-VSpike est le simulateur de référence pour le jeu d'instructions RISC-V, maintenu par RISC-V International.
Aperçu
Spike est le simulateur de référence pour le jeu d'instructions RISC-V. Un simulateur est un programme qui imite un processeur. D'autres implémentations comparent leur comportement à celui d'un simulateur de référence, ainsi une équipe qui conçoit une nouvelle puce RISC-V exécute le même programme sur sa conception et sur Spike et vérifie que les deux se terminent avec les mêmes registres et la même mémoire.
Spike modélise les harts, abréviation de threads matériels. Un hart est une unité à l'intérieur d'un processeur qui exécute son propre flux d'instructions. Spike couvre les jeux d'instructions de base 32 bits et 64 bits ainsi que les extensions standard, y compris les vecteurs. Il couvre également les modes de privilège machine, superviseur et utilisateur sur lesquels reposent les systèmes d'exploitation.
Historique
Spike a été écrit à l'UC Berkeley, où le jeu d'instructions RISC-V a été conçu à partir de 2010, et son dépôt public date de 2011. Le nom vient du golden spike enfoncé en 1869 pour marquer l'achèvement du premier chemin de fer traversant les États-Unis.
RISC-V International maintient désormais Spike dans son organisation logicielle sur GitHub. Les nouvelles extensions atteignent généralement Spike tôt, souvent alors que leurs spécifications ne sont encore que des brouillons, afin que les développeurs de matériel et de compilateurs disposent d'un modèle sur lequel tester.
Où il est utilisé
Spike est un outil en ligne de commande pour les ingénieurs. Les équipes matérielles l'utilisent pour vérifier leurs conceptions, et les développeurs de compilateurs l'utilisent pour tester le code généré. Il exécute des programmes C ordinaires compilés pour RISC-V, avec l'aide du proxy kernel, un petit programme qui transmet les appels système du programme simulé à l'ordinateur hôte.
