Comment Ca Marche l'informatique ?
Accueil
Forum
Aide
bordure
Page d'accueil
Ajouter aux favoris
Signalez une erreur
Ecrire à Jean-Francois Pillou
Introduction
Au coeur du PC
La carte-mère
Processeur
Un peu de théorie...
La mémoire
Introduction
Mémoire vive
Mémoire morte
Les bus
Introduction
ISA, MCA, VLB
PCI
AGP
Interfaces d'entrée-sortie
Ports série/parallèle
USB
FireWire
IDE / ATA
Serial ATA
SCSI
PC Card (PCMCIA)
Les périphériques
Périphérique externe
Le moniteur
CD-ROM
DVD-ROM
Disque dur
Clavier
Souris
Imprimante
Périphériques internes
Cartes vidéo
Cartes son
Cartes réseau
BIOS
Version 2.0.3
processeur Page précédente Page suivante Retour à la page d'accueil

Qu'est-ce qu'un microprocesseur ?

Le premier microprocesseur (Intel 4004) a été inventé en 1971. Depuis, la puissance des microprocesseurs augmente exponentiellement. Quels sont donc ces petits morceaux de silicium qui dirigent nos ordinateurs?

processeur Intel 4004

Le processeur (CPU, pour Central Processing Unit) est le cerveau de l'ordinateur, c'est lui effectue les calculs et exécute les instructions qui ont été programmées. Toutes ces opérations permettent de manipuler des informations numériques, c'est-à-dire des informations codées sous forme binaire. Pour réaliser ces traitements, les microprocesseurs utilisent de "petits interrupteurs" utilisant l'effet transistor découvert en 1947 par John Barden et Walter Brittan qui reçurent le prix Nobel l'année suivante pour cette découverte. Il existe plusieurs millions de ces transistors sur un seul processeur !

Transistors d'un microprocesseur

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

  • Une horloge qui rythme le processeur. Entre deux tops d'horloge le processeur effectue une action. Une instruction nécessite une ou plusieurs actions du processeur. Ainsi plus l'horloge a une fréquence élevée, plus le processeur effectue d'instructions par seconde (l'unité retenue pour caractériser le nombre d'instructions traitées par unité de temps est généralement le MIPS, Millions d'instructions 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ées l'unité d'instruction.

Processeur Pentium

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 parallelisme

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. Il permet de mettre à disposition du microprocesseur les instructions qu'il va devoir effectuer. Les instructions font la "file" (d'où le nom de "pipeline") dans la mémoire cache. Ainsi, pendant que le microprocesseur exécute une instruction, la suivante est mise à sa disposition.

Le pipelining permet donc en quelque sorte d'empiéter sur la fin d'une instruction sur le début de la suivante. En effet, une instruction se déroule selon trois phases :

  • Récupération de la donnée (notée F pour Fetch) : recherche en mémoire de l'instruction, mise à jour du compteur ordinal ;
  • Décodage (noté D pour Decode) : obtention des calculs à faire, des éléments de données concernés ;
  • Exécution (notée E pour Execute) : calcul à proprement parler.

Dans une structure non pipelinée, il faut 9 temps pour faire 3 instructions :
F1-D1-E1-F2-D2-E2-F3-D3-E3 (dans l'ordre chronologique)

Dans une structure pipelinée idéale, on réalise plusieurs phases en même temps, ceci étant possible en mettant les résultats des différentes phases dans des registres tampon :
F1 - D1+F2 - E1+D2+F3 - E2+D3 - E3 (dans l'ordre chronologique)

Il suffit ainsi de 5 temps uniquement. Ceci n'est cependant pas toujours possible, pour des questions de dépendance d'une instruction vis-à-vis du résultat de la précédente...

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 exige donc des programmes ayant des instructions simples à faire interpréter par le processeur, c'est-à-dire un développement plus difficile et un compilateur plus puissant. Cependant vous vous dites qu'il peut exister des instructions qui ne peuvent pas être effectuées à partir des instructions simples...
En fait ces instructions sont tellement peu nombreuses qu'il est possible de les câbler directement sur le circuit imprimé sans alourdir de manière dramatique leur fabrication.

L'avantage d'une telle architecture est bien évidemment le coût réduit au niveau 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 rapide qu'avec des processeurs basés sur une architecture CISC.

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

CISC ou RISC

A 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


Page précédente Page suivante

Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.