UF – ENI – L1 et ING1 ARCHITECTURE DES ORDINATEURS ----------------------------

UF – ENI – L1 et ING1 ARCHITECTURE DES ORDINATEURS -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Chap 2 : LES MICROPROCESSEURS A ARCHITECTURE INTERNE D’UN PROCESSEUR A.1 Le rôle élémentaire d’un microprocesseur Un microprocesseur est un circuit complexe qui possède un jeu d’instruction, une unité arithmétique et logique pour effectuer les calculs sur les données, des registres internes pour conserver temporairement ces données et un mécanisme pour accéder aux données stocker dans la mémoire centrale. Pour utiliser efficacement cette mémoire, le microprocesseur dispose de capacité de gestion de mémoire (segmentation et pagination) qui permet l’optimisation du temps d’accès à la mémoire et l’augmentation de l’espace adressable par le microprocesseur. Cette gestion de mémoire joue un rôle non négligeable dans le fonctionnement du microprocesseur parce que les informations (instruction et donnée) traitées par le microprocesseur sont stockées temporairement dans la mémoire centrale. Alors, pour le traitement d’une instruction, le microprocesseur doit : Rechercher l’instruction dans la mémoire Décoder l’instruction Rechercher les opérandes (si l’exécution a besoin d’un ou des opérandes) Exécuter l’instruction Ranger le résultat de l’opération dans la mémoire. A.2 Les unités internes d’un microprocesseur A.2 a) Unité de bus Elle est responsable de l’échange d’information entre le bus externe du microprocesseur et ses unités internes. Elle émet (ou reçoit) les signaux d’adresse, de données, et de contrôle utilisés pour communiquer avec la mémoire et les périphériques (les contrôleurs). A.2.b) Unité de pré-extraction Lorsque l’unité de bus n’est pas occupée par une exécution d’instruction, l’unité de pré-extraction l’utilise pour charger séquentiellement les quelques instructions suivantes du programme en cours d’exécution. Les instructions ainsi pré-saisies sont rangées dans une zone appelée « queue de pré- _________________________________________________________________________________________________________ Version 2009 Page 1 Chap 2 : Microprocesseurs UNITE DE BUS Données Adresse Commandes UNITE DE CONTROLE ROM des microcodes UNITE DE DECODAGE Décodeur Queue des instructions UNITE DE PRE-EXTRACTION Pré-extracteur Queue de pré-extraction UNITE ARITHMETIQUE ET LOGIQUE Registres généraux Décaleur UNITE DE GESTION MEMOIRE Registres de segmentation et de pagination UF – ENI – L1 et ING1 ARCHITECTURE DES ORDINATEURS -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- extraction ». La pré-extraction supprime pratiquement le temps qui devrait passer par les unités à attendre la prochaine instruction. Cette unité maintient assez d’instructions à la disposition de l’unité de décodage pour qu ‘elle n’ait pas à attendre le chargement depuis la mémoire vive. Cette anticipation augmente sensiblement la performance du microprocesseur. A.2 c) Unité de décodage Elle prend les instructions de la queue de pré-extraction et les décompose en deux parties : La première, le code opération ou OPCODE, qui indique l’opération à effectuer, par exemple une addition ou un transfert de donnés. Cette partie forme une adresse, appelée « point d’entrée microcode », pour lancer l’exécution des microcodes de l’unité de contrôle. La seconde, optionnelle, est constituée par un ou plusieurs opérandes. Elle désigne l’information nécessaire à l’exécution de l’instruction. Un opérande peut être une donnée ou peut désigner l’endroit où se trouve une donnée (registre ou adresse mémoire). Cette partie contient alors les informations d’adressage qui sont envoyées à l’unité de gestion mémoire pour la recherche des opérandes. A.2 d) Unité de contrôle Le microprocesseur s’appuie sur son unité de contrôle pour planifier les diverses tâches nécessaires à l’exécution d’une instruction. Le découpage des instructions en signaux de contrôle de bas niveau améliore l ‘efficacité de processus d’exécution. Selon le type d’instruction à exécuter, l’unité de contrôle émet des différents signaux qui coordonnent le fonctionnement de l’unité d’exécution. Cette unité contient les microcodes du processeur, ensemble de commandes de bas niveau rangées en ROM du microprocesseur. Les microcodes sont transférées vers la sortie de l’unité de contrôle dans un organe appelé « séquenceur de tâches » et envoyées à l’unité d’exécution. Exemple : l’instruction en assembleur ADD AX, BX (addition des contenus des registres AX, BX) est décomposée en quatre microcodes : 1°) ( AX ) à ALU 2°) ( BX ) à ALU 3°) Somme dans ALU 4°) Résultat à AX Le microprocesseur dispose aussi de l’unité de test de protection qui fonctionne en association étroite avec l’unité de contrôle. Cette unité vérifie que les opérations transmises à l’unité d’exécution sont exécutables. Dans le cas contraire (par exemple : division par Zéro), elle émet un signal d’erreur qui est aussitôt prise en compte. 4.2.e) Unité d’exécution Elle contient un circuit chargé d’exécuter les opérations arithmétiques et logiques (arithmétique : addition, soustraction, multiplication, division et décalage ; Logique : AND, OR, XOR, NOT). Ce circuit est appelé « Unité arithmétique et logique » ou ALU. L’unité d’exécution contient aussi des registres pour le stockage temporaire des données et des résultats. _________________________________________________________________________________________________________ Version 2009 Page 2 Chap 2 : Microprocesseurs AX BX FLAGS RESULTAT UF – ENI – L1 et ING1 ARCHITECTURE DES ORDINATEURS -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Ces registres sont classés par : ð les registres généraux Accumulateurs : EAX (32), AX (16), AH (8), AL (8) Registres de base : EBX (32), BX (16), BH (8), BL (8) Registres de comptage : ECX (32), CX (16), CH (8), CL (8) Registres de données : EDX (32), DX (16), DH (8), DL (8) ð les registres pointeurs et les registres d’index Source index : ESI (32), SI (16) Destination index : EDI (32), DI (16) Base Pointer : EBP (32), BP (16) Stack Pointer : ESP (32), SP (16) ð le registre spécial appelé « pointeur d’instruction » (EIP ou IP) qui contient l’adresse de la prochaine instruction à exécuter par le microprocesseur. Le programme étant implicitement séquentiel, EIP est automatiquement incrémenté de façon à pointer sur l’instruction qui suit celle que l’unité de bus vient d’extraire. ð le registre EFLAGS contenant des informations complémentaires sur le résultat d’une opération arithmétique et logique. Alors ses bits appelés drapeaux ou flags sont mise à 0 ou à 1 selon le résultat de l’opération. A.2.f) Unité de gestion mémoire (MMU : Memory management Unit) Quand le microprocesseur doit accéder à la mémoire pour y chercher une instruction, lire les données demandées par une instruction ou écrire le résultat d’une opération de l’ALU, il fait appel à l’unité de gestion mémoire. Cette unité est chargée de traduire chaque adresse logique interne en une adresse physique externe correspondant à une position particulière de la mémoire centrale. Le MMU fournit une assistance au système d’exploitation multitâche en créant un environnement d’adressage simplifié pour les programmes d’application. Quand plusieurs programmes tournent simultanément (multitâche) chacun doit disposer de son propre espace d’adressage pour ses données et ses instructions. S’ils devaient tout partager le même espace d’adressage, chacun devrait se livrer à des vérifications d’adresse pour éviter d’interférer avec ses voisins. Pour soulager les programmes de cette responsabilité, le MMU contient le circuit de segmentation et de pagination. Cette unité dispose ainsi des registres de segment : CS, SS, DS, ES, FS, GS. SEGMENTATION La segmentation est une technique qui donne à chaque programme son propre et unique espace d’adressage nommé « segment » en mémoire centrale. Elle transforme l’adresse logique en adresse linéaire (en physique pour les microprocesseurs qui n’utilisent pas la technique de pagination, c’est-à- dire pour les processeurs fonctionnant en mode réel). Mode réel (adressage de 8086) : espace physique adressable 1 Mo _________________________________________________________________________________________________________ Version 2009 Page 3 Chap 2 : Microprocesseurs Code Segment Stack Segment Data Segment Extra-Segment FFFFFh 00000h Adresse physique (20 bits) Déplacement CS (16 bits) SS (16 bits) ES (16 bits) DS (16 bits) 0000 0000 0000 0000 UF – ENI – L1 et ING1 ARCHITECTURE DES ORDINATEURS -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Mode protégé (segmentation : adresse logique en adresse linéaire) : espace adressable 64 Téraoctets Le sélecteur de segments pointe dans une table de descripteurs de segment fournissant : PAGINATION La pagination découpe la mémoire principale en blocs de 4 ko appelé « PAGE » pour créer un environnement virtuel dans lequel de grande espace d’adressage est simulée à partir d’une petite quantité de DRAM et d’un complément d’espace disque (mémoire virtuelle). Quand la pagination est active, l’adresse linéaire se traduit en adresse physique en la divisant en 3 parties qui désignent une table de pages dans un répertoire, une page dans cette table et un _________________________________________________________________________________________________________ Version 2009 Page 4 Chap 2 : Microprocesseurs Jusqu’à 4 Go SELECTEUR OFFSET ( 16 bits ) ( 32 bits ) Table des descripteurs DESCRIPTEUR Mémoire physique Cop / Opérande 4 Ko Mémoire physique 1024 entrées 1024 pages Répertoire des tables Table des pages INDEX PAGE OFFSET 31 22 21 12 11 0 Entrée Début de page Cop/Opérande UF – ENI – L1 et ING1 ARCHITECTURE DES ORDINATEURS -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Deux niveaux sont alors nécessaires pour la traduction de page : le premier niveau sont celui du répertoire de tables qui peut contenir jusqu’à 1024 entrées, chacune pointant vers une structure de même type appelé table de pages, laquelle à son tour peut adresser 1024 pages en mémoire physique. Un répertoire de tables peut donc adresser jusqu’à 220 pages soit 4 Go d’espace d’adressage, car chaque page ayant une taille constante de 4 Ko. A.3 Modes de fonctionnement en parallèle A.3. a) Pipeline Chaque instruction est traitée séquentiellement dans le microprocesseur. Pour accroître l’efficacité et uploads/Management/ ch-02-09.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jui 11, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.2204MB