1 / 31

Architecture Fondamentale des Microprocesseurs

Architecture Fondamentale des Microprocesseurs. Institut Supérieur d’Electronique du Nord 41 Boulevard Vauban - 59046 Lille Cedex - France. Canaux de communication (bus). Architecture d’un ordinateur. Unité centrale. Mémoire centrale. Contrôleurs d’entrée/sortie ou interface.

kioko
Télécharger la présentation

Architecture Fondamentale des Microprocesseurs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architecture Fondamentale des Microprocesseurs Institut Supérieur d’Electronique du Nord 41 Boulevard Vauban - 59046 Lille Cedex - France Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  2. Canaux de communication (bus) Architecture d’un ordinateur Unité centrale Mémoire centrale Contrôleurs d’entrée/sortie ou interface Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  3. instruction Les types d’architecture : SISD • Une instruction manipule une seule donnée(Single Instruction Single Data) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  4. instruction Les types d’architecture : SIMD • Une instruction manipule un ensemble de données (Single Instruction Multiple Data) :machine tableau Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  5. Instruction 1 Instruction 2 Instruction 2 Instruction 3 Instruction 3 Instruction 4 Instruction 4 Instruction 5 Les types d’architecture : MISD • Un ensemble d’instructions manipule une seule donnée (Multiple Instruction Single Data) :machine vectorielle ou pipeline Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  6. SIMD SISD MISD SISD Les types d’architecture : MIMD • Un ensemble d’instructions manipule un ensemble de données (Multiple Instruction Multiple Data) : machine multi-processeurs Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  7. Architecture de Von Neuman • Machine de Von Neuman (1945) • programme : suite d’instructions codées en binaire et mémorisées en mémoire centrale • données : codées en binaire et mémorisées en mémoire centrale • les instructions sont exécutées séquentiellement par l’unité centrale • une instruction manipule une seule donnée (SISD) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  8. Mémoire centrale : rôle et fonctions • Rôle : mémorisation des instructions et des données • code binaire (algèbre de Boole) • 0 : absence de courant • 1 : présence de courant • Fonctions d’accès : • écriture : mémorisation d’une information • lecture : récupération d’une information préalablement enregistrée Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  9. Mémoire centrale : constituants • Cellule mémoire : circuit électronique chargé de mémoriser un seul bit d’information • Mémoire centrale : • construire un mot à partir d’un ensemble de cellules • construire un ensemble de mots • créer un mécanisme d’accès à un mot dans l’ensemble des mots : adressage Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  10. 2006 FF Entier signé sur 16 bits (valeur -2) 2005 FE 2004 2003 B9 2002 0E 2001 77 Flottant IEEE sur 32 bits (valeur -1,2345.10-4) 2000 92 Mémoire centrale : vision logique • Vision logique : • tableau de mots plus ou moins grand • mécanisme d’adressage : chaque mot est repéré par son emplacement (adresse) dans le tableau (indice) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  11. Unité centrale : composition • L’unité centrale (CPU - Central Processing Unit) regroupe 5 blocs fonctionnels : • l’unité de contrôle • l’unité arithmétique et logique • les registres généraux • les registres spécialisés • l’interfaçage avec l’extérieur Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  12. l 8085 int e Bus de communication interne Registre B Registre C Accumulateur Registre d’instruction Registre D Registre E UAL Décodeur d’instructions et séquenceur Registre H Registre L Pointeur de pile SP Compteur ordinal PC Indicateurs Unité de contrôle Registre d’adresse Registre de donnée Horloge Bus de contrôle Bus d’adresse Bus de donnée Interruptions Unité de contrôle Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  13. Unité de contrôle • Elle contrôle la totalité du fonctionnement de l’unité centrale • lecture, décodage, et exécution des instructions • lecture et écriture des données en mémoire centrale • lecture et écriture des registres • contrôle de l’unité arithmétique et logique • contrôle de l’interface avec l’extérieur : • bus d’adresse et de donnée • fonctions d’accès à la mémoire centrale • interruptions, ... Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  14. compilateur assembleur ... cmp i,#0 bne label move #1,i label: move #2,j ... ... 1000 3E332000 1004 2A100B 1007 3F332001 100B 3F332102 ... Programme • Un programme écrit en langage évolué (C) n’est pas compréhensible directement par la machine (i.e. par l’unité de contrôle) ... if (i == 0) { i = 1 ; } j = 2 ; ... Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  15. mnémonique code opération (opcode) ... cmp i,#0 bne label move #1,i label: move #2,j ... ... 1000 3E 332000 1004 2A 100B 1007 3F 332001 100B 3F 332102 ... étiquette opérande(s) adresse opérande(s) Instructions Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  16. l 8085 int e Bus de communication interne Registre B Registre C Accumulateur Registre d’instruction Registre D Registre E UAL Décodeur d’instructions et séquenceur Registre H Registre L Pointeur de pile SP Compteur ordinal PC Indicateurs Unité de contrôle Registre d’adresse Registre de donnée Horloge Bus de contrôle Bus d’adresse Bus de donnée Interruptions Exécution d’un programme Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  17. 0B 1006 10 1005 2A 1004 1004 PC 00 1003 20 1002 33 1001 3E 1000 Exécution d’un programme • Le compteur ordinal (PC ou Program Counter) • registre spécialisé • contient à tout moment l’adresse de l’instruction qui va être exécutée Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  18. l 8085 int e Bus de communication interne Registre B Registre C Accumulateur Registre d’instruction Registre D Registre E UAL Décodeur d’instructions et séquenceur Registre H Registre L Pointeur de pile SP Compteur ordinal PC Indicateurs Unité de contrôle Registre d’adresse Registre de donnée Horloge Bus de contrôle Bus d’adresse Bus de donnée Interruptions Unité arithmétique et logique (ALU) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  19. Unité arithmétique et logique (ALU) • Rôle : calcul d’opérations élémentaires • opérations arithmétiques • addition, soustraction, multiplication, division • changement de signe • opérations logiques • et, ou, ou exclusif, inversion • décalage, rotation • Traite des mots de taille fixe (1, 2, 4 octets) • Génère les indicateurs • caractérisation du dernier résultat produit par l’ALU Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  20. l 8085 int e Bus de communication interne Registre B Registre C Accumulateur Registre d’instruction Registre D Registre E UAL Décodeur d’instructions et séquenceur Registre H Registre L Pointeur de pile SP Compteur ordinal PC Indicateurs Unité de contrôle Registre d’adresse Registre de donnée Horloge Bus de contrôle Bus d’adresse Bus de donnée Interruptions Registres Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  21. Registres • Registres généraux • opérandes pour l’unité arithmétique et logique • résultats des calculs (accumulateur) • en nombre variable (2 à plusieurs dizaines) • taille = taille des mots traités par l’ALU • Registres spécialisés • compteur ordinal (Program Counter - PC) • registre d’état (Status Register - SR) • pointeur de pile (Stack Pointer - SP) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  22. 3322 PC 1004 1000 1007 ???? 3321 04 04 04 04 (variable i) 04 SR (indicateur Z) 3320 10 02 10 10 (variable j) 100F ? 0 0 0 3319 02 0 Exemple d’exécution ... if (i == 0) { i = 1 ; } j = 2 ; ... ... cmp i,#0 bne label move #1,i label: move #2,j ... ... 1000 3E332100 1004 2A100B 1007 3F332101 100B 3F332002 100F ... Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  23. Modes d’adressage des opérandes • Permettent de localiser précisément les opérandes d’une instruction • immédiat (constante) • registre (donnée « anonyme ») • direct (donnée « variable ») en mémoire centrale • indirect (pointeur sur ...) en mémoire centrale via un registre • autres suivant la puissance du CPU : • indirect avec déplacement (8086, 68000) • pré/post indexé (68000) • facteur d’échelle (80386) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  24. immédiat (constante) 0 6666 1111 R1 3046 registre R2 4444 2222 R2 3044 2222 3333 3042 R3 4444 0000 3040 R4 direct / absolu [3044] Modes d’adressage (1) 33 3E Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  25. 1111 R1 3044 R2 3333 R3 6666 3046 indirect via registre [R2] 4444 R4 4444 3044 2222 3042 0000 3040 R1 1111 R2 3044 6666 3046 indirect via registre avec déplacement [R2-2] R3 3333 4444 3044 R4 4444 2222 3042 0000 3040 Modes d’adressage (2) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  26. 1111 1111 R1 2222 2222 R2 3333 3333 2222 FFFC R3 4444 4444 R4 2002 2000 1FFE 1FFC Jeu d’instructions (1) déplacement MOV destination,source MOV R3,R2 MOV [2000],-4 Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  27. 1111 R1 2222 R2 BBBB 5555 3333 R3 4444 R4 R1 1111 R2 3044 6666 3046 R3 3333 4444 3044 R4 4444 2222 3042 0000 3040 Jeu d’instructions (2) opérations ADD destination,source ADD R3,R2 NOT destination NOT [R2] Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  28. Jeu d’instructions (3) • Saut inconditionnel - JMP adresse • le compteur ordinal (PC) est remplacé par l’adresse spécifiée par l’instruction • l’exécution du programme reprend à partir de la nouvelle valeur du compteur ordinal • Saut conditionnel - JNZ adresse • la condition porte sur la valeur d’un ou de plusieurs indicateurs de l’UAL (registre d’état) • le compteur ordinal (PC) est remplacé par l’adresse spécifiée par l’instruction si et seulement si la condition est vérifiée Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  29. Sous-programme • Vision logique : 2 composants • une pile mémorisée en mémoire centrale • le pointeur de sommet de pile (Stack Pointer - SP) • Appel d’un sous-programme : CALL adresse • SP  SP - k // création d’un nouveau sommet • [SP]  PC // sauvegarde de l’adresse de retour • PC  adresse // saut au sous-programme • Retour d’un sous-programme : RETURN • PC  [SP] // restauration de l’adresse de retour • SP  SP + k // destruction du sommet Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  30. 201 100 102 101 101 200 3 2 3 4 PC 1004 3 3 3 3 3 3 3 3 3 1002 SP 101 101 101 101 101 101 101 1000 pile (k = 2) 1002 1002 1000 1000 1002 1004 1002 1000 1004 1004 Exemple d’exécution 1 ... 2 CALL 100 3 ... 99 ... 100 CALL 200 101 RETURN 102 ... 199 ... 200 RETURN 201 ... Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

  31. Capteur Interruptions • Définition : • arrivée d’un événement extérieur à l’unité centrale • Action : • appel forcé d’un sous-programme d’interruption, indépendant du programme en cours d ’exécution Unité centrale Programme en cours Programme en cours Programme en cours Appel du 18 Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

More Related