ISA et assembleur

Quelle description de la manière dont les CPU x86 hautes performances actuels exécutent en interne les instructions complexes est correcte ?

  1. AToutes les instructions sont exécutées une à une par un émulateur logiciel
  2. BLes instructions sont décodées et décomposées en micro-opérations simples de type RISC, exécutées en pipeline
  3. CLes instructions complexes ne pouvant être exécutées, l'OS les arrête comme des erreurs
Afficher la réponse et l'explication

Réponse : B. Les instructions sont décodées et décomposées en micro-opérations simples de type RISC, exécutées en pipeline

Les CPU x86 décomposent les instructions complexes et de longueur variable, dans le décodeur en amont, en opérations simples appelées micro-opérations (µop), puis les exécutent dans le désordre (out-of-order) en aval. Certains CPU disposent d'un cache de µop qui conserve les µop déjà décomposées pour éviter de les décoder à nouveau. Ils exploitent ainsi des techniques d'exécution rapide semblables à celles des RISC tout en préservant la compatibilité avec les anciens logiciels.

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

Autres questions sur ISA et assembleur

  1. Quelles instructions l'extension M de RISC-V ajoute-t-elle au jeu d'instructions entières de base ?
  2. Quel est le principal objectif de l'extension C (instructions compressées) de RISC-V ?
  3. 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 ?
  4. 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 ?
  5. 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 ?