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
Memorization, Cache Memory, Programming · PDF · 2 pages · 2019
Afficher l'aperçu du document
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.
Commentaires
Aucun commentaire pour le moment. Posez la première question.