Vous êtes sur la page 1sur 24

SUPPORT DE FORMATION : Processeurs

Page 1
SUPPORT DE FORMATION : Processeurs

TABLE DES MATIERES

PROCESSEUR ........................................................................................................................ 3

ARCHITECTURE INTERNE DU PROCESSEUR ................................................................ 5

ARCHITECTURE DES PROCESSEURS POUR MICRO-ORDINATEURS ..................... 9

JEU D'INSTRUCTION DU PROCESSEUR ......................................................................... 12

ARCHITECTURES EVOLUEES ............................................................................................ 14

TECHNOLOGIE DES MICROPROCESSEURS .................................................................. 19

ANNEXES

Modes de fonctionnement des processeurs Intel ................................................................. 21

Exemple de jeu d'instructions ............................................................................................. 22

EXERCICES ............................................................................................................................ 23

afpa auteur centre formation module sq/item type doc millsime page 2
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

PROCESSEUR

PROCESSEUR

Un processeur est un ensemble matriel destin, dans un ordinateur ou une autre machine, interprter et
excuter des traitements. Cet organe peut tre gnraliste et constituer le processeur central d'un
ordinateur (par exemple, le Pentium) ou spcialis dans des tches particulires ; par exemple, un
processeur DSP (Digital Signal Processor) est spcialis dans le traitement des signaux numriques.

Le processeur central peut tre vu comme le cerveau (c'est la partie la plus "intelligente") ou comme le
coeur (qui pompe des instructions et expulse des donnes, et non du sang) de l'ordinateur ; il est aussi
appel :

UCT (Unit Centrale de Traitement) ou CPU (Central Processing Unit) dans un gros systme,

microprocesseur dans un micro-ordinateur (processeur tenant tout entier sur une seule puce de
silicium et contenant plusieurs millions de composants lectroniques).

Le processeur central remplit les fonctions suivantes :

Dcodage et excution des instructions contenues dans les programmes, en passant par un stockage
intermdiaire dans des registres.

Lecture/criture des donnes en mmoire.

Commande des autres lments de l'ordinateur, contrle des oprations d'entre/sortie (clavier,
souris,...), et gestion des units de stockage et des priphriques.

HORLOGE

Les ordinateurs sont des machines synchrones, ils sont cadencs par une horloge (c'est--dire qu'une
instruction lmentaire du processeur ncessite un nombre entier de cycles d'horloge).

L'horloge (ou gnrateur de signal d'horloge) est une puce de la carte mre base sur un oscillateur
qui utilise un cristal de quartz. Le rythme du quartz est divis pour obtenir le rythme de l'ordinateur.
Tel les battements d'un coeur, l'horloge rythme donc la vie de l'ordinateur en gnrant la cadence qui
sert de cycle de base pour le fonctionnement de l'ordinateur (processeur et autres circuits tels que le
Timer).

La frquence d'horloge est mesure en Mga-Hertz (MHz), le Hertz tant l'unit qui correspond la
frquence d'un phnomne dont la priode est une seconde.

La vitesse d'horloge (en MHz) donne la dure de chaque cycle machine, c'est--dire l'intervalle de
temps au cours duquel le processeur transfre l'adresse d'un mot sur le bus adresses et recherche en
mmoire la donne demande qu'il charge sur le bus donnes. La vitesse d'horloge a tendance
augmenter avec les gnrations de processeurs. Par exemples, pour les microprocesseurs Intel, ...

afpa auteur centre formation module sq/item type doc millsime page 3
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

processeurs frquences
anciens 8088 4.77, 8, 10
8086 8, 10
80286 6, 8, 10, 12, 16, 20
386SX 16, 20, 25
386DX 16, 20, 25, 33
486SX 25, 33
486DX 25, 33, 50, 66, 75, 100
actuels Pentium (60, 66, 75, 90, 100, 120), 133, 150, 166, 200
Pentium Pro 150, 180, 200
MMX (Pentium) 166, 200
Klamath (Pentium Pro) 233, 266

Le Timer (ou horloge programmable) est un circuit de la carte mre utilisant l'horloge afin de
gnrer des signaux tous les x cycles d'horloge (il est dit "programmable" car cette frquence peut tre
modifie). Ce circuit permet au processeur de maintenir l'heure et la date systme lorsque le systme
est sous tension (une batterie permet la maintenance hors tension). Le timer est exploit pour produire
des signaux horaires rguliers de nombreuses fins, y compris pour gnrer des sons sur le haut parleur.

STRUCTURE EXTERNE D'UN MICROPROCESSEUR

Vu de l'extrieur, un microprocesseur se prsente sous la forme d'un botier comprenant un certains


nombre de broches.

Les broches permettent au processeur de communiquer avec les composants de la carte mre. Chaque
broche est gnralement ddie une tche unique, par exemple ...

alimentation,
bus de donnes et d'adresses,
gestion du bus (demande/autorisation d'accs au bus par un circuit extrieur, signal de lecture/criture
d'une donne mmoire ou d'entre/sortie,...),
contrle du processeur (horloge, initialisation, interruption,...).

Le nombre de broches (et donc les possibilits de communications) ont tendance augmenter avec
les gnrations de processeurs. Par exemples, pour les microprocesseurs Intel, ...

processeurs nombre de broches


anciens 8088/8086 40
80286 68
386SX 100
386DX 132
actuels 486 168
Pentium 273
Pentium Pro 390

Les botiers processeurs peuvent tre souds sur la carte mre, ou insr sur un support. Pour un
processeur insr sur un support, il peut tre extractible l'aide d'un outil spcial vitant de tordre ou de
casser les pattes (par exemple, PGA), ou dot d'un levier permettant une extraction aise sans outils
spciaux (support ZIF : Zero Insertion Force).

afpa auteur centre formation module sq/item type doc millsime page 4
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

ARCHITECTURE INTERNE DU PROCESSEUR

ARCHITECTURE INTERNE D'UN PROCESSEUR

Un processeur est constitu au minimum :

d'une unit de commande qui coordonne le fonctionnement,


d'une unit arithmtique et logique qui effectue les traitements,
des registres qui permettent un stockage local.
PROCESSEUR

UNITE DE COMMANDE REGISTRES UNITE ARITHMETIQUE


ET LOGIQUE

BUS INTERNE

INTERFACE AUX BUS

BUS (EXTERNE) DE L'UNITE CENTRALE

REGISTRES

Un registre est une petite mmoire spcialise (interne au processeur) offrant la possibilit de garder en
mmoire dans le processeur lui-mme un certain nombre d'informations, afin d'effectuer des traitements
complexes sans avoir attendre un transfert d'octets depuis la mmoire centrale. Les transferts de
donnes entre les registres passent par le bus de donnes interne au processeur, ce qui les rend trs
rapides par rapport aux accs la mmoire centrale qui transitent par le bus externe.

Le nombre (quelques dizaines) et la taille des registres est une des caractristiques du processeur.

Lorsquon dit qu'un microprocesseur a une architecture 8, 16, 32 bits ou 64 bits, on fait gnralement
rfrence la taille de ses registres et de son bus interne de donnes. La taille des registres dtermine
la complexit, la quantit et le dbit des informations que le processeur est capable de prendre en compte
en une seule opration.

processeur taille des registres (en bits)


8088 16
8086 16
80286 16
80386 32
486 32
Pentium 32 et 64

afpa auteur centre formation module sq/item type doc millsime page 5
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

UNITE DE COMMANDE (UC) ET UNITE ARITHMETIQUE ET LOGIQUE (UAL)

PROCESSEUR MEMOIRE
programme
UNITE DE COMMANDE code

dcodeur compteur ordinal


instruction

squenceur registre instruction


donnes

donne
UAL

Unit de commande (UC ou unit de contrle)

L'UC est un organe charg de coordonner le fonctionnement des mmoires, de l'UAL et des organes
d'accs pour assurer l'excution des instructions successives d'un programme. Elle comporte :

Un registre appel compteur ordinal qui tient jour les adresses mmoire des instructions
successives excuter ; il est command par les impulsions d'horloge.

Un registre d'instruction qui mmorise l'instruction en cours d'excution.

Un dcodeur d'instruction qui reconnait l'instruction contenue dans le registre instruction (il indique
au squenceur la squence de micro-commandes raliser pour excuter l'instruction).

Un squenceur qui fournit la suite de micro-commandes (chargement, dcalage,...) ncessaires au


droulement de l'instruction. Les micro-commandes sont dlivres suivant le rythme de l'horloge
interne.

Unit Aritmtique et logique (UAL) aussi appele unit de calcul, UT (Unit de Traitement) ou
ALU (Arithmetic and Logical Unit).

L'UAL est un organe dans lequel est effectivement ralis le traitement des donnes :

Oprations arithmtiques : addition, soustraction, dcalage droite/gauche, incrmentation,


dcrmentation.

Oprations logiques : ET boolen, OU boolen, complmentation, OU exclusif.

Positionnement d'indicateurs du registre d'tat.

L'UAL ne traite que les nombres entiers, les nombres rels sont traits par plusieurs instructions
manipulant des entiers. L'UAL reoit les informations traiter dans des registres d'entre et renvoie
les rsultats partir d'un registre de sortie. L'accumulateur est un registre qui contient la fois le
premier oprande et reoit le rsultat. Les changes d'informations entre registres d'entre/sortie et le
reste de l'ordinateur sont dclenchs par l'Unit de Commande.

afpa auteur centre formation module sq/item type doc millsime page 6
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

PRINCIPE SIMPLIFIE D'EXECUTION D'UNE INSTRUCTION

PROCESSEUR MEMOIRE

programme
UNITE DE COMMANDE code

dcodage 1 instruction

donnes
2
donne
UAL

excution

EXECUTION D'UNE INSTRUCTION PORTANT SUR UN OPERANDE MEMOIRE

Une instruction processeur est en gnral compose de deux parties : le code opration qui indique la
nature de l'opration effectuer, et l'adresse de la donne (ou oprande) qui est la quantit sur laquelle
l'opration doit tre effectue.

1re phase : recherche et dcodage de l'instruction (cette premire phase est valable pour tout type
d'instruction).

PROCESSEUR MEMOIRE

programme
UNITE DE COMMANDE BUS code
compteur ordinal registre adresse ADRESSE
adresse instruction adresse inst. instruction
1
registre instruction registre donne

code opration adresse donne instruction 2


donnes
BUS
DONNEE
donne
UAL

accumulateur

afpa auteur centre formation module sq/item type doc millsime page 7
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

Le contenu du compteur ordinal (adresse de l'instruction excuter) est envoy dans le registre
d'adresse. Un signal de lecture est envoy la mmoire via le bus de commande.

L'instruction lue est envoye dans le registre de donnes, puis transfre dans le registre
d'instruction. L'UC dcode l'instruction et envoie un ordre de prparation l'UAL. Le compteur
ordinal est incrment afin de pointer sur l'instruction suivante.

2me partie : excution de l'instruction.

PROCESSEUR MEMOIRE

programme
UNITE DE COMMANDE code
BUS
compteur ordinal registre adresse ADRESSE
adresse adresse donne 3 instruction

registre instruction

code opration adresse donne


donnes

instruction dcode
UAL donne
accumulateur registre donne

donne, puis rsultat donne


4
BUS
DONNEE

L'adresse de la zone (contenue dans le registre d'instruction) est envoye dans le registre adresse
(l'UC recherche l'oprande de l'instruction).

L'UC dclenche le transfert des donnes traiter vers l'UAL (registre donne) qui effectue le
traitement. Le rsultat est inscrit dans l'accumulateur. L'UC range le rsultat en mmoire centrale
l'adresse contenue dans le registre d'instruction (en passant par les registres adresse et donne).

EXECUTION D'UNE INSTRUCTION DE RUPTURE DE SEQUENCE

Ce type d'instruction, galement appele instruction de branchement ou de saut, permet de modifier le


droulement squentiel du programme, en faisant suivre l'instruction de rupture de squence non par
l'instruction place l'adresse suivante, mais par une instruction dont l'adresse est fournie par l'instruction
de rupture de squence.

Le branchement peut tre conditionnel ; il ne sera alors effectif que si une condition, portant gnralement
sur le contenu de l'accumulateur, est ralise ; sinon le programme se continuera en squence.

afpa auteur centre formation module sq/item type doc millsime page 8
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

ARCHITECTURES DES PROCESSEURS POUR MICRO-ORDINATEURS

COMPATIBLES PC

Intel (80x86) a t le seul fournisseur de microprocesseurs pour compatibles PC et PS/2 jusqu' la fin
des annes 80. Il reste aujourd'hui le premier fabriquant de microprocesseurs du monde, mais il est
concurrencs par plusieurs socits produisants des processeurs compatibles Intel : AMD (Advanced
Micro Devices), Cyrix (Nippon Electric Compagny), C&T (Chips & Technologies), IBM, Nexgen, ...

Historique des principaux processeurs Intel :

processeur date registre bus de bus copro. cache cache vitesse faible
(bits) donnes d'adresse int- intgr intgr interne conso.
(bits) (bits) gr niveau 1 niveau 2 augmente
8088 1979 16 8 20
8086 1978 16 16 20
80286 1982 16 16 24
386SX 1988 32 16 24
386SL 1990 32 16 24 oui
386DX 1985 32 32 32
486SX 1991 32 32 32 8 Ko
486SL 1992 32 32 32 8 Ko oui
486SX2 1994 32 32 32 8 Ko x2
486DX 1989 32 32 32 oui 8 Ko
486DX2 1992 32 32 32 oui 8 Ko x2
Intel DX4 1994 32 32 32 oui 16 Ko x3
Pentium 1993 32 64 32 oui 2 x 8 Ko xn
Pentium Pro 1995 32 64 32 oui 2 x 8 Ko 256 ou xn
512 Ko
MMX 1997 32 (64) 64 32 oui 2x16 Ko xn
Klamath 1997 32 (64) 64 32 oui xn

Au 1er janvier 1997, les processeurs du march des compatibles PC sont les suivants :
entre de gamme : Pentium/133
milieu de gamme : Pentium/150, 166
haut de gamme : Pentium/200 et Pentium Pro 180, 200

Compatibilit ascendante :

Un microprocesseur de la famille 80x86 est entirement compatible avec tous les logiciels crits pour
les versions antrieures (par exemple, un logiciel crit pour un 8086 "tourne" sur un 80386). Tous les
processeurs Intel sont bass sur le jeu d'instructions du 8086, avec des enrichissements progressifs en
fonction de l'volution dans la gamme (286, 386, 486, Pentium), mais au fil des gnrations le code
excutable a acquis de nouvelles instructions. Ainsi, le mode 386 tendu de Windows 3.1 fonctionne
uniquement sur les ordinateurs architecturs autour d'un processeur partir du 80386 (parce que ce
logiciel exploite des commandes correspondant un mode de fonctionnement qui n'existait pas dans le
jeu d'instructions du 80286).

afpa auteur centre formation module sq/item type doc millsime page 9
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

VARIANTES D'ARCHITECTURE

Coprocesseur intgr : partir du 486

Un coprocesseur est un dispositif qui tend le jeu d'instructions et le jeu de registres d'un
processeur.

Contrairement l'ALU, un coprocesseur arithmtique, appel aussi processeur mathmatique,


FPU (Floating Point Unit), NDP (Numeric Data Processor) ou NPX (Numeric Processor eXtension),
travaille directement sur des nombres rels (codification virgule flottante). Pour cela, il dispose, en
plus des 4 oprations de base, de nombreuses fonctions mathmatiques (trigonomtriques,
logarithmiques,...). Le coprocesseur arithmtique acclre donc surtout les logiciels ayant recours au
calcul rel, tels que DAO, CAO, simulation, synthse d'image, calcul scientifique, statistiques,
tableur, grapheur et PAO.

Sur les anciens PC, un emplacement est rserv au coprocesseur arithmtique externe prs du
microprocesseur. Mais les nouveaux microprocesseurs, partir de 486DX, intgrent directement un
coprocesseur interne sur la mme puce.

Cache intgr (not "C" pour certains processeurs) : partir du 486

La tendance est l'intgration d'un cache (dit de "1er niveau") de plus en plus grand l'intrieur mme
du processeur, ce qui n'exclue pas un cache processeur extrieur (dit de 2me niveau). Le Pentium Pro
intgre mme ce cache de second niveau l'intrieur du processeur.

Processeurs DX et SX.

Le terme "SX" dsigne une version simplifie d'un processeur "DX". Mais, suivant les processeurs,
cette simplification n'est pas de mme nature.

Un 386SX est un 386 avec un bus de donnes de 16 bits (au lieu de 32 bits pour le DX).

Un 486SX est un 486 sur lequel on a inhib le coprocesseur (l'architecture restant 32 bits).

Augmentation de la vitesse interne (not avec un chiffre multiplicateur pour certains processeurs
tels que le 486 DX2).

Le processeur peut tre caractris par deux frquences au lieu d'une : la frquence interne et la
frquence de la carte mre d'accueil (actuellement, 66 MHz maximum). Ainsi, le processeur peut
fonctionner en interne une certaine frquence, et communiquer avec l'extrieur une autre frquence
moins leve.

Le multiplicateur de frquence est un composant plac au niveau de l'interface avec le bus externe.
On obtient ainsi une machine moins chre et rapide sur le plan des traitements au dtriment des seules
entres/sorties.

afpa auteur centre formation module sq/item type doc millsime page 10
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

coefficient processeur frquence interne frquence externe


x 1.5 Pentium/100 100 66
x2 Pentium/133 133 66
x 2.5 Pentium/150 150 60
Pentium/166 166 66
x3 Pentium/180 180 60
Pentium/200 200 66
Pentium Pro/180 180 60
Pentium Pro/200 200 66

Economie d'nergie (note L pour Low power)

Certains processeurs sont quips d'une unit de gestion de la consommation, et fonctionnent une
tension interne moindre, afin d'tre utiliss pour les portables. Ce type de processeur est statique,
c'est--dire que, mme sans tre aliment pendant une dure assez longue, il conserve son tat courant
(les autres processeurs ont besoin d'tre rgulirement "rafrachis" pour continuer fonctionner).

Exemples : 386SL, 486SL et Pentium VRT (Voltage Reduction Technology) d'Intel.

Evolution des PC

Plusieurs solutions sont possibles afin de doper un micro-ordinateur : change de processeur


(pour un processeur de mme brochage, et une carte mre ayant un processeur extractible), ajout dun
overdrive (pour une carte mre ayant un support overdrive) ou changement de carte mre.

MACINTOSH

Motorola (68xxx) est le processeur de base du Macintosh d'Apple. Aujourd'hui, les derniers Macintosh
tendent s'quiper de processeur Risc PowerPC codvelopp par IBM, Apple et Motorola.

afpa auteur centre formation module sq/item type doc millsime page 11
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

JEU D'INSTRUCTIONS DU PROCESSEUR

JEU D'INSTRUCTIONS

Un processeur excute des ordres crits en langage machine. Dans ce langage, chaque instruction
lmentaire est reprsente par un code particulier, exprim sur un ou plusieurs octets (ce code spcifie
notamment le traitement effectuer et les oprandes concernes : registres, mmoire, mode
d'adressage,...).

Le jeu d'instructions d'un processeur particulier est donc constitu par l'ensemble des codes qu'il est
capable de reconnatre et d'excuter. Par exemple,...

Instructions de traitement :

Transfert entre mmoire et registre, ou entre registres (MOV (transfert), PUSH et POP
(empiler/dpiler)).
Oprations arithmtiques sur les nombres entiers (ADD, SUB, MUL, DIV,..).
Oprations arithmtiques en virgule flottante.
Instructions logiques (NOT, AND, OR,...).
Instructions de dcalage.

Instructions de branchements (CALL, RET, JMP,...).

Instructions d'entre/sortie : envoi et demande de donnes avec les ports (IN, OUT).

Instructions de commande et d'tat : commande la mise d'un organe de la machine dans un certain
tat, ou teste l'tat dans lequel se trouve cet organe.

REALISATION DU SEQUENCEUR DE L'UNITE DE COMMANDE

Chaque instruction lmentaire correspond un circuit cbl ou un micro-programme.

Logique cble (logique discrte)

Toutes les fonctions (transformation des bits) sont reprsentes par des circuits relis lectriquement
entre eux. Cette solution permet d'obtenir des fonctions (additionneurs, multiplicateurs, dcaleurs de
bits,...) qui ne rclament qu'un seul cycle d'horloge.

Inconvnient de la logique cble : il faut autant de circuits que de fonctions et, quand le processeur
doit offrir un grand nombre de fonctions, le cblage d'interconnexion des circuits devient inextricable,
ce qui rend le cot de dveloppement et le risque d'erreur levs.

afpa auteur centre formation module sq/item type doc millsime page 12
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

Logique micro-programme (logique squentielle, microprogrammation)

Il n'est donc pas possible pour la plupart des microprocesseurs "classiques" (dits CISC) de cbler
directement les actions excuter pour chaque instruction de leur langage machine (celles-ci sont trop
nombreuses et effectuent parfois des traitements complexes). L'excution d'une instruction est donc
dcompose en tapes lmentaires, qui sont, quant elles, excutes par des blocs de logique cble.

Le microcode est la manire de programmer chaque instruction en fonction des lments de base
(cbls) disponibles. Les circuits accomplissent diverses oprations selon les instructions de ce
microcode. Le microcode est appel firmware (intermdiaire entre software et hardware) et est stock
dans la ROM de commande de l'Unit de Commande du processeur. Le code opration de l'instruction
excuter est considr comme l'adresse dans la mmoire de commande de la premire micro-
instruction du microprogramme associ l'instruction.

Cette technique d'ajout d'instructions complexes, sous forme de microprogrammes composs par une
suite d'oprations lmentaires, s'appelle la microprogrammation.

Avantages de la logique micro-programme : rduction du cot de ralisation, facilit de test du


squenceur et d'ajout d'instructions (plus facile dans une ROM que de modifier un squenceur cbl).

Inconvnients de la logique micro-programme : cette mthode ncessite d'implanter sur les puces
des ROM qui pnalisent les performances en raison du temps ncessaire au dcodage et au
squencement des instructions. De plus, chaque tape lmentaire d'une instruction ncessite un cycle
d'horloge ; une fonction standard ne peut donc pas se raliser en moins de 3 10 cycles (et certaines
instructions complexes ncessitent plusieurs dizaines de cycles).

Logique utilise par les processeurs actuels

Le 80386 est entirement base de microcode.

A partir du 486, les processeurs Intel sont raliss avec un mlange des deux logiques. La logique
cble concerne les instructions les plus frquemment utilises, la majeure partie des fonctions
restant sous forme de microcode. On obtient un compromis entre performance (logique cble) et
cot de dveloppement acceptable (logique micro-programme).

Les processeurs RISC sont bass sur la logique cble, ils ne proposent pas d'instructions complexes,
celles-ci doivent donc tre prises en charge par les compilateurs.

afpa auteur centre formation module sq/item type doc millsime page 13
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

ARCHITECTURES EVOLUEES

ARCHITECTURES CISC ET RISC

CISC (Complex Instructions Set Computer)= processeur jeu d'instructions classique tels que ceux
utiliss sur les micro-ordinateurs (Intel 386, Motorola 68030,...).

Il s'agit de processeurs complexes comportant beaucoup d'instructions (plusieurs centaines, car la


volont d'assurer la compatibilit d'un modle l'autre a conduit les constructeurs garder, dans
chaque nouvelle machine, des instructions fossiles). Certaines instructions sont complexes avec une
grande varit de formats diffrents (car au dbut de l'informatique une grande partie des
dveloppements se faisait en assembleur).

Le jeu d'instructions est donc le plus complet possible (plusieurs centaines d'instructions), ce qui
implique une complexit du microcode (jeu d'instructions) et des programmes pas forcment trs
performants (une instruction complexe peut tre plus lente que son quivalent en succession
d'instructions simples), le temps d'excution d'une instruction allant de 2 12 cycles. De plus, la
plupart des instructions microcodes sont pas, ou peu, utilises ; les instructions gnres par les
compilateurs sont, dans 50% 70% des cas, du type LOAD, CALL et BRANCH.

L'efficacit d'une machine n'est donc pas forcment lie la diversit du jeu d'instructions.

RISC (Reduced Instructions Set Computer) = processeur jeu rduit d'instructions tels que ceux
utiliss sur les stations de travail (Alpha de DEC, Power d'IBM, Sparc de Sun, PA8000 de HP, R8000
de Mips,...).

Il s'agit de processeurs utilisant une logique cble (pas de microcode), un grand nombre de
registres (plusieurs centaines) et des pipelines (commencement de l'excution d'une instruction avant
mme que la prcdente ne soit acheve).

Le jeu d'instructions est rduit une cinquantaine avec peu d'instructions avec rfrence
mmoire, excution de la plupart des instructions en un seul cycle machine, des instructions courtes
(un seul accs mmoire permet alors de charger plusieurs instructions) et de formats homognes (afin
de simplifier et d'acclrer le dcodage).

technologie CISC RISC


instructions complexes, prenant plusieurs cycles simples, ne prenant qu'un cycle
squenceur microprogramm cbl
localisation de la complexit dans le microprogramme dans le compilateur
format des instructions variable fixe
nombre d'instructions et de modes d'adressage beaucoup peu
nombre de registres peu beaucoup
instructions avec rfrence mmoire toutes les instructions peuvent faire seules deux instructions font accs
des accs la mmoire la mmoire (lecture/criture)

afpa auteur centre formation module sq/item type doc millsime page 14
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

Ces deux technologies tendent fusionner car les derniers processeurs CISC ( partir du 486 d'Intel)
s'inspirent du RISC (pipeline, excution des instructions les plus frquentes en un cycle d'horloge). De
mme, le terme RISC ne veut plus dire grand chose et on ne le conserve que par habitude. Par exemple,
l'Alpha 21064 de DEC comprend 168 instructions et le Power PC 601 prs de 200, alors que le pentium
nen a que 220. Enfin, le Pentium Pro transforme chaque commande en une srie dinstructions
lmentaires de type RISC appeles micro-ops.

ARCHITECTURE PIPELINE : pour excuter une instruction par cycle (en moyenne)

Pipeline

Le traitement d'une instruction ncessite plusieurs phases, par exemple :

CH chargement (lecture) de l'instruction


DC dcodage de l'instruction (et slection des registres et/ou des adresses d'entre/sortie)
EX excution proprement dit
SV sauvegarde (criture) du rsultat en mmoire

Une architecture pipeline consiste segmenter les units qui accomplissent ces tches afin de pouvoir
commencer une nouvelle instruction alors que la prcdente n'est pas termine (c'est le travail la
chane du processeur). Ainsi, une 1re instruction peut en tre au stade de l'excution, pendant qu'une
2me en est au dcodage et qu'une 3me est en cours de chargement. En fait, la ralit est un peu plus
complique dans la mesure ou le temps exig pour une tape donne n'est pas toujours le mme pour
toutes les instructions.

cycles 1 2 3 4 5 6 7 8
instructions
1 CH DC EX SV
2 CH DC EX SV
3 CH DC EX SV
4 CH DC EX SV
5 CH DC EX SV

Le nom "pipeline" a t donn par analogie avec les canalisations o le carburant liquide entre,
s'coule et ressort.

Les pipelines sont apparues dans les premire gnrations de supercalculateurs (Cray 1, IBM 360/91,
Control Data 6600, Cyber) et se rencontre aujourd'hui sur la plupart des minis (Vax,...) et micros (486
avec pipeline simple, Pentium avec pipeline double).

Super-pipeline

La technique de superpipeline amliore le pipeline en dcoupant chacune des tapes en n niveaux


intermdiaires avec mmorisation (on parle de superpipeline au del de 4 niveaux).

afpa auteur centre formation module sq/item type doc millsime page 15
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

cycles 1 2 3 4 5 6 7
instructions
1 CH DC EX SV
2 CH DC EX SV
3 CH DC EX SV
4 CH DC EX SV
5 CH DC EX SV

Exemples : R4000, Pentium (2 pipelines de 5 niveaux), Pentium Pro (14 niveaux), Motorola 68040
(pipeline de 6 niveaux).

Problmes du pipeline

La prsence d'un pipeline conduit minimiser le nombre de sauts et de branchements conditionnels


dans les programmes. En effet, il faut repipeliniser partir de la nouvelle adresse et donc attendre un
ou plusieurs cycles d'horloge avant de reprendre le rythme normal d'excution (le nombre de
branchements est en moyenne de 1 pour 6 9 instructions).

Amliorations du pipeline :

La technique de prdiction de branchement consiste dtecter la prsence d'un saut avec un cycle
d'avance, et donc pipeliniser l'instruction qui sera effectivement excute le cycle suivant (en cas
derreur, le pipeline est purg).

Exemples : 88110 et Power PC de Motorola, Pentium et Pentium Pro d'Intel (mais pas le 486),
Alpha de DEC.

La technique d'excution spculative consiste excuter par anticipation l'instruction qui se trouve
l'adresse suivante et ne pas sortir le rsultat s'il fallait la sauter.

Exemples : Pentium Pro d'Intel (mais pas le Pentium), 29000 d'AMD.

ARCHITECTURE SUPERSCALAIRE : pour excuter plusieurs instructions par cycle

Un processeur superscalaire incorpore plusieurs Unit de Traitement (ALU). A chaque cycle


d'horloge, le processeur peut donc excuter autant d'instructions qu'il contient d'ALU.

cycles 1 2 3 4 5 6
instructions
1 CH DC EX SV
2 CH DC EX SV
3 CH DC EX SV
4 CH DC EX SV
5 CH DC EX SV
6 CH DC EX SV

afpa auteur centre formation module sq/item type doc millsime page 16
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

Cette architecture permet d'excuter plusieurs instructions par cycle ...

mais il y a les processeurs qui permettent d'excuter plusieurs instructions de mme type par cycle
(2 instructions entires par cycle pour le Pentium, et 3 pour le Pentium Pro), ...

et ceux qui permettent seulement d'excuter plusieurs instructions de types diffrents par cycle (le
Power 1, le Power PC et l'Alpha excutent jusqu' 4 instructions par cycle : entre, flottante,
branchement et condition ; Le Power 2 excute 6 instructions par cycle).

La complexit de cette architecture vient de la gestion de l'unit de traitements et des registres, ainsi
que de l'organisation du code pour optimiser le paralllisme.

En effet, deux instructions conscutives devant tre excutes par la mme ALU ne pourront tre
paralllises. De plus, une instruction devant utiliser le rsultat d'une opration prcdente pourra tre
paralllise mais sera suspendue tant que le rsultat attendu ne sera pas disponible.

Une unit de prslection des instructions permet de dtecter les informations indpendantes et de
leur faire suivre un chemin compatible avec l'ordre logique de dlivrance des rsultats. Pour ne pas
ralentir le processeur, cette unit de prslection doit puiser ses informations au sein d'un cache.

Le Pentium Pro a adopt lexcution dans le dsordre. Les instructions demandant un accs
mmoire pour lire des donnes sont places en attente, tandis que dautres instructions sont traites. En
sortie de calcul, un dispositif replace les rsultats dans le bon ordre.

Un compilateur spcifique est indispensable pour optimiser ce type de processeur ; il doit tre capable
de rorganiser l'ordre des instructions pour viter les cycles d'attente.

TECHNOLOGIE MMX (MultiMedia eXtension) dIntel : Pentium multimdia (dbut 97).

Un processeur MMX est dot dun jeu de 57 instructions supplmentaires permettant dexcuter plus
rapidement les oprations les plus utilises en multimdia. De plus, un tel processeur offre un traitement
parallle des donnes (calcul vectoriel SIMD : Single Instruction - Multiple Data).

Comme pour les coprocesseur, pour quune application bnficie de ce gain de performances, il faut
quelle ait t prvue pour. La cible des Pentium MMX semble tre dabord le march grand public.

Exemples : MMX (Pentium MMX/ 166 et 200), Klamath (Pentium Pro MMX/233 et 266) dIntel.

VLIW (Very Long Instruction Word) : instructions trs longues

En VLIW, les instructions sont suffisamment longues pour contenir des oprations multiples. Un
processeur VLIW est donc forcment un processeur superscalaire.

Les instructions sont en fait dcoupes en n oprations lmentaires associes chacune une unit de
traitement. La logique de dcodage des instructions est rduite sa plus simple expression car
l'affectation des oprations aux units de traitement est dj code dans l'instruction elle-mme. De plus,
le processeur n'a pas grer les conflits de ressources et d'utilisation des registres (c'est le compilateur qui
structure le code en consquence).

afpa auteur centre formation module sq/item type doc millsime page 17
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

Exemples : i860 d'Intel, futur P7 d'Intel/HP (jusqu' 30 instructions Risc par cycle).

EXEMPLE DU PENTIUM

Le Pentium a une architecture mi 32 mi 64 bits :

ALU et bus interne de donnes 32 bits


bus de donnes externe 64 bits
FPU 80 bits
registre de dcodage d'instruction et cache d'instructions 256 bits

Le Pentium a une architecture CRISC (Complex Reduced Instruction Set Computer), c'est--dire qu'il
est apparent aux CISC et aux RISC. Il dispose notamment ...

d'un cblage des instructions les plus frquemment utilises,

d'un coprocesseur arithmtique utilisant des instructions cbles, donc plus rapide que celui du 486
(qui utilise des instructions sous forme de microcode),

d'un double pipeline avec unit de prdiction de branchement,

d'une architecture superscalaire. Le Pentium comprend l'quivalent de deux 486 oeuvrant en


parallle ; une unit de contrle se charge de rpartir les diverses instructions entre les deux 486,
suivant leur disponibilit (pour les instructions d'une mme tche, mais il n'y a pas rpartition de
tches distinctes) ; ce qui permet d'excuter jusqu' 2 instructions par cycle d'horloge.

cache d'instructions prdiction


de branchement
64 bits (8 Ko)
256 bits

tampons de prchargement
bus de contrle (lecture anticipe)
32 bits
32 bits 32 bits
bus de donnes interface
coprocesseur MMX
bus ALU ALU mathmatique
(64 bits) (entiers) (entiers) (virgule flottante)

32 bits 32 bits
bus d'adresses 64 bits
(32 bits)
jeu de registres
32 bits 32 bits

cache de donnes
(8 Ko)

processeur (CPU) coprocesseur (FPU)

afpa auteur centre formation module sq/item type doc millsime page 18
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

TECHNOLOGIE DES MICROPROCESSEURS

NIVEAUX D'INTEGRATION

La cellule de base de tout processeur est le transistor. Ce composant fondamental de l'lectronique


numrique agit comme un micro-interrupteur laissant ou non passer le courant selon le voltage qui lui est
appliqu. L'association de plusieurs milliers de transistors au sein de structures complexes ralise les
fonctions souhaites par les concepteurs du circuit intgr (registres, dcodeur d'instructions, unit
arithmtique et logique, bus interne, adressage de la mmoire,...).

La fabrication du microprocesseur est le rsultat du transfert d'un schma lectrique sur une plaquette
de silicium. Ce schma possde plusieurs couches superposes sur une seule plaquette pour former le
circuit final. Ce circuit est enferm dans un botier en cramique ou en plastique, puis reli aux broches
pour former un microprocesseur.

L'augmentation de la frquence des microprocesseurs accrot la temprature de fonctionnement.


Pour limiter cet effet, on peut :

quiper le processeur d'appareils de refroidissement,

ou augmenter l'intgration qui se mesure l'cartement (exprim en microns) entre deux


composants lmentaires sur une puce (la tension d'alimentation dcrot avec la finesse de la gravure).

technologie tension d'alimentation processeur


0,8 micron 5V 486 DX2/66 et Pentium/60, 66
0,6 micron 3,3 V DX4, Pentium/75, 90 et 100 et Pentium Pro/150
0,35 micron 2,9 V Pentium/120, Pentium Pro/166, 180 et 200, MMX, Power PC 604e
0,18 0,28 Klamath

Pour la technologie 0.8 micron, haute frquence (60 MHz), la dissipation thermique considrable
(jusqu' 16 Watts) ncessite un refroidissement par un gros radiateur et un ventilateur. Les premiers
Pentium (60 et 66) prsentaient de tels problmes de surchauffe (75C) que les concurrents d'Intel les ont
surnomms les barbecues. Pour la technologie 0.6 microns, la consommation (4 Watts) se contente d'un
simple radiateur.

TECHNOLOGIE DES PROCESSEURS

Les processeurs des grands systmes utilisent la technologie bipolaire (ou ECL : Emitter Coupled
Logic).

Les microprocesseurs quant eux utilisent une technologie dite CMOS (Complementary Metal Oxyde
Semiconductor). Les processeurs CMOS sont moins puissants (23 Mips contre 60 Mips), mais plus
simple frabriquer (donc moins chers l'achat) que les processeurs bipolaires. Cependant, l'cart entre
ces deux types de processeurs devrait rsorber rapidement compte tenu de la progression des
performances du CMOS. De plus, la technologie CMOS, consommant moins de courant et dgageant
moins de chaleur, ncessite un quipement de refroidissement moins important permettant donc d'obtenir
une architecture plus compacte. Les grands systmes commencent utiliser cette technologie CMOS.

afpa auteur centre formation module sq/item type doc millsime page 19
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

afpa auteur centre formation module sq/item type doc millsime page 20
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

MODES DE FONCTIONNEMENT DES PROCESSEURS INTEL

MODE REEL (mode du 8086 et de MS/DOS)

Le microprocesseur se comporte comme un 8086 classique, mais il connat alors la mme limitation
d'adressage mmoire. Les segments et les registres d'adressage sont utiliss de la mme faon que pour le
8086 afin d'accder 1 Mo de RAM. Ce mode assure la compatibilit avec les logiciels crits sur un PC
quip d'un 8086 et ports sur un processeur des gnrations suivantes.

Avec ce mode, un programme peut aller crire un endroit quelconque de la mmoire ou prendre
librement le contrle d'un priphrique. Mais, ce qui convenait pour le monotche, n'est plus adapt
pour le multitche (o un programme peut modifier accidentellement un autre programme en mmoire
ou ses donnes).

MS/DOS ne sait utiliser que ce mode sur un 80x86 et suivants.

MODE PROTEGE (mode apparu partir du 80286) = mode standard de Windows

Le mode protg amliore la gestion mmoire en permettant l'adressage direct de 16 Mo de mmoire


sur un 80286, et 4 Go partir du 486. A partir du 80286, un mcanisme de protection de la mmoire
(grave dans le silicium du microprocesseur) supprime le risque de collision entre programmes quand on
travail en mode protg. De plus, ce mode permet la gestion de mmoire virtuelle (4 Go sur le 80286, 64
To sur le 80386). Une interruption prvient le systme lorsqu'une tche a besoin d'un segment de mmoire
non rsident ; il change alors une portion de mmoire non utilise avec le segment demand.

Ce mode offre galement un fonctionnement multitche. Chaque tche dispose de sa propre table de
description indiquant les segments qu'elle utilise. Dans un contexte multitche, lorsque le processeur
commute sur une autre tche, il n'a besoin de stocker que cette table de description et le contenu des
registres. Chaque tche ayant sa table de description, elle ne peut utiliser les segments qui ne lui
appartiennent pas.

Systmes utilisant ce mode : Windows (mode standard), OS/2, UNIX,...

MODE 86 VIRTUEL (mode intermdiaire apparu avec le 80386)

La diffrence entre le mode 8086 virtuel et le mode rel (qui lui aussi mule un 8086) est qu'il peut y
avoir plusieurs environnements 8086 virtuels en mme temps. Le microprocesseur peut raliser plusieurs
tches indpendantes entre elles, en simulant l'excution de plusieurs 8086 dots chacun de leur propre
mmoire. Le processeur 386 est capable de grer des segments de mmoire pouvant atteindre 1 Mo ; les
programmes qui s'excutent dans ces segments fonctionnent exactement comme dans la mmoire d'un
compatible IBM PC (8086/88), chacun de ces segments est appel machine virtuelle MS/DOS.

Ce mode utilise la pagination (pages de 4 Ko) : pour que les adresses des diffrentes sessions 8086
virtuelles ne se mlangent pas dans la mmoire physique, le 80386 cre des adresses linaires en ajoutant
les contenus des registres de segment et de dplacement. Une table transforme ensuite cette adresse
linaire en adresse physique.

afpa auteur centre formation module sq/item type doc millsime page 21
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

ANNEXE : EXEMPLE DE JEU D'INSTRUCTIONS

afpa auteur centre formation module sq/item type doc millsime page 22
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

EXERCICES

q Vous voulez doper votre PC, quelles solutions soffrent vous dans les diffrents cas suivants ?

Vous avez un Pentium/133 avec 16 Mo de RAM.

Vous avez un 486 DX2.

Vous avez un 386 SX.

q Quelle diffrence existe-t-il entre un POP (Pentium Overdrive Processor) et un Pentium ?

q Sur quel type de processeur sont bass les Macintosh ?

q Quel type de processeur utilise-t-on sur les stations de travail ? Citer 3 processeurs ce type.

q Quels sont les rles respectifs des organes ALU, FPU et MMX du microprocesseur.

q Est-ce quun compatible PC a forcment un microprocesseur de marque Intel.

q Qua de particulier un microprocesseur par rapport aux autres processeurs ?

q Est-ce quun micro-ordinateur est forcment quip dun microprocesseur ?

q Quest-ce que la loi de Moore ?

afpa auteur centre formation module sq/item type doc millsime page 23
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc
SUPPORT DE FORMATION : Processeurs

q Compltez le schma suivant en indiquant entre chaque couche le type daction raliser.

5 - couche des langages d'application


(langages C, Cobal, Basic,...)

4 - couche du langage d'assemblage


(reprsentation symbolique du langage machine)

3 - couche du systme d'exploitation


(jeu d'instructions complt par des instructions
spcifiques au systme d'exploitation : pagination,
mmoire virtuelle, gestion de processus,...)

2 - couche machine traditionnelle


(jeu d'instructions du processeur)

1 - couche microprogramme
Processeur (si le processeur est bas sur du microcode)

0 - couche physique
(organes du processeur base de transistors)

afpa auteur centre formation module sq/item type doc millsime page 24
M. ASTRE Beaumont sup. form. 09/05 - v2.0 360066118.doc