Architecture Interne d'un Microprocesseur 2024-2025 PDF
Document Details
Uploaded by Deleted User
2024
Dr. Naoufel GUEDDAH
Tags
Summary
This document is a lecture on computer architecture, focusing on the internal structure of microprocessors, specifically for students in the early stages of undergraduate studies.
Full Transcript
Dr. Naoufel GUEDDAH Le cours AR des Calc est destiné aux étudiants de 2ème année prépa intégré Année universitaire 2024-2025 1 cours...
Dr. Naoufel GUEDDAH Le cours AR des Calc est destiné aux étudiants de 2ème année prépa intégré Année universitaire 2024-2025 1 cours : architecture des ordinateurs - Naoufel GUEDDAH Objectif du cours est de mettre en claire le principe de fonctionnement de l’ordinateur une présentation détaillée de l’architecture de l’ordinateur Culture : Comprendre le fonctionnement de l’ordinateur dans ses mécanismes élémentaires et identifier les rôles et l’interface des différents composants matériels d’un système informatique. Informatique : Comprendre l’exécution d’un programme : – Comment le processeur comprend et exécute-t-il un programme Acquérir une connaissance de programmation en langage assembleur Introduction à la notion de l’architecture des ordinateurs 1. Historique 2. Les principaux éléments de l’ordinateur 3. Les notions sur les instructions d’un ordinateur 4. Le processeur assembleur X86 5. chapitre I: 1. Un peu de connaissance des architectures est nécessaire 2. Historique 3. Caractéristiques d’un processeur 4 cours architecture des ordinateurs - Naoufel GUEDDAH Un peu de connaissance des architectures est nécessaire Le cours d’architecture des systèmes à microprocesseurs expose les principes de base du traitement programmé de l’information. La mise en œuvre de ces systèmes s’appuie sur deux modes de réalisation distincts, le matériel et le logiciel. Le matériel (hardware) correspond à l’aspect concret du système : unité centrale, mémoire, organes d’entrées- sorties, etc… Le logiciel (software) correspond à un ensemble d’instructions , appelé programme, qui sont contenues (sous forme binaire),dans les différentes mémoires du système et qui définissent les actions effectuées par le matériel 5 cours architecture des ordinateurs - Naoufel GUEDDAH Un peu de connaissance des architectures est nécessaire Qu’entend-t-on par architecture L'architecture d'un système à microprocesseur représente l’organisation de ses différentes unités et de leurs interconnexions. Le choix d'une architecture est toujours le résultat d'un compromis : § entre performances et coûts § entre efficacité et facilité de construction § entre performances d'ensemble et facilité de programmation § ect…. cours architecture des ordinateurs - Naoufel GUEDDAH 6 Un peu de connaissance des architectures est nécessaire Qu’est ce qu’un microprocesseur (µp) Un microprocesseur est un circuit intégré complexe. Il résulte de l’intégration sur une puce de fonctions logiques combinatoires (logiques et/ou arithmétique) et séquentielles (registres, compteur, etc…). Il est capable d'interpréter et d'exécuter les instructions d'un programme. Son domaine d’utilisation est donc presque illimité. 7 cours architecture des ordinateurs - Naoufel GUEDDAH Un peu de connaissance des architectures est nécessaire Où trouve-t-on des systèmes à microprocesseur Les applications des systèmes à microprocesseurs sont multiples et variées : - Ordinateur, PDA - console de jeux - calculatrice - télévision - téléphone portable - distributeur automatique d’argent - robotique - lecteur carte à puce, code barre, carte raspberry ou arduino - automobile - instrumentation - Etc… cours architecture des ordinateurs - Naoufel GUEDDAH 8 Un peu de connaissance des architectures est nécessaire 19 ème siècle : automate et machine à calcul 20 ème siècle : Von Neumann décrit un modèle de machines universelles qui possède -une mémoire -une unité arithmétique et logique -une unité d’entrées/sorties (I/O) -unité de commande (UC) 9 cours architecture des ordinateurs - Naoufel GUEDDAH Un peu de connaissance des architectures est nécessaire permet de communiquer avec le monde extérieur 10 cours architecture des ordinateurs - Naoufel GUEDDAH Un peu de connaissance des architectures est nécessaire Historique Années 1940 : apparition du transistor Années 1950 : sortie du premier circuit intégré (Texas Instrument) Année 1968 : Création de INTEL (INTegrated Electronics) Année 1971 : Création du 4004 (le 1er processeur à bus de donnée = 4 bits, mémoire est de 640 B, fréquence = 0.108 MHz ) Année 1972 : Création du 8008 (1er processeur 8 bits, 16KB, 0.108 MHz ) Année 1974 : Création du 8080 (processeur 8 bits, 64KB, 2 MHz) 11 cours architecture des ordinateurs - Naoufel GUEDDAH Un peu de connaissance des architectures est nécessaire Historique Année 1978 : Création du 8086 (1er processeur 16 bits, 1 MB, 5-10 MHz) Année 1978 : Création du 8088 (processeur 8 bits, 1 MB, 5-10 MHz utilisé par IBM PC) Année 1981 : Association Intel/IBM (micro- ordinateur PC) Année 1983 : Création du 80286 (processeur à bus de donnée de 16 bits, 16 MB, 8 à 16 Mhz). Année 1985 : Création du 80386 (processeur 32 bits, 4 GB, 25 et 33 Mhz). 12 cours architecture des ordinateurs - Naoufel GUEDDAH Un peu de connaissance des architectures est nécessaire Historique Année 1989 : Création du 80486 (processeur 32 bits), La fréquence débute à 33 Mhz, pour atteindre 50 Mhz Année 1993 : Création du pentium (processeur 64 bits, 60-233 Mhz, 4 GB) Année 1994 : Création du pentium pro (processeur 64 bits, 150-200 Mhz, 4 GB ) Pentium II : 1997 (233-400 Mhz, 4 GB) Pentium III : 1999 Pentium IV : 2001 Actuel (Core 2 Duo 2,4 GHz) 13 cours architecture des ordinateurs - Naoufel GUEDDAH Caractéristiques d’un processeur Jeux d’instructions qu’il peut exécuter : Complexe : CISC (beaucoup d’instr. Complexes prenant plusieurs cycles d’horloge). Ex: x86 Réduit : RISC (Moins d’instr. Mais n’utilisant que quelques cycles). Ex: PowerPC Nombre de transistors: plus il contient de transistors, plus il est capable d’exécuter d’instructions /seconde 14 cours architecture des ordinateurs - Naoufel GUEDDAH Caractéristiques d’un processeur Taille des processeurs et nombre de transistors 15 cours architecture des ordinateurs - Naoufel GUEDDAH Caractéristiques d’un processeur Nombre de bits pouvant être traités en une instruction Vitesse maximale de l’horloge augmente, plus le processeur exécute d’instructions par seconde La fréquence d’horloge détermine la durée d’un cycle. Chaque opération utilise un certain nombre de cycles La fréquence d’horloge est fonction de : la technologie des semi-conducteurs, le packaging, les circuits. 16 cours architecture des ordinateurs - Naoufel GUEDDAH Comment augmenter la performance des processeurs Augmenter la fréquence d’horloge (limites techniques solution coûteuse). Permettre l’exécution simultanée de plusieurs instructions (effet pipline): Améliorer les accès mémoire : différents niveaux de cache Recourir à un nombre élevé de cœurs de calcul Processeurs multi-cœurs 17 cours architecture des ordinateurs - Naoufel GUEDDAH C’est quoi les cœurs d’un processeur ? Un cœur est un ensemble de circuits qui peuvent exécuter des programmes indépendamment. To u t e s l e s f o n c t i o n s n é c e s s a i re s à l ’ exé c u t i o n d ’ u n programme sont présentes dans ces cœurs : arithmétique procédurale, registres, unités de calcul, etc. Un processeur multicœur permet à l’utilisateur d’exécuter plusieurs tâches à la fois sans subir de ralentissement ! En d’autres termes, les cœurs sont utiles si vous utilisez plusieurs logiciels en même temps. La puissance de calcul et la vitesse de traitement sont multipliées par le nombre de cœurs présents sur la puce. ==> Par conséquent, plus un processeur a de cœurs, plus il est puissant et multitâche. Évidemment, il vaut mieux avoir un processeur 2 GHz à deux cœurs qu’un processeur 3 GHz à un cœur. 18 cours architecture des ordinateurs - Naoufel GUEDDAH Comment augmenter la performance des processeurs 19 cours architecture des ordinateurs - Naoufel GUEDDAH puissance d’un processeur Les plus puissants ont les caractéristiques suivantes : Ils possèdent un grand nombre d’unités d’exécution (généralement 4, 6 et 8). Ils utilisent une technique de pipelining pour améliorer les performances. Ils exécutent les instructions en parallèle (généralement de 2, 4 et 8 façons). Ils ont une fréquence élevée (l’horloge est généralement au moins deux fois supérieure à la vitesse maximale théorique du CPU). Ils ont une faible consommation d’énergie 20 cours architecture des ordinateurs - Naoufel GUEDDAH puissance d’un processeur Ils ont une grande capacité de mémoire (au moins 64Mb) et peuvent travailler dans un environnement 64bits. Ils ont beaucoup de registres pour stocker les résultats intermédiaires. Ils supportent des threads multiples (le CPU est capable d’exécuter plusieurs flux d’instructions simultanément). Ils sont très rapides dans l’exécution des instructions qu’ils exécutent Actuellement le procrsseur le plus puissant en 2022 est générealement le Intel core H de référence (core i712700 et core i9 12900H/12900HK), suivi des AMD Ryzen 76800H et 96900H XI. 21 cours architecture des ordinateurs - Naoufel GUEDDAH chapitre II: Architecture Interne d’un Microprocesseur 1. Architecture de base 2. Les principaux éléments de l’ordinateur 3. Composantes de l’unité centrale 4. L e s d i f f é r e n t e s é t a p e s d ’ e x é c u t i o n d ’ u n e instruction 22 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base Pour traiter une information, un microprocesseur seul ne suffit pas, il faut l’insérer au sein d’un système minimum de traitement programmé de l’information. une unité centrale une mémoire principale des interfaces d’entrées/sorties Les différents organes du système sont reliés par des voies de communication appelées bus. 23 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base Structure d’un ordinateur général 24 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base L’unité centrale Elle est composée par le microprocesseur qui est chargé de : Interpréter et d’exécuter les instructions d’un programme, Lire ou de sauvegarder les résultats dans la mémoire Communiquer avec les unités d’échange. Toutes les activités du microprocesseur sont cadencées par une horloge. La mémoire principale Elle contient les instructions du ou des programmes en cours d’exécution et les données associées à ce programme. Physiquement, elle se décompose souvent en : 25 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base La mémoire principale Une mémoire vive ( RAM = Random Access Memory ) chargée de stocker les données intermédiaires ou les résultats de calculs. On peut lire ou écrire des données dedans. Les données sont perdues en absence d’alimentation électrique § SRAM (RAM statiques) utilise le principe des bascules (rapides, chères) § DRAM (RAM dynamiques) nécessitent un rafraîchissement périodique de l’information (moins rapides, moins chères) 26 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base La mémoire principale Une mémoire morte ( ROM = Read Only Memory ) chargée de stocker le programme. C’est une mémoire à lecture seule. Ne s’efface pas en absence d’alimentation électrique § Les ROM véritables dont le contenu est défini lors de la fabrication. § Les PROM (Programmable ROM) sont programmables une seule fois par l’utilisateur (fusibles). § Les EPROM (Erasable Programmable ROM) sont effaçables en plaçant la mémoire dans une machine spéciale et programmables. § Les EEPROM (Electrically Erasable Programmable ROM) sont effaçables électriquement et programmables 27 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base Les interfaces d’entrées/sorties il est possible de connecter une grande diversité de périphériques sur les interface d’entrées/sorties (ports séries, port parallèle, port USB, etc...) Les éléments externes à l’unité centrale sont appelés périphériques. 28 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base Les interfaces d’entrées/sorties On distingue 4 types de périphériques Les périphériques d’entrée: Clavier, Souris, Gamepad, Scanner, Webcam, Micro,...... Les périphériques de sortie: Moniteur, Imprimante, Haut-parleurs, Vidéo-projecteur Les périphériques de stockage: Disque dur externe, Clé USB, Graveur externe Les périphériques de communication: Clé WiFi, Clé Bluetooth, Clé 3G / 4G, Modem 29 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base Les bus Un bus est un ensemble de fils qui assure la transmission du même type d’information. On retrouve trois types de bus véhiculant des informations en parallèle dans un système de traitement programmé de l’information : Un bus de données : bidirectionnel qui assure le transfert des informations entre le microprocesseur et son environnement, et inversement. Un bus d'adresses: unidirectionnel qui permet la sélection des informations à traiter dans un espace mémoire (ou espace adressable) qui peut avoir 2n emplacements, avec n = nombre de conducteurs du bus d'adresses. Un bus de commande: constitué par quelques conducteurs qui assurent la synchronisation des flux d'informations sur les bus des données et des adresses. 30 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base Architecture Von Neuman Un seul chemin d'accès à la mémoire Un bus de données (programme et données), Un bus d’adresse (programme et données) 31 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base en 1947 un rapport est diffusé par Von Neumann, Burks e t G o l d s t i n e , i l d o n n e l e s p re s c r i p t i o n s p o u r l a réalisation d'un ordinateur : le programme et les données sont enregistrés le programme et les données sont dans une même mémoire découpés en cellules cette mémoire est unique les contenus de la mémoire sont accessibles pour la lecture et l'écriture par localisation de leur contenant (c'est ce que l'on appellera plus tard les adresses). 32 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base La commande de la machine est séquentielle (exécution des opérations instruction après instruction) dans l'ordre des cellules mémoire (sauf en cas de branchements qui peuvent ê t re i m p é r a t i f o u c o n d i t i o n n é p a r d e s résultats de calcul précédent) L ' e xé c u t i o n d e c h a q u e i n s t r u c t i o n e s t achevée avant que la suivante ne commence L'unité de traitement réalise un jeu d'opérations entre les registres 33 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base Architecture Harvard Séparation des mémoires programme et données § Un bus de données programme, § Un bus de données pour les données, § Un bus d’adresse programme, § Un bus d’adresse pour les données. Meilleure utilisation du CPU : § Chargement du programme et des données en parallèle § Une grande souplesse pour l'enregistrement et l'utilisation des données 34 cours architecture des ordinateurs - Naoufel GUEDDAH La différence entre l’architecture de Von Neumann et Harvard 35 cours architecture des ordinateurs - Naoufel GUEDDAH chapitre II: Architecture Interne d’un Microprocesseur 1. Architecture de base 2. Les principaux éléments de l’ordinateur 3. Composantes de l’unité centrale 4. L e s d i f f é r e n t e s é t a p e s d ’ e x é c u t i o n d ’ u n e instruction 36 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur Un microprocesseur est construit autour de deux éléments principaux : Une unité de commande Une unité de traitement associés à des registres chargées de stocker les différentes informations à traiter. Ces trois éléments sont reliés entre eux par des bus interne permettant les échanges d’informations. Architecture Von Neuman 37 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur L’unité de commande § Machine qui exécute des ordres élémentaires de façon séquentielle sur des données : on parle de machine algorithmique § c'est donc une machine qui manipule des données, opérations sur les données : § addition, multiplication.... § Consommation des données à traiter, et production de données traitées 38 Architecture Interne d’un Microprocesseur L’unité de commande § Elle permet de séquencer le déroulement des instructions. § Elle effectue la recherche en mémoire de l'instruction. § Comme chaque instruction est codée sous forme binaire, elle en assure le décodage pour enfin réaliser son exécution puis effectue la préparation de l'instruction suivante. Pour cela, elle est composée par : 39 Architecture Interne d’un Microprocesseur L’unité de commande Le compteur de programme constitué par un registre dont le contenu est initialisé avec l'adresse de la première instruction du programme. Il contient toujours l’adresse de l’instruction à exécuter. Le registre d'instruction et le décodeur d'instruction : chacune des instructions à exécuter est rangée dans le registre instruction puis est décodée par le décodeur d’instruction. Bloc logique de commande (ou séquenceur) : Il organise l'exécution des instructions au rythme d’une horloge. Il élabore tous les signaux de synchronisation internes ou externes (bus de commande) du microprocesseur 40 cours architecture des ordinateurs - Naoufel GUEDDAH 41 Architecture Interne d’un Microprocesseur L’unité de traitement C’est le cœur du microprocesseur. Elle regroupe les circuits qui assurent les traitements nécessaires à l'exécution des instructions : ALU L’Unité Arithmétique et Logique (UAL) : C'est un circuit complexe qui assure les fonctions: - Arithmétiques: addition , soustraction, multiplication et division - Logiques: ET, OU, OU exclusif -Comparaison, décalage à droite ou à gauche, incrémentation, décrémentation, mise à 1 ou à 0 d'un bit, test de bit. Une ALU est constituée par un certain nombre de circuits tels que: complémenteur, additionneur, décaleur, portes logiques,... 42 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur Unité de gestion des bus (ou unité d'entrées-sorties) registre d'état (PSW, pour Processor Status Word) Architecture générale d’un processeur 43 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur L’unité de traitement Elle met par ailleurs à jour des indicateurs d’états (ou drapeaux ou flag) en fonction du résultat de l’opération effectuée. Registre d’état (bascules d'état ): Chacun de ces bits est un indicateur dont l'état dépend du résultat de la dernière opération effectuée. On les appelle indicateur d’état ou flag ou drapeaux. Dans un programme le résultat du test de leur état conditionne souvent le déroulement de la suite du programme. 44 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur L’unité de traitement Registre d’état : On peut citer comme indicateur : retenue (carry : C) retenue intermédiaire (Auxiliary-Carry : AC) signe (Sign : S) débordement (overflow : OV ) zéro (Z) parité (Parity : P) 45 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur L’unité de traitement résume : 46 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur L’unité de traitement : Exemples Réalisation d'une UAL ou ALU simplifiée : Dans l'exemple ci-dessous, une addition est effectuée entre le registre A et le registre B. Le résultat est mis dans le registre S et la retenue dans la bascule C. 47 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur L’unité de traitement Réalisation d'une UAL ou ALU simplifiée : 48 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur L’unité de traitement Registre d’état : Retenue : (carry : C) stockage de la retenue arithmétique Exemple: addition de nombres binaires sur 8 bits 11111100 + 10000010 FCH + 82H = 17EH carry : 1 = 01111110 (252)10 + (130)10 = (382)10 La bascule C (carry) sert aussi à capter le bit expulsé lors d'une opération de décalage ou de rotation exemple : décalage à gauche d'un bit de cet octet : 10010110 la carry recueille le 1 du bit de poids fort carry : 1 00101100 49 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur L’unité de traitement Registre d’état : Retenue intermédiaire : (Auxiliary Carry : AC) Sur les opérations arithmétiques, ce drapeau signale une retenue entre groupes de 4 bits (Half-byte : demi-octet) d'une quantité de 8 bits. Signe: (S) Cette bascule est mise à 1 lorsque le résultat de l'opération est négatif ( bit de plus fort poids du résultat à 1 ) Zéro : (Z) Cette bascule est mise à 1 lorsque le résultat de l'opération est nul. Parité : (P) Cette bascule est mise à 1 lorsque le nombre de 1 de l'accumulateur est pair. 50 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur L’unité de traitement Registre d’état : Débordement : (overflow : O) Cet indicateur est mis 1, lorsqu'il y a un dépassement de capacité pour les opérations arithmétiques en complément à 2. Sur 8 bits, on peut coder de -128 ( 1000 0000 ) à +127 ( 0111 1111 ). 104 0110 1000 - 18 1110 1110 + 26 + 0001 1010 - 118 1000 1010 avec =130 = 1000 0010 (-126) -136 0111 1000 (120) C=1 Remarque : (voir TD) L'indicateur débordement est une fonction logique (OU exclusif) de la retenue (C) et du signe (S). 51 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture Interne d’un Microprocesseur L’unité de traitement Registre d’état : Question : Réaliser sur 8 bits les additions suivantes et indiquer à chaque fois les valeurs binaires des indicateurs du registre d’état : Valeur A Valeur B Résultat A+B ZF SF CF OF 01101110 01000111 11001010 10001100 11110000 01000011 52 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base Les bus Caractéristiques d’un bus Sa largeur : un bus est caractérisé par le volume d’informations qui peuvent être envoyées en parallèle (exprimé en bits) ==> Ainsi la largeur désigne le nombre de bits qu’un bus peut transmettre simultanément. 1 fil transmet un bit, 1bus à n fils = bus n bits Exemple : une nappe de 32 fils permet ainsi de transmettre 32 bits en parallèle. 53 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base Sa vitesse : est le nombre de paquets de données envoyés ou reçus par seconde. Elle est également définie par sa fréquence (exprimée en Hertz). On parle de cycle pour désigner chaque envoi ou réception de données. Un cycle mémoire assure le transfert d’un mot mémoire : Cycle mémoire (s)=1 / fréquence Son débit : Le débit maximal du bus (ou le taux de transfert maximal) est la quantité de donnée qu’il peut transfert par unité de temps, en multipliant sa largeur par sa fréquence. Débit (octets/s) = (nombre de transferts par seconde * largeur) / 8 Bande passante (en Mo/s) = largeur bus (en octets) * fréquence (en Hz) 54 cours architecture des ordinateurs - Naoufel GUEDDAH Architecture de base Exercice : Un bus de 8 bits, cadencé à une fréquence de 100 MHz. Calculer le taux de transfert. Solution : Le bus possède donc un taux de transfert égal à : Taux de transfert = largeur bus * fréquence = 8 * 100.106 = 8. 108 bits/s = 108 octets/s = 105K octets/s = 102M octets/s 55 cours architecture des ordinateurs - Naoufel GUEDDAH