Un microprocesseur est un composant électronique minuscule,fabriqué le plus souvent en silicium, qui regroupe un certain nombre de transistors élémentaires interconnectés. Le microprocesseur exécute les fonctions d’unité centrale d’ordinateur (CPU), c’est à dire d’exécuter des instructions envoyées par un programme .
1.1 Composition d’un microprocesseur (circuits électriques internes):
Un microprocesseur est constitué de portes logiques . Ces portes logiques sont composées de transistors qui fonctionnent comme des interrupteurs .On trouve deux sortes de porte de base: les MOS et les CMOS . C'est à partir de celles-ci que sont fabriquées les fonctions logiques comme OR, AND, NOT, XOR, NOR , NAND . Ces fonctions de base vont constituer le circuit interne du microprocesseur c'est à dire que l'on peut former toutes les autres fonctions comme, l'addition, la soustraction …
1.2 Cisc ou Risc :
Le CISC (Complex Instruction Set Computer) est un type de processeur pour lequel chaque instruction correspond à un câblage matériel. Cette technologie est basée sur un jeu de plus de 400 instructions. Ces jeux d’instructions ont beaucoup plus d’inconvénients par rapport aux performances (plusieurs cycles peuvent exécuter une instruction, chaleur, coût,…) . Par conséquent, on a préféré faire appel à une nouvelle technologie : le RISC (Reduced Instruction Set Computer). Le RISC est constitué d’instructions simples qui permettent de gagner une rapidité d’exécution mais au détriment d’une programmation plus complexe pour le compilateur . En effet, celui-ci n'offre que 128 instructions, dites de base. Mais une instruction peut être exécutée en un seul cycle. De plus, cette technologie a permis la création de nouveaux procédés comme la multiplication des unités spécialisées.
Un processeur RISC peut atteindre une vitesse d'exécution jusqu'à 70% plus rapide qu'un CISC de même fréquence.
Depuis le P5 (pentium), les microprocesseurs utilisent des technologies empruntées de la famille RISC.
1.3 Architecture minimum d’un microprocesseur :
Un microprocesseur peut être divisé en quatre grandes parties :
Les registres :
les registres sont des petites mémoires linéaires, à accès parallèle, dont la capacité peut varier d’un à plusieurs octets .On trouve trois styles de registres :
Ø les accumulateurs : qui stockent le résultat de l’instruction traitée ;
Ø le compteur ordinal(CO) : qui permet de retrouver l’adresse de l’information dans la mémoire ;
Ø les registres d’instructions : qui enregistrent le code de l’instruction qui vient d’être lue dans la mémoire et ramenée dans le microprocesseur .
Le décodeur :
Le décodeur sert à animer les circuits électriques nécessaires à l’exécution de l’instructions lue . En faite, il gère la mise en place des portes logiques pour le bon déroulement de l’opération demandée .
Le séquenceur (Le circuit de commandes et de séquencement) :
Le séquenceur a pour but de mettre en place chaque section de microprocesseur en service à tour de rôle .
L’unité arithmétique et logique (UAL) :
L’UAL est chargée d’exécuter les opérations arithmétiques et logiques du programme.
R.Q. :On peut également trouver des circuits d’une horloge à quartz intégré au microprocesseur.
2. Circulation de l’information dans un microprocesseur :
On distingue 5 cycles pour exécuter une instruction :
1. La recherche de donnée en mémoire (fetch)
2. Lecture du code d'instruction
3. Décode de l'instruction
4. Superviser l'exécution de l'instruction
5. Revenir au début
1.4 L'exécution dynamique
L'exécution dynamique peut être décomposée en trois composants:
La prédiction de branchement :
Ce procédé consiste à deviner l'emplacement de la prochaine instruction devant être traitée, puis à la diriger vers le bon pipeline. Cela permet d'éviter les sauts et les boucles risquant de faire perdre les gains apportés par les pipelines. Au dire d'Intel, un processeur tel que le Pentium II aurait une capacité de prédiction de l'ordre de 90%
L'analyse de flux :
Ce procédé est chargé de réagencer l'ordre de traitement des données afin de l'optimiser. Il devra aussi choisir entre les deux pipelines, l'entier et celui à virgule flottante. De plus, il lui est nécessaire de tenir compte du temps de traitement de chaque instruction.
Ainsi, il permet d'obtenir de bien meilleures performances qu'en traitant le programme original tel quel. En fait, il se charge de réparer les dégâts provoqués par un mauvais compilateur.
L'exécution spéculative :
Ce dernier procédé travaille main dans la main avec la prédiction de branchement. Il permet de traiter les instructions des différentes portions de code envisageable à l'avance. Ainsi, il peut anticiper le résultat qui devra être obtenu après un saut.
2. Les autres composants d'un microprocesseur :
2.1 Le coprocesseur (ou FPU)
D'apparence semblable au processeur, son rôle est de prendre en charge toutes les instructions dites à virgule flottante (floating point). Il décharge ainsi le processeur de ce type d'instruction, augmentant la vitesse générale du PC.
2.2 La cache ( ou antémémoire )
La cache est une mémoire RAM très rapide (de l’ordre du nanoseconde) . Son but est d’accélérer le système en réalisant un tampon entre la mémoire vive et le microprocesseur . En effet, si le microprocesseur cherche une donnée et qu’elle se trouve dans la cache, le gain de temps s’en trouve réduit de l’ordre de 90 % (avec 64 Ko de cache) par rapport à un accès direct à la mémoire vive .
2.3 Les pipelines
Le principe de pipeline consiste à intégrer plusieurs blocs fonctionnels au sein du processeur. Chacun de ces blocs est chargé de remplir une fonction spécifique dans le processus de traitement. On peut comparer un pipeline à une chaîne de montage. Chaque poste remplit une fonction spécifique, pour aboutir à un produit fini à la sortie de la chaîne. Ainsi, un pipeline intègre un module spécialisé dans le chargement d'une instruction, le suivant de son décodage, et ainsi de suite.
2.4 Les nouveaux jeux d’instructions
Le Mmx
Cinquante-sept instructions ont été ajoutées au microcode. Celles-ci ont pour but d'accélérer les traitements des images et du son. Pour cela, la technologie SIMD ( Single Instruction Multiple Data ) est utilisée. Elle permet de traiter jusqu'à 8 instructions en un seul cycle d'horloge. Ce point n'est valable qu'avec les programmes exploitant ce type d'instruction ( Photoshop 4, ... ). De plus, un processeur MMX est capable d'émuler un modem ou une carte son.
Le 3D Now !
Le 3D Now ! fait son apparition sur le K6 2. Il s'agit d'un jeu de 21 nouvelles instructions, notamment dédiées à la 3D Temps réel. Grâce sur le SIMD (Single Instruction, Multiple Data), une instruction 3D Now ! peut en un seul cycle effectuer 2 opérations FP par cycle. Le K6 2 étant capable d’exécuter 2 instructions 3D Now par cycle d'horloge, il pourra donc effectuer jusqu’à 4 opérations FP par cycle lorsque que le 3D Now ! est utilisé au maximum de son potentiel. Mais ce n'est pas tout, une nouvelle instruction 3D Now ! opérant sur les entiers (PAVGUSB) vient accélérer le motion compensation, une des étapes du décodage MPEG-2. De plus, l'instruction PREFETCH permet d’accélérer le chargement des données alors que l'instruction FEMMS (Fast Entry/Exit Multimedia State) permet de réduire la perte de temps lors du passage entre MMX et FPU.
Les instructions SSE
Il s'agit d'instructions supplémentaires qui équipe les processeurs INTEL PENTIUM III et 4. Ces intructions sont principalement destinées au multimédia, au traitement du son, à l'encodage vidéo et à la retouche d'image. Elles optimisent aussi les performances des jeux !
2.5 La fréquence
En dehors de la famille du processeur, la fréquence est un élément déterminant de la vitesse de ce composant. Celle-ci est exprimée en MégaHertz (Mhz), soit en million de cycles à la seconde. Il convient de savoir qu'une opération effectuée par l'utilisateur peut correspondre à de nombreux cycles pour le processeur. Mais, plus la fréquence est élevée, plus le processeur réagira vite.
2.6 la gravure
La fabrication du microprocesseur repose sur le procédé de photolithographie. Sur une couche de silicium, on dispose une couche isolante de dioxyde de silicium que l'on recouvre d'un agent photorésistant. Ce dernier permettra l'impression du circuit à l'aide d'ultra- violets. ( c'est la photogravure ).