AARRCCHHIITTEECCTTUURREE DDEESS OORRDDIINNAATTEEUURRSS
TTDD NN°°44
Correction Exercice N°4
Organisation de la mémoire centrale
Niveau : 1ère année BC 1,2,3,4 Année universitaire : 2019/2020
Exercice 4 :
1. Les différences qualitatives entre une mémoire centrale et une mémoire cache.
Mémoire Centrale : MC
Mémoire Cache : MCa
- Capacité de stockage supérieure
- Capacité de stockage inférieure
- Moins rapide
- Plus rapide
- Coût faible par unité de stockage
- Coût élevé par unité de stockage
- Construite par SRAM, DRAM…
- Construite par SRAM
2.
TMCache = NLcache . TLCache
NLcache=2048
TLcache = TBV + NbDB + TB
Publicité
NbDB = ? TB= ?
TMC = 232 MM
EAD = 232
MM (mot mémoire) = TCM = 1 = 23 = 8b
TB= 32b = 4 mots mémoire = 22 . 23 = 25
TMC = EAD . TCM = 232 . 23 = 235
NB = TMC / TB = 235 / 25 = 230
NB=2NbDB=230 -
NbDB=30
Donc TLcache = 1 + 30 + 32 = 63
TMCache = 2048 . 63 = 129024 = 16128
3. Récupération du contenu des cases en utilisant la cache :
Avant tout, les étudiants doivent diviser la cache en trois colonnes en se basant sur les
calculs déjà fais dans la partie précédente :
BV
Bits qui Désignent un Bloc
Publicité
Contenu du Bloc
1
0
1
000000000000000000000000010100
000000000000000000001000000000
01010101010101011000100101010111
11110101010101010000100101011111
000000000000000000000000011111
11110101010101010000100101011111
En plus, il faut déterminer NCB = TB/TCB = 32/8 = 25 / 23 = 22 = 4
1cas- Récupération du contenu de la 49
ème
Etape 1 : Déterminer l’indice du bloc contenant la C48 :
Indice du boc = indice case demandée / NCB (Nombre de cases blocs)
Indice du boc = 48/4 = 12 ; Reste = 0
Etape 2 : Chercher le Bloc B12 dans les lignes valides de la cache (BV = 1)
Il ya deux lignes valides : L0 et L2
-
- L’adresse du bloc associé à L0 = (000000000000000000000000010100)2 = 1x2
= (20)10
Publicité
- L’adresse du bloc associé à L2 = (000000000000000000000000011111)2 = 1x2
3
4
1x2
+ 1x2
= 1 + 2 + 4 + 8 + 16 = (31)10
2
0
+ 1x2
+ 1x2
4
1
= 4 + 16
+ 1x2
2
+
Alors le Bloc B12 n’existe pas dans la cache.
Etape 3 : Dans ce cas, il faut récupérer B12 de la mémoire centrale et l’enregistrer dans la cache.
Malgré que dans cet exercice le contenu de tout le bloc existe et il n’est pas divisé en
cases, vous demandez aux étudiants de déterminer la case du début du B12.
Indice de la case du début d’un bloc = indice du bloc x NCB
Publicité
Indice de la case du début du B12 = 12 x 4 = 48
-
- Enregistrer B12 dans la cache (vous laisser les étudiants choisir s’il ajoute une autre ligne ou
écraser le contenu de la deuxième ligne sachant que je préfère qu’ils ajoutent une ligne pour
qu’ils puissent voir le cas d’un bloc existant dans la cache mais puisqu’il est dans une ligne
non valide comme dans le case de case 4100)
- La ligne ajoutée est la suivante :
1
000000000000000000000000001100
11111111110001110111101101011111
Etape 4 : récupérer le contenu de la C48 en utilisant le reste de la division de l’étape1.
- Dans tout les cas : le contenu d’une case est à récupérer après Reste x TCB (dans cet exercice =
8b) bits.
- Alors dans le cas de C48 : on commence à récupérer le contenu de C48 (8b = TCB) après 0 x 8 bits
(0bits) Alors le contenu de C48 = (11111111)2
En fait : B12 comporte C48, C49, C50 et C51.