ISA et assembleur

Quel est l'avantage le plus pertinent d'une longueur d'instruction fixe ?

  1. ALes limites des instructions sont immédiatement connues, ce qui facilite le décodage simultané de plusieurs instructions
  2. BToutes les instructions étant plus courtes qu'en longueur variable, le programme est toujours plus petit
  3. CLe nombre de types d'instructions peut être augmenté sans limite
Afficher la réponse et l'explication

Réponse : A. Les limites des instructions sont immédiatement connues, ce qui facilite le décodage simultané de plusieurs instructions

En longueur fixe, la n-ième instruction commence nécessairement à l'octet 4n ; on peut donc extraire plusieurs instructions à la fois et les décoder en parallèle. C'est particulièrement avantageux pour les CPU superscalaires qui émettent plusieurs instructions par cycle. En revanche, les instructions fréquentes ne pouvant être représentées de façon courte, la taille du code tend à dépasser celle d'un jeu à longueur variable. L'extension C de RISC-V compense cette faiblesse en ajoutant des instructions de 16 bits.

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

Autres questions sur ISA et assembleur

  1. Dans les instructions RISC-V, les champs désignant les registres (rd, rs1, rs2) font chacun 5 bits. Quelle en est la raison ?
  2. 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 ?
  3. En RISC-V, quelle est la méthode courante pour charger dans un registre une constante de 32 bits qui ne tient pas dans un immédiat de 12 bits (par exemple 0x12345678) ?
  4. Pour construire la constante 0x12345FFF en RISC-V avec les deux instructions lui et addi, quelle combinaison est correcte ?
  5. Quel est le fonctionnement correct de l'instruction RISC-V auipc (add upper immediate to PC) ?