ISA et assembleur

Dans l'instruction de branchement conditionnel RISC-V « beq a0, a1, label », comment l'adresse de la cible label est-elle représentée ?

  1. AL'adresse cible elle-même (32 bits) est contenue dans l'instruction
  2. BElle est contenue dans l'instruction sous forme de distance à partir de l'adresse de l'instruction de branchement elle-même (PC)
  3. CL'adresse cible doit être placée dans le registre a1
Afficher la réponse et l'explication

Réponse : B. Elle est contenue dans l'instruction sous forme de distance à partir de l'adresse de l'instruction de branchement elle-même (PC)

Les instructions de branchement RISC-V représentent la cible par une distance signée, « combien d'octets à partir de l'adresse de l'instruction courante (PC) ». C'est l'adressage relatif au PC. La cible étant généralement proche, une courte distance suffit et tient dans une instruction de 32 bits. De plus, si l'ensemble du programme est placé à une autre adresse, la distance ne change pas, ce qui permet de l'exécuter sans le modifier.

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

Autres questions sur ISA et assembleur

  1. Quel est l'avantage d'utiliser l'adressage relatif au PC pour les branchements et sauts ?
  2. Quelle affirmation concernant la longueur des instructions de base RISC-V et des instructions x86 est correcte ?
  3. Quel est l'avantage le plus pertinent d'une longueur d'instruction fixe ?
  4. Dans les instructions RISC-V, les champs désignant les registres (rd, rs1, rs2) font chacun 5 bits. Quelle en est la raison ?
  5. L'immédiat de l'instruction RISC-V addi est un entier signé de 12 bits. Quelle plage cet immédiat peut-il représenter ?