TP Soclib Riscv
TP Soclib Riscv
TP Soclib Riscv
TP : Mise en œuvre
du simulateur SoCLib et
du compilateur GCC pour RISC-V
1 – Environnement de projet
Important : Dans chaque terminal sur lequel vous allez travailler, exécuter la commande
setenv_soclib une fois à l’ouverture du terminal. Cette commande mettra à jour les variables
d’environnement nécessaires au bon déroulement de ce TP.
2 – Fonctions de bibliothèque
4 – Appel du simulateur
int factoriel_recursif(int n) ;
volatile int n = 10 ;
int main()
{
putd(factoriel_recursif(n)) ;
return 0 ;
}
int factoriel_recursif(int n)
{
if (n < 2)
return 1;
else
return (n * fact_rec(n – 1));
}
• Modifier le fichier Makefile pour mettre l’option -O3 pour gcc. Observer le code
assembleur produit. Qu’y t-il de remarquable ?
• Utiliser le simulateur pour vérifier le bon fonctionnement.
Dans le fichier compiler.mk, changer la ligne CPUFLAGS pour prendre la ligne commentée
au-dessus. On valide alors l’utilisation des instructions compressées 16 bits.
• Observer le code généré avec les instructions 16 bits et simuler le programme.