Registres
Registres : les mains du CPU
D'abord, qu'est-ce qu'un bit ? Un bit est un seul 0 ou 1, la plus petite unité d'information qu'un ordinateur peut stocker. Mettez-en 32 ensemble et vous obtenez un nombre de 32 bits, qui peut compter de 0 jusqu'à environ 4 milliards. Chaque registre et chaque emplacement mémoire en RISC-V contient un nombre de 32 bits.
Un registre est un petit emplacement de stockage à l'intérieur du processeur qui contient un nombre de 32 bits. RISC-V fournit 32 registres. Comme ils se trouvent dans le cœur du processeur, les registres sont bien plus rapides à utiliser que la mémoire principale, de plusieurs ordres de grandeur. Quelques-uns d'entre eux couvriront la majeure partie de ce que vous écrivez : t0 à t2 (valeurs temporaires), a0 à a2 (arguments et résultats), zero (toujours 0), sp (pointeur de pile) et ra (adresse de retour).
# Affichez le nombre 42, puis quittez.# a7 choisit le service et a0 porte la valeur.li a7, 1 # service 1 = imprimer un entierli a0, 42 # la valeur à imprimerecall # le faireli a7, 10 # service 10 = sortieecall
signifie load immediate (charger immédiatement), et il place une constante dans un registre. sélectionne le service 1, qui affiche un entier. place le nombre à afficher dans a0. passe le contrôle au système, qui affiche la valeur dans a0. Ensuite, sélectionne le service de sortie, et termine le programme. Appuyez sur Run, puis modifiez 42 et exécutez à nouveau le programme.
Mettre a7 à 1 fait que l'ecall suivant affiche un nombre.
pc, abréviation de program counter (compteur de programme), contient l'adresse de la ligne actuellement surlignée. Ce nombre est tout ce que le processeur sait de sa position dans le programme : il récupère l'instruction à l'adresse indiquée dans le compteur de programme, l'exécute, puis ajoute quatre au compteur de programme pour atteindre l'instruction suivante. Un registre reçoit sa valeur lorsque le de sa ligne s'exécute, et la sortie n'apparaît que lorsque le premier s'exécute.