Академический Документы
Профессиональный Документы
Культура Документы
Ivan Boule
CNAM
Ivan Boule
CNAM
Mmoire centrale
Mmoire d%namique '$&AM( Grande capacit ') transistor*bit( Accs lent
Cache
Mmoire statique '1&AM( Capacit rduite Accs rapide
Ivan Boule 3
CNAM
Caches Mmoire
Accs lent (mot, byte) CPU 4ent &apide Cache &apide 7rite -uffer 4ent &AM RAM
CPU
Ivan Boule
CNAM
ar/ard
CNAM
CPU Core
Ivan Boule
CNAM
Ivan Boule
CNAM
CNAM
cache
Mmoire
Ivan Boule 9
CNAM
Caches Multi2?i/eau<
Plusieurs ni/eau< de caches mmoire Cache 4)
Ant.r dans CPU Accs trs rapide ') CPU c%cle( Baille entre )+ et )2C D-
Cache 42
1tatic &AM Accs rapide ', 8 )+ CPU c%cles( Baille entre 2E+ D- et 2 M-
Ivan Boule
10
CNAM
Caches Multi2?i/eau<
Caches 4) et 42 pri/s 8 chaque coeur Caches 4" parta. entre coeurs d3un CPU Caches inclusifs
4) tou>ours dans 42 Baille 4i.ne 4) F# Baille 4i.ne 42
Caches e<clusifs
4) >amais dans 42 Baille 4i.ne 4) # Baille 4i.ne 42
sGap li.nes sur 4) miss6 42 hit
Ivan Boule
11
CNAM
Caches Multi2?i/eau<
Processeur
CPU Core L1 Cache L2 Cache CPU Core L1 Cache L2 Cache CPU Core L1 Cache L2 Cache CPU Core L1 Cache L2 Cache CPU Core L1 Cache L2 Cache
Processeur
CPU Core L1 Cache L2 Cache CPU Core L1 Cache L2 Cache CPU Core L1 Cache L2 Cache
Shared L3 Cache
Shared L3 Cache
RAM
RAM
Ivan Boule
12
CNAM
CNAM
Ivan Boule
14
CNAM
cache
CNAM
/ d Mot" Mot2 Mot ) Mot O / d Mot" Mot2 Mot ) Mot O / d Mot" Mot2 Mot ) Mot O / / / / d d d d Mot" Mot" Mot" Mot" Mot2 Mot Mot2 Mot Mot2 Mot Mot2 Mot ) Mot ) Mot ) Mot ) Mot O O O O
V = valid
D = dirty (modifi)
Ivan Boule
Mot = 4 octets
16
CNAM
CNAM
cache
CNAM
miss ? =
hit
20 bits
/ d Mot" Mot2 Mot ) Mot O / d Mot" Mot2 Mot ) Mot O / d Mot" Mot2 Mot ) Mot O / / / / d d d d Mot" Mot" Mot" Mot" Mot2 Mot Mot2 Mot Mot2 Mot Mot2 Mot ) Mot ) Mot ) Mot ) Mot O O O O
Mot = 4 octets
19
CNAM
CNAM
cache
CNAM
")
miss ? =
hit
7a% " 2 Ba. /d Mot" Mot2 Mot )7a% Mot O ) Ba. Ba. /d/d Mot" Mot" Mot2 Mot2 Mot Mot ) Mot )7a% Mot O O O Ba. Ba. Ba. /d/d Mot" /d Mot" Mot" Mot2 Mot2 Mot2 Mot Mot Mot ) Mot ) Mot )7a% Mot O O O Ba. Ba. Ba. /d/d Mot" /d Mot" Mot" Mot2 Mot2 Mot2 Mot Mot Mot ) Mot ) Mot ) Mot O O O Ba. Ba. /d/d Mot" Mot" Mot2 Mot2 Mot Mot ) Mot ) Mot O O Ba. Ba. /d Mot" /dMot2 Mot" Mot Mot2 ) Mot Mot O ) Mot O Ba. Ba. /d/d Mot" Mot" Mot2 Mot2 Mot Mot ) Mot ) Mot O O Ba. Ba. Ba. /d/d Mot" /d Mot" Mot" Mot2 Mot2 Mot2 Mot Mot Mot ) Mot ) Mot ) Mot O O O Ba. Ba. Ba. Ba. /d/d Mot" /d Mot" /d Mot" Mot2 Mot" Mot2 Mot2 Mot Mot2 Mot Mot ) Mot Mot ) Mot ) Mot O ) Mot O O O Ba. Ba. Ba. /d/d Mot" /d Mot" Mot" Mot2 Mot2 Mot2 Mot Mot Mot ) Mot ) Mot ) Mot O O O Ba. Ba. /d/d Mot" Mot" Mot2 Mot2 Mot Mot ) Mot ) Mot O O Ba. /d Mot" Mot2 Mot ) Mot O
CNAM
Ivan Boule
23
CNAM
CNAM
Ivan Boule
25
CNAM
CNAM
Ivan Boule
27
CNAM
Ivan Boule
28
CNAM
Politiques de remplacement
Last Recentl% Used '4&U( &ound2&obin
Ivan Boule 29
CNAM
=prations de ContrRle
Cache FlushH /ider tout le contenu du cache Cache CleanH crire toutes les donnes modifies en mmoire Possibilit d3effectuer ces oprations par portion6 a/ec une .ranularit par li.ne $istinction entre cache d3instructions et cache de donnes Possibilit de /errouiller du code et*ou des donnes en cache
Ivan Boule 30
CNAM
CNAM
Pr2char.ement de Cache's(
Anstructions spciales de pr2char.ement 'prefetch en an.lais( de donnes en cache
static inline void data_L1_prefetch(volatile void *p) { asm volatile ("prefetcht0 %0" : "+m" (*(char *)p)); }
Char.e une li.ne de cache depuis la &AM =pration as%nchrone e<cute en parallle a/ec instructions sui/antes Utilises pour optimiser les performances des traitements de donnes par 9:burst:;
Ivan Boule 32
CNAM
CNAM