Université Constantine 2 – Abdelhamid Mehri Faculté des NTIC Département MI Electronique des Composants & Systèmes Les Microprocesseurs partie1 Cours de L1 - TRONC COMMUN DOMAINE MATHEMATIQUES – INFORMATIQUE 2015-2016 Dr. Kitouni I. Introduction Architecture d’un microprocesseur 1. 2. Unité de commande Unité de traitement 1. 2. Les registres Les mémoires cache 3. 4. Les niveaux de mémoires cache 1. 5. 6. 7. Niveaux de programmation Les principales caractéristiques d’un microprocesseur Amélioration des performances d’un microprocesseur 27/11/2015 2 Un microprocesseur est un circuit intégré complexe caractérisé par une très grande intégration capable d’interpréter et d'exécuter des instructions d'un programme. Il doit aussi prendre en compte les informations extérieures au système et assurer leur traitement. A l’heure actuelle, un microprocesseur regroupe sur quelques millimètre carré des fonctionnalités toujours plus complexes. Leur puissance continue de s’accroître et leur encombrement diminue régulièrement respectant toujours, pour le moment, la fameuse loi de Moore. 27/11/2015 3 Jusqu’au début des années 1970, les différents composants électroniques formant un processeur ne pouvaient pas tenir sur un seul circuit intégré nécessité d'interconnecter de nombreux composant dont plusieurs circuits intégrés En 1971, la société américaine Intel réussit, pour la première fois, à placer tous les composants qui constituent un processeur sur un seul circuit intégré donnant ainsi naissance au microprocesseur. 27/11/2015 4 Cette miniaturisation a permis : d'augmenter les vitesses de fonctionnement des processeurs, grâce à la réduction des distances entre les composants de réduire les coûts, grâce au remplacement de plusieurs circuits par un seul d'augmenter la fiabilité en supprimant les connexions entre les composants du processeur, l'un des principaux vecteurs de panne de créer des ordinateurs plus petits : les microordinateurs de réduire la consommation en énergie 27/11/2015 5 Un microprocesseur est construit autour des éléments principaux suivants: Une unité de commande Une unité de traitement Des registres chargées de stocker les différentes informations à traiter. Ces trois éléments sont reliés entre eux par des bus internes permettant les échanges d’informations. 27/11/2015 6 Séquenceur 27/11/2015 L’unité de commande Elle permet de séquencer le déroulement des instructions. Elle en assure le décodage de l’instruction Organise son exécution Effectue la préparation de l'instruction suivante. 7 C’est le cœur du microprocesseur. Elle regroupe les circuits qui assurent les traitements nécessaires à l'exécution des instructions , elle est composée essentiellement de : L’Unité Arithmétique et Logique (UAL) est un circuit complexe qui assure les fonctions logiques (ET, OU, Comparaison, Décalage , etc…) ou arithmétique (Addition, soustraction……). 27/11/2015 8 Séquenceur 27/11/2015 9 Lorsque le processeur exécute des instructions, les données sont temporairement stockées dans de petites mémoires rapides de 8, 16, 32 ou 64 bits que l'on appelle registres. Suivant le type de processeur le nombre global de registres peut varier d'une dizaine à plusieurs centaines. 27/11/2015 10 Les registres principaux sont : le registre accumulateur (ACC), stockant les résultats des opérations arithmétiques et logiques le registre d'état (PSW, Processor Status Word), permettant de stocker des indicateurs sur l'état du système (retenue, dépassement, etc.) le registre instruction (RI), contenant l'instruction en cours de traitement le compteur ordinal (CO ou PC pour Program Counter), contenant l'adresse de la prochaine instruction à traiter le ou les registres tampon, stockant temporairement les donnée provenant de la mémoire 27/11/2015 11 la mémoire centrale de l'ordinateur a une vitesse moins importante que le processeur. Il existe néanmoins des mémoires beaucoup plus rapides, mais dont le coût est très élevé. La mémoire cache (également appelée antémémoire ou mémoire tampon) est une mémoire rapide permettant de réduire les délais d'attente des informations stockées en mémoire vive. La solution consiste donc à inclure ce type de mémoire rapide au voisinage du processeur et d'y stocker temporairement les principales données devant être traitées par le processeur. 27/11/2015 12 Les ordinateurs récents possèdent plusieurs niveaux de mémoire cache : La mémoire cache de premier niveau (Level 1 Cache) est directement intégrée dans le processeur. Elle se subdivise en 2 parties : La première est le cache d'instructions, qui contient les instructions issues de la mémoire vive et déjà décodées. La seconde est le cache de données, qui contient des données issues de la mémoire vive et les données récemment utilisées lors des opérations du processeur. Les caches du premier niveau sont très rapides d‘accès. Leur délai d'accès tend à s'approcher de celui des registres internes aux processeurs. La mémoire cache de second niveau ( L2 Cache) est située au niveau du boîtier contenant le processeur (dans la puce). La mémoire cache de troisième niveau ( L3 Cache) située au niveau de la carte mère. 27/11/2015 13 On peut distinguer plusieurs niveaux de langage de programmation Le plus haut, c’est les langages de haut niveau, évolués (C,C++, ADA, Java….) Le plus bas est dit : le langage machine, celui-ci s’adapte aux caractéristiques de la machine La figure représente l’état actuelle des langages: Niveau des commandes électroniques Micro-instructions Langages machine Langage assembleur Langages évolués 27/11/2015 14 La première étape de la conception d’un microprocesseur est la définition de son jeu d’instructions. Le jeu d’instructions décrit l’ensemble des opérations élémentaires que le microprocesseur pourra exécuter. Il va donc en partie déterminer l’architecture du microprocesseur à réaliser et notamment celle du séquenceur. A un même jeu d’instructions peut correspondre un grand nombre d’implémentations différentes du microprocesseur. 27/11/2015 15 Une instruction est l'opération élémentaire que le processeur peut accomplir. Une instruction est composée de plusieurs champs : le code opération « instruction », code de l'action que le processeur doit exécuter ; le code opérande, sont les paramètres de l'action. (Le code opérande peut être une donnée ou bien une adresse mémoire). On parle d’instruction à n adresses si elle possède n champs opérandes ( n=0,1,2,3,4 au plus) 27/11/2015 16 Les instructions sont principalement : Accès à la mémoire : des accès à la mémoire ou transferts de données entre registres. Opérations arithmétiques : opérations telles que les additions, soustractions ou multiplication…. Opérations logiques : opérations ET, OU, NON, etc…. Contrôle de sequence : contrôles de séquence, branchements conditionnels, etc…. 27/11/2015 17 Le nombre d'instructions du jeu d'instructions est directement lié au format du code instruction. Ainsi un octet permet de distinguer au maximum 256 instructions différentes.??? Chaque instruction nécessite un certain nombre de cycles d’horloges pour s’effectuer. 27/11/2015 A chaque top d'horloge le processeur exécute une action, correspondant à une instruction ou une partie d'instruction. 18 1. Le jeu d'instructions qu’il peut exécuter. Un processeur peut exécuter plusieurs dizaines, voire centaines, d’instructions différentes. 2. La complexité de son architecture. Cette complexité se mesure par le nombre de transistors contenus dans le microprocesseur. 27/11/2015 Plus le microprocesseur contient de transistors, plus il pourra effectuer des opérations complexes, et/ou traiter des chiffres de grande taille. 19 3. Largeur des données : le nombre de bits que le processeur peut traiter ensemble. Les microprocesseurs actuels peuvent traiter des nombres sur 64 bits. Le nombre de bits est en rapport direct avec : la capacité à traiter de grands nombres rapidement et des nombres d'une grande précision (nombres de décimales significatives). 4. Finesse de gravure (nm) : le diamètre (en nm) du plus petit fil reliant deux composantes du microprocesseur. En comparaison, l'épaisseur d'un cheveu humain est de 100 microns = 100 000 nm. En 2014 on arrive à des finesses de gravure de l’ordre de 10 nm. En augmentant la finesse de gravure, on se rapproche des limites en deçà desquelles le comportement électrique des matériaux relève de moins en moins de la physique classique (mécanique quantique). 27/11/2015 C’est quoi???? 20 5. La vitesse de l’horloge. Le rôle de l’horloge est de cadencer le rythme du travail du processeur. + la vitesse augmente, + le processeur effectue d'instructions en une seconde. Inconvénients de l'augmentation de la fréquence : le processeur consomme d'électricité, il chauffe ce qui nécessite une solution de refroidissement du processeur adaptée ; la fréquence est limitée par les temps de commutation des portes logiques Entre deux « coups d'horloge », les signaux numériques doivent avoir le temps de parcourir tout le trajet nécessaire à l'exécution de l'instruction attendue ; 27/11/2015 21 6. Performances d’un microprocesseur On peut caractériser la puissance d’un microprocesseur par le nombre d’instructions qu’il est capable de traiter par seconde. Pour cela, on définit: A. le CPI (Cycle Par Instruction) qui représente le nombre moyen de cycles d’horloge nécessaire pour l’exécution d’une instruction pour un microprocesseur donné. ƒ B. le MIPS (Millions d'Instructions Par Seconde) qui représente la puissance de traitement du microprocesseur. 27/11/2015 22 Pour augmenter les performances d’un microprocesseur, on peut donc soit : augmenter la fréquence d'horloge (limitation matérielle) soit diminuer le CPI (choix d'un jeu d'instruction adapté). Améliorer l’architecture de base (amélioration technologique) 27/11/2015 23