You are on page 1of 52

Architecture Matrielle

des
Ordinateurs
Quatrime Partie :
Architectures volues

Theoris 2007

Plan

l Le calculateur numrique

l Les Entres - Sorties

l Notions dassembleur

l Architectures volues

Theoris 2004 2

1
Plan quatrime partie
u Introduction:
u Philosophie globale
u Rappel historique
u Le march
march des processeurs
u volution Unit
Unit Centrale:
u Pipeline,
u Pipeline performant:
u Super-
Super-scalaire,
scalaire,
u Ex
Excution sp
spculative,
u Renommage.
Renommage.
u TLP
u Hi
Hirarchie m
mmoire (DRAM, Cache, ),

Introduction: Philo globale


l Augmenter la performance du CPU:
v Approche dirige par la contrainte de
ralisation jusquen 1980 (CISC),
v Approche dirige par ltude de la
programmation aprs 1980, en se basant
sur des jeux de tests (architecture RISC).
l Langage machine est compatible (x86)
Les processeurs daujourdhui sont des
CRISC o lon prend le meilleur des
deux mondes.

Theoris 2004 4

2
Introduction: RISC vs CISC
Reduce Complex
Instruction Instruction
Set Set
Computer Computer
Instructions simples ne prenant Instructions complexes prenant
quun seul cycle plusieurs cycles
Format fixe Format variable
Dcodeur cbl Dcodeur micro-cod

Beaucoup de registres Peu de registres


Seules les instructions LOAD et Toutes les instructions sont
STORE ont accs la mmoire susceptibles daccder la
mmoire
Peu de mode dadressage Beaucoup de mode dadressage
Compilateur complexe Compilateur simple
Theoris 2004 5

Introduction: historique (1)


l volution du CPU pour favoriser
lexcution dinstructions (famille x86 /
Motorola uniquement):
v Augmentation de la largeur de bits traits:
4bits en 71 (8086), 32bits en 79 (68000), 64bits
en 92 (AMD Athlon).
v Cache: 1975 (68010) quelques octets,
v Integration des MMU/FPU: 1989 (80486
/68040),,
v Pipeline: 1989 (68040 / 80486), heritage du
RISC
v Super-scalaire: 1993 (Pentium / 68060)
Theoris 2004 6

3
Introduction: historique (2)
v Excution d-squence: 1995 (Pentium Pro),
v Instructions SIMD: 1993 (Pentium avec le MMX),
v Contrleur mmoire intgr: 2003 (AMD Athlon 64)
l Toutes ces amliorations sont possibles
grce lintgration de plus en plus de
transistors sur le CPU (baisse taille gravure)
l Augmentation de la frquence permet
daugmenter la performance mcaniquement
l Pb rcent (2003): le nombre de transistors et
laugmentation de la frquence entranent une
dissipation nergtique qui bruite le signal, et
cre des problmes de dissipation.
Theoris 2004 7

Introduction: historique (3)

Theoris 2004 8

4
Introduction: historique (4)

Theoris 2004 9

Introduction: historique (5)


l Pour pallier au problme de
consommation, on introduit lexcution
simultane de programmes
l Augmenter le TLP: Paralllisation
v SMT (Hyper-threading): 2002 ? (Pentium 4)
v CMP (Dual-Core): 2005/2006 (Athlon X2,
Pentium D, Core Duo)
l Une des voies davenir des processeurs
est de faire monter le nombre de curs
du processeur
Theoris 2004 10

5
Introduction: march
l Les CPUs sont le rsultat dun compromis
suivant les segments (conso, perf, prix):
v Portable: Faible consommation, exigence
performance faible , prix lev.
v Bureau: Consommation importe peu, exigence
performance moyenne, prix bas.
v Serveur: Consommation importe peu, exigence
performance leve, prix trs lev.
l Concentration des acteurs depuis dix ans,
acteurs tudis: AMD, Intel
l volution rcente dIntel: une seule
architecture pour tous les segments
(architecture Core 2 Duo )
Theoris 2004 11

Plan quatrime partie


u Introduction:
u Philosophie globale
u Rappel historique
u Le march
march des processeurs
u volution Unit
Unit Centrale:
u Pipeline,
Pipeline,
u Pipeline performant:
u Super-
Super-scalaire,
scalaire,
u Ex
Excution sp
spculative,
u Renommage.
Renommage.
u TLP
u Hi
Hirarchie m
mmoire (DRAM, Cache, ),

6
Organisation de lunit centrale
Horloge

RD
WR
Unit de
Commande Compteur adresses
programme

op addr

Mmoire
Registre instruction

Accumulateur
donnes
Unit de
Calcul

Tampon

Theoris 2004 13

RISC vs CISC
Reduce Complex
Instruction Instruction
Set Set
Computer Computer
Intructions simples ne prenant Instructions complexes prenant
quun seul cycle plusieurs cycles
Format fixe Format variable
Dcodeur cabl Dcodeur micro-cod
Beaucoup de registres Peu de registres
Seules les instructions LOAD et Toutes les instructions sont
STORE ont accs la mmoire susceptibles daccder la
mmoire
Peu de mode dadressage Beaucoup de mode dadressage
Compilateur complexe Compilateur simple

Theoris 2004 14

7
Pipeline: introduction
l Lobjectif du pipeline est de permettre
lexcution efficace dinstructions
l La mise disposition dun nombre de
transistors lev est une opportunit
l Une solution: en dcomposant en
excutions lmentaires de dures
quivalentes, on obtient un seul schma
dexcution pour toutes les instructions.
l Objectif de performance: 1 cycle par
instruction lmentaire (CPI = 1).
Theoris 2004 15

Pipeline: traduction
dinstruction
l Les instructions de haut de niveau (asm
x86) sont traduites en instructions
lmentaires:
v Load Reg, Adresse Mem
v Store Adresse Mem, Reg
v Add / Sub / Mul Reg1, Reg2, Reg 3 (UAL)
v Addf / Subf / Mulf FReg1, FReg2, Freg3 (F-
UAL)
v Branch Reg, imm (conditionnel)
v Jump imm (in-conditionnel)
Theoris 2004 16

8
Pipeline: principe
l Exemple de pipeline 5 units
fonctionnelles ou tages

Recherche Dcodage Ex
Excution Sauvegarde
Acc
Accs
des des des des
mmoire
instructions instructions instructions rsultats

Ix Dx Ex Mx Sx

Theoris 2004 17

Pipeline: instruction
lmentaire
1. Charger linstruction excuter depuis la mmoire
dans le registre dinstruction ET modifier le compteur
ordinal pour quil pointe sur linstruction suivante
2. Dcoder linstruction que lon vient de charger
3. Excuter linstruction, soit:
1. Calculer les adresses en mmoire dventuelles donnes
ncessaires (instructions de Load / Store) OU
2. Excuter linstruction (calculs)
4. Si linstruction est de type Load/Store, charger les
donnes dans les registres gnraux de lU.C.
5. Revenir ltape 1 pour entreprendre lexcution de
linstruction suivante

Theoris 2004 18

9
Pipeline: modle classique

I1 I2
D1 D2
E1 E2
M1 M2
S1 S2 Nombre de
cycles
1 2 3 4 5 6 7 8 9 10

Perf: Chaque instruction a une latence de 5c,


Le CPU un CPI = 5c

Theoris 2004 19

Pipeline: dynamique
Recherche I1 I2 I3 I4 I5 I6
Decode D1 D2 D3 D4 D5 D6
Exe E1 E2 E3 E4 E5 E6
Mem M1 M2 M3 M4 M5 M6
Sauvegarde S1 S2 S3 S4 S5 S6
1 2 3 4 5 6 7 8 9 10
Nombre de
cycles

Latence d
damor
amorage du pipeline

Perf: Chaque instruction a une latence de 5c,


Le CPU a par contre un CPI = 1c
Theoris 2004 20

10
Pipeline: les alas
l La performance du pipeline est
dgrade dans les cas suivants:
v ala structurel: deux instructions ont
besoin de la mme ressource du
processeur (accs mem) Bulle
v ala de donne: une instruction dpend du
rsultat de la prcdente Bulle
v ala de contrle: branchement attente
de ltage Mem . Limpact performance
dpend de la longueur du pipeline.
v Accs mmoire: la donne ne se trouve
Theoris 2004
pas dans les registres Bulle. 21

Pipeline: exemple dala

I1 I2 I3 I4 I5 I6
D1 D2 D3 D4 D5 D6
E1 E2 E3 E4 E5 E6
M1 M2 M3 M4 M5 M6
S1 S2 S3 S4 S5 S6
Nombre
de
1 2 3 4 5 6 7 8 9 10 11 12 cycles

Perf: Le CPI du processeur est > 1

Theoris 2004 22

11
Pipeline: Le bilan
l Intel: Un pipeline qui varie bcp
v P-IV Core northwood : 20.
v P-IV Core Prescott / Presler: 31.
v P-IV Core Tejas : 45 (jamais sorti)
v Pentium-M Core Yonah : 12
v Core-Duo 2 Core Conroe : 14
l AMD: Un pipeline court
v Athlon XP: 10
v Athlon 64: 12
v Athlon X2 Core Windsor : 12
Theoris 2004 23

Pipeline: conclusion
l Principe fondateur de tous les
processeurs actuels.
l Les alas peuvent impacter fortement la
performance (en fonction de la
profondeur du pipeline, latence
mmoire).
l La dcomposition en lments simples
acclre la monte en frquence.
l Le CPI effectif dun pipeline idal sur un
processeur idal en rgime permanent
est de 1 (pas daccs mmoire, ).
Theoris 2004 24

12
Plan quatrime partie
u Introduction:
u Philosophie globale
u Rappel historique
u Le march
march des processeurs
u volution Unit
Unit Centrale:
u Pipeline,
u Pipeline performant:
performant:
u Super-
Super-scalaire,
scalaire,
u Ex
Excution sp
spculative,
u Renommage.
Renommage.
u TLP
u Hi
Hirarchie m
mmoire (DRAM, Cache, ),

Pipeline performant: Introduction


l Le but est double:
v augmenter encore le CPI et
v rduire limpact des alas.
l Les solutions consistent en un nombre
de techniques indpendantes
spcifiques chaque problme,
motives par approche quantitative.
l Lobjectif de performance sera un CPI <
1 en augmentant lILP.
l Ce chapitre est en constante volution.
Theoris 2004 26

13
Superscalaire: introduction
l Pour augmenter le CPI on recherche les
instructions pouvant sexcuter en
parallles,
l CPI idal = 1 / nbr de pipelines (3-4)
Dcodage Ex
Excution Sauvegarde
des Acc
Accs
des des
instructions mmoire
Recherche instructions rsultats
des
instructions Dcodage Ex
Excution Sauvegarde
des Acc
Accs
des des
instructions mmoire
instructions rsultats

Ix Dx Ex Mx Sx
Theoris 2004 27

Les alas: branchement


l Le rsultat dun branchement oblige a
attendre le rsultat de ltage MEM
avant de poursuivre lexcution.
l La bulle cre dans le pipeline est
importante: impact en performance.
l Prdire les branchements, et excuter
spculativement le flot dinstructions
prdit.
l Si la prdiction est exacte, on continue,
sinon on revient ltat prcdent le
branchement.
Theoris 2004 28

14
Les alas: type branchement

Si (test == 0) Alors CMP test, 0;


resultat = 1 BNE Else;
Else;
Sinon Then:
Then : MOV resultat,
resultat, 1;
resultat = 0 BR Next;
Next;
Else:
Else: MOV resultat,
resultat, 0;
Next:
Next:

BNE
Instructions
BR
de branchement

Branchement Branchement
conditionnel inconditionnel

Theoris 2004 29

Les alas: type branchement


l Branchement inconditionnel
v Retard danalyse dans le pipeline linstruction
suivant le branchement est amorce (crneau
temporel)
v On se repose sur le compilateur pour avoir une
instruction utile
v Souvent il sagira dun NOP
l Branchement conditionnel
v crneau temporel
v retard dans la localisation du saut: linformation
arrive tardivement dans le pipeline
v mcanisme de prdiction de branchement bas
sur une statistique de ralisation des conditions
Theoris 2004
de branchement 30

15
Les alas: Hypothses sur
les branchements
l Les branchements conditionnels
arrires se ralisent presque toujours
v Principe de la boucle
v Bonne hypothse
l Les branchements conditionnels avants
ne se ralisent quasiment jamais
v Principe du test derreur
v Hypothse plus douteuse (un if dans une
boucle)

Theoris 2004 31

Les alas: Prdiction


dynamique de branchement
Branchement
10 Pas de
Pr
Prdiction branchement
Pr
Prdiction
de
Mise en branchement
de
Branchement
place d
dune faible Branchement fort
11
table d
dhistoire
associative Branchement
Pas de
branchement
(BHT)
Pr
Prdiction Pas de Pr
Prdiction
(id
(idalement branchement 00
de non de non
Branchement Branchement
une par faible fort
01 Branchement
adresse) Pas de
branchement

Theoris 2004 32

16
Les alas: Prdiction
dynamique de branchement
l En cas derreur de branchement,
linstruction en cours nest pas la bonne
l Dans tous les cas la cohrence de ltat
machine doit tre assure
v Soit on choisit de modifier des registres
fantmes inaccessibles lutilisateur
pendant la prdiction
v Soit on mmorise ltat machine avant la
prdiction pour pouvoir le restaurer
ensuite
l Branchements imbriqus: prdicteur
corrlation
Theoris 2004 33

Excution spculative: bilan


l Avec la technique de prdiction de
branchement, on peut alors excuter les
instructions de la branche prdite, cest
un gain de temps apprciable.
l Si par contre la prdiction est fausse on
est oblige de revenir a ltat davant le
branchement, ce qui cote beaucoup
(vidage pipe, remise des registres
dtat)
l Cependant les prdicteurs marchent
bien (taux > 95%) donc gain perf.
Theoris 2004 34

17
Retour sur les alas:
Dpendances des donnes
l Enregistrement des tats lecture/criture des
registres dans une unit de marquage
l Diffrents types de dpendances lies aux accs
registres:
v RAW: Read After Write
v WAR: Write After Read
v WAW: Write After Write
l WAR et WAW peuvent tre rsolus par lutilisation de
registres fantmes
renommage de registre (tage supplmentaire)
l RAW implique un blocage, on essaie de poursuivre
avec dautres instructions indpendantes
excution dsquence
Theoris 2004 35

Renommage des registres


Loop: LD F0, 0(R1) Loop: LD F0, 0(R1)
ADDD F4, F0, F2 ADDD F4, F0, F2
SD 0(R1), F4 SD 0(R1), F4
LD F0, -8(R1) LD F6, -8(R1)
ADDD F4, F0, F2 ADDD F8, F6, F2
SD -8(R1), F4 SD -8(R1), F8
LD F0, -16(R1) LD F10, -16(R1)
Renommage des
ADDD F4, F0, F2 registres ADDD F12, F10, F2
SD -16(R1), F4 (WAW et SD -16(R1), F12
LD F0, -24(R1) WAR) LD F14, -24(R1)
ADDD F4, F0, F2 ADDD F16, F14, F2
SD -24(R1), F4 SD -24(R1), F16
SUBI R1, R1, #32 SUBI R1, R1, #32
BNEZ R1, Loop BNEZ R1, Loop
Theoris 2004 36

18
Excution dsquenc
l Pour augmenter la performance, on multiplie les
units dexcution: ALU, FLU, ... Le but est de
supporter un flot dinstructions important.

ALU

Recherche Dcodage ALU Acc


Accs
Sauvegarde
des des mmoire des
instructions instructions rsultats
Recherche ALU
Ix
des
instructions
Dx Mx Sx
Dcodage Sauvegarde
Acc
Accs
des FPU mmoire des
instructions rsultats

Ix Ex
Theoris 2004 37

Excution dsquenc
l Les instructions sont lues dans lordre
du programme et excutes dans lordre
des dpendances de donnes.
l On peut ainsi lancer les instructions
lentes au plus tt, en donc pas dans
lordre original.
l Reordonnancement la fin:
v ROB
v Table de registre
l Complexe a mettre en uvre
(Tomasulo).
Theoris 2004 38

19
VLIW (Very Long Instruction Word)
l Processeur mot dinstruction trs long: 128,
256 bits ...
l A lintrieur de linstruction sont codes les
instructions lmentaires effectuer par
chaque unit de calcul
l Dpend totalement du compilateur
l Concept hrit des mainframes IBM des
annes 60 (360, 370)
l Premire machine produite par Multiflow en
1984-85: 256 bits (8 groupes de 32 bits)
l Larrive du RISC a stopp lessor de ces
processeurs gnralistes, et le rserve au
march de lembarqu
Theoris 2004 39

VLIW (Very Long Instruction Word)


l Ressort actuellement avec:
v Transmedia de Philips
v Cruso de Transmeta
l Hritage important dans le domaine de la
compilation
l EPIC (Explicitly Parallel Instruction
Computing) dIntel dans les processeurs
Itanium (2001) sen inspire: disparition du
rordonnancement des instructions pour se
reposer entirement sur lordre des
instructions fournit par le compilateur

Theoris 2004 40

20
Pipeline performant: bilan
l Pipeline performant du PIV:
v Superscalaire (3 instr)
v Prdiction dynamique de branchement et
tampons dadresses de branchements
(BTB, 4K entres)
v Pipeline: Fetch, Decode, Alloc (renaming),
Reorder, Execute, WB, Retirement
v Chaque tage est effectu en plusieurs
cycle dhorloge pour permettre de mettre
moins de portes par sous-tage.
l Permet la monte en frquence.
Theoris 2004 41

Pipeline performant: bilan


l Un ensemble de techniques quasi-
indpendantes.
l La performance rsultante est une
balance entre ces techniques.
l Les processeurs actuels implmentent
la plupart de ces techniques
(Superscalaire, pred branchement,
OOO, renommage registres).
l On a effectivement fait baisser le CPI

Theoris 2004 42

21
SIMD: Instructions multimdia
l Constat: les images et autres donnes
multimdia sont de longues fils de
donnes conscutifs en mmoire.
l La modification des donnes sont
rguliers (filtrage sur TOUTE limage)
l Une solution pour acclrer ces
donnes sont de traites plusieurs par
bloc de donnes.
l Nouvelles instructions: MMX, SSE,
3DNow.
Theoris 2004 43

SIMD: schma

Theoris 2004 44

22
SIMD: Support matriel
l On dfinit des registres spcifiques
larges (128-bits par exemple dans SSE)
l Arithmtique spcifique (ex: saturation
8bit: Si (res >= 256) res = 256 ).
l Les oprations dpendent de la largeur
de la sous donne a traiter (8, 16, 32 ou
64 bits).
l On ajoute des untes dexcutions
spcifiques qui utilisent ces registres,
en modifiant Ex.
Theoris 2004 45

SIMD: conclusion
l Fort facteur de gain sur des applications
spcifiques, en fonction du la taille des
donnes traiter (jusqu x16).
l Une technique qui se repose cependant
beaucoup sur le programmeur, et peu
sur le compilateur (vectorisation
automatique).
l Cependant les modifications sont
locales un module software.
l Augmente fortement la pression sur la
hirarchie mmoire.
Theoris 2004 46

23
Plan quatrime partie
u Introduction:
u Philosophie globale
u Rappel historique
u Le march
march des processeurs
u volution Unit
Unit Centrale:
u Pipeline,
u Pipeline performant:
u Super-
Super-scalaire,
scalaire,
u Ex
Excution sp
spculative,
u Renommage.
Renommage.
u TLP
u Hi
Hirarchie m
mmoire (DRAM, Cache, ),

TLP: technique
l Augmentation du ILP nest pas la seule
voie, le TLP en est une autre.
l Plusieurs solutions sont envisages:
v SMT et CMP.
l Cependant ces mthodes sappuient sur
la coopration du programmeur (multi-
thread).
l Du point de vue de lOS ou des
utilisateurs le systme est vu comme
plusieurs processeurs physiques
Theoris 2004 48

24
TLP: les threads
l Une thread est une unit dexcution
lmentaire partageant des ressources
avec les autres threads au sein dun
processus.
l Les processus ont des espaces
mmoires spars, pas les threads.
l Pb de synchronisation limite le nombre
de thread dune application (problme
darchitecture du software).
l Du point de vue de lOS ou des
utilisateurs le systme est vu comme
plusieurs processeurs physiques
Theoris 2004 49

OS et threading: SMT
l Chaque processeur logique possde:
v des registres gnraux,
v des registres de contrle,
v quelques registres dtat,
v son contrleur dinterruption (APIC)
l Les processeurs logiques partagent:
v les caches,
v les units dexcution,
v les prdicateurs de branches,
v les bus
Theoris 2004 50

25
OS et threading: CMP
l Chaque processeur physique possde:
v Des registres,
v des caches,
v les units dexcution,
v les prdicateurs de branches,
v les bus
l Certains caches peuvent tre partags
l Problmatique de cohrence des
caches partags: MOESI.
Theoris 2004 51

CMP: diagramme

CPU Core CPU Core


CPU Core CPU Core
L1 cache L1 cache
L1 cache L1 cache

L2 cache L2 cache
L2 Cache

Cache L2 Cache L2
partage FSB Non partage FSB
Intel core 2 duo Athlon X2

Mmoire Mmoire

Theoris 2004 52

26
TLP: Conclusion
l Une voie davenir avec laugmentation
du nombre de curs (arrive de
processeurs quadri-core).
l Une problmatique mixte soft / hard
avec le besoin de thread pour tirer parti
de larchitecture matrielle.
l La problmatique software ne doit pas
tre nglige.
l Augmentation de la pression sur le
systme mmoire.
Theoris 2004 53

Plan quatrime partie


u Introduction:
u Philosophie globale
u Rappel historique
u Le march
march des processeurs
u volution Unit
Unit Centrale:
u Pipeline,
u Pipeline performant:
u Super-
Super-scalaire,
scalaire,
u Ex
Excution sp
spculative,
u Renommage.
Renommage.
u TLP
u Hi
Hirarchie m
mmoire (DRAM, Cache, ).

27
Hirarchie mmoire
l Lobjectif de la hirarchie mmoire est
de ne pas faire attendre le CPU pour les
instructions et les donnes excuter
l Contrainte de cot: la mmoire rapide
est trs chre (SRAM / DRAM).
l Solution: organisation en niveaux,
chaque niveau tant plus petit et plus
rapide que le prcdent.
l Critre performance: dbit et latence

Theoris 2004 55

Hirarchie mmoire: principe


SRAM

Cur
Ex
Excution
L1-
L1-D Cache
L2 unifi
unifi
L1-
L1-I
Chipset
Connexion
north-
north-bridge
Bo
Botier processeur directe (Intel PIV, Core)
Core)
(cadence en 1-
1-3GHz) (Athlon 64)

DRAM

Mmoire
Principale
(cadence 100-
100-400Mhz)
Theoris 2004 56

28
Techno des mmoires vives
(RAM = Random Access Memory)
l Mmoires statiques
Faciles mettre en uvre
Rapides
Volumineuses
l Mmoires dynamiques
Bon march
Grande capacit
Ncessitent un rafrachissement
Lentes (cycles de slection)

Theoris 2004 57

S-RAM : cellule statique


criture : Cot : 6 transistors / bit
Polarisation du signal Ligne
Polarisation des lignes Bit et /Bit
Stockage dans la paire dinverseurs Implantation sur le CPU
Lecture :
Polarisation du signal Ligne Ligne
Vcc
Rcupration des sorties Bit et /Bit
/Bit Bit
Bit
/Bit
D
D

Ligne
G
G

G G
G G
S
S

S D S D
D S S D
D
D

G
G

S
S

BISTABLE
Theoris 2004 58

29
D-RAM : cellule dynamique
criture : Cot : 1 transistor + 1 capacit / bit
Polarisation de Ligne
Stockage dans la capacit
Ncessit daugmenter la charge de la
Implantation en dehors du CPU
capacit avant lecture
Ligne
La capacit est dcharge par la lecture
Une rcriture est ncessaire aprs Bit
lecture
G
Le dchargement progressif de la
capacit ncessite des oprations de S D

rafrachissement priodiques

CONDENSATEUR

Theoris 2004 59

Mmoire : principe gnral

donne (1 bit)
lecture/criture
adresses basses (colonnes)
adresses hautes (lignes)
dtecteur
amplificateur O/1 O/1 O/1 O/1

Cellule
O/1 O/1 O/1 O/1

O/1 O/1 O/1 O/1

O/1 O/1 O/1 O/1

Theoris 2004 60

30
Mmoire : exemple de lecture
l Bit ladresse 9 du botier :
donne (1 bit) 1
lecture
adresses basses 01
adresses hautes 10

O 1 1 O

1 1 O O

O O 1 1

O 1 O 1

Theoris 2004 61

Mmoire : bus de donnes


l Cration dune mmoire de mots par
assemblage de botiers un bit
Mots de un octet = 8 botiers
Bus de donnes

Bus dadresses et de contrle

Theoris 2004 62

31
D-RAM: cycles daccs

l Signaux daccs RAS et /CAS


Raw Acces Strobe / Column Acces Strobe
Chaque cycle dure environ 2 3 coups dhorloge
Cot daccs alatoire : environ 7 coups dhorloge
l Accs en rafale (burst)
Chargement rapide des donnes situes des
adresses conscutives
Un seul cycle RAS/CAS pour 8 ou 16 mots
Cot daccs rduit environ 2 coups dhorloge

Theoris 2004 63

Cycles daccs RAM dynamique


DRAM basique: accs alatoire pur

RAS CAS R/W RAS CAS R/W

Temps daccs

DRAM en mode burst

RAS CAS R/W R/W R/W R/W R/W R/W R/W R/W

Adresses conscutives
Temps daccs
(colonnes adjacentes)

Theoris 2004 64

32
Hirarchie mmoire: CACHE
Cur
Ex
Excution
L1-
L1-D Cache
L2 unifi
unifi
L1-
L1-I
Chipset
Connexion
north-
north-bridge
Bo
Botier processeur directe (Intel PIV, Core)
Core)
(cadence en 1-
1-3GHz) (Athlon 64)

Mmoire
Principale
(cadence 100-
100-400Mhz)
Theoris 2004 65

Fonctionnement du cache
l Principe : une mmoire associative

adresse 1

2. hit 3

Contenu du cache

Theoris 2004 66

33
Fonctionnement du cache
Gagn !

hit DRAM

Perdu #@N
N
burst

DRAM
U
LR

Theoris 2004 67

Mmoires: dernires volutions


l Dual-channel (DDR):
v Paralllisation des accs mmoires par
lajout dual-channel , o lon accde
plusieurs barrettes en parallle.
v Double effectivement la bande passante
MAX de la mmoire. Peu de gain en
pratique (~10%), mais cot trs faible.
l Prefetcher:
v Ajout dun prefetcher hardware, qui
anticipe les accs rguliers la mmoire.
v Efficace en accs squentiel
(applications de traitement dimage, SIMD),
Theoris 2004
masquant la latence mmoire. 68

34
D-RAM: Le bilan
l DRAM DRAM-FP DRAM-EDO
SDRAM (5-1-1-1)
v R-DRAM (Rambus) 16bits/800Mhz, 3.2Go/s
(PS2) XDR 16Bits/3.2Ghz Nx25Go/s.
v DDR-SDRAM (200-400Mhz) 64bits / 3.2Go/s
DDR2-SDRAM (600-800), 64bits 6.4Go/s
FB-Dimm (serveur) avec contrleur (40Go/s)
G-DDRII et III spcifique pour les GPUs, 1GHz
dlivre 16Go/s.

Theoris 2004 69

Cache: bilan

l Plus la
frquence
augmente plus
de taux de
succs du cache
est important

Theoris 2004 70

35
Performance mmoire: Bilan
CPU L1 L2 Mmoire
(Alatoire)
Pentium IV 16Ko I/D 1Mo I+D DDR2-533 (800)
3.2GHz 4cyc, 25G/s 31c,15G/s 140cyc, 4.2Go

Intel Core 2 2x32Ko I/D 4Mo I+D DDR2-1066


Duo 3c, 2x48Go/s 14c 48Go/s 90c, 10.6Go/s
3.0GHz 16o/c 16o/2c
AMD Athlon 2x64Ko I+D 2x1Mo I+D DDR2-800
X2 4800+ 3c, 2x20Go/s 12c, 108c, 6Go/s
2.4Ghz 2x8o 2x9Go/s
IBM Cell Spcial: 16Ko / SPU 2xXDR 256 Mo
PS3 64Go/s (continu) 25Go/s x 2
Theoris 2004 71

Hirarchie mmoire: conclusion


l Systme efficace des caches (perf, cot et
consommation), mais la latence reste
problmatique.
l Domaine critique: les CPUs ne font
quattendre des instructions et des
donnes traiter,
l Avec laugmentation du nombre de coeurs,
la demande mmoire va augmenter.

Theoris 2004 72

36
Christophe BIQUARD
cbiquard@theoris.fr

Yannick BALERE
yannick.balere@theoris.fr

Theoris 2004 73

NetBurst
l Architecture Intel sortie en 2000
l Pipeline long (20 tages)
l Introduction du Trace Cache : le cache L1
dinstruction cde sa place un cache optimis
contenant les instructions dj dcodes
l Cette architecture lance la course au MHz pour
contrer le handicap de la longueur de pipeline
l Le Northwood (0.13m, 512Ko de cache) cadenc
3.2GHz a permi cette architecture de faire ses
preuves
l La dissipation thermique du au cadencement
toujours plus haut marque un nouveau coup darrt
l La fin de larchitecture NetBurst est programme
Theoris 2004 74

37
Pentium 4
l Clock Speed 3.06GHz
l Hyperthreading Technology for
increased performance in Multi-
tasking and Multi-threaded
applications
l .13 micron manufacturing process
l 512K on chip, Full Speed L2 Cache
l 128bit Floating Point/Multimedia
unit
l "Hyper Pipelined" Technology for
extremely high clock speeds
l Intel "NetBurst" micro-architecture
l Intel MMX media enhancement
technology
l Memory cacheability up to 4 GB of
addressable memory space and
system memory scalability up to 64
GB of physical memory

Theoris 2004 75

Hyperthreading
l Simulation de deux processeurs sur une seule
et mme puce
v Duplication de ltat de larchitecture sur chaque
processeur
v 1 seul ensemble de ressources partag pour
lexcution
l Premier processeur, le Pentium 4 dIntel

Theoris 2004 76

38
Hyperthreading
l Du point de vue de lOS ou des utilisateurs le
systme est vu comme plusieurs processeurs
physiques
l Chaque processeur logique possde:
v des registres gnraux,
v des registres de contrle,
v quelques registres dtat,
v son contrleur dinterruption (APIC)
l Les processeurs logiques partagent:
v les caches,
v les units dexcution,
v les prdicateurs de branches,
v les bus
Theoris 2004 77

Dual Core
l Solution btarde dIntel pour sortir de
limpasse des problmes de dissipation
thermique
l Couplage de deux cores Prescott:
v 1 Mo de cache
v 2.8 3.2 GHz
v 130 Watts
l Version Extrme Edition avec Hyperthreading
l Contrairement AMD, Intel une solution
purement copier/coller qui fait du Dual
Core un systme multi-processeur standard
l AMD a prvu un bus de communication entre
les deux cores Opteron: le SRI (System
Request Interface)
Theoris 2004 78

39
Dual Core: Smithfield

Theoris 2004 79

Dual Core: Smithfield

Theoris 2004 80

40
Evolution

l Plus la
frquence
augmente plus
de taux de
succs du cache
est important
l Les mcanismes
de prdiction de
branches sont
leur limite (98-
99%)

Theoris 2004 81

Evolution
l Augmentation du cache na pas dincidence
majeure sur la consommation

Theoris 2004 82

41
Evolution

Theoris 2004 83

Evolution

Theoris 2004 84

42
Evolution
l Unification du cache
l Evolution MultiCore limite: une application ne peut se
scinder en un nombre infini de threads
l Dernires architectures symtriques ?

Theoris 2004 85

Evolution
l DSP = Digital Signal Processor
l Un DSP est optimis pour effectuer du traitement numrique de
signal (FFT, convolution, filtrage, ...)
l Evolution des DSP est trs prometteuse

Theoris 2004 86

43
Evolution
l DSP peuvent traiter les tches ncessitant des longs pipelines
ou des frquences lves
l Taille et consommation faible

Theoris 2004 87

Processeur matriciel/vectoriel
l ILLIAC IV: universit de lIllinois dans les
annes 70
v 4 quadrants de 8x8 processeurs/memoires
v 1 UC / quadrant pour le scheduling
v 1 seul quadrant fut construit
v 50 MFLOPS
l Effectuent des intructions simples sur des
tableaux de donnes
l Architectures:
v MIMD: Multiple Instruction Multiple Data
v SIMD: Single Instruction Multiple Data
l Destins des applications spcifiques
l Souvent associs comme co-processeur un
processeur conventionnel
Theoris 2004 88

44
Processeur matriciel/vectoriel
l MMX (Multi Media eXtension):
v intgre au Pentium MMX
v registres 64 bits
v entiers
l SSE (Streaming Simd Extension):
v Pentium III
v 128 bits
v entiers ou flottants 32 bits
l SSE2:
v volution SSE sur Pentium 4
v flottants 64 bits
l 3D Now !
v version MMX / SSE des processeurs AMD
v A partir du K6-II
v
Theoris 2004
64 bits 89

Multiprocesseur Vs Multiordinateur
Proc.

Memoire
Proc. Proc.
partag
partage
Mem.
Mem.

Proc. Proc.

Rseau de
Mem.
Mem. Proc. transport de Proc. Mem.
Mem.
messages

Proc.

Mem.
Mem.
Theoris 2004 90

45
Multiprocesseur
l Systme mmoire partage
l Facilit de communication
l Exemple:
v Enterprise de SUN
v NUMA-Q de Sequent (IBM)
v Origin 3000 de SGI
v Convex Exemplar dHP

Theoris 2004 91

Multiordinateur
l Systme mmoire distribu
l Chaque UC dispose de sa propre
mmoire
l Ncssit dun rseau dinterconnexion
pour la communication
l Exemple:
v SP/2 dIBM
v COW Wisconsin base de SPARCstations

Theoris 2004 92

46
Rseaux dinterconnexion
l Topologie
l Commutation
l Gestion des conflits sur les ressources
l Algorithme de routage

Theoris 2004 93

Topologie
l Disposition dans lespace des
commutateurs
l Modlisation par graphe
v Degr dun nud ou sortance = nombre de
liens qui atteignent un nud
v Diamtre = dist ance entre les deux nuds
les plus loigns
v Bandwith = la pire capacit de
transmission du rseau
v Dimension = nombre de choix possible
pour un chemin
Theoris 2004 94

47
Topologie

Theoris 2004 95

Topologie

Theoris 2004 96

48
Commutation
l Commutation de circuits
v Le chemin source-destination est
entirement rserv avant mission
v Dclaration pralable
v Aucun traffic tranger
v Pleine vitesse de transfert
l Commutation par paquets
v Souple et efficace
v Augmente le temps de latence

Theoris 2004 97

Routage
l Risque dtreinte fatale ou dead-lock
l Routage par la source: le chemin est
dtermin initialement par la source
l Routage distribu: chaque commutateur
dcide
v Routage statisue
v Routage adaptatif
l Routage dimensionnel
v Adapt aux grilles matricielles
v X puis Y par exemple
Theoris 2004 98

49
Multiprocesseur mmoire partage
Accs la mmoire
l Cohrence stricte
v Simple: FIFO sur la mmoire
v Utopiste: Goulot dtranglement
l Cohrence squentielle
v Toute les UC voit les actions sur la mmoire dans le mme ordre
l Cohrence du processeur
v Toutes les UC voit les actions des autres UC dans le mme ordre
l Cohrence faible
v Notion de point de synchronisation
v Vidage du pipeline des critures mmoires pour garantir un tat
stable
l Cohrence par libration
v Amlioration du modle de cohrence faible
v Bas sur le principe de section critique
Theoris 2004 99

Multiprocesseur mmoire partage


Architectures
l SMP sur bus UMA
l Multiprocesseur UMA avec commutateur
crossbar
l Multiprocesseur UMA avec rseaux de
commutation multi-tages
l Multiprocesseur NUMA
l Multiprocesseur NUMA cohrence de
caches
l Multiprocesseur COMA

Theoris 2004 100

50
Multiordinateurs transfert de messages
MPP (Processeurs Massivement Parall
Parallles)
l Descendants des mainframes des annes 60
l UC standard:
v Pentium dIntel
v UltraSPARC de Sun
v Alpha de DEC
l Caractriss par leur rseau de communication ddi
qui garanti une faible latence pour un haut dbit
l Exemple:
v T3E de Cray (Alpha 21164 de DEC, 1 To de mmoire
adressable, 2048 nuds, Tore 3D bidirectionnel + 1
GigaAnneau)
v Option Red dIntel/Sandia (4608 nuds, Pentium Pro
200Mhz, sur commande)
l Tolrance aux pannes ncessaire
Theoris 2004 101

Multiordinateurs transfert de messages


COW (grappes de stations de travail)

l Diffrence avec MPP: le rseau de


communication
l La disponibilit de tous les composants sur le
march:
v Grande production
v Economie dechelle
l Les MPP sont relgus dans les marchs de
niche
l Ordonnancement
v FIFO
v Sans blocage en tte de file
v
Theoris 2004
Carrelage: avec profil UC-Temps dutilisation 102

51
Multiordinateurs transfert de messages
Mmoire partag
partage au niveau applicatif
l Mmoire partage rpartie
v DSM (Distributed Shared Memory)
v Bas sur la pagination, les pages sont rparties sur les diffrentes
UC
v Problme de dfaut de page
l LINDA
v Mmoire rpartie structure (tuplets)
v Enrichissement des langages par des primitives ddies: C-Linda,
FORTRAN-Linda
v Les mcanismes de synchro se font naturellement par change de
tuplets
l ORCA
v Travaille sur des objets partags qui se prsente comme des
rgions critiques qui garantissent lintgrit de lobjet
v Chaque UC agit sur un objet via ses mthodes
l GLOBE: extension aux rseaux multiordinateurs
plantaires
Theoris 2004 103

Yannick BALERE

yannick.balere@theoris.fr

Theoris 2004 104

52

You might also like