Memory Organization in Computer Architecture

Programming, Computer Architecture, Memory Management · exam

Voir tous les documents en gestion et économie

AARRCCHHIITTEE CCTTUURREE DDEESS OORRDDIINNAATTEEUURRSS

CCOORRRREECCTTIIOONN TTDD NN°°44

Organisation de la mémoire centrale

Niveau : 1ère année BC 1,2,3,4 Année universitaire : 2019/2020

Exercice 1 :

Déterminer les noms des acronymes suivants :

Espace d’Adressage Direct

Nombre de cases mémoires CA

Taille Mémoire Centrale

Taille d’adresse mémoire

Adresse basse mémoire

Nombre de blocs

Nombre de cases blocs

Taille d’adresse Bloc

Adresse basse du Bloc

EAD

NCM

TMC

T@M

@bM

NB

NCB

T@B

@bB

Tbus@ Taille bus d’adresse

Décodeur d’adresse

Dec@

TCM

Taille Case Mémoire

Capacité d’adressage

Adresse haute mémoire

Taille Bloc

Nb@M Nombre de bits d’adresse mémoire

NL@M Nombre de Ligne d’adresse mémoire

@hM

TB

Nb@B Nombre de bits d’adresse Bloc

NL@B Nombre de Lignes d’adresse Bloc

@hB

Adresse haute du Bloc

TbusD Taille bus de données

DecB

Décodeur de Blocs

Exercice 2 :

TCM = 16b = 2 = 24b

EAD = 128M = 27 220 23 = 230 b

1 = 23 ; 1K = 210 ; 1M =220 ; 1G = 230

1. a- Nombre de bits d’@ = 30b

b- Nombre de bits de données = 16b

2. Capacité de la mémoire centrale  TMC = EAD . TCM

a. TMC en bits : 230 . 24 = 234 b

b. TMC en  : 234 b = 231 . 23 = 231 

c. TMC en K : 234 b = 221 . 210 . 23 = 221 K

d. TMC en M : 234 b = 211 . 220 . 23 = 211 K

e. TMC en G : 234 b = 21 . 230 . 23 = 2G

3. l’adresse basse et l’adresse haute comporte 30b

a- @basse = ( 00 0000 0000 0000 0000 0000 0000 0000 )2

= ( 0)16

b- @haute = ( 11 1111 1111 1111 1111 1111 1111 1111 )2

= ( 3 F F F F F F F )16

4. TB = Taille du bloc = 1G = 230b

Nombre de Blocs = NB = TMC / TB = 234 / 230 = 24

Nombre de cases blocs = NCB = TB / TCB = 230 / 24 = 226

NL@M = 30

NbDB = 4

NL@B : 26

Les @basses et les @hautes des 16 blocs en Binaire

Bli

A29

A28

A27

A26

A25

…………… .

A0

Bl0

Bl1

Bl2

Bl3

Bl4

Bl5

Bl6

Bl7

Bl8

Bl9

Bl10

Bl11

Bl12

Bl13

Bl14

Bl15

0

0

0

0

@b

@h

0

0

0

0

@b 0 0 0 1

@h

1

0

0

0

@b

@h

0

0

0

@b

1

@h

1

0

1

@b

0

@h

0

1

1

@b

1

@h

1

1

@b

1

0

@h

0

1

1

1

@b

@h

1

1

0

0

@b

@h

0

0

0

@b

Publicité

1

@h

1

0

0

@b

0

@h

0

0

0

@b

1

@h

1

0

@b

1

0

@h

0

1

@b

1

1

@h

1

1

1

@b

0

@h

0

1

1

@b

1

1

1

@h

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

Publicité

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

……………… .

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Les @basses et les @hautes des 16 blocs en hexadécimal

Bli

A7

A6

A5

A4

A3

A2

A1

A0

Bl0

Bl1

Bl2

Bl3

Bl4

Bl5

Bl6

Bl7

Bl8

Bl9

Bl10

Bl11

Bl12

Bl13

Bl14

Bl15

0

0

0

F

0

3

@b

@h

0

F

0

F

0

F

0

F

0

F

@b 0 4 0 0 0 0 0 0

F

@h

0

@b

F

@h

0

@b

F

@h

0

@b

F

@h

0

@b

F

@h

0

@b

F

@h

0

@b

F

@h

@b

0

F

@h

0

@b

F

@h

0

@b

F

@h

0

@b

F

@h

0

@b

F

@h

@b

0

F

@h

0

@b

F

@h

0

@b

F

@h

F

Publicité

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

7

8

B

C

F

0

3

4

7

8

B

C

F

0

3

4

7

8

B

C

F

0

3

4

7

8

B

C

F

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

0

0

0

0

Publicité

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

3

3

3

3

3

3

3

3

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

0

F

Exercice 3 :

1. MM = 4 = 22 23 = 25 = 32 = 8.4 = 8d

MW = 128b = 27 = 24 23 = 16 = 32d

2. MW = 4 MM

3. 4 opérations de lectures

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

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

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

  • L’adresse du bloc associé à L2 = (000000000000000000000000011111)2 = 1x2

3

+ 1x2

4

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étermine r la case du début du B12.

Indice de la case du début d’un bloc = indice du bloc x NCB

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.