Organisation de la mémoire centrale

Ce document présente un exercice corrigé sur l'organisation de la mémoire centrale, destiné à des étudiants de première année BC. Il évalue la compréhension des différences entre mémoire centrale et mémoire cache, ainsi que la capacité à manipuler les concepts liés à l'adressage et à la gestion des blocs en mémoire cache. Exercice 4 1.

D'après le document Organisation de la mémoire centrale

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source

Organisation de la mémoire centrale

Memorization, Cache Memory, Programming · PDF · 2 pages · 2019

Afficher l'aperçu du document

Consulter le document original →

Ce document présente un exercice corrigé sur l'organisation de la mémoire centrale, destiné à des étudiants de première année BC. Il évalue la compréhension des différences entre mémoire centrale et mémoire cache, ainsi que la capacité à manipuler les concepts liés à l'adressage et à la gestion des blocs en mémoire cache.

Exercice 4

1. Différences qualitatives entre une mémoire centrale et une mémoire cache

Il s'agit d'identifier les différences principales entre la mémoire centrale (MC) et la mémoire cache (MCa).

  • Capacité de stockage : La mémoire centrale a une capacité supérieure, tandis que la mémoire cache a une capacité inférieure.
  • Vitesse : La mémoire centrale est moins rapide, la mémoire cache est plus rapide.
  • Coût : Le coût par unité de stockage est faible pour la mémoire centrale, élevé pour la mémoire cache.
  • Technologie : La mémoire centrale est construite avec SRAM et DRAM, alors que la mémoire cache est construite uniquement avec SRAM.

Réponse : Ces différences montrent que la mémoire cache est une mémoire rapide et coûteuse, de faible capacité, utilisée pour accélérer l'accès aux données, tandis que la mémoire centrale est plus lente, moins coûteuse par unité et de grande capacité.

2. Calcul de TMCache

On demande de calculer TMCache, le temps total de la mémoire cache, en utilisant la formule :

TMCache = NLcache × TLcache

avec :

  • NLcache = 2048
  • TLcache = TBV + NbDB + TB
  • NbDB = ? (nombre de bits de l'adresse de données dans un bloc)
  • TB = ? (taille d'un bloc en bits)

Les données fournies sont :

  • EAD = 2^32 (taille de l'espace d'adressage mémoire)
  • MM (mot mémoire) = TCM = 1 octet = 2^3 = 8 bits
  • TB = 32 bits = 4 mots mémoire = 2^2 × 2^3 = 2^5
  • TMC = EAD × TCM = 2^32 × 2^3 = 2^35

Calcul du nombre de blocs (NB) :

NB = TMC / TB = 2^35 / 2^5 = 2^30

On a aussi NB = 2 × NbDB, donc :

NbDB = 30

Calcul de TLcache :

TLcache = 1 + 30 + 32 = 63

Enfin, calcul de TMCache :

TMCache = 2048 × 63 = 129024 = 16 128 octets

Réponse : TMCache = 129 024 bits, soit 16 128 octets.

3. Récupération du contenu des cases en utilisant la cache

Il s'agit de déterminer comment récupérer le contenu d'une case mémoire (ici la case 49) en utilisant la mémoire cache, en suivant les étapes suivantes :

Étape 1 : Division de la cache en trois colonnes

La mémoire cache est divisée en :

  • BV : bit de validité
  • Bits qui désignent un bloc
  • Contenu du bloc

Les données binaires des blocs valides sont fournies, ainsi que la formule pour calculer le nombre de cases par bloc (NCB) :

NCB = TB / TCB = 32 / 8 = 2^5 / 2^3 = 2^2 = 4

Étape 2 : Déterminer l’indice du bloc contenant la case 48

On calcule l'indice du bloc (indice_bloc) contenant la case 48 :

indice_bloc = indice_case / NCB = 48 / 4 = 12

Le reste de la division est 0.

Étape 3 : Chercher le bloc B12 dans les lignes valides de la cache

Les lignes valides sont L0 et L2, avec les adresses de bloc suivantes :

  • L0 : (000000000000000000000000010100)₂ = 20 en décimal
  • L2 : (000000000000000000000000011111)₂ = 31 en décimal

Le bloc B12 (indice 12) n'existe pas dans la cache car 12 ≠ 20 et 12 ≠ 31.

Étape 4 : Récupérer B12 de la mémoire centrale et l'enregistrer dans la cache

On calcule l'indice de la case du début du bloc B12 :

indice_case_début_bloc = indice_bloc × NCB = 12 × 4 = 48

Le bloc B12 est donc composé des cases 48, 49, 50 et 51.

On ajoute une nouvelle ligne dans la cache pour ce bloc :

1
000000000000000000000000001100
11111111110001110111101101011111

Étape 5 : Récupérer le contenu de la case 48

Le contenu d'une case est récupéré à partir de :

reste × TCB = 0 × 8 bits = 0 bits

Donc le contenu de la case 48 est :

(11111111)₂

Réponse : Le contenu de la case 48 est le byte (11111111)₂.

Méthode

Ce type d'exercice récompense une bonne maîtrise des notions d'adressage mémoire, de calculs binaires et de gestion des blocs en mémoire cache. Il est essentiel de :

  • Respecter les définitions et notations données dans l'énoncé, notamment pour les tailles et indices.
  • Effectuer les divisions entières et calculs d'indices avec rigueur, en vérifiant les restes.
  • Comprendre la structure de la mémoire cache : bits de validité, adresse de bloc, contenu.
  • Appliquer correctement les formules pour passer de l'adresse mémoire à l'indice de bloc et à la case dans le bloc.
  • Ne pas hésiter à expliciter chaque étape, même si elle semble simple, pour éviter les erreurs d'interprétation.

Les erreurs fréquentes incluent la confusion entre indices de blocs et indices de cases, ou le mauvais calcul du nombre de cases par bloc. Une attention particulière doit être portée à la conversion entre binaire et décimal pour les adresses.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions