Vous êtes sur la page 1sur 10

Processeur

Juin 2014
Dfinition
Fonctionnement
Instruction
Registres
Mmoire cache
Signaux de commande
Units fonctionnelles
Transistor
Circuits intgrs
Familles
Jeu d'instruction
Architecture CISC
Architecture RISC
Amliorations technologiques
Le paralllisme
Le pipeline
Technologie superscalaire
HyperThreading
Multi-coeur
Ressources sur le mme sujet

Dfinition
Le processeur (CPU, pour Central Processing Unit, soit Unit Centrale de Traitement) est le
cerveau de l'ordinateur. Il permet de manipuler des informations numriques, c'est--dire des
informations codes sous forme binaire, et d'excuter les instructions stockes en mmoire.
Le premier microprocesseur (Intel 4004) a t invent en 1971. Il s'agissait d'une unit de
calcul de 4 bits, cadenc 108 kHz. Depuis, la puissance des microprocesseurs augmente
exponentiellement. Quels sont donc ces petits morceaux de silicium qui dirigent nos
ordinateurs?

Fonctionnement
Le processeur (not CPU, pour Central Processing Unit) est un circuit lectronique cadenc au

rythme d'une horloge interne, grce un cristal de quartz qui, soumis un courant lectrique,
envoie des impulsions, appeles top . La frquence d'horloge (appele galement cycle,
correspondant au nombre d'impulsions par seconde, s'exprime en Hertz (Hz). Ainsi, un
ordinateur 200 MHz possde une horloge envoyant 200 000 000 de battements par seconde.
La frquence d'horloge est gnralement un multiple de la frquence du systme (FSB, FrontSide Bus), c'est--dire un multiple de la frquence de la carte mre
A chaque top d'horloge le processeur excute une action, correspondant une instruction ou
une partie d'instruction. L'indicateur appel CPI (Cycles Par Instruction) permet de reprsenter le
nombre moyen de cycles d'horloge ncessaire l'excution d'une instruction sur un
microprocesseur. La puissance du processeur peut ainsi tre caractrise par le nombre
d'instructions qu'il est capable de traiter par seconde. L'unit utilise est le MIPS (Millions
d'Instructions Par Seconde) correspondant la frquence du processeur que divise le CPI.

Instruction
Une instruction est l'opration lmentaire que le processeur peut accomplir. Les instructions
sont stockes dans la mmoire principale, en vue d'tre traite par le processeur. Une instruction
est compose de deux champs :
le code opration, reprsentant l'action que le processeur doit accomplir ;
le code oprande, dfinissant les paramtres de l'action. Le code oprande dpend de
l'opration. Il peut s'agir d'une donne ou bien d'une adresse mmoire.

Code opration Champ oprande


Le nombre d'octets d'une instruction est variable selon le type de donne (l'ordre de grandeur est
de 1 4 octets).
Les instructions peuvent tre classes en catgories dont les principales sont :
Accs la mmoire : des accs la mmoire ou transferts de donnes entre registres.
Oprations arithmtiques : oprations telles que les additions, soustractions, divisions ou
multiplication.
Oprations logiques : oprations ET, OU, NON, NON exclusif, etc.
Contrle : contrles de squence, branchements conditionnels, etc.

Registres
Lorsque le processeur excute des instructions, les donnes sont temporairement stockes dans
de petites mmoires 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.
Les registres principaux sont :

le registre accumulateur (ACC), stockant les rsultats des oprations arithmtiques et


logiques ;
le registre d'tat (PSW, Processor Status Word), permettant de stocker des indicateurs sur
l'tat du systme (retenue, dpassement, 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 registre tampon, stockant temporairement une donne provenant de la mmoire.

Mmoire cache
La mmoire cache (galement appele antmmoire ou mmoire tampon) est une mmoire
rapide permettant de rduire les dlais d'attente des informations stockes en mmoire vive. En
effet, la mmoire centrale de l'ordinateur possde une vitesse bien moins importante que le
processeur. Il existe nanmoins des mmoires beaucoup plus rapides, mais dont le cot est trs
lev. La solution consiste donc inclure ce type de mmoire rapide proximit du processeur
et d'y stocker temporairement les principales donnes devant tre traites par le processeur. Les
ordinateurs rcents possdent plusieurs niveaux de mmoire cache :
La mmoire cache de premier niveau (appele L1 Cache, pour Level 1 Cache) est
directement intgre dans le processeur. Elle se subdivise en 2 parties :
La premire est le cache d'instructions, qui contient les instructions issues de la
mmoire vive dcodes lors de passage dans les pipelines.
La seconde est le cache de donnes, qui contient des donnes issues de la mmoire
vive et les donnes rcement utilises lors des oprations du processeur.
Les caches du premier niveau sont trs rapides d'accs. Leur dlai d'accs tend s'approcher
de celui des registres internes aux processeurs.
La mmoire cache de second niveau (appele L2 Cache, pour Level 2 Cache) est
situe au niveau du botier contenant le processeur (dans la puce). Le cache de second
niveau vient s'intercaler entre le processeur avec son cache interne et la mmoire vive. Il
est plus rapide d'accs que cette dernire mais moins rapide que le cache de premier
niveau.
La mmoire cache de troisime niveau (appele L3 Cache, pour Level 3 Cache)
autrefois situe au niveau de la carte mre (utilisation de la mmoire centrale), elle est
aujourd'hui intgr directement dans le CPU.
Tous ces niveaux de cache permettent de rduire les temps de latence des diffrentes mmoires
lors du traitement et du transfert des informations. Pendant que le processeur travaille, le
contrleur de cache de premier niveau peut s'interfacer avec celui de second niveau pour faire
des transferts d'informations sans bloquer le processeur. De mme, le cache de second niveau
est interfac avec celui de la mmoire vive (en l'absence de cache de troisime niveau intgr),
pour permettre des transferts sans bloquer le fonctionnement normal du processeur.

Signaux de commande

Les signaux de commande sont des signaux lectriques permettant d'orchestrer les diffrentes
units du processeur participant l'excution d'une instruction. Les signaux de commandes sont
distribus grce un lment appel squenceur. Le signal Read / Write, en franais lecture /
criture, permet par exemple de signaler la mmoire que le processeur dsire lire ou crire une
information.

Units fonctionnelles
Le processeur est constitu d'un ensemble d'units fonctionnelles relies entre elles.
L'architecture d'un microprocesseur est trs variable d'une architecture une autre, cependant
les principaux lments d'un microprocesseur sont les suivants :
Une unit d'instruction (ou unit de commande, en anglais control unit) qui lit les
donnes arrivant, les dcode puis les envoie l'unit d'excution ;L'unit d'instruction est
notamment constitue des lments suivants :
squenceur (ou bloc logique de commande) charg de synchroniser l'excution des
instructions au rythme d'une horloge. Il est ainsi charg de l'envoi des signaux de
commande ;
compteur ordinal contenant l'adresse de l'instruction en cours ;
registre d'instruction contenant l'instruction suivante.
Une unit d'excution (ou unit de traitement), qui accomplit les tches que lui a donnes
l'unit d'instruction. L'unit d'excution est notamment compose des lments suivants :
L'unit arithmtique et logique (note UAL ou en anglais ALU pour Arithmetical
and Logical Unit). L'UAL assure les fonctions basiques de calcul arithmtique et les
oprations logiques (ET, OU, Ou exclusif, etc.) ;
L'unit de virgule flottante (note FPU, pour Floating Point Unit), qui accomplit les
calculs complexes non entiers que ne peut raliser l'unit arithmtique et logique.
Le registre d'tat ;
Le registre accumulateur.
Une unit de gestion des bus (ou unit d'entres-sorties), qui gre les flux d'informations
entrant et sortant, en interface avec la mmoire vive du systme ;
Le schma ci-dessous donne une reprsentation simplifie des lments constituant le
processeur (l'organisation physique des lments ne correspond pas la ralit) :

Transistor
Pour effectuer le traitement de l'information, le microprocesseur possde un ensemble
d'instructions, appel jeu d'instructions , ralises grce des circuits lectroniques. Plus
exactement, le jeu d'instructions est ralis l'aide de semiconducteurs, petits interrupteurs
utilisant l'effet transistor, dcouvert en 1947 par John Barden, Walter H. Brattain et William
Shockley qui reurent le prix Nobel en 1956 pour cette dcouverte.
Un transistor (contraction de transfer resistor, en franais rsistance de transfert) est un
composant lectronique semi-conducteur, possdant trois lectrodes, capable de modifier le
courant qui le traverse l'aide d'une de ses lectrodes (appele lectrode de commande). On
parle ainsi de composant actif, par opposition aux composants passifs , tels que la
rsistance ou le condensateur, ne possdant que deux lectrodes (on parle de bipolaire ).
Le transistor MOS (mtal, oxyde, silicium) est le type de transistor majoritairement utilis pour la
conception de circuits intgrs. Le transistor MOS est compos de deux zones charges
ngativement, appeles respectivement source (possdant un potentiel quasi-nul) et drain
(possdant un potentiel de 5V), spares par une rgion charge positivement, appele
substrat (en anglais substrate). Le substrat est surmont d'une lectrode de commande,
appele porte (en anglais gate, parfois galement appele grille), permettant d'appliquer une
tension sur le substrat.

Lorsqu'aucune tension n'est applique l'lectrode de commande, le substrat charg


positivement agit telle une barrire et empche les lectrons d'aller de la source vers le drain. En
revanche, lorsqu'une tension est applique la porte, les charges positives du substrat sont
repousses et il s'tablit un canal de communication, charg ngativement, reliant la source au
drain.

Le transistor agit donc globalement comme un interrupteur programmable grce l'lectrode de


commande. Lorsqu'une tension est applique l'lectrode de commande, il agit comme un
interrupteur ferm, dans le cas contraire comme un interrupteur ouvert.

Circuits intgrs
Assembls, les transistors peuvent constituer des circuits logiques, qui, assembls leur tour,
constituent des processeurs. Le premier circuit intgr date de 1958 et a t mis au point par la
socit Texas Instruments.
Les transistors MOS sont ainsi raliss dans des tranches de silicium (appeles wafer, traduisez
gaufres), obtenues aprs des traitements successifs. Ces tranches de silicium sont alors
dcoupes en lments rectangulaires, constituant ce que l'on appelle un circuit . Les
circuits sont ensuite placs dans des botiers comportant des connecteurs d'entre-sortie, le tout
constituant un circuit intgr . La finesse de la gravure, exprime en microns (micromtres,
nots m), dfinit le nombre de transistors par unit de surface. Il peut ainsi exister jusqu'
plusieurs millions de transistors sur un seul processeur.
La loi de Moore, dicte en 1965 par Gordon E. Moore, cofondateur de la socit Intel, prvoyait
que les performances des processeurs (par extension le nombre de transistors intgrs sur

silicium) doubleraient tous les 12 mois. Cette loi a t rvise en 1975, portant le nombre de
mois 18. La loi de Moore se vrifie encore aujourd'hui.
Dans la mesure o le botier rectangulaire possde des broches d'entre-sortie ressemblant
des pattes, le terme de puce lectronique est couramment employ pour dsigner les
circuits intgrs.

Familles
Chaque type de processeur possde son propre jeu d'instruction. On distingue ainsi les familles
de processeurs suivants, possdant chacun un jeu d'instruction qui leur est propre :
80x86 : le x reprsente la famille. On parle ainsi de 386, 486, 586, 686, etc.
ARM
IA-64
MIPS
Motorola 6800
PowerPC
SPARC
...
Cela explique qu'un programme ralis pour un type de processeur ne puisse fonctionner
directement sur un systme possdant un autre type de processeur, moins d'une traduction des
instructions, appele mulation. Le terme mulateur est utilis pour dsigner le programme
ralisant cette traduction.

Jeu d'instruction
On appelle jeu d'instructions l'ensemble des oprations lmentaires qu'un processeur peut
accomplir. Le jeu d'instruction d'un processeur dtermine ainsi son architecture, sachant qu'une
mme architecture peut aboutir des implmentations diffrentes selon les constructeurs.
Le processeur travaille effectivement grce un nombre limit de fonctions, directement cbles
sur les circuits lectroniques. La plupart des oprations peuvent tre ralis l'aide de fonctions
basiques. Certaines architectures incluent nanmoins des fonctions volues courante dans le
processeur.

Architecture CISC
L'architecture CISC (Complex Instruction Set Computer, soit ordinateur jeu d'instruction
complexe ) consiste cbler dans le processeur des instructions complexes, difficiles crer
partir des instructions de base.
L'architecture CISC est utilise en particulier par les processeurs de type 80x86. Ce type
d'architecture possde un cot lev d aux fonctions volues imprimes sur le silicium.

D'autre part, les instructions sont de longueurs variables et peuvent parfois ncessiter plus d'un
cycle d'horloge. Or, un processeur bas sur l'architecture CISC ne peut trater qu'une instruction
la fois, d'o un temps d'excution consquent.

Architecture RISC
Un processeur utilisant la technologie RISC (Reduced Instruction Set Computer, soit
ordinateur jeu d'instructions rduit ) n'a pas de fonctions volues cbles.
Les programmes doivent ainsi tre traduits en instructions simples, ce qui entrane un
dveloppement plus difficile et/ou un compilateur plus puissant. Une telle architecture possde
un cot de fabrication rduit par rapport aux processeurs CISC. De plus, les instructions, simples
par nature, sont excutes en un seul cycle d'horloge, ce qui rend l'excution des programmes
plus rapide qu'avec des processeurs bass sur une architecture CISC. Enfin, de tels processeurs
sont capables de trater plusieurs instructions simultanment en les traitant en parallle.

Amliorations technologiques
Au cours des annes, les constructeurs de microprocesseurs (appels fondeurs), ont mis au
point un certain nombre d'amliorations permettant d'optimiser le fonctionnement du processeur.

Le paralllisme
Le paralllisme consiste excuter simultanment, sur des processeurs diffrents, des
instructions relatives un mme programme. Cela se traduit par le dcoupage d'un programme
en plusieurs processus traits en parallle afin de gagner en temps d'excution.
Ce type de technologie ncessite toutefois une synchronisation et une communication entre les
diffrents processus, la manire du dcoupage des tches dans une entreprise : le travail est
divis en petits processus distincts, traits par des services diffrents. Le fonctionnement d'une
telle entreprise peut tre trs perturb lorsque la communication entre les services ne fonctionne
pas correctement.

Le pipeline
Le pipeline (ou pipelining) est une technologie visant permettre une plus grande vitesse
d'excution des instructions en paralllisant des tapes.
Pour comprendre le mcanisme du pipeline, il est ncessaire au pralable de comprendre les
phases d'excution d'une instruction. Les phases d'excution d'une instruction pour un
processeur contenant un pipeline classique 5 tages sont les suivantes :
LI : (Lecture de l'Instruction (en anglais FETCH instruction) depuis le cache ;
DI : Dcodage de l'Instruction (DECODe instruction) et recherche des oprandes (Registre

ou valeurs immdiate);
EX : Excution de l'Instruction (EXECute instruction) (si ADD, on fait la somme, si SUB, on
fait la soustraction, etc.);
MEM : Accs mmoire (MEMory access), criture dans la mmoire si ncssaire ou
chargement depuis la mmoire ;
ER : Ecriture (Write instruction) de la valeur calcule dans les registres.
Les instructions sont organises en file d'attente dans la mmoire, et sont charges les unes
aprs les autres.
Grce au pipeline, le traitement des instructions ncessite au maximum les cinq tapes
prcdentes. Dans la mesure o l'ordre de ces tapes est invariable (LI, DI, EX, MEM et ER), il
est possible de crer dans le processeur un certain nombre de circuits spcialiss pour chacune
de ces phases.
L'objectif du pipeline est d'tre capable de raliser chaque tape en parallle avec les tapes
amont et aval, c'est--dire de pouvoir lire une instruction (LI) lorsque la prcdente est en cours
de dcodage (DI), que celle d'avant est en cours d'excution (EX), que celle situe encore
prcdemment accde la mmoire (MEM) et enfin que la premire de la srie est dj en cours
d'criture dans les registres (ER).

Il faut compter en gnral 1 2 cycles d'horloge (rarement plus) pour chaque phase du pipeline,
soit 10 cycles d'horloge maximum par instruction. Pour deux instructions, 12 cycles d'horloge
maximum seront ncessaires (10+2=12 au lieu de 10*2=20), car la prcdente instruction tait
dj dans le pipeline. Les deux instructions sont donc en traitement dans le processeur, avec un
dcalage d'un ou deux cycles d'horloge). Pour 3 instructions, 14 cycles d'horloge seront ainsi
ncessaires, etc.
Le principe du pipeline est ainsi comparable avec une chane de production de voitures. La
voiture passe d'un poste de travail un autre en suivant la chane de montage et sort
compltement assemble la sortie du btiment. Pour bien comprendre le principe, il est
ncessaire de regarder la chane dans son ensemble, et non pas vhicule par vhicule. Il faut
ainsi 3 heures pour faire une voiture, mais pourtant une voiture est produite toute les minutes !
Il faut noter toutefois qu'il existe diffrents types de pipelines, de 2 40 tages, mais le principe
reste le mme.

Technologie superscalaire

La technologie superscalaire (en anglais superscaling) consiste disposer plusieurs units de


traitement en parallle afin de pouvoir traiter plusieurs instructions par cycle.

HyperThreading
La technologie HyperThreading (ou Hyper-Threading, not HT, traduisez HyperFlots ou
HyperFlux) consiste dfinir deux processeurs logiques au sein d'un processeur physique.
Ainsi, le systme reconnat deux processeurs physiques et se comporte en systme multitche
en envoyant deux thrads simultans, on parle alors de SMT (Simultaneous Multi Threading).
Cette supercherie permet d'utiliser au mieux les ressources du processeur en garantissant
que des donnes lui sont envoyes en masse.

Multi-coeur
Un processeur multi-coeur est tout simplement un processeur compos non pas de 1 mais de
2 (ou 4 ou 8) units de calcul. Ainsi, pour un processeur bi-coeur (ou DualCore) le processeur
dispose frquence d'horloge gale d'une puissance de calcul deux fois plus importante. Pour
autant, le gain n'est pas systmatiquement visible. En effet, il faut que les logiciels et les
systmes d'exploitation sachent grer correctement ces processeurs afin qu'un gain significatif
soit perceptible. Ainsi, sous Windows, seul Vista et Sept exploitent correctement ces
processeurs. Dans ce cas, la version 64 bits est conseille.

Ressources sur le mme sujet


Dterminer le modle et la frquence de son processeur avec SIW, Everest, Aida32 ou
CPU-Z
Processor Procesador Prozessor Processore Microprocessador
Ce document intitul Processeur issu de CommentCaMarche (www.commentcamarche.net) est mis
disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page,
dans les conditions fixes par la licence, tant que cette note apparat clairement.