Structure générale de la machine physique

publicité
Gestion de la mémoire centrale
Fonction de mémorisation
Ä Rappels et généralités
• Le principe de la hiérarchie de mémoire, le fonctionnement des
caches
• Cache associatif
• Cache à correspondance directe
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
1
Structure générale de la machine physique
Horloge
Processeur
Central
Mémoire
Cache
Mémoire
Centrale
Architecture des machines et systèmes Informatiques A0, 2001/2002
Bus
Réseau
d' échange
Unité d’échange
Joëlle Delacroix
2
1
Structure générale de la machine physique
• La mémoire centrale contient les instructions et données des
programmes à exécuter. Avec le disque, la mémoire cache, elle
constitue un système de hiérarchie de mémoire qui permet de
rapprocher la vitesse de la mémoire centrale de celle du processeur.
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
3
La mémoire centrale
•
•
•
•
•
Architecture des machines et systèmes Informatiques A0, 2001/2002
La mémoire centrale est
constituée par un ensemble
de mots mémoire.
Un mot est constitué par un
ensemble d'octets.
Chaque mot est repéré de
manière unique par une
adresse.
Elle s'interface avec le cpu
via les registres RAD et
RDO
Une zone particulière de la
mémoire est gérée comme
une structure de pile repérée
par le registre Rsp
Joëlle Delacroix
4
2
La mémoire centrale
Fonctions :
Bus
d'adresses
m Bits
stockage
programme et données
Adresse
Unités de stockage :
Bit, Octet, Mot.
Lecture
Ecriture
Bus
de commandes
Mémoire
Mots
Adressage :
m
2 Mots de p bits
Temps d’accès.
Technologies.
Données
Coûts.
p Bits
Bus de
Données
Mot ou octet
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
5
La mémoire centrale
0
1
2
3
mot1
mot2
mot3
mot4
mot5
4
•
Adressage par mot
• seuls les mots sont adressables et
donc répérés par une adresse
Mot de 4 octets
•
0
4
8
12
0
1
2
16
3
mot1
mot2
mot3
mot4
mot5
Mot de 4 octets
Architecture des machines et systèmes Informatiques A0, 2001/2002
Adressage par octets
• chacun des octets composant un
un mot est adressable et est donc
repéré par une adresse
• l'adresse d'un mot est alors celle
de son premier octet.
Joëlle Delacroix
6
3
Les caractéristiques de la mémoire centrale
• Accès : direct (disque dur) ou séquentiel (bande
magnétique)
• Capacité : volume d'informations qu'elle est capable de
stocker. Exprimée en Kilooctets (Ko = 210 octets),
Mégaoctets (Mo = = 2 20 octets) et Gigaoctets (Go = 230
octets)
•
Volabilité : une mémoire est volatile si elle perd son
contenu à la suite d'une coupure de courant
• Temps d'accès : temps qui s'écoule entre l'instant où une
commande mémoire est émise (lecture/écriture) et l'instant
où l'opération est effectivement effectuée.
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
7
Les différents types de mémoire
• Mémoires mortes :
non volatiles, accès direct
ROM(Read Only Memory) : une fois l'information enregistrée,
celle-ci ne peut pas (ou difficilement) être modifiée
• Mémoires vives : volatiles, accès direct
RAM (Random Access Mémory) : accessible en lecture et écriture
DRAM : (Dynamic Ram)
SRAM : (Static Ram)
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
8
4
Mémoire centrale
Données
Vcc
D0
D1
D2
D3
D4
D5
D6
D7
Read
Write
Sélection
R
W
S
Architecture des machines et systèmes Informatiques A0, 2001/2002
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
Adresses
Alimentation
RAM
Mémoire RAM (brochage)
Joëlle Delacroix
9
Gestion de la mémoire centrale
Fonction de mémorisation
• Rappels et généralités
Ä Le principe de la hiérarchie de mémoire, le fonctionnement des
caches
• Cache associatif
• Cache à correspondance directe
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
10
5
Hiérarchie Mémoire
vitesse
6-35 ns
70 - 120 ns
10000000-20000000 ns
cout Le plus élevé
Le moins élevé
capacité La plus petite
La plus grande
Processeur
Registres
Mémoire
Cache
Mémoire
centrale
Mémoire
d'appui
Disque
Magnétique
Bus
Local
DRAM
SRAM
Bus
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
11
Mémoire cache
• Définition
•
La mémoire cache est une mémoire intermédiaire placée
entre le processeur et la mémoire centrale dont le temps
d'accès est de 4 à 20 fois inférieur à celui de la mémoire
centrale
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
12
6
Mémoire cache : principe
la stratégie suivie s'appuie sur le principe de localité
Processeur
Registres
info
a
Mémoire
Cache
Mémoire
info
b Centrale
Bus
Local
DRAM
SRAM
1
?
2
Architecture des machines et systèmes Informatiques A0, 2001/2002
?
1. L'info cherchée est-elle
dans le cache ?
OUI / Succès (a) : ramener l'info
dans le processeur
NON / défaut (2) : chercher l'info
dans la mémoire centrale
2. L'info est-elle en mémoire
centrale ?
OUI / Succès (b) : ramener l'info
dans le cache , puis dans le
processeur (a)
NON / défaut
Joëlle Delacroix
13
Mémoire cache
Principe de localité
• Localité temporelle : si une donnée d'adresse A est
accédée à un temps t, la probabilité qu'elle soit de
nouveau accédée aux temps t+1, t+2 est très forte.
F La donnée est remontée dans le cache pour minimiser les
temps d'accès suivants
• Localité spatiale : si une donnée d'adresse A est
accédée à un temps t, la probabilité que les données
d'adresses voisine (A+1, A+2, ..) soient accédées
aux temps t+1, t+2 est très forte.
F La donnée d'adresse A et également les données d'adresse
voisines sont remontées dans le cache pour minimiser les
temps d'accès suivants
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
14
7
Processeur
Registres
Mémoire
Cache
Mémoire
Centrale
Mémoire cache
Le cache en
lecture
Bus
Local
DRAM
SRAM
Bus
Si Info. présente Alors Charger processeur avec information
Sinon
Charger cache avec la donnée et ses voisines
Charger processeur
Lecture
Load D, R, A
FinSi
FinSi
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
Processeur
Registres
Mémoire
Cache
15
Mémoire
Centrale
Mémoire cache
Le cache en
écriture
Bus
Local
SRAM
DRAM
Bus
Ecriture
Store D, R, C
Write Thru
Si Info. présente Alors Modifier cache
Modifier Mémoire principale
Sinon Modifier mémoire principale
Posted Write
FinSi
Architecture des machines et systèmes Informatiques A0, 2001/2002
Write Back
Joëlle Delacroix
16
8
Mémoire cache : principe
cache
• Problème du processeur : l'information
recherchée est-elle présente dans le cache
?
• Deux types de cache :
F associatif : une information de la mémoire
centrale est placée dans n'importe quelle
entrée libre du cache
F à correspondance directe : l'entrée du cache
occupée par une information est fonction de
l'adresse en mémoire centrale de cette
information.
F Pour trouver une information, stratégie de
recherche différente.
Architecture des machines et systèmes Informatiques A0, 2001/2002
Répertoire :
infos de gestion pour
trouver une information
Donnée utiles
Joëlle Delacroix
17
Gestion de la mémoire centrale
Fonction de mémorisation
• Rappels et généralités
• Le principe de la hiérarchie de mémoire, le fonctionnement des
caches
Ä Cache associatif
• Cache à correspondance directe
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
18
9
Load D, R,
Mémoire centrale
0 2 3 5
0000
0010
0020
0
1
2
3
4
5
6
7
8
9
0220
0230 a b c d e f g h i j
9970
9980
9990
Si répertoire contient 023 Alors Charger f dans processeur
Sinon Si répertoire plein Alors Remplacement ligne
Cache purement associatif : Lecture
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
Load D, R,
0
1
2
3
4
5
6
7
8
9
Remplir ligne
Charger f dans processeur
Sinon Remplir une ligne
Charger f dans processeur
19
Mémoire centrale
0 2 3 5
0000
0010
0020
0220
0230 a b c d e f g h i j
023
a b c d e f g h i j
9970
9980
9990
Si répertoire contient 023 Alors Charger f dans processeur
Sinon Si répertoire plein Alors Remplacement ligne
Cache purement associatif : Lecture
Architecture des machines et systèmes Informatiques A0, 2001/2002
Remplir ligne
Charger f dans processeur
Sinon Remplir une ligne
Charger f dans processeur
Joëlle Delacroix
20
10
Load D, R,
0
1
Ligne libre 2
3
4
5
6
7
8
9
Mémoire centrale
0 2 3 5
0000
0010
0020
001
003
022
023
a b c d e f g h i j
000
998
0220
0230 a b c d e f g h i j
9970
9980
9990
Si répertoire contient 023 Alors Charger f dans processeur
Sinon Si répertoire plein Alors Remplacement ligne
Cache purement associatif : Lecture
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
Load D, R,
Ligne choisie 0
1
2
3
4
5
6
7
8
9
Remplir ligne
Charger f dans processeur
Sinon Remplir une ligne
Charger f dans processeur
Mémoire centrale
0 2 3 5
001
003
023
997
002
998
030
000
998
040
21
0000
0010
0020
a b c d e f g h i j
0220
0230 a b c d e f g h i j
9970
9980
9990
Si répertoire contient 023 Alors
f dans
processeur
AlorsCharger
Charger
f dans
processeur
Sinon Si répertoire plein Alors Remplacement ligne
Cache purement associatif : Lecture
Architecture des machines et systèmes Informatiques A0, 2001/2002
Remplir ligne
Charger f dans processeur
Sinon Remplir une ligne
Charger f dans processeur
Joëlle Delacroix
22
11
Cache purement associatif : Lecture
Adresse mémoire
Etiquette Offset
Répertoire
( clés )
Comparateurs
Si
Répertoire contient Etiquette
mémoire utile
contenant les
informations :
Instructions
ou
données
Information
trouvée
Alors
Information trouvée
Charger le processeur
Sinon Si Répertoire plein Alors Algorithme de remplacement
de ligne
Remplir la ligne choisie
Charger le processeur
Sinon Remplir une ligne libre
Charger le processeur
FinSi
FinSi
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
23
Gestion de la mémoire centrale
Fonction de mémorisation
• Rappels et généralités
• Le principe de la hiérarchie de mémoire, le fonctionnement des
caches
• Cache associatif
Ä Cache à correspondance directe
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
24
12
Cache à accès direct
Load D R
Mémoire centrale
0000
0010
0020
0 2 3 5
0
1
2
3
4
5
6
7
8
9
Si
02 0 0
02 1 0
02 2 0
02 3 0 a b c d e f g h i j
02 4 0
02 9 0
9990
Répertoire [3] = 02
Alors
Sinon
Charger processeur avec MemoireUtile[3,5]
Répertoire[3] = 02
Charger Ligne[3] à partir de la mémoire centrale
Charger processeur avec MémoireUtile[3,5]
FinSi
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
25
Cache à accès direct
Load D R
0
1
2
3
4
5
6
7
8
9
Si
Mémoire centrale
0000
0010
0020
0 2 3 5
01
03
02
01
00
99
03
00
99
04
Répertoire [3] = 02
FinSi
02 0 0
02 1 0
02 2 0
02 3 0 a b c d e f g h i j
02 4 0
02 9 0
9990
Alors
Sinon
Architecture des machines et systèmes Informatiques A0, 2001/2002
Charger processeur avec MemoireUtile[3,5]
Répertoire[3] = 02
Charger Ligne[3] à partir de la mémoire centrale
Charger processeur avec MémoireUtile[3,5]
Joëlle Delacroix
26
13
Cache à accès direct
Load D R
0
1
2
3
4
5
6
7
8
9
Si
Mémoire centrale
0000
0010
0020
0 2 3 5
01
03
02
02
00
99
03
00
99
04
a b c d e f g h i j
02 0 0
02 1 0
02 2 0
02 3 0 a b c d e f g h i j
02 4 0
02 9 0
9990
Répertoire [3] = 02
Alors
Sinon
Charger processeur avec MemoireUtile[3,5]
Répertoire[3] = 02
Charger Ligne[3] à partir de la mémoire centrale
Charger processeur avec MémoireUtile[3,5]
FinSi
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
27
Cache à accès direct
Load D, R,
0 2 3 2
01
03
02
02
00
99
03
00
99
04
0
1
2
3
4
5
6
7
8
9
Si
Mémoire centrale
Répertoire [3] = 02
FinSi
0000
0010
0020
a b c d e f g h i j
02 0 0
02 1 0
02 2 0
02 3 0 a b c d e f g h i j
02 4 0
02 9 0
9990
Alors
Sinon
Architecture des machines et systèmes Informatiques A0, 2001/2002
Charger processeur avec MemoireUtile[3,2]
Répertoire[3] = 02
Charger Ligne[3] à partir de la mémoire centrale
Charger processeur avec MémoireUtile[3,2]
Joëlle Delacroix
28
14
Cache à accès direct
Adresse mémoire
Etiquette
Index Offset
Mémoire utile
contient les
informations :
instructions
ou
données
Répertoire
contient les
clés
Si
Répertoire [Index] = Etiquette
Alors
Sinon
Charger processeur avec MemoireUtile[Index,Offset]
Répertoire[Index] = Etiquette
Charger Ligne[Index] à partir de la mémoire centrale
Charger processeur avec MémoireUtile[Index,Offset]
FinSi
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
29
Résumé
• La mémoire centrale contient les instructions et données des programmes à
exécuter. Avec le disque, la mémoire cache, elle constitue un système de
hiérarchie de mémoire qui permet de rapprocher la vitesse de la mémoire
centrale de celle du processeur.
• La mémoire centrale est composée de mots. Un mots est un ensemble
d'octets. Si la mémoire est adressable par octet, chaque octet d'un mot a une
adresse unique.
• La mémoire est caractérisée par sa volabilité, sa capacité et son temps
d'accès.
• La mémoire cache est une mémoire intermédiaire placée entre le processeur
et la mémoire centrale dont le temps d'accès est de 4 à 20 fois inférieur à celui
de la mémoire centrale. Son fonctionnement s'appuie sur les principes de
localité.
• On distingue deux types de cache : les caches associatifs et les caches à
accès direct.
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
30
15
Téléchargement