L'unité arithmétique et logique (ALU) et l'unité de contrôle (CU) sont deux composants fondamentaux de l'unité centrale (CPU) d'un microprocesseur. Ils travaillent ensemble pour exécuter des instructions extraites de la mémoire. Considérez-les comme le centre de calcul et de commande du cerveau, respectivement.
1. L'unité arithmétique et logique (ALU) :la calculatrice
Le travail de l'ALU consiste à effectuer des opérations arithmétiques et logiques sur les données. Cela comprend :
* Opérations arithmétiques : Addition, soustraction, multiplication, division, incrémentation, décrémentation.
* Opérations logiques : AND, OR, XOR, NOT, comparaisons (supérieur à, inférieur à, égal à).
* Opérations au niveau du bit : Décalage des bits vers la gauche ou la droite (utile pour la multiplication/division par puissances de 2), masquage des bits.
Comment ça marche :
1. Saisie des données : L'ALU reçoit des données (opérandes) à partir de registres – de petits emplacements de mémoire à haute vitesse dans le CPU.
2. Exécution de l'opération : Sur la base de l'instruction reçue de la CU, l'ALU effectue l'opération spécifiée sur les données d'entrée.
3. Résultat : Le résultat de l'opération est stocké dans un registre ou réécrit en mémoire. L'ALU définit également souvent des indicateurs (bits d'état) indiquant des éléments tels qu'un débordement (résultat trop grand pour le registre), un résultat nul ou un report (un chiffre reporté lors de l'addition). Ces indicateurs sont utilisés par la CU pour prendre des décisions concernant les instructions ultérieures.
2. L'unité de contrôle (CU) :le patron
Le CU est le « cerveau » du CPU, dirigeant le flux de données et d’opérations. Ses principales responsabilités sont :
1. Récupération des instructions : Le CU récupère les instructions de la mémoire, une à la fois, en fonction du compteur de programme (PC), qui garde une trace de l'adresse de l'instruction suivante.
2. Décodage des instructions : Le CU décode l'instruction récupérée pour déterminer quelle opération doit être effectuée et quelles données sont impliquées. Ce décodage implique la compréhension de l'opcode (code d'opération) et des opérandes (données).
3. Récupération d'opérande : La CU récupère les opérandes nécessaires dans les registres ou la mémoire.
4. Fonctionnement ALU : La CU envoie les opérandes et le code d'opération à l'ALU. Il attend ensuite que l'ALU termine son opération.
5. Stockage des résultats : Une fois l'ALU terminée, la CU redirige le stockage du résultat dans un registre ou un emplacement mémoire.
6. Mise à jour du compteur de programme : La CU met à jour le compteur de programme pour pointer vers l'instruction suivante dans la séquence de programme.
7. Branchements et sauts : Sur la base des indicateurs définis par l'ALU (ou d'autres conditions), la CU peut modifier le déroulement du programme. Cela peut impliquer de sauter vers un emplacement différent en mémoire ou d'exécuter conditionnellement des blocs de code (par exemple, des instructions « if ).
8. Contrôle des entrées/sorties (E/S) : La CU gère la communication avec les périphériques externes (tels que les claviers, les moniteurs et les disques durs).
Interaction entre ALU et CU :
L'ALU et le CU fonctionnent de manière étroitement couplée :
* La CU orchestre toutes les opérations. Il indique à l'ALU quoi faire et où obtenir les données.
* L'ALU effectue les calculs et définit les indicateurs, fournissant ainsi un retour d'information à la CU.
* La CU utilise ces commentaires pour prendre des décisions sur les prochaines étapes de l'exécution du programme.
Essentiellement, l'ALU est responsable du « quoi » (effectuer des calculs), tandis que la CU est responsable du « comment » (contrôler le flux de données et d'opérations). Ils sont interdépendants et essentiels au fonctionnement de tout microprocesseur.
|