(code d`operation : op-code).
Transcription
(code d`operation : op-code).
L'unité de contrôle Traitement des instructions d'un programme : • Sélection • Interprétation • Exécution Modules travaillant à des vitesses différentes (CPU, unités E/S, UAL, mémoire …) besoin de synchronisation (Horloge !!!) Différents éléments : • Registre d'instruction copie de l'instruction courante Eléments passifs • Compteur Programme : PC adresse de l'instruction suivante à exécuter • Décodeur de fonction (interprétation) Eléments • Horloge (synchronisation) actifs • Constructeur de commandes (opérations élémentaires) Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 6 D. Bertrand 1 Le registre d'instruction L'instruction est représentée en binaire (Von Neuman) • Partie Fonctionnelle (Code d'Opération : Op-code) Code binaire pour une classe de jeu d'instructions du processeur Complete Instruction Set Computer : CISC; (Ordinateur à jeu complet d'instructions) Reduced Instruction Set Computer : RISC (Ordinateur à jeu réduit d'instructions) Exemple (MC68020 processeur CISC : Op-code de 4 bits) : Instruction Mnémonique Code Addition ADD 11012 ET logique AND 11002 Test d'un bit BTST 01102 Comparaison CMP 10112 Des sous classes sont définies par des bits de modification Exemple : type d'arithmétique (entière ou réelle) type d'adressage (direct, indirect, implicite, …) Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 6 D. Bertrand 2 Le registre d'instruction Op-code Opérande 1 Opérande 2 Résultat inst. suivante n bits • Partie adresse o Opérandes de l'instruction : [R] [O2] op [O1] o Adresse instruction suivante : [PC] N.I. o Certaines adresses peuvent être absentes : Adresse instruction suivante en l'absence de rupture de séquence (ex.: instruction arithmétique ou logique) Adresse résultat ≡ adresse d'un des opérandes : [R] [R] op [O1] o Processeur CISC : longueur d'instruction variable o Processeur RISC : longueur d'instruction constante (32 bits pour le Pentium et le PowerPC) Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 6 D. Bertrand 3 Le Compteur de Programme (PC) Registre renfermant l'adresse de l'instruction suivante à exécuter. Pour la plupart des processeurs actuels : longueur de 32 bits (espace adressable de 4 Toctets) Deux possibilités : • Incrémentation de l'ancienne adresse de la longueur de l'instruction en cours (mise à jour implicite) • Transfert de l'adresse stockée dans la position dédicacée de l'instruction (mise à jour directe) Remarques : • Lors d'une instruction de branchement conditionnel le PC doit être mis à jour en fonction du résultat de l'opération (après exécution) • Pour démarrer une tâche, l'adresse de sa première instruction doit être chargée dans le PC Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 6 D. Bertrand 4 Le décodeur de fonction Circuit combinatoire (aiguillage généralisé) : • sélection d'une instruction en fonction de son code • détermination de l'adresse de l'instruction suivante à exécuter Exemple (pour un code d'instruction à 4 bits) Code d'instruction ADD : Code 11012 décodeur de fonction 15 0 Instruction sélectionnée NB : Sélection réalisée sur le jeu d'instructions du processeur plus compliqué pour un processeur CISC Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 6 D. Bertrand 5 La base de temps et le séquenceur Oscillateur basé sur un cristal (SiO2) : effet piézoélectrique Vcc I t0 compteur t1 t2 0 5V Multiples de la fréquence de base obtenus au départ d'un compteur : t2 t1 t0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 t0 t1 t2 Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 6 D. Bertrand 6 La construction de commandes • Fractionnement d'une instruction en commandes élémentaires • Les commandes élémentaires déclenchent les opérations élémentaires Décodeur de fonction base de temps (synchronisation) Constructeur de commandes NB. La même opération élémentaire peut apparaître plusieurs fois La durée de chaque opération élémentaire peut varier Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 6 D. Bertrand 7 Exemple : L'addition adresse t0 Mémoire t1 Unité de contrôle t3 Accumulateur Registre d'instruction Additionneur t2 t7 Micro programmation : Constructeur de commandes Opérations élémentaires t5 t10 t3 t9 UAL Compteur programme Décodeur de fonction t6 t4 données t8 • Code d'assemblage de bas niveau • Emulation des instructions du processeur ne figurant pas dans le jeu d'instructions (RISC !) Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 6 D. Bertrand 8