Organisation de la mémoire centrale

Memorization, Cache Memory, Programming · exam

Voir tous les documents en programmation

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.