SlideShare une entreprise Scribd logo
Université Saad Dahlab de Blida
Faculté des Sciences
Département d’Informatique
Licence Génie des Systèmes Informatiques (GSI)
Semestre 4 (2ème année)

ARCHITECTURE DES ORDINATEURS 2

S. AROUSSI

Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
PRÉAMBULE


Pré-requis: Cours (Archi1, S3).



UEF: ARchitecture et VLSI (ARVL)



Volume horaire hebdomadaire: 3H Cours + 1H30 TD



Évaluation: Continu + Examen.



Coefficient 1, Crédit 5

2
CONTENU DE LA MATIÈRE

I.

Architectures des Processeurs récents

II.

Mémoires

III.

Entrées/Sorties et Interruptions

3
CHAPITRE I:

ARCHITECTURES DES
PROCESSEURS RÉCENTS
PLAN DU CHAPITRE I


Introduction

 Fréquence
 CISC



versus RISC

Pipeline

 Super

Scalaire



Hyper Threading



Multi Cœurs



Multi Processeurs

5
INTRODUCTION


Recherche

permanente

de

l'augmentation

des

performances des processeurs: Évolution des architectures


Points principaux de cette évolution


Fréquence de fonctionnement



Jeu d'instructions



Mémoire cache



Parallélisation et optimisation des séquences d'instructions
(Pipeline, Superscalaires)



Chaque point influence en bien ou en mal un autre:
Recherche du meilleur compromis

6
FRÉQUENCE


Exprimé en Herts (Hz), la fréquence du processeur désigne le
nombre

d’opérations

effectuées

en

une

seconde

par

le

processeur. Une horloge lui définit sa cadence.


Idée: Augmenter la fréquence du fonctionnement (plus
d'instructions exécutées en moins de temps)



Problèmes technologiques et physiques:


Temps de propagation des signaux électriques



Dégagement de chaleur

7
FRÉQUENCE


Solutions

aux

problèmes

technologiques

et

physiques:


Diminuer la finesse de gravure






Conducteurs plus courts, propagation plus rapide

Diminue le dégagement de chaleur

Chercher d'autres technologies de réalisation de transistors et des
conducteurs



Les processeurs actuels ont une fréquence d’horloge autour
de 3 GHz (3 milliards d’opérations à la seconde) avec une

finesse de gravure de l’ordre de 20 nanomètres.

8
CISC VERSUS RISC


Les

processeurs

se

répartissent

en

deux

grandes

catégories:


Processeurs à jeu d'instruction étendu ou CISC (Complex
Instruction Set Computing)



Processeurs à jeu d'instructions réduit ou RISC (Reduced
Instruction Set Computing)

9
ARCHITECTURE CISC


Le processeur CISC possède un jeu étendu d’instructions
complexes et puissantes.



Le processeur CISC réduit le nombre d'instructions écrites dans
un programme et facile ainsi sa compilation.



Une instruction CISC peut effectuer plusieurs opérations
élémentaires (Chargement, Rangement, Arithmétique, ….).



Exemple (Assembleur 8086): ADD [200h], 125


Charger la valeur du mot mémoire 200h



Faire l’addition ([200h]+125)



Ranger le résultat dans le mot mémoire 200h

10
ARCHITECTURE CISC


Plusieurs étapes d’exécution (1 à plus de 100 cycles) sont
nécessaires pur exécuter une instruction CISC.



Exemple (Processeur 8088): l’instruction MUL nécessite
133 cycles pour multiplier deux entiers de 16 bits alors que
l’instruction MOV nécessite 2 cycles.



La longueur des instructions CISC sont variables (1 à 10
octets), ce qui ralentit le processus de décodage.



Plus de modes d’adressage mémoire, dont certains

complexes.

11
ARCHITECTURE RISC


Lorsque

le

jeu

programmeurs
d’instructions.

ou
Ils

d’instructions

est

compilateurs
se

contentent

complexe,

n’utilisent
souvent

la

pas
d’un

plupart
tout

nombre

le

des
jeu

réduit

d’instructions:


80 % des programmes n’utilisent que 20 % du jeu d’instructions.



Les instructions les plus utilisées sont les instructions de chargement et de
rangement



L’apparition de l’architecture RISC vint de la volonté de favoriser au
maximum les instructions simples qui constituent la grande partie

des programmes. L’idée est de supprimer les instructions complexes et
les modes d’adressage élaborés afin d’augmenter la fréquence
12

d’horloge et d’augmenter ainsi la vitesse d’exécution de toutes les

instructions.
ARCHITECTURE RISC



La philosophie essentielle des processeurs RISC est d’avoir
un nombre important de registres. Des instructions de

chargement et de rangement avec quelques modes
d’adressage sont les seules à faire les échanges avec la

mémoire.

Toutes

les

autres

instructions

travaillent

uniquement avec les registres.
13
ARCHITECTURE RISC


Les principales caractéristiques des processeurs RISC sont les
suivantes:



Codage uniforme des instructions. Toutes les instructions

sont codées avec un même nombre de bits. Le code d’opération
se trouve à la même position pour toutes les instructions. Ceci
facilite le décodage des instructions.


Registres indifférenciés et nombreux. Tous les registres
peuvent être utilisés dans tous les contextes. Il n’y a par
exemple pas de registre spécifique pour la pile. Les processeurs
14
séparent cependant les registres pour les valeurs flottantes des

autres registres.
ARCHITECTURE RISC


Les principales caractéristiques des processeurs RISC sont les suivantes.



Limitation des accès mémoire. Les seules instructions ayant accès à la
mémoire sont les instructions de chargement et de rangement. Toutes les
autres instructions opèrent sur les registres. Il en résulte une utilisation
intensive des registres.



Nombre réduit de modes d’adressage. Il n’y pas de mode d’adressage
complexe. Les modes d’adressages possibles sont généralement immédiat,
direct, indirect et relatifs.



Nombre réduit de types de données. Les seuls types de données
supportés sont les entiers de différentes tailles (8, 16, 32 et 64 bits) et des
nombres flottants en simple et double précision. Certains processeurs
CISC comportent des instructions pour le traitement des chaînes 15
de
caractères, des polynômes ou des complexes
EXEMPLE D’INSTRUCTIONS RISC

16
EXEMPLE D’INSTRUCTIONS RISC


Ecrire

le

programme

suivant

en

utilisant

le

jeu

d’instructions CISC (par exemple INTEL 8086) et RISC.

17
EXEMPLE D’INSTRUCTIONS RISC

18
CISC VERSUS RISC
CISC

RISC

Complex Instruction Set Computing

Reduced Instruction Set Computing

Instructions complexes prenant
plusieurs cycles

Instructions simples ne prenant
qu’un seul cycle

Format variable

Format fixe

Décodage complexe et lent

Décodage simple et rapide

Peu de registres

Beaucoup de registres

Toutes les instructions sont
susceptibles d’accèder à la
Mémoire

Seules les instructions de chargement
et de rangement ont accès à la
mémoire

Beaucoup de mode d’adressage

Peu de mode d’adressage

Plus d'instructions disponibles :
programmation plus simple et
souple

Peu d’instructions disponibles:
programmation difficile

Compilateur simple

Compilateur complexe

19
CISC VERSUS RISC


L'architecture

RISC

a

montré

qu'elle

était

plus

performante


Tous les processeurs fonctionnent en RISC de nos jours



Pour un processeur avec un jeu d'instruction CISC:
Traduction interne des instructions CISC en microopérations de type RISC

20
PIPELINE
 Machine sans pipeline
 Processeur conventionnel: exécute les instructions une à la

fois.
 En générale, l‘exécution d’une instruction est décomposée
en phases:
 Recherche: Lire l'instruction en mémoire.
 Décodage: Déterminer l'opération à réaliser;

 Exécution: Effectuer l'opération.
 L’enchaînement des phases est cadencé par les tops
d'horloge.

21
PIPELINE
Machine sans pipeline
Inst. 2
3
4
Inst. 1
5

Inst. 2
3
4
Inst. 1
5

Inst. 2
3
4
Inst. 1
5

Etape 1

Etape 2

Etape 3

2
1
Nombre de cycles: 11
3
7
13
6
9
5
8
15
16
10
12
14
4
Nombre d’instructions terminées: 1
0
4
3
2
5
22
PIPELINE
Machine avec pipeline
5
4
Inst. 2
3
1

5
4
Inst. 2
3
1

5
4
Inst. 2
3
1

Etage 1

Etage 2

Etage 3

8
7
2
1
4
Nombre de cycles: 6
3
5
Nombre d’instructions terminées: 5
0
1
2
4
3
23
PIPELINE
 Inspiration du Pipeline:
 Inspiré des chaînes industrielles d’assemblage (ex: chaîne

d’assemblage d’automobiles);
 Dans une chaîne d'assemblage d'automobiles, il y a
beaucoup d'étapes;
 Chaque étape contribue à une partie de la construction de
l'automobile;

 Chaque étape opère en parallèle avec les autres étapes,
mais sur une autre voiture.

24
PIPELINE
 Historique du Pipeline:
 Terme introduit au début des années 80;

 Mise en œuvre pour l’amélioration des performances.
 Premier processeur avec la technique pipeline: INTEL
8086.
 Basé sur le fait qu'un processeur peut exécuter plus d'une
seule instruction à la fois si les instructions sont divisés

en étapes;
 Premiers processeurs divisaient les instructions 25en
respectant les 3 étapes d’exécution;
PIPELINE
 Principe du Pipeline:
 Le pipeline est divisé en étages (soit n: le nombre de ces

étages);
 Chaque étage correspond à une étape d’exécution;
 Les instructions rentrent à une extrémité, progressent à
travers les étages et sortent à l'autre extrémité. Ainsi,
plusieurs

instructions

peuvent

se

recouvrir

durant

l'exécution.
 Une instruction est terminée à chaque cycle, au lieu d'une
26
instruction tous les n cycles.
PIPELINE
 Pipeline RISC (basique):
 Etapes d’exécution d’une instruction RISC sont:
1. Recherche de l'instruction;
2. Décodage de l'instruction;
3. Recherche des opérandes;
4. Exécution de l’instruction;
5. Sauvegarde des résultats.

27
PIPELINE
 Pipeline RISC (basique):

 Exécution à 5 phases  5 étages dans le pipeline :

programme

Cycles d’Horloge
1

Inst n° 1
Inst n° 2
Inst n° 3
Inst n° 4
Inst n° 5

2

3

4

5

6

7

8

I1

D1

O1

E1

S1

I2

D2

O2

E2

S2

I3

D3

O3

E3

S3

I4

D4

O4

E4

S4

I5

D5

O5

E5

9

S5

28
PIPELINE
 Pipeline RISC (basique):
 Pour 5 instructions, réduit le temps d'exécution de 25
unités de temps à 9 unités de temps.
 Supposition : chaque instruction traverse les 5 étages;
 Ce n’est pas toujours le cas; par exemple: chargement en

mode immédiat ne nécessite pas d'étage de recherche de
l'opérande en mémoire (Ox).
 Pour simplifier le hardware du pipeline, le temps est
calculé en supposant que chaque instruction nécessite les
cinq étages.

29
PIPELINE
 Exécution dans le pipeline: passe par trois phases

1. Amorçage du pipeline;
2. Exécution normale;
3. Vidage du pipeline.
programme

Cycles d’Horloge
1

Inst n° 1
Inst n° 2
Inst n° 3
Inst n° 4
Inst n° 5

2

3

4

5

6

7

8

I1

D1

O1

E1

S1

I2

D2

O2

E2

S2

I3

D3

O3

E3

S3

I4

D4

O4

E4

S4

I5

D5

O5

E5

9

S5

 Pendant les deux dernières phases, une instruction 30
se
termine à chaque cycle d’horloge
PIPELINE
 Déséquilibre entre les étages:
 Les étages n’ont pas les mêmes temps de traitement; Il est
nécessaire donc d’utiliser des buffers (files d’attentes)
entre les étages.
 Exemple: Si Temps d'exécution > Temps de recherche

 L'étage de recherche devra attendre avant de vider son

(3)

UAL
(4)

Buffer

(2)

RO

Buffer

(1)

DI

Buffer

RI

Buffer

buffer;

SR
31

(5)
PIPELINE
 Déséquilibre entre les étages:
 Temps de passage d’un étage à l’autre pour une
instruction est appelé cycle machine.
 Cycle machine inclut le temps de traitement de l’étage +
temps de traversée des buffers

 L’étage le plus lent détermine la longueur d'un cycle

(3)

UAL
(4)

Buffer

(2)

RO

Buffer

(1)

DI

Buffer

RI

Buffer

machine

SR
32

(5)
PIPELINE
 Aléas du pipeline:
 Le bon fonctionnement du pipeline peut être perturbé par
plusieurs événements appelés aléas (pipeline hazard en
anglais). Ces événements sont classés en trois catégories.
1. aléas structurels qui surviennent lorsque deux instructions
dans des étages différents du pipeline nécessitent la même ressource.

2. aléas de données qui surviennent lorsqu’une instruction
nécessite une donnée qui n’a pas encore été calculée par une

instruction précédente. Ceci provient du fait que les instructions
lisent leurs arguments dans les premiers étages du pipeline alors
qu’elles produisent leur résultat dans les derniers étages.

33
PIPELINE
 Aléas du pipeline:
 Le bon fonctionnement du pipeline peut être perturbé par
plusieurs événements appelés aléas (pipeline hazard en
anglais). Ces événements sont classés en trois catégories.
1. aléas structurels

2. aléas de données
3. aléas de contrôle qui surviennent dès qu’une instruction de
branchement est exécutée. Si le branchement est effectué, les
instructions qui suivent dans le pipeline ne doivent pas être
exécutée. Ceci provient du fait que la nouvelle adresse est calculée
34
alors que les instructions qui suivent ont déjà été chargées.
PIPELINE
 Aléas Structurels: interviennent lors de conflits de
ressources:
 Exemple : la machine a une seule mémoire pour les
données et les instructions, alors que deux étages du
pipeline veulent faire des opération simultanées (I3 et O1

par exemple).
programme

Cycles d’Horloge
1

Inst n° 1
Inst n° 2
Inst n° 3

2

3

4

5

6

I1

D1

O1

E1

S1

I2

D2

O2

E2

S2

I3

D3

O3

E3

7

S3

35
PIPELINE
 Aléas Structurels: interviennent lors de conflits de
ressources:
 Solutions:
1. Suspendre (ou bloquer) une des instructions jusqu'à ce
que l'unité demandée soit disponible. On voit alors

apparaître des bulles dans le pipeline.
2. Multiplier les ressources; par exemple, séparer entre
mémoire d’instruction et mémoire de programme.
36
PIPELINE
 Aléas Structurels: interviennent lors de conflits de
ressources:
 Solution 1: Suspendre (bloquer) une des instructions
jusqu'à ce que l'unité demandée soit disponible.
programme

Cycles d’Horloge

1
Inst n° 1

2

3

4

5

I1

D1

O1

E1

S1

I2

D2

O2

E2

S2

BULLE

I3

D3

O3

Inst n° 2
Inst n° 3

6

7

8

E3

S3

 Problème: l'introduction de suspensions dégrade les
performances.

37
PIPELINE
 Aléas de Données:
 Interviennent lorsque deux instructions sont liées par des
dépendances de données: Une instruction a besoin du
résultat d'une instruction précédente;
 Considérons ce code:

c=b+a

e=c+d
 En langage d’assembleur:
Inst1: add R4 , R3, R2
Inst2: add R6, R4 , R5
38
 Dépendance: Inst 2 a besoin du résultat dans le registre

R4
PIPELINE
 Aléas

de

Données:

interviennent

lorsque

deux

instructions sont liées par des dépendances de données.
 Exemple:

Inst1: add R4 , R3, R2
Inst2: add

programme

R6, R4 , R5

Cycles d’Horloge
1

Inst n° 1
Inst n° 2

2

3

4

5

I1

D1

O1

E1

S1

I2

D2

O2

E2

R4
6 est écrit
7

R4 doit être lu
mais n'est pas
encore écrit

S2
39
PIPELINE
 Aléas

de

Données:

interviennent

lorsque

deux

instructions sont liées par des dépendances de données.
 Solutions:
1. Suspendre une des instructions jusqu'à ce que la
donné soit disponible (calculé).

2. Envoyer au plus tôt la donnée (lorsqu’elle soit
disponible) au pipeline.
3. Réordonnancer (changer l'ordre de) l'exécution des
instructions pour éviter ou réduire le problème
40
PIPELINE
 Aléas

de

Données:

interviennent

lorsque

deux

instructions sont liées par des dépendances de données.
 Solution 1: Suspendre une des instructions jusqu'à ce que
la donné soit disponible (calculé).
Inst1: add R4 , R3, R2
Inst2: add

R6, R4 , R5

programme Cycles d’Horloge
1
Inst n° 1

Inst n° 2

2

3

4

5

I1

D1

O1

E1

S1

I2

D2

Bulle

6

O2

7

E2

8

S2

41
PIPELINE
 Aléas

de

Données:

interviennent

lorsque

deux

instructions sont liées par des dépendances de données.
 Solution 2: Envoyer au plus tôt la donnée (lorsqu’elle soit
calculé) au pipeline.
Inst1: add R4 , R3, R2
Inst2: add
programme

R6, R4 , R5

Cycles d’Horloge
1

Inst n° 1

Inst n° 2

2

3

4

5

I1

D1

O1

E1

S1

I2

D2

Bulle O2

6

E2

7

S2

42
PIPELINE
 Aléas

de

Données:

interviennent

lorsque

deux

instructions sont liées par des dépendances de données.
 Solution 3: Réordonnancer l'exécution des instructions.
Inst1: add
Inst2: add
Inst3: mul
Inst4: div

Inst1: add
Inst3: mul
Inst4: div
Inst2: add

R4, R3, R2
R6, R4, R5
R7, R8, R9
R1, R8, R3

R4, R3, R2
R7, R8, R9
R1, R8, R3
R6, R4, R5

43
PIPELINE
 Aléas

de

Contrôle:

interviennent

lorsque

qu’une

instruction de branchement est exécutée.
 Exemple: Si (R1 > 30) alors R3  10 + R1
Sinon R3  20 + R1
 Fonctionnement du saut conditionnel
 En fonction du résultat du test, le contenu de CO est modifié avec
l'adresse de la prochaine instruction
 Phase Ex : exécution de la comparaison par l'UAL

 Phase Sx : écriture de CO en fonction du résultat du test

 Problème: On doit connaître la valeur du test de valeur de
44

R1 pour savoir quelle est l'instruction suivante à exécuter
PIPELINE
 Aléas

de

Contrôle:

Interviennent

lorsque

qu’une

instruction de branchement est exécutée.
 Exemple: Si (R1 > 30) alors R3  10 + R1
Sinon R3  20 + R1
 Solutions:

1. Attendre que le bon CO soit connu : peu efficace
2. Réordonnancer le code : pas toujours suffisant et
possible
3. Prédire quelle sera la valeur de R1 et commencer le
calcul suivant selon cette prédiction

45
PIPELINE
 Aléas

de

Contrôle:

Interviennent

lorsque

qu’une

instruction de branchement est exécutée.
 Exemple: Si (R1 > 30) alors R3  10 + R1
Sinon R3  20 + R1
 Solution avec attente:
programme Cycles d’Horloge
1
Inst n° 1
Inst n° 2

2

3

4

5

I1

D1

O1

E1

CO
6 est7écrit

S1

Bulles

I2

D2

O2

E2

S2

Lecture du CO
46

 Attendre le Sx précédent avant de faire le Ix : on passe en

exécution purement séquentielle !
PIPELINE
 Aléas

de

Contrôle:

interviennent

lorsque

qu’une

instruction de branchement est exécutée.
 Solution avec prédictions:
 A l'aide de tables statistiques dynamiques, le résultat
d'un test est prédit. On commence ensuite l'instruction

suivante prédite.
 Problème si prédiction erronée
 On a commencé des calculs inutiles
 Vidage du pipeline pour reprendre dans un état correct
 Très couteux en temps
 Très pénalisant pour des pipelines profonds

47
PIPELINE
 Aléas

de

Contrôle:

Interviennent

lorsque

qu’une

instruction de branchement est exécutée.
 Solution avec prédiction:
1
Inst 1
Branchement à
l’instruction 15

Inst 2
Inst 3
Inst 4
Inst 5
Inst 6
Inst 7
Inst 8

2

3

4

5

6

7

8

9

10 11 12

I1 D1 O1 E1 S1
I2 D2 O2 E2 S2
I3 D3 O3 E3 S3
I4 D4 O4 E4 S4
I5 D5 O5 E5 S5
I6 D6 O6 E6 S6
I7 D7 O7 E7 S7
I8 D8 O8 E8 S8
48
PIPELINE
 Aléas

de

Contrôle:

Interviennent

lorsque

qu’une

instruction de branchement est exécutée.
 Solution avec prédiction:
1
Inst 1
Inst 2

2

3

4

5

6

7

8

9

10 11 12

I1 D1 O1 E1 S1
I2 D2 O2 E2 S2

Inst 3

I3 D3 O3 E3 S3

Inst 4

I4 D4 O4 E4

Inst 5

I5 D5 O5

Inst 6

I6 D6

Inst 7

I7

Inst 15

Nettoyage du
pipeline
I15 D15 O15 E15 S15

49
PIPELINE
 Aléas de Contrôle: Solution avec prédiction:
1
2
3
4
5
6
7
8
9
10
11
12
13

I
Inst1
Inst2
Inst3
Inst4
Inst5
Inst6
Inst7
Inst8
Inst9

D
Inst1
Inst2
Inst3
Inst4
Inst5
Inst6
Inst7
Inst8
Inst9

O

Inst1
Inst2
Inst3
Inst4
Inst5
Inst6
Inst7
Inst8
Inst9

E

Inst1
Inst2
Inst3
Inst4
Inst5
Inst6
Inst7
Inst8
Inst9

Branchement non pris

S

Inst1
Inst2
Inst3
Inst4
Inst5
Inst6
Inst7
Inst8
Inst9

1
2
3
4
5
6
7
8
9
10
11
12
13

I
Inst1
Inst2
Inst3
Inst4
Inst5
Inst6
Inst7
Inst15
Inst16

D

O

Inst1
Inst2
Inst3
Inst4
Inst5
Inst6

Inst1
Inst2
Inst3
Inst4
Inst5

E

S

Inst1
Inst2 Inst1
Inst3 Inst2
Inst4 Inst3

IInst15
IInst16 IInst15
IInst16 IInst15
IInst16 IInst15
IInst16

Branchement pris
50

Nettoyage du pipeline
SUPER-SCALAIRE
 Cette approche consiste à ajouter des unités (unités de
calculs, de commandes, ….) ou même un pipeline complet.



FPU (Floating Point Unit): Unité de calcul en virgule flottante



ALU (Arithmetic Logic Unit): Unité Arithmétique et Logique

51
SUPER-SCALAIRE
 Cette approche consiste à ajouter des unités (unités de
calculs, de commandes, ….) ou même un pipeline complet.

52
SUPER-SCALAIRE
 Intérêt: Cette approche permet l'exécution complète ou
partielle de plusieurs instructions en parallèle.
 Problèmes:

 Nécessite plus de synchronisation entre les unités et
les pipelines

 Les unités dupliquées ne sont pas toujours en pleine
utilisation
53

 Coût important en terme de transistors et de place
HYPER-THREADING
 Un programme peut être découpé en plusieurs sousprogrammes indépendants, appelé threads, qu'on peut
faire exécuter en parallèle.

 Hyper-Threading,

ou

HT,

est

l’implémentation

par

l'entreprise Intel de la technique SMT (Simultaneous

Multi Threading) à deux voies qui permet le partage des
ressources entre deux threads.
54
MULTITHREADING VS HYPER-THREADING

55
HYPER-THREADING
 Schématiquement, l’Hyper-Threading consiste à créer
deux processeurs logiques au sein d'un processeur
physique.
 Un processeur logique est doté de ses propres registres de

données, de contrôle et d’état, et d’un contrôleur
d’interruptions particulier.
 Les deux processeurs logiques partagent les éléments du
cœur

de

processeur

(unités

de

traitement),

le cache (mémoire) et le bus système. Ainsi, ces deux sous-

processus peuvent être traités simultanément par 56
le
même processeur.
HYPER-THREADING
 Néanmoins, seul un processeur super scalaire, doté d’une
grande puissance de calcul, peut réellement effectuer un

multi-threading.
 Le premier processeur super scalaire capable d’exécuter

plusieurs instructions simultanément a été le Pentium 4
cadencé à 3,6 GHz.
57
MULTI-CŒUR
 Un processeur est appelé multi-core ou multi-cœur quand
il est doté d’un microprocesseur qui intègre au moins deux
CPU (Central Processing Unit) ou cores indépendants
dans une seule puce.

 Le CPU constitue en effet le seul élément capable
d’exécuter un programme ou processus. Il comporte des
unités de calcul, des mémoires caches, des registres, des
ordonnanceurs

ainsi

que

tous

les

autres

circuits

électroniques qui lui permettent d’effectuer des opérations

arithmétiques et logiques.

58
MULTI-CŒUR VS HYPER-THREADING

59
MULTI-CŒUR VS HYPER-THREADING
 La technologie multi-cœur est assez similaire à la
technologie hyper-threading qui consiste en l’exécution en
parallèle des instructions élémentaires de deux threads
différents.

 La nouveauté réside dans le fait qu’il existe plusieurs
cores qui fonctionnent chacun en hyper-threading.
 Le but du processeur multi-cœur est donc d’augmenter le
nombre

d’opérations

élémentaires

exécutées

simultanément en un cycle d’horloge. Cette technique a

aussi l’avantage de réduire les réchauffements du CPU. 60
MULTIPROCESSEURS
 Un

ordinateur

multiprocesseur

est

doté

de

plusieurs processeurs, permettant un parallélisme de
tâches, où un processus peut être exécuté sur chaque
processeur.
 La différence entre le multiprocesseur et le multi-cœur

tient au fait qu'il ne s'agit plus d'une division du nombre
d'unités de calcul mais d'une multiplication de celles
existantes. Ainsi, cette technologie permet une plus
grande puissance (vitesse) de calcul.

61
MULTIPROCESSEURS

62
63
MULTIPROCESSEURS
 Grace

à

sa

haute

performance,

l’architecture

multiprocesseur, est utilisée pour construire ou fabriquer
des supercalculateurs ou superordinateurs.
 Les supercalculateurs sont déployés pour toutes les tâches qui
nécessitent une très forte puissance de calcul comme les prévisions
météorologiques, la modélisation moléculaire (calcul des structures et
propriétés de composés chimiques…), les simulations physiques

(simulations aérodynamiques, calculs de résistance des matériaux,
simulation

d’explosion

d’arme

nucléaire,

étude

de

la

fusion

nucléaire…), la cryptanalyse, les simulations en finance et assurance

(Calcul stochastique), etc.

64
SOURCES DE CE COURS


M. Koudil, Cours Approches de conception des systèmes, Partie 2: Accélération des calculs,
Ecole nationale Supérieure d’Informatique (ESI), 2004.



E. Cariou, Fonctionnement et performance des processeurs, Université de Pau et des Pays de
l'Adour, Disponible sur web.univ-pau.fr/~ecariou/cours/archi/cours-7-cpu.pdf‎



Theoris, Architecture Matérielle des Ordinateurs, Quatrième Partie : Architectures évoluée,
2004, disponible sur repo.mynooblife.org/Materiel/archi%20materielle%20-%20part4.pdf‎.



P. Michaud, Architecture des processeurs généralistes haute performance, disponible sur
www.lirmm.fr/archi07/archi07-michaud.pdf‎



Ivan

Boule,

Rappels

Architecture

des

Ordinateurs,

2008,

disponible

sur

deptinfo.cnam.fr/new/spip.php?pdoc7559


G. Grave, Multicoeurs, Hyperthreading, GPGPU : les Architectures modernes, 2012.

65

Contenu connexe

Tendances

Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
ECAM Brussels Engineering School
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busSana Aroussi
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le MicroprocesseurTheCrazyMan
 
Microprocesseur support de cours
Microprocesseur support de coursMicroprocesseur support de cours
Microprocesseur support de cours
sarah Benmerzouk
 
Chap2 dsp
Chap2 dspChap2 dsp
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptArchitecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
wafawafa52
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
ISIG
 
Architecture du microprocesseur
Architecture du microprocesseurArchitecture du microprocesseur
Architecture du microprocesseurOndernemersschool
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réelmikhailether
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
Hajer Dahech
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
Hamza RAJHI
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
Ines Ouaz
 
Chap1 dsp
Chap1 dspChap1 dsp
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdlyassinesmz
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
hatem ben tayeb
 
System embaraqué
System  embaraquéSystem  embaraqué
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Chapitre 2.1 -  architecture d'un microprocesseur - bus et communicationChapitre 2.1 -  architecture d'un microprocesseur - bus et communication
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Tarik Zakaria Benmerar
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
mouafekmazia
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdf
WahideArabe
 
Introduction_Reseau.ppt
Introduction_Reseau.pptIntroduction_Reseau.ppt
Introduction_Reseau.ppt
AmalHadri2
 

Tendances (20)

Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et bus
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
 
Microprocesseur support de cours
Microprocesseur support de coursMicroprocesseur support de cours
Microprocesseur support de cours
 
Chap2 dsp
Chap2 dspChap2 dsp
Chap2 dsp
 
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptArchitecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Architecture du microprocesseur
Architecture du microprocesseurArchitecture du microprocesseur
Architecture du microprocesseur
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réel
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Chap1 dsp
Chap1 dspChap1 dsp
Chap1 dsp
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
 
System embaraqué
System  embaraquéSystem  embaraqué
System embaraqué
 
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Chapitre 2.1 -  architecture d'un microprocesseur - bus et communicationChapitre 2.1 -  architecture d'un microprocesseur - bus et communication
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdf
 
Introduction_Reseau.ppt
Introduction_Reseau.pptIntroduction_Reseau.ppt
Introduction_Reseau.ppt
 

En vedette

Vibrations et ondes mecanique
Vibrations et ondes mecaniqueVibrations et ondes mecanique
Vibrations et ondes mecanique
Smee Kaem Chann
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration Continue
Frédéric Sagez
 
Intégration continue
Intégration continueIntégration continue
Intégration continueKlee Group
 
PAUG - Intégration Continue - Décembre 2013
PAUG - Intégration Continue - Décembre 2013PAUG - Intégration Continue - Décembre 2013
PAUG - Intégration Continue - Décembre 2013Aurélien Guillard
 
Les périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PCLes périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PC
ATPENSC-Group
 
CocoaHeads Rennes #7 : Intégration continue pour les nuls
CocoaHeads Rennes #7 : Intégration continue pour les nulsCocoaHeads Rennes #7 : Intégration continue pour les nuls
CocoaHeads Rennes #7 : Intégration continue pour les nuls
CocoaHeadsRNS
 
Ateliers numériques - Refonte Site internet
Ateliers numériques - Refonte Site internetAteliers numériques - Refonte Site internet
Ateliers numériques - Refonte Site internet
Marie OT Pays Verdunois
 
Analyse trimestrielle du marché des jeux en ligne en France 3ème trimestre...
Analyse trimestrielle du marché des  jeux en ligne en France  3ème  trimestre...Analyse trimestrielle du marché des  jeux en ligne en France  3ème  trimestre...
Analyse trimestrielle du marché des jeux en ligne en France 3ème trimestre...
Jerome ATDPF
 
Erste schritte mit ct lite load_testing 02.04.14
Erste schritte mit ct lite load_testing 02.04.14Erste schritte mit ct lite load_testing 02.04.14
Erste schritte mit ct lite load_testing 02.04.14
SOASTA
 
1959 notions-fondamentales-endocrinologie-et-criminologie
1959 notions-fondamentales-endocrinologie-et-criminologie1959 notions-fondamentales-endocrinologie-et-criminologie
1959 notions-fondamentales-endocrinologie-et-criminologie
Livdhyan
 
SharePoint en action 2013 - AFF-01 - Nouveautés sharepoint 2013 - Marc Gagnon...
SharePoint en action 2013 - AFF-01 - Nouveautés sharepoint 2013 - Marc Gagnon...SharePoint en action 2013 - AFF-01 - Nouveautés sharepoint 2013 - Marc Gagnon...
SharePoint en action 2013 - AFF-01 - Nouveautés sharepoint 2013 - Marc Gagnon...
Marc Gagnon
 
Comment installer son blog avec 1&1
Comment installer son blog avec 1&1Comment installer son blog avec 1&1
Comment installer son blog avec 1&1
Maëva Haziza
 
Presentacion Fabian Aux
Presentacion Fabian AuxPresentacion Fabian Aux
Presentacion Fabian Aux
Fabianaux11
 
Diapocitivas de rss
Diapocitivas de rssDiapocitivas de rss
Diapocitivas de rss
stefaniaguaquez
 
Wildunfälle
WildunfälleWildunfälle
Wildunfälle
Wildkameras
 
Huelin con musica
Huelin con musicaHuelin con musica
Huelin con musica
Luis de Sola
 
Présentation seminaire mardi 18 octob 2011
Présentation seminaire mardi 18 octob 2011Présentation seminaire mardi 18 octob 2011
Présentation seminaire mardi 18 octob 2011
Mondher Achour
 
Programme3emeSmartGrids&EnR-1erAvril2014
Programme3emeSmartGrids&EnR-1erAvril2014Programme3emeSmartGrids&EnR-1erAvril2014
Programme3emeSmartGrids&EnR-1erAvril2014Pierre-jean Cherret
 
Cataloguecarnetsfare
CataloguecarnetsfareCataloguecarnetsfare
Cataloguecarnetsfarefare31
 

En vedette (20)

Vibrations et ondes mecanique
Vibrations et ondes mecaniqueVibrations et ondes mecanique
Vibrations et ondes mecanique
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration Continue
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
PAUG - Intégration Continue - Décembre 2013
PAUG - Intégration Continue - Décembre 2013PAUG - Intégration Continue - Décembre 2013
PAUG - Intégration Continue - Décembre 2013
 
Les périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PCLes périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PC
 
CocoaHeads Rennes #7 : Intégration continue pour les nuls
CocoaHeads Rennes #7 : Intégration continue pour les nulsCocoaHeads Rennes #7 : Intégration continue pour les nuls
CocoaHeads Rennes #7 : Intégration continue pour les nuls
 
Ateliers numériques - Refonte Site internet
Ateliers numériques - Refonte Site internetAteliers numériques - Refonte Site internet
Ateliers numériques - Refonte Site internet
 
Analyse trimestrielle du marché des jeux en ligne en France 3ème trimestre...
Analyse trimestrielle du marché des  jeux en ligne en France  3ème  trimestre...Analyse trimestrielle du marché des  jeux en ligne en France  3ème  trimestre...
Analyse trimestrielle du marché des jeux en ligne en France 3ème trimestre...
 
Erste schritte mit ct lite load_testing 02.04.14
Erste schritte mit ct lite load_testing 02.04.14Erste schritte mit ct lite load_testing 02.04.14
Erste schritte mit ct lite load_testing 02.04.14
 
1959 notions-fondamentales-endocrinologie-et-criminologie
1959 notions-fondamentales-endocrinologie-et-criminologie1959 notions-fondamentales-endocrinologie-et-criminologie
1959 notions-fondamentales-endocrinologie-et-criminologie
 
SharePoint en action 2013 - AFF-01 - Nouveautés sharepoint 2013 - Marc Gagnon...
SharePoint en action 2013 - AFF-01 - Nouveautés sharepoint 2013 - Marc Gagnon...SharePoint en action 2013 - AFF-01 - Nouveautés sharepoint 2013 - Marc Gagnon...
SharePoint en action 2013 - AFF-01 - Nouveautés sharepoint 2013 - Marc Gagnon...
 
Recomanacions estiu 4t
Recomanacions estiu 4tRecomanacions estiu 4t
Recomanacions estiu 4t
 
Comment installer son blog avec 1&1
Comment installer son blog avec 1&1Comment installer son blog avec 1&1
Comment installer son blog avec 1&1
 
Presentacion Fabian Aux
Presentacion Fabian AuxPresentacion Fabian Aux
Presentacion Fabian Aux
 
Diapocitivas de rss
Diapocitivas de rssDiapocitivas de rss
Diapocitivas de rss
 
Wildunfälle
WildunfälleWildunfälle
Wildunfälle
 
Huelin con musica
Huelin con musicaHuelin con musica
Huelin con musica
 
Présentation seminaire mardi 18 octob 2011
Présentation seminaire mardi 18 octob 2011Présentation seminaire mardi 18 octob 2011
Présentation seminaire mardi 18 octob 2011
 
Programme3emeSmartGrids&EnR-1erAvril2014
Programme3emeSmartGrids&EnR-1erAvril2014Programme3emeSmartGrids&EnR-1erAvril2014
Programme3emeSmartGrids&EnR-1erAvril2014
 
Cataloguecarnetsfare
CataloguecarnetsfareCataloguecarnetsfare
Cataloguecarnetsfare
 

Similaire à Chapitre i architectures des processeurs récents

Architecture
ArchitectureArchitecture
Architecture
LotfiHamrouni1
 
Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarquéHoussem Rouini
 
Architecture des ordinateurs 3
Architecture des ordinateurs 3Architecture des ordinateurs 3
Architecture des ordinateurs 3
coursuniv
 
Examen arch
Examen archExamen arch
Examen arch
hyst3r3s1s
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
Abdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
Abdo Brahmi
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
SihemNasri3
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdf
HouBou3
 
Cours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.pptCours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.ppt
wafawafa52
 
Chapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspChapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dsp
gharbisalah
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdf
AliRami3
 
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdfChapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
SoumayaMabrouk2
 
Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------
NasriMohsen2
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptx
FazaTabbana1
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Pierre Ficheux
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdf
HouBou3
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..
sunprass
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mohamedsaidi212001
 

Similaire à Chapitre i architectures des processeurs récents (20)

Architecture
ArchitectureArchitecture
Architecture
 
Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarqué
 
Architecture des ordinateurs 3
Architecture des ordinateurs 3Architecture des ordinateurs 3
Architecture des ordinateurs 3
 
Examen arch
Examen archExamen arch
Examen arch
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdf
 
Cours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.pptCours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.ppt
 
Chapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspChapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dsp
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdf
 
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdfChapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
 
Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptx
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdf
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 

Plus de Sana Aroussi

Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
Sana Aroussi
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
Sana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
Sana Aroussi
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
Sana Aroussi
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
Sana Aroussi
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiques
Sana Aroussi
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
Sana Aroussi
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
Sana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
Sana Aroussi
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
Sana Aroussi
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)
Sana Aroussi
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
Sana Aroussi
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
Sana Aroussi
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptionsSana Aroussi
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétudeSana Aroussi
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsSana Aroussi
 

Plus de Sana Aroussi (20)

Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiques
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptions
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétude
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 

Dernier

Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
frizzole
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
Michel Bruley
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
Morzadec Cécile
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
Txaruka
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union
 
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
AbdessamadAmimi1
 

Dernier (7)

Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
 
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
 

Chapitre i architectures des processeurs récents

  • 1. Université Saad Dahlab de Blida Faculté des Sciences Département d’Informatique Licence Génie des Systèmes Informatiques (GSI) Semestre 4 (2ème année) ARCHITECTURE DES ORDINATEURS 2 S. AROUSSI Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
  • 2. PRÉAMBULE  Pré-requis: Cours (Archi1, S3).  UEF: ARchitecture et VLSI (ARVL)  Volume horaire hebdomadaire: 3H Cours + 1H30 TD  Évaluation: Continu + Examen.  Coefficient 1, Crédit 5 2
  • 3. CONTENU DE LA MATIÈRE I. Architectures des Processeurs récents II. Mémoires III. Entrées/Sorties et Interruptions 3
  • 5. PLAN DU CHAPITRE I  Introduction  Fréquence  CISC  versus RISC Pipeline  Super Scalaire  Hyper Threading  Multi Cœurs  Multi Processeurs 5
  • 6. INTRODUCTION  Recherche permanente de l'augmentation des performances des processeurs: Évolution des architectures  Points principaux de cette évolution  Fréquence de fonctionnement  Jeu d'instructions  Mémoire cache  Parallélisation et optimisation des séquences d'instructions (Pipeline, Superscalaires)  Chaque point influence en bien ou en mal un autre: Recherche du meilleur compromis 6
  • 7. FRÉQUENCE  Exprimé en Herts (Hz), la fréquence du processeur désigne le nombre d’opérations effectuées en une seconde par le processeur. Une horloge lui définit sa cadence.  Idée: Augmenter la fréquence du fonctionnement (plus d'instructions exécutées en moins de temps)  Problèmes technologiques et physiques:  Temps de propagation des signaux électriques  Dégagement de chaleur 7
  • 8. FRÉQUENCE  Solutions aux problèmes technologiques et physiques:  Diminuer la finesse de gravure    Conducteurs plus courts, propagation plus rapide Diminue le dégagement de chaleur Chercher d'autres technologies de réalisation de transistors et des conducteurs  Les processeurs actuels ont une fréquence d’horloge autour de 3 GHz (3 milliards d’opérations à la seconde) avec une finesse de gravure de l’ordre de 20 nanomètres. 8
  • 9. CISC VERSUS RISC  Les processeurs se répartissent en deux grandes catégories:  Processeurs à jeu d'instruction étendu ou CISC (Complex Instruction Set Computing)  Processeurs à jeu d'instructions réduit ou RISC (Reduced Instruction Set Computing) 9
  • 10. ARCHITECTURE CISC  Le processeur CISC possède un jeu étendu d’instructions complexes et puissantes.  Le processeur CISC réduit le nombre d'instructions écrites dans un programme et facile ainsi sa compilation.  Une instruction CISC peut effectuer plusieurs opérations élémentaires (Chargement, Rangement, Arithmétique, ….).  Exemple (Assembleur 8086): ADD [200h], 125  Charger la valeur du mot mémoire 200h  Faire l’addition ([200h]+125)  Ranger le résultat dans le mot mémoire 200h 10
  • 11. ARCHITECTURE CISC  Plusieurs étapes d’exécution (1 à plus de 100 cycles) sont nécessaires pur exécuter une instruction CISC.  Exemple (Processeur 8088): l’instruction MUL nécessite 133 cycles pour multiplier deux entiers de 16 bits alors que l’instruction MOV nécessite 2 cycles.  La longueur des instructions CISC sont variables (1 à 10 octets), ce qui ralentit le processus de décodage.  Plus de modes d’adressage mémoire, dont certains complexes. 11
  • 12. ARCHITECTURE RISC  Lorsque le jeu programmeurs d’instructions. ou Ils d’instructions est compilateurs se contentent complexe, n’utilisent souvent la pas d’un plupart tout nombre le des jeu réduit d’instructions:  80 % des programmes n’utilisent que 20 % du jeu d’instructions.  Les instructions les plus utilisées sont les instructions de chargement et de rangement  L’apparition de l’architecture RISC vint de la volonté de favoriser au maximum les instructions simples qui constituent la grande partie des programmes. L’idée est de supprimer les instructions complexes et les modes d’adressage élaborés afin d’augmenter la fréquence 12 d’horloge et d’augmenter ainsi la vitesse d’exécution de toutes les instructions.
  • 13. ARCHITECTURE RISC  La philosophie essentielle des processeurs RISC est d’avoir un nombre important de registres. Des instructions de chargement et de rangement avec quelques modes d’adressage sont les seules à faire les échanges avec la mémoire. Toutes les autres instructions travaillent uniquement avec les registres. 13
  • 14. ARCHITECTURE RISC  Les principales caractéristiques des processeurs RISC sont les suivantes:  Codage uniforme des instructions. Toutes les instructions sont codées avec un même nombre de bits. Le code d’opération se trouve à la même position pour toutes les instructions. Ceci facilite le décodage des instructions.  Registres indifférenciés et nombreux. Tous les registres peuvent être utilisés dans tous les contextes. Il n’y a par exemple pas de registre spécifique pour la pile. Les processeurs 14 séparent cependant les registres pour les valeurs flottantes des autres registres.
  • 15. ARCHITECTURE RISC  Les principales caractéristiques des processeurs RISC sont les suivantes.  Limitation des accès mémoire. Les seules instructions ayant accès à la mémoire sont les instructions de chargement et de rangement. Toutes les autres instructions opèrent sur les registres. Il en résulte une utilisation intensive des registres.  Nombre réduit de modes d’adressage. Il n’y pas de mode d’adressage complexe. Les modes d’adressages possibles sont généralement immédiat, direct, indirect et relatifs.  Nombre réduit de types de données. Les seuls types de données supportés sont les entiers de différentes tailles (8, 16, 32 et 64 bits) et des nombres flottants en simple et double précision. Certains processeurs CISC comportent des instructions pour le traitement des chaînes 15 de caractères, des polynômes ou des complexes
  • 19. CISC VERSUS RISC CISC RISC Complex Instruction Set Computing Reduced Instruction Set Computing Instructions complexes prenant plusieurs cycles Instructions simples ne prenant qu’un seul cycle Format variable Format fixe Décodage complexe et lent Décodage simple et rapide Peu de registres Beaucoup de registres Toutes les instructions sont susceptibles d’accèder à la Mémoire Seules les instructions de chargement et de rangement ont accès à la mémoire Beaucoup de mode d’adressage Peu de mode d’adressage Plus d'instructions disponibles : programmation plus simple et souple Peu d’instructions disponibles: programmation difficile Compilateur simple Compilateur complexe 19
  • 20. CISC VERSUS RISC  L'architecture RISC a montré qu'elle était plus performante  Tous les processeurs fonctionnent en RISC de nos jours  Pour un processeur avec un jeu d'instruction CISC: Traduction interne des instructions CISC en microopérations de type RISC 20
  • 21. PIPELINE  Machine sans pipeline  Processeur conventionnel: exécute les instructions une à la fois.  En générale, l‘exécution d’une instruction est décomposée en phases:  Recherche: Lire l'instruction en mémoire.  Décodage: Déterminer l'opération à réaliser;  Exécution: Effectuer l'opération.  L’enchaînement des phases est cadencé par les tops d'horloge. 21
  • 22. PIPELINE Machine sans pipeline Inst. 2 3 4 Inst. 1 5 Inst. 2 3 4 Inst. 1 5 Inst. 2 3 4 Inst. 1 5 Etape 1 Etape 2 Etape 3 2 1 Nombre de cycles: 11 3 7 13 6 9 5 8 15 16 10 12 14 4 Nombre d’instructions terminées: 1 0 4 3 2 5 22
  • 23. PIPELINE Machine avec pipeline 5 4 Inst. 2 3 1 5 4 Inst. 2 3 1 5 4 Inst. 2 3 1 Etage 1 Etage 2 Etage 3 8 7 2 1 4 Nombre de cycles: 6 3 5 Nombre d’instructions terminées: 5 0 1 2 4 3 23
  • 24. PIPELINE  Inspiration du Pipeline:  Inspiré des chaînes industrielles d’assemblage (ex: chaîne d’assemblage d’automobiles);  Dans une chaîne d'assemblage d'automobiles, il y a beaucoup d'étapes;  Chaque étape contribue à une partie de la construction de l'automobile;  Chaque étape opère en parallèle avec les autres étapes, mais sur une autre voiture. 24
  • 25. PIPELINE  Historique du Pipeline:  Terme introduit au début des années 80;  Mise en œuvre pour l’amélioration des performances.  Premier processeur avec la technique pipeline: INTEL 8086.  Basé sur le fait qu'un processeur peut exécuter plus d'une seule instruction à la fois si les instructions sont divisés en étapes;  Premiers processeurs divisaient les instructions 25en respectant les 3 étapes d’exécution;
  • 26. PIPELINE  Principe du Pipeline:  Le pipeline est divisé en étages (soit n: le nombre de ces étages);  Chaque étage correspond à une étape d’exécution;  Les instructions rentrent à une extrémité, progressent à travers les étages et sortent à l'autre extrémité. Ainsi, plusieurs instructions peuvent se recouvrir durant l'exécution.  Une instruction est terminée à chaque cycle, au lieu d'une 26 instruction tous les n cycles.
  • 27. PIPELINE  Pipeline RISC (basique):  Etapes d’exécution d’une instruction RISC sont: 1. Recherche de l'instruction; 2. Décodage de l'instruction; 3. Recherche des opérandes; 4. Exécution de l’instruction; 5. Sauvegarde des résultats. 27
  • 28. PIPELINE  Pipeline RISC (basique):  Exécution à 5 phases  5 étages dans le pipeline : programme Cycles d’Horloge 1 Inst n° 1 Inst n° 2 Inst n° 3 Inst n° 4 Inst n° 5 2 3 4 5 6 7 8 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 I3 D3 O3 E3 S3 I4 D4 O4 E4 S4 I5 D5 O5 E5 9 S5 28
  • 29. PIPELINE  Pipeline RISC (basique):  Pour 5 instructions, réduit le temps d'exécution de 25 unités de temps à 9 unités de temps.  Supposition : chaque instruction traverse les 5 étages;  Ce n’est pas toujours le cas; par exemple: chargement en mode immédiat ne nécessite pas d'étage de recherche de l'opérande en mémoire (Ox).  Pour simplifier le hardware du pipeline, le temps est calculé en supposant que chaque instruction nécessite les cinq étages. 29
  • 30. PIPELINE  Exécution dans le pipeline: passe par trois phases 1. Amorçage du pipeline; 2. Exécution normale; 3. Vidage du pipeline. programme Cycles d’Horloge 1 Inst n° 1 Inst n° 2 Inst n° 3 Inst n° 4 Inst n° 5 2 3 4 5 6 7 8 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 I3 D3 O3 E3 S3 I4 D4 O4 E4 S4 I5 D5 O5 E5 9 S5  Pendant les deux dernières phases, une instruction 30 se termine à chaque cycle d’horloge
  • 31. PIPELINE  Déséquilibre entre les étages:  Les étages n’ont pas les mêmes temps de traitement; Il est nécessaire donc d’utiliser des buffers (files d’attentes) entre les étages.  Exemple: Si Temps d'exécution > Temps de recherche  L'étage de recherche devra attendre avant de vider son (3) UAL (4) Buffer (2) RO Buffer (1) DI Buffer RI Buffer buffer; SR 31 (5)
  • 32. PIPELINE  Déséquilibre entre les étages:  Temps de passage d’un étage à l’autre pour une instruction est appelé cycle machine.  Cycle machine inclut le temps de traitement de l’étage + temps de traversée des buffers  L’étage le plus lent détermine la longueur d'un cycle (3) UAL (4) Buffer (2) RO Buffer (1) DI Buffer RI Buffer machine SR 32 (5)
  • 33. PIPELINE  Aléas du pipeline:  Le bon fonctionnement du pipeline peut être perturbé par plusieurs événements appelés aléas (pipeline hazard en anglais). Ces événements sont classés en trois catégories. 1. aléas structurels qui surviennent lorsque deux instructions dans des étages différents du pipeline nécessitent la même ressource. 2. aléas de données qui surviennent lorsqu’une instruction nécessite une donnée qui n’a pas encore été calculée par une instruction précédente. Ceci provient du fait que les instructions lisent leurs arguments dans les premiers étages du pipeline alors qu’elles produisent leur résultat dans les derniers étages. 33
  • 34. PIPELINE  Aléas du pipeline:  Le bon fonctionnement du pipeline peut être perturbé par plusieurs événements appelés aléas (pipeline hazard en anglais). Ces événements sont classés en trois catégories. 1. aléas structurels 2. aléas de données 3. aléas de contrôle qui surviennent dès qu’une instruction de branchement est exécutée. Si le branchement est effectué, les instructions qui suivent dans le pipeline ne doivent pas être exécutée. Ceci provient du fait que la nouvelle adresse est calculée 34 alors que les instructions qui suivent ont déjà été chargées.
  • 35. PIPELINE  Aléas Structurels: interviennent lors de conflits de ressources:  Exemple : la machine a une seule mémoire pour les données et les instructions, alors que deux étages du pipeline veulent faire des opération simultanées (I3 et O1 par exemple). programme Cycles d’Horloge 1 Inst n° 1 Inst n° 2 Inst n° 3 2 3 4 5 6 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 I3 D3 O3 E3 7 S3 35
  • 36. PIPELINE  Aléas Structurels: interviennent lors de conflits de ressources:  Solutions: 1. Suspendre (ou bloquer) une des instructions jusqu'à ce que l'unité demandée soit disponible. On voit alors apparaître des bulles dans le pipeline. 2. Multiplier les ressources; par exemple, séparer entre mémoire d’instruction et mémoire de programme. 36
  • 37. PIPELINE  Aléas Structurels: interviennent lors de conflits de ressources:  Solution 1: Suspendre (bloquer) une des instructions jusqu'à ce que l'unité demandée soit disponible. programme Cycles d’Horloge 1 Inst n° 1 2 3 4 5 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 BULLE I3 D3 O3 Inst n° 2 Inst n° 3 6 7 8 E3 S3  Problème: l'introduction de suspensions dégrade les performances. 37
  • 38. PIPELINE  Aléas de Données:  Interviennent lorsque deux instructions sont liées par des dépendances de données: Une instruction a besoin du résultat d'une instruction précédente;  Considérons ce code: c=b+a e=c+d  En langage d’assembleur: Inst1: add R4 , R3, R2 Inst2: add R6, R4 , R5 38  Dépendance: Inst 2 a besoin du résultat dans le registre R4
  • 39. PIPELINE  Aléas de Données: interviennent lorsque deux instructions sont liées par des dépendances de données.  Exemple: Inst1: add R4 , R3, R2 Inst2: add programme R6, R4 , R5 Cycles d’Horloge 1 Inst n° 1 Inst n° 2 2 3 4 5 I1 D1 O1 E1 S1 I2 D2 O2 E2 R4 6 est écrit 7 R4 doit être lu mais n'est pas encore écrit S2 39
  • 40. PIPELINE  Aléas de Données: interviennent lorsque deux instructions sont liées par des dépendances de données.  Solutions: 1. Suspendre une des instructions jusqu'à ce que la donné soit disponible (calculé). 2. Envoyer au plus tôt la donnée (lorsqu’elle soit disponible) au pipeline. 3. Réordonnancer (changer l'ordre de) l'exécution des instructions pour éviter ou réduire le problème 40
  • 41. PIPELINE  Aléas de Données: interviennent lorsque deux instructions sont liées par des dépendances de données.  Solution 1: Suspendre une des instructions jusqu'à ce que la donné soit disponible (calculé). Inst1: add R4 , R3, R2 Inst2: add R6, R4 , R5 programme Cycles d’Horloge 1 Inst n° 1 Inst n° 2 2 3 4 5 I1 D1 O1 E1 S1 I2 D2 Bulle 6 O2 7 E2 8 S2 41
  • 42. PIPELINE  Aléas de Données: interviennent lorsque deux instructions sont liées par des dépendances de données.  Solution 2: Envoyer au plus tôt la donnée (lorsqu’elle soit calculé) au pipeline. Inst1: add R4 , R3, R2 Inst2: add programme R6, R4 , R5 Cycles d’Horloge 1 Inst n° 1 Inst n° 2 2 3 4 5 I1 D1 O1 E1 S1 I2 D2 Bulle O2 6 E2 7 S2 42
  • 43. PIPELINE  Aléas de Données: interviennent lorsque deux instructions sont liées par des dépendances de données.  Solution 3: Réordonnancer l'exécution des instructions. Inst1: add Inst2: add Inst3: mul Inst4: div Inst1: add Inst3: mul Inst4: div Inst2: add R4, R3, R2 R6, R4, R5 R7, R8, R9 R1, R8, R3 R4, R3, R2 R7, R8, R9 R1, R8, R3 R6, R4, R5 43
  • 44. PIPELINE  Aléas de Contrôle: interviennent lorsque qu’une instruction de branchement est exécutée.  Exemple: Si (R1 > 30) alors R3  10 + R1 Sinon R3  20 + R1  Fonctionnement du saut conditionnel  En fonction du résultat du test, le contenu de CO est modifié avec l'adresse de la prochaine instruction  Phase Ex : exécution de la comparaison par l'UAL  Phase Sx : écriture de CO en fonction du résultat du test  Problème: On doit connaître la valeur du test de valeur de 44 R1 pour savoir quelle est l'instruction suivante à exécuter
  • 45. PIPELINE  Aléas de Contrôle: Interviennent lorsque qu’une instruction de branchement est exécutée.  Exemple: Si (R1 > 30) alors R3  10 + R1 Sinon R3  20 + R1  Solutions: 1. Attendre que le bon CO soit connu : peu efficace 2. Réordonnancer le code : pas toujours suffisant et possible 3. Prédire quelle sera la valeur de R1 et commencer le calcul suivant selon cette prédiction 45
  • 46. PIPELINE  Aléas de Contrôle: Interviennent lorsque qu’une instruction de branchement est exécutée.  Exemple: Si (R1 > 30) alors R3  10 + R1 Sinon R3  20 + R1  Solution avec attente: programme Cycles d’Horloge 1 Inst n° 1 Inst n° 2 2 3 4 5 I1 D1 O1 E1 CO 6 est7écrit S1 Bulles I2 D2 O2 E2 S2 Lecture du CO 46  Attendre le Sx précédent avant de faire le Ix : on passe en exécution purement séquentielle !
  • 47. PIPELINE  Aléas de Contrôle: interviennent lorsque qu’une instruction de branchement est exécutée.  Solution avec prédictions:  A l'aide de tables statistiques dynamiques, le résultat d'un test est prédit. On commence ensuite l'instruction suivante prédite.  Problème si prédiction erronée  On a commencé des calculs inutiles  Vidage du pipeline pour reprendre dans un état correct  Très couteux en temps  Très pénalisant pour des pipelines profonds 47
  • 48. PIPELINE  Aléas de Contrôle: Interviennent lorsque qu’une instruction de branchement est exécutée.  Solution avec prédiction: 1 Inst 1 Branchement à l’instruction 15 Inst 2 Inst 3 Inst 4 Inst 5 Inst 6 Inst 7 Inst 8 2 3 4 5 6 7 8 9 10 11 12 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 I3 D3 O3 E3 S3 I4 D4 O4 E4 S4 I5 D5 O5 E5 S5 I6 D6 O6 E6 S6 I7 D7 O7 E7 S7 I8 D8 O8 E8 S8 48
  • 49. PIPELINE  Aléas de Contrôle: Interviennent lorsque qu’une instruction de branchement est exécutée.  Solution avec prédiction: 1 Inst 1 Inst 2 2 3 4 5 6 7 8 9 10 11 12 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 Inst 3 I3 D3 O3 E3 S3 Inst 4 I4 D4 O4 E4 Inst 5 I5 D5 O5 Inst 6 I6 D6 Inst 7 I7 Inst 15 Nettoyage du pipeline I15 D15 O15 E15 S15 49
  • 50. PIPELINE  Aléas de Contrôle: Solution avec prédiction: 1 2 3 4 5 6 7 8 9 10 11 12 13 I Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst8 Inst9 D Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst8 Inst9 O Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst8 Inst9 E Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst8 Inst9 Branchement non pris S Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst8 Inst9 1 2 3 4 5 6 7 8 9 10 11 12 13 I Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst15 Inst16 D O Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst1 Inst2 Inst3 Inst4 Inst5 E S Inst1 Inst2 Inst1 Inst3 Inst2 Inst4 Inst3 IInst15 IInst16 IInst15 IInst16 IInst15 IInst16 IInst15 IInst16 Branchement pris 50 Nettoyage du pipeline
  • 51. SUPER-SCALAIRE  Cette approche consiste à ajouter des unités (unités de calculs, de commandes, ….) ou même un pipeline complet.  FPU (Floating Point Unit): Unité de calcul en virgule flottante  ALU (Arithmetic Logic Unit): Unité Arithmétique et Logique 51
  • 52. SUPER-SCALAIRE  Cette approche consiste à ajouter des unités (unités de calculs, de commandes, ….) ou même un pipeline complet. 52
  • 53. SUPER-SCALAIRE  Intérêt: Cette approche permet l'exécution complète ou partielle de plusieurs instructions en parallèle.  Problèmes:  Nécessite plus de synchronisation entre les unités et les pipelines  Les unités dupliquées ne sont pas toujours en pleine utilisation 53  Coût important en terme de transistors et de place
  • 54. HYPER-THREADING  Un programme peut être découpé en plusieurs sousprogrammes indépendants, appelé threads, qu'on peut faire exécuter en parallèle.  Hyper-Threading, ou HT, est l’implémentation par l'entreprise Intel de la technique SMT (Simultaneous Multi Threading) à deux voies qui permet le partage des ressources entre deux threads. 54
  • 56. HYPER-THREADING  Schématiquement, l’Hyper-Threading consiste à créer deux processeurs logiques au sein d'un processeur physique.  Un processeur logique est doté de ses propres registres de données, de contrôle et d’état, et d’un contrôleur d’interruptions particulier.  Les deux processeurs logiques partagent les éléments du cœur de processeur (unités de traitement), le cache (mémoire) et le bus système. Ainsi, ces deux sous- processus peuvent être traités simultanément par 56 le même processeur.
  • 57. HYPER-THREADING  Néanmoins, seul un processeur super scalaire, doté d’une grande puissance de calcul, peut réellement effectuer un multi-threading.  Le premier processeur super scalaire capable d’exécuter plusieurs instructions simultanément a été le Pentium 4 cadencé à 3,6 GHz. 57
  • 58. MULTI-CŒUR  Un processeur est appelé multi-core ou multi-cœur quand il est doté d’un microprocesseur qui intègre au moins deux CPU (Central Processing Unit) ou cores indépendants dans une seule puce.  Le CPU constitue en effet le seul élément capable d’exécuter un programme ou processus. Il comporte des unités de calcul, des mémoires caches, des registres, des ordonnanceurs ainsi que tous les autres circuits électroniques qui lui permettent d’effectuer des opérations arithmétiques et logiques. 58
  • 60. MULTI-CŒUR VS HYPER-THREADING  La technologie multi-cœur est assez similaire à la technologie hyper-threading qui consiste en l’exécution en parallèle des instructions élémentaires de deux threads différents.  La nouveauté réside dans le fait qu’il existe plusieurs cores qui fonctionnent chacun en hyper-threading.  Le but du processeur multi-cœur est donc d’augmenter le nombre d’opérations élémentaires exécutées simultanément en un cycle d’horloge. Cette technique a aussi l’avantage de réduire les réchauffements du CPU. 60
  • 61. MULTIPROCESSEURS  Un ordinateur multiprocesseur est doté de plusieurs processeurs, permettant un parallélisme de tâches, où un processus peut être exécuté sur chaque processeur.  La différence entre le multiprocesseur et le multi-cœur tient au fait qu'il ne s'agit plus d'une division du nombre d'unités de calcul mais d'une multiplication de celles existantes. Ainsi, cette technologie permet une plus grande puissance (vitesse) de calcul. 61
  • 63. 63
  • 64. MULTIPROCESSEURS  Grace à sa haute performance, l’architecture multiprocesseur, est utilisée pour construire ou fabriquer des supercalculateurs ou superordinateurs.  Les supercalculateurs sont déployés pour toutes les tâches qui nécessitent une très forte puissance de calcul comme les prévisions météorologiques, la modélisation moléculaire (calcul des structures et propriétés de composés chimiques…), les simulations physiques (simulations aérodynamiques, calculs de résistance des matériaux, simulation d’explosion d’arme nucléaire, étude de la fusion nucléaire…), la cryptanalyse, les simulations en finance et assurance (Calcul stochastique), etc. 64
  • 65. SOURCES DE CE COURS  M. Koudil, Cours Approches de conception des systèmes, Partie 2: Accélération des calculs, Ecole nationale Supérieure d’Informatique (ESI), 2004.  E. Cariou, Fonctionnement et performance des processeurs, Université de Pau et des Pays de l'Adour, Disponible sur web.univ-pau.fr/~ecariou/cours/archi/cours-7-cpu.pdf‎  Theoris, Architecture Matérielle des Ordinateurs, Quatrième Partie : Architectures évoluée, 2004, disponible sur repo.mynooblife.org/Materiel/archi%20materielle%20-%20part4.pdf‎.  P. Michaud, Architecture des processeurs généralistes haute performance, disponible sur www.lirmm.fr/archi07/archi07-michaud.pdf‎  Ivan Boule, Rappels Architecture des Ordinateurs, 2008, disponible sur deptinfo.cnam.fr/new/spip.php?pdoc7559  G. Grave, Multicoeurs, Hyperthreading, GPGPU : les Architectures modernes, 2012. 65