Microprocesseur

Qu'est-ce qu'un microprocesseur ?

Le premier microprocesseur (Intel 4004) a été inventé en 1972.

processeur Intel 4004

Depuis, la puissance des microprocesseurs augmente exponentiellement. Quels sont donc ces petits morceaux de silicium qui dirigent nos ordinateurs?

Le processeur (CPU) est le cerveau de l'ordinateur, c'est lui qui coordonne le reste des éléments, il se charge des calculs, bref il exécute les instructions qui ont été programmées.

Toutes ces opérations sont des informations numériques.

Les microprocesseurs utilisent des petits transistors (équivalents transistors) pour faire des opérations de base; il y en a plusieurs millions sur un seul processeur.

Transistors d'un microprocesseur

Les éléments principaux d'un microprocesseur sont:

  • Une horloge qui rythme le processeur. A chaque TOP d'horloge le processeur effectue une instruction, ainsi plus l'horloge a une fréquence élevée, plus le processeur effectue d'instructions par seconde (MIPS: Millions d'instruction par seconde);
    Par exemple un ordinateur ayant une fréquence de 100 Mhz effectue 100 000 000 d'instructions par seconde;
  • Une unité de gestion des bus qui gère les flux d'informations entrant et sortant;
  • Une unité d'instruction qui lit les données arrivant, les décode puis les envoie à l'unité d'exécution;
  • Une unité d'exécution qui accomplit les tâches que lui a donné l'unité d'instruction.

Le processeur travaille en fait grâce à un nombre très limité de fonctions (ET logique, Ou logique, addition ...), celles-ci sont directement câblées sur les circuits électroniques. Il est impossible de mettre toutes les instructions sur un processeur car celui-ci est limité par la taille de la gravure, ainsi pour mettre plus d'instructions il faudrait un processeur ayant une très grande surface, or le processeur est constitué de silicium et le silicium coûte cher, d'autre part il chauffe beaucoup. Le processeur traite donc les informations compliquées à l'aide d'instructions simples.

Le parallélisme

Le parallélisme consiste à exécuter simultanément sur des processeurs différents des instructions relatives à un même programme. Cela se traduit par le découpage d'un programme en plusieurs processus qui seront traités par des processeurs différents dans le but de gagner en temps d'exécution. Cela nécessite toutefois une communication entre les différents processus. C'est le même principe de fonctionnement que dans une entreprise: le travail est divisé en petits processus traités par des services différents et qui ne servent à rien si la communication entre les services ne fonctionne pas (ce qui est généralement le cas dans les entreprises...).

Le «pipelining»

Le «pipelining» est un principe simple à comprendre. Un programme comporte généralement des portions de code (plus ou moins grandes) qui sont traitées de nombreuses fois par le processeur. Le «pipelining» consiste donc à éviter d'avoir à réitérer de nombreuses fois des instructions que l'on a déjà traitées en fournissant directement le résultat!

L'architecture CISC

L'architecture CISC (Complex Instruction Set Computer, ce qui signifie «ordinateur avec jeu d'instructions complexes») est utilisée par tous les processeurs de type x86, c'est-à-dire les processeurs fabriqués par Intel, AMD, Cyrix, ...

Les processeurs basés sur l'architecture CISC peuvent traiter des instructions complexes, qui sont directement câblées sur leurs circuits électroniques, c'est-à-dire que certaines instructions difficiles à créer à partir des instructions de base sont directement imprimées sur le silicium de la puce afin de gagner en rapidité d'exécution sur ces commandes.

L'inconvénient de ce type d'architecture provient justement du fait que des fonctions supplémentaires sont imprimées sur le silicium, d'où un coût élevé.

D'autre part, les instructions sont de longueurs variables et peuvent parfois prendre plus d'un cycle d'horloge ce qui les rend lentes à l'exécution étant donné qu'un processeur basé sur l'architecture CISC ne peut traîter qu'une instruction à la fois!

L'architecture RISC

Contrairement à l'architecture CISC, un processeur utilisant la technologie RISC (Reduced Instruction Set Computer, dont la traduction est «ordinateur à jeu d'instructions réduit») n'a pas de fonctions supplémentaires câblées. Cela impose donc des programmes ayant des instructions simples interprétables par le processeur. Cela se traduit par une programmation plus difficile et un compilateur plus puissant. Cependant vous vous dîtes qu'il peut exister des instructions qui ne peuvent pas être décrites à partir des instructions simples...

En fait ces instructions sont tellement peu nombreuses qu'il est possible de les câbler directement sur le circuit imprimer sans alourdir de manière dramatique leur fabrication.

L'avantage d'une telle architecture est bien évidemment le coût réduit de la fabrication des processeurs l'utilisant. De plus, les instructions, étant simples, sont exécutées en un cycle d'horloge, ce qui rend l'exécution des programmes plus rapides qu'avec des processeurs basés sur une architecture CISC.

De plus, de tels processeurs sont capables de traiter plusieurs instructions simultanément en les traitant en parallèle.

CISC ou RISC?

À comparer les spécificités des deux types d'architecture on pourrait conclure que les processeurs basé sur une architecture de type RISC sont les plus utilisés...

Cela n'est malheureusement pas le cas... En effet les ordinateurs construits autour d'une architecture RISC nécessitent une quantité de mémoire plus importante que les ordinateurs de type CISC.

© Copyright 2000 Jean-François Pillou
Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.

Articles





Articles récents