ISA et assembleur

Quel est le principal objectif de l'extension C (instructions compressées) de RISC-V ?

  1. AAjouter des instructions de compression de données pour réduire l'utilisation de la mémoire
  2. BPermettre l'exécution directe de programmes en langage C
  3. CReprésenter les instructions fréquentes sur 16 bits pour réduire la taille des programmes
Afficher la réponse et l'explication

Réponse : C. Représenter les instructions fréquentes sur 16 bits pour réduire la taille des programmes

L'extension C représente les instructions fréquentes par des instructions de 16 bits limitées à des formes courtes, par exemple « addi sp, sp, -16 » ou lw et sw à petit déplacement. Elles peuvent être mêlées aux instructions de 32 bits, et la taille du code diminue d'environ 25 à 30 %. Un programme plus petit tient plus facilement dans une mémoire flash limitée et occupe moins de place dans le cache d'instructions, ce qui profite aussi bien à l'embarqué qu'aux CPU hautes performances.

S'entraîner sur ce thème Retour au thème

Autres questions sur ISA et assembleur

  1. En compilant « a * b » (multiplication de deux int) en C pour un CPU RV32I sans extension M, que se passe-t-il généralement ?
  2. Quelle affirmation concernant le delay slot de branchement des anciens MIPS notamment (règle selon laquelle l'instruction suivant immédiatement un branchement est exécutée que le branchement soit pris ou non) est correcte ?
  3. Lors de l'exécution d'une instruction lw en RV64I (64 bits), comment la valeur de 32 bits lue est-elle placée dans le registre de 64 bits ?
  4. Quelle description de l'ABI (interface binaire d'application) est correcte ?
  5. En RISC-V, quelle instruction réalise généralement un appel par pointeur de fonction en C, « (*fp)(x) » ?