Mémoire
Objectifs
Comment stocker des données ?
Cours
F pour passer en plein écran ou O pour afficher la vue d'ensemble.
Versions sans animation, plein écran, imprimable.
Exercices
Accès mémoire
Voici l'état de départ de la mémoire :
Adresse | Valeur |
---|---|
0 | 0x73 |
1 | 0x42 |
2 | 0xBE |
3 | 0xF3 |
Sur combien de bits sont codées les adresses ?
Solution
22 = 4 adresses, donc 2 bits.
Sur combien de bits sont codées les valeurs ?
Solution
0x73 = 0111 00112 (chaque caractère hexadécimal est codé sur 4 bits), donc 8 bits.
Que vaut mémoire[2] ?
Solution
mémoire[2] = 0xBE
Que vaudra la mémoire après les instructions suivantes ?
mémoire[1] = 0xF2
mémoire[0] = 0x42
mémoire[1] = 0x06
Solution
Adresse | Valeur |
---|---|
0 | 0x42 |
1 | 0x06 |
2 | 0xBE |
3 | 0xF3 |
Cache
Voici l'état de départ de la mémoire :
Adresse | Valeur |
---|---|
0 | 0x1A |
1 | 0x0E |
2 | 0x32 |
3 | 0xB2 |
On a un cache de 2 lignes qui est vide.
Pour chacune de ces lectures, indiquez d'où provient la valeur :
- mémoire[0]
- mémoire[3]
- mémoire[0]
- mémoire[3]
- mémoire[2]
- mémoire[0]
- mémoire[0]
- mémoire[1]
Solution
- mémoire[0] : mémoire (le cache était vide)
- mémoire[3] : mémoire (le cache contenait 0)
- mémoire[0] : cache (le cache contenait 0 et 3)
- mémoire[3] : cache (le cache contenait 0 et 3)
- mémoire[2] : mémoire (le cache contenait 0 et 3)
- mémoire[0] : mémoire (le cache contenait les deux dernières valeurs lues, donc 2 et 3)
- mémoire[0] : cache (le cache contenait 0 et 2)
- mémoire[1] : mémoire (le cache contenait 0 et 2)