Exercice 1 — Concepts Fondamentaux · Cours Interactif
↑ Cliquez sur chaque bloc du schéma pour afficher sa description
Rôle : Stocke l'adresse mémoire de la prochaine instruction à exécuter.
Après chaque fetch, le PC s'incrémente automatiquement (PC ← PC + taille_instruction) pour pointer vers l'instruction suivante.
En cas de CALL ou de saut (JUMP), le PC est mis à jour avec la nouvelle adresse cible.
Rôle : Stocke temporairement l'instruction machine en cours de traitement.
Une fois l'instruction récupérée depuis la mémoire (fetch), elle est placée dans le RI pour être décodée par l'UC.
Contenu typique : code opération (opcode) + éventuels opérandes.
Rôle : Contient des bits d'indicateurs (flags) reflétant l'état du processeur après chaque opération de l'UAL.
Principaux flags :
Z (Zero) : résultat = 0 | N (Négatif) : résultat < 0 | C (Carry) : retenue | V (oVerflow) : débordement
Utilisé par les instructions conditionnelles (JZ, JNZ, JC…)
Rôle : Registre principal de l'UT : stocke les opérandes et les résultats des opérations arithmétiques et logiques.
C'est le registre de travail central. La plupart des instructions opèrent sur ou avec l'accumulateur.
Exemple : ADD A, B → A ← A + B (résultat stocké dans l'accumulateur)
Rôle : Zone mémoire LIFO (Last In First Out) qui stocke temporairement l'adresse de retour lors d'un appel de sous-programme (CALL/RET).
Également utilisée pour sauvegarder les registres lors d'interruptions.
Le Stack Pointer (SP) pointe toujours vers le sommet de la pile.
Rôle : Exécute les opérations arithmétiques (+, −, ×, ÷, comparaison) et les opérations logiques (AND, OR, XOR, NOT, décalages).
Elle reçoit ses opérandes depuis les registres (ACC, etc.) et renvoie le résultat dans l'accumulateur en mettant à jour les flags du registre d'état.
C'est le composant qui effectue réellement le "calcul".
↑ Survolez chaque étape pour voir les détails
ADD A,B à l'adresse indiquée par PC.A ← A + B. Le résultat est stocké dans A. Les flags Z, N, C sont mis à jour.