Fonctionnement des instructions
Fait partie de la section Fondamentaux du Journey Assembly de Coddy — leçon 4 sur 45.
Vous savez que le processeur exécute les instructions une par une. Mais comment le processeur sait-il quelle instruction exécuter ensuite ? Où les instructions sont-elles stockées ? Et à quoi ressemble réellement une instruction ?
Les instructions sont des nombres.
C'est une vérité fondamentale concernant les ordinateurs. Tout est un nombre. Les données avec lesquelles vous travaillez (comme le nombre 42) sont des nombres. L'adresse où résident les données (comme 1000) est un nombre. Et les instructions elles-mêmes (comme mov, add, cmp) sont également des nombres.
Lorsque vous écrivez du code assembleur comme mov rax, 5, l'assembleur convertit ce texte lisible par l'homme en un nombre que le processeur comprend. Ce nombre est appelé un code d'instruction.
Où sont stockées les instructions ?
Les instructions sont stockées en mémoire, tout comme les données. Il n'y a pas d'emplacement spécial pour les instructions. La mémoire contient les deux :
- Données (nombres, caractères, tableaux)
- Instructions (le programme lui-même)
Le CPU ne fait pas la différence. Il lit simplement ce qui se trouve à l'adresse mémoire pointée par le Compteur de Programme (Program Counter). Vous avez brièvement découvert le PC dans la Leçon 0.1. Il est maintenant temps de comprendre exactement comment il fonctionne.
Le Compteur de programme (également appelé Pointeur d'instruction) est un registre spécial à l'intérieur du processeur. Son seul rôle est de contenir l'adresse mémoire de la prochaine instruction à exécuter.
Le cycle Fetch-Execute :
Le processeur répète ces trois étapes indéfiniment :
| Étape | Ce qui se passe |
|---|---|
| 1. FETCH | Lire l'instruction à l'adresse indiquée par le PC |
| 2. EXECUTE | Exécuter cette instruction |
| 3. ADVANCE | Passer le PC à l'instruction suivante |
Exemple simple :
Si PC = 1000, le CPU :
- Récupère l'instruction à l'adresse 1000
- L'exécute
- Déplace PC vers l'adresse suivante (1000 + taille de l'instruction)
Ensuite, cela se répète avec la nouvelle valeur de PC.
À quoi ressemble une instruction :
Chaque instruction comporte deux parties :
| Partie | Ce qu'elle fait | Exemple |
|---|---|---|
| Opcode | Ce qu'il faut FAIRE | mov, add, cmp |
| Opérandes | SUR QUOI le faire | rax, 5, [result] |
Certaines instructions ont un seul opérande (comme inc rax pour ajouter 1). Certaines en ont deux (comme mov rax, 5). Certaines en ont trois (comme add rax, rbx, rcx dans certaines architectures).
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
1La Machine
Qu'est-ce qu'un CPULa mémoireRegistres vs MémoireFonctionnement des instructionsLe modèle à deux fichiersL'architecture x86-64