Memoire Et Bus
Memoire Et Bus
Memoire Et Bus
2
Analogie #1 (mémoire): boîte aux lettres
• chaque boîte à lettres contient:
• un nombre fixe de lettres (contenu)
• un numéro (adresse)
3
Analogie #2 (mémoire): dossiers
• chaque dossier contient:
• un nombre fixe de feuilles (contenu)
4
Mémoire = stockage de bits
Une case ne peut jamais
Chaque case contient un bit
être «vide»!
(0 ou 1)
Elle contient toujours 0 ou 1.
0 1 0 0 1 0 0 1
Pour identifier les mots, on leur
associe une adresse, qui 0 1 0 0 1 1 0 1
correspond au numéro de
ligne dans le tableau. 0 1 1 1 1 0 0 0
Par exemple, ce mot aurait
l’adresse 4 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮
(on commence à 0).
1 1 0 1 0 0 0 1
5
Ici, l’exemple utilise 8 bits d’adresse,
Mémoire = stockage de bits et des mots de 8 bits.
Cependant, différents systèmes
peuvent avoir différentes valeurs!
On utilise un nombre
(fini et prédéterminé)
Adresse Donnée (mot de 8 bits)
de bits pour
(sur 8 bits) b7 b6 b5 b4 b3 b2 b1 b0
représenter l’adresse.
0x00 0 1 0 1 1 0 1 1
0x01 1 1 1 0 1 0 0 1
0x02 0 1 0 0 1 0 0 1
0x03 0 1 0 0 1 1 0 1
0x04 0 1 1 1 1 0 0 0
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮
0xFF 1 1 0 1 0 0 0 1
6
Mémoire
• On décrit une mémoire grâce à deux
informations (indépendantes):
• le nombre d’adresses possibles
Données
Adresses
• ici: 28 = 256 adresses b7 b6 b5 b4 b3 b2 b1 b0
0x00 0 1 0 1 1 0 1 1
• la taille des mots de la mémoire 0x01 1 1 1 0 1 0 0 1
0x02 0 1 0 0 1 0 0 1
• ici: 8 bits (1 octet) 0x03 0 1 0 0 1 1 0 1
0x04 0 1 1 1 1 0 0 0
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮
• La taille totale de la mémoire représente 0xFF 1 1 0 1 0 0 0 1
la quantité totale de bits pouvant être
stockée dans la mémoire.
• Elle est calculée de cette façon:
taille mémoire = nombre d'adresses × taille d'un mot
= 28 × 1 octet = 256 octets
7
Rappel
8
Rappel
9
Rappel
10
Rappel
11
Rappel
Combien de bits a-t-on besoin pour représenter les adresses dans cette mémoire?
Quelles sont les adresses minimales et maximales de cette mémoire exprimées en hexadécimal?
12
Rappel
Combien de bits a-t-on besoin pour représenter les adresses dans cette mémoire?
Quelles sont les adresses minimales et maximales de cette mémoire exprimées en hexadécimal?
13
Types de mémoires
• Les mémoires peuvent être:
• volatiles: perdent leur contenu lorsqu’elles perdent leur alimentation;
• ou non-volatiles: conservent leur contenu même sans alimentation.
• Les mémoires volatiles peuvent être:
• statiques: n’ont pas besoin d’être lues pour conserver leurs valeurs
• dynamiques: nécessitent un rafraîchissement de leur données de façon
périodique. Si les données d’une mémoire dynamique ne sont pas
“lues” régulièrement, elles s’effacent.
• Les mémoires
• ROM: ne peuvent pas être écrites (Read Only Memory)
• RAM: peuvent être écrites (Random Access Memory);
• Les noms sont donnés aux mémoires en fonction de ces
caractéristiques. Par exemple, SRAM est de la RAM Statique.
14
Types de mémoires
15
Construisons un ordinateur
16
À quoi sert la mémoire?
À stocker et récupérer de l’information.
À se souvenir, pardi!
microprocesseur mémoire
stocker de l’information
(écrire)
Bite my
shiny m
etal…
récupérer de l’information
(lire)
17
À quoi sert la mémoire?
À stocker et récupérer de l’information.
À se souvenir, pardi!
microprocesseur mémoire
stocker de l’information
(écrire) 1. Quelle page?
Bite my
shiny m
etal…
2. Quels mots?
3. Stocker ou récupérer?
récupérer de l’information
(lire)
18
Bus
19
Analogie (bus): autoroutes
• Sauf que les voitures…
• démarrent et arrivent à destination en même temps
20
À quoi sert la mémoire?
À stocker et récupérer de l’information.
microprocesseur mémoire
stocker de l’information
(écrire)
B
1. Quelle page? 2. Quels mots? 3. Stockeriteou
myrécupérer?
shiny m
etal
…
récupérer de l’information
(lire)
21
1. Quelle page?
Bus d’adresses
Bus d’adresse (8 bits)
Adresse Adresse
Adresse Adresse
Adresse Adresse
Adresse Adresse
• Les données peuvent circuler dans les deux sens, mais elles ne
circulent que dans un seul sens à la fois.
Adresse Adresse
Adresse Adresse
Adresse Adresse
Bus de contrôle
Contrôle (L/E) L/E
Adresse Adresse
Bus de contrôle
Contrôle (L/E) L/E
29
En résumé, 3 bus importants
CPU RAM
Bus de données (8 bits)
Données Données
Bus de contrôle
Contrôle (L/E) L/E
30
Lecture d’une donnée en mémoire
Adresse
Contrôle (L/E)
31
Lecture d’une donnée en mémoire (1/2)
Adresse
Contrôle (L/E)
• Le CPU:
• place l’adresse (ex: 0x40) sur le bus d’adresses;
• active le bus de contrôle en lecture.
32
Lecture d’une donnée en mémoire (2/2)
Adresse
Contrôle (L/E)
• La mémoire:
• place la donnée correspondante sur le bus de données;
• Le CPU:
• récupère la donnée (ex: 0x12) sur le bus de données (et la
place dans un registre). Nous parlerons des registres
très bientôt!
33
Écriture d’une donnée en mémoire
Adresse
Contrôle (L/E)
34
Écriture d’une donnée en mémoire (1/2)
Adresse
Contrôle (L/E)
• Le CPU:
• place l’adresse (ex: 0x40) sur le bus d’adresses;
• la donnée à écrire (ex: 0xAB) sur le bus de données;
• active le bus de contrôle en écriture.
35
Écriture d’une donnée en mémoire (2/2)
Adresse
Contrôle (L/E)
• La mémoire:
• récupère la donnée (ex: 0xAB) sur le bus de données;
• l’écrit à l’adresse disponible sur le bus d’adresse (ex:
0x40).
36