Fonctionnement du processeur : exécution des instructions • Rappels : structure du processeur et interfaçage avec la mémoire • Exécution des instructions machines. Notion de séquenceur. Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 1 Fonctionnement du processeur : exécution des instructions Ä Rappels : structure du processeur et interfaçage avec la mémoire • Exécution des instructions machines. Notion de séquenceur. Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 2 1 Processeur (Unité Centrale) Y1 Z P Unité Arithmétique et Logique Opération Y2 S W Bus Interne Données Registres Commandes horloge Unité de Commande Séquenceur Décodeur RI CO RAD RDO Commandes Lecture/Ecriture Adresses Données Bus Processeur /Mémoire Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 3 Processeur (Unité Centrale) horloge Unité de Commande Séquenceur Décodeur RI CO RAD RDO Commandes Lecture/Ecriture Adresses Données Bus Processeur /Mémoire L'unité de commande est chargée de la reconnaissance des instructions et de leur exécution par le processeur au rythme de l'horloge Les registres : - RI (registre instruction) : contient l'instruction en cours d'exécution - CO (compteur ordinal ) : contient l'adresse en MC de la prochaine instruction - RAD (registre adresse) et RDO (registre de données) : registres d'interfaçage avec la mémoire centrale Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 4 2 Processeur (Unité Centrale) R7 R0 RSP RB RIX Registres : - les registres généraux R0 à R7 - le registre de pile RSP - les registres d'adressage : RB (regsitre de base) et RIX (registre d'index) Joëlle Delacroix Architecture des machines et systèmes Informatiques A0, 2001/2002 5 Processeur (Unité Centrale) Y1 Z P Unité Arithmétique et Logique Opération Y2 S W L'unité Arithmétique et Logique (UAL) constitue l'unité d'exécution du processeur. Elle est composée : - de l'ensemble des circuits permettant de réaliser les opérations arithmétiques (addition, multiplication, division,…) et les opérations logiques (complément à 2, inverse, OU, ET, …) sur les opérandes Y1 et Y2 - d'un registre d'état PSW qui contient des indicateurs positionnés par le résultat Z des opérations effectuées : - O : positionné à 1 si Overflow , 0 sinon - Z : positionné à 1 si résultat opération nul, 0 sinon S O C Z Architecture des machines et systèmes Informatiques A0, 2001/2002 - C : positionné à 1 si carry, 0 sinon - S : positionné à 0 si résultat opération positif, 1 sinon Joëlle Delacroix 6 3 L'Unité de Commande horloge Unité de Commande Séquenceur Décodeur RI CO RAD RDO Commandes Lecture/Ecriture Adresses Données Bus Processeur /Mémoire L'unité de commande est chargée de la reconnaissance des instructions et de leur exécution par le processeur au rythme de l'horloge Ce travail s'effectue pour chaque instruction machine en trois phases : - Fetch : charger une instruction - Décodage : reconnaître l'instruction ² - Exécution : réaliser l'instruction Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 7 Registres Ouvrir / Fermer les registres Micro commandes L' unité de commande : Horloge Séquenceur Compteur Ordinal Décodeur Registre Instruction Bus •Charger une instruction : fetch •Décoder l'instruction : décodage •Exécute l'instruction: exécution Micro commandes Activer une opération sur les opérandes UAL Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 8 4 Les étapes d’exécution d’une instruction (Chargement/Décodage/Exécution) Début Charger la prochaine instruction à exécuter depuis la mémoire dans le registre instruction, le Compteur Ordinal pour qu’il pointe sur la prochaine instruction à exécuter, Modifier Décoder l’instruction qui vient d’être chargée, Charger les données éventuelles dans les registres internes, l’instruction, Exécuter Fetch Décodage Exécution Fin Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 9 Liaison processeur - mémoire centrale Y1 Z Opération P Y2 S W horloge S E L E C T I O N Séquenceur Décodeur RI CO RAD RDO Commandes Lecture/Ecriture Adresses Données Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 10 5 Liaison processeur - mémoire centrale • Opération de lecture • Adresse du mot à lire --> RAD • Activer la commande de lecture ð le contenu de RAD est déposé sur le bus d'adresses et présenté à la mémoire • Le mot lu est déposé sur le bus de données puis copié dans RDO Architecture des machines et systèmes Informatiques A0, 2001/2002 • Opération d'écriture • Adresse où écrire --> RAD • Mot à écrire --> RDO • Activer la commande d'écriture ð le contenu de RAD est déposé sur le bus d'adresses et le contenu de RDO sur le bus de données. Ils sont présentés à la mémoire Joëlle Delacroix 11 Fonctionnement du processeur : exécution des instructions • Rappels : structure du processeur et interfaçage avec la mémoire Ä Exécution des instructions machines. Notion de séquenceur. Ä Principe de l'exécution d'une instruction Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 12 6 Chargement/Décodage/Exécution Y Z 10 Load D R B PSW Add D R A 12 Store D R C 11 3 R 13 A 14 B 15 Horloge Séquenceur Décodeur CO 5 3 16 RI C 17 RDO RAD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 13 Tops horloge Les étapes d’exécution d’une instruction (Chargement/Décodage/Exécution) Début Charger Modifier la prochaine instruction à exécuter depuis la mémoire dans le registre instruction, le Compteur Ordinal pour qu’il pointe sur la prochaine instruction à exécuter, Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix Fetch 14 7 Chargement/Décodage/Exécution (CO) = (CO) + 1 1 Add Z 10 Load D R B PSW Add D R A 12 Store D R C 11 3 R CO --> RAD lecture Horloge CO Décodeur 13 A 14 B 15 5 3 16 RI C 17 RDO RAD Lecture 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 15 Tops horloge Chargement/Décodage/Exécution (CO) = (CO) + 1 1 Z 10 Load D R B PSW R Add D R A 12 Store D R C 11 3 13 (CO)=(CO)+1 Horloge CO Décodeur A 14 B 15 3 16 RI RDO 5 C 17 RAD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 16 Tops horloge 8 Chargement/Décodage/Exécution Y Z 10 Load D R B PSW Add D R A 12 Store D R C 11 3 R 13 Fin de lecture RDO --> RI Horloge CO Décodeur A 14 B 15 Add D R A 16 RDO C 17 5 3 RAD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 17 Tops horloge Les étapes d’exécution d’une instruction (Chargement/Décodage/Exécution) Début Charger Modifier la prochaine instruction à exécuter depuis la mémoire dans le registre instruction, le Compteur Ordinal pour qu’il pointe sur la prochaine instruction à exécuter, Fetch CO --> RAD Lecture RDO --> RI CO = CO + 1 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 18 9 Les étapes d’exécution d’une instruction (Chargement/Décodage/Exécution) Début Décoder l’instruction qui vient d’être chargée, Charger les données éventuelles dans les registres Exécution internes, l’instruction, Exécuter Décodage Fin Add D R A : l'adressage est un mode direct. Un premier opérande est le contenu de R. le deuxième opérande est un mot mémoire d'adresse A : ramener cet opérande au niveau du CPU nécessite une opération de lecture en MC à l'adresse A. Joëlle Delacroix Architecture des machines et systèmes Informatiques A0, 2001/2002 19 Chargement/Décodage/Exécution Y Z 10 Load D R B PSW R Add D R A 12 Store D R C 11 3 13 A --> RAD lecture Horloge CO Décodeur A 14 B 15 Add D R A 16 RDO C 17 5 3 A Lecture 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 20 Tops horloge 10 Chargement/Décodage/Exécution 5 Z 10 Load D R B PSW Add D R A 12 Store D R C 11 3 R 13 5 --> RDO Horloge CO Décodeur A 14 B 15 Add D R A 16 RDO C 17 5 3 RAD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 21 Tops horloge Les étapes d’exécution d’une instruction (Chargement/Décodage/Exécution) Début Décoder l’instruction qui vient d’être chargée, Charger les données éventuelles dans les registres Exécution internes, l’instruction, Exécuter Décodage Fin Add D R A : l'opération est une addition : il faut amner les deux opérandes à l'UAL et activer le circuit d'addition. Puis stocker le résultat dans R. Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 22 11 Chargement/Décodage/Exécution 5 Add 8 10 Load D R B 3 PSW R Add D R A 12 Store D R C 11 3 13 Horloge CO Décodeur Add D R A RDO --> Y R --> ual ADD la sorite de l'ual devient égale à 8 A 14 B 15 5 3 16 C 17 RDO RAD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 23 Tops horloge Chargement/Décodage/Exécution 5 8 10 Load D R B PSW R Add D R A 12 Store D R C 11 8 13 Sortie Ual --> R Horloge CO Décodeur A 14 B 15 Add D R A 16 RDO C 17 5 3 RAD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 24 Tops horloge 12 Chargement/Décodage/Exécution Y Z 10 Load D R B PSW R Add D R A 12 Store D R C 11 8 13 A 14 B 15 Horloge Séquenceur Décodeur CO 5 3 16 RI C 17 RDO RAD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 25 Tops horloge Fonctionnement du processeur : exécution des instructions • Rappels : structure du processeur et interfaçage avec la mémoire Ä Exécution des instructions machines. Notion de séquenceur. Ä Principe de l'exécution d'une instruction ÄLes micro-commandes Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 26 13 Registre (principe de fonctionnement) Barrière d’entrée Signal d’entrée Bit Bus Registre Signal de sortie Barrière de sortie Joëlle Delacroix Architecture des machines et systèmes Informatiques A0, 2001/2002 27 Exécution : Registre (principe de fonctionnement) Barrière d’entrée Signal d’entrée Horloge RIen : RIsor : Signal d’entrée Séquenceur du registre RI Signal de sortie du registre RI Décodeur Registre Signal de sortie Bus Barrière de sortie R1en R1 R1sor (R2) R2en R1sor,R2en R2 R2sor (R1) Bus Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 28 14 UAL (principe de fonctionnement) Retenue RazY Yen Zen + - Zsor Y Bus données 1er Opérande Selection Z * Résultat / 2eme Opérande Bus commande Registre d’état (PSW) Joëlle Delacroix Architecture des machines et systèmes Informatiques A0, 2001/2002 29 (Adresse)RIsor, RADen, Lect, AttenteMémoire Y Z 10 Load D R B PSW R Add D R A 12 Store D R C 11 3 13 A --> RAD lecture Horloge CO Décodeur A 14 B 15 Add D R A 16 RDO C 17 5 3 A Lecture 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 30 Tops horloge 15 Add D R A RazY Ret Yen Y Z Zsor Zen PSW Ren R Rsor Horloge Séquenceur Décodeur RDOsor RADen COen CO COsor RIen RI RIsor 1 COsor, RADen, Lect, RazY, Ret, Add,Zen 2 Zsor, COen, AttenteMémoire 3 4 5 RDOsor, RIen 6 (adresse)RIsor,RADen, Lect, AttenteMémoire 7 8 9 RDOsor, Yen 10 Rsor, Add, Zen Load D R B 11 Zsor,Ren Add D R A Store D R C 5 3 RDO RAD Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 31 Fonctionnement du processeur : exécution des instructions • Rappels : structure du processeur et interfaçage avec la mémoire Ä Exécution des instructions machines. Notion de séquenceur. Ä Principe de l'exécution d'une instruction ÄLes micro-commandes Ä Notion de séquenceur Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 32 16 Séquenceur cablé Horloge Signal mémoire prête Générateur d'étapes Séléction de l'instruction Add D, R, A RI Yen RazY Ret Zen Zsor Ren Rsor Lect Add COen COsor RIen RIsor RADen RADsor AttenteMemoire COen Zsor Att. Mem Joëlle Delacroix Architecture des machines et systèmes Informatiques A0, 2001/2002 33 Add D,R,A 1 + Add D, R, A RI Horloge Générateur d'adresse initiale Micro-CO Signal mémoire prête 00000 00001 00010 00011 00100 00101 00110 0111000110100100 0000100001000001 0000000000010010 0000000100001101 1000000000000010 0001001010000000 0000110000000000 00111 0111000110100100 01001 0000100001000001 01010 0000000000010010 01011 0000000100001101 01100 0000010000000010 01101 01110 01111 Mémoire 10000 de micro-programme Fetch 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 Yen RazY Ret Zen Zsor Ren Rsor Lect Add COen COsor RIen RIsor RADen RDOsor AttMem Load D,R,B Architecture des machines et systèmes Informatiques A0, 2001/2002 Séquenceur micro-programmé Joëlle Delacroix 34 17 Résumé • Le processeur est chargé d'exécuter les instructions des programmes chargés en mémoire centrale. • L'exécution d'une instruction par le processeur se déroule en trois étapes : • le chargement (fetch) qui place l'instruction dans RI • le décodage et l'exécution en elle-même, qui pemet de récupérer en mémoire centrale les opérandes de l'opération puis sa réalisation • • • Les différents composants du processeur sont pilotés par le séquenceur qui est "le chef d'orchestre" du processeur et bat la mesure au rythme de l'horloge du processeur. Le séquenceur active les micro-commandes pour piloter les différents éléments du processeur. Les mico commandes sont : les barrières de registre, les opérations sur l'UAL, les opérations sur la mémoire... Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 35 18