3. Sommaire
1. Présentation de la mémoire
2. Organisation de la mémoire
3. Caractéristiques de la mémoire
4. Opérations sur la mémoire
5. Types de mémoires
6. Mémoires RAM
7. Mémoires ROM
8. Hiérarchie des mémoires
3
4. Présentation de la mémoire
• La mémoire est un dispositif capable de
– recevoir
– conserver (mémoriser)
– restituer
une information.
• L’information peut être un programme ou des données
• Les opérations sur une mémoire :
– écriture : enregistrement des informations
– lecture : récupération des informations
4
5. Organisation de la mémoire
structure simplifiée
Bus d’adresse
Bus de données
D
E
C
O
D
E
U
R
Tampon d’E/SBus de contrôle
Matrice de cellules
élémentaires
5
6. Organisation de la mémoire
matrice de cellules élémentaires
• La matrice de cellules élémentaires ou matrice
de points mémoires constitue la partie qui
mémorise l’information.
• Elle est une sorte de grille où, à chaque
intersection, un petit composant électronique
mémorise un bit sous forme d’une tension
électronique
• Chaque ligne de cette grille est un groupe de
bits (8, 16, 32 ou 64) appelé mot mémoire
• Chaque mot mémoire est accessible grâce à
une adresse unique
• Les adresses sont consécutives
000
001
100
110
111
6
7. Organisation de la mémoire
tampon d’entrée-sortie
• Interface entre le bus de données et la
matrice de points mémoires
• Il a une fonction d’amplification pour mettre
les signaux à niveau au moment du transfert
R/W.
• Il permet d’éviter des conflits éventuels
entre différents boîtiers sur l’accès au bus de
données
Bus de données
Tampon d’E/S
7
8. Organisation de la mémoire
bus d’adresses et bus de données
• Le bus d’adresses véhicule l’adresse du mot mémoire à lire ou
à modifier
• Sa largeur indique le nombre maximal de mots mémoires.
Ex : bus de taille k entraine au plus 2k mots mémoires
• Le bus de données véhicule l’information lue à partir de la
mémoire ou l’information à écrire dans la mémoire
• Sa largeur indique le nombre maximal de bits d’un mot
mémoire
• NB : si le bus d’adresses est de taille k et le bus de données de
taille n, alors la capacité de la mémoire sera :
C = 2k mots de n bits = nx2k-3 octets
App2&3
8
9. Organisation de la mémoire
bus de contrôle
• Il véhicule les commandes provenant de l’unité centrale.
• Les commandes sont généralement :
– CS (Chip Select) ou CE (Chip Enable) : connecter
électriquement le boîtier par l’intermédiaire du tampon
d’entrée-sortie qui passe de l’état haute impédance à l’état
logique du moment.
– R (Read) : récupération en sortie d’une info;
– W (Write) : enregistrement d’une info.
• Sur les boîtiers de mémoire vive, Write est appliquée sur la
même broche que celui de Read.
• La commande Write n’existe pas avec les mémoires mortes
9
10. Organisation de la mémoire
décodeur d’adresses
• C’est un circuit qui permet de sélectionner le mot mémoire à lire
ou à écrire en fonction de l’adresse qui lui est fournie en entrée.
• Deux modes de sélection d’un mot mémoire :
– Sélection linéaire (voir structure simplifiée) :
un seul décodeur qui choisit un mot (si le bus d’adr est de
taille k, le décodeur sélectionne un mot parmi 2k).
Usage : mémoires à faible nbre d’entrées et à accès rapide.
– Sélection à deux dimensions (voir structure matricielle) :
l’adresse (k bits) est éclatée vers un décodeur ligne (l bits de
poids faibles) et un décodeur colonne (les c bits restants).
Le décodeur ligne choisit une ligne et le décodeur colonne
choisit n (taille du mot mémoire) colonnes de cette ligne.
Le décodeur colonne peut être constitué de n multiplexeurs
sélectionnant chacun 1 colonne parmi 2c/n. 10
12. Organisation de la mémoire
exemples de décodage d’adresses
• Exemple 2
Une mémoire de 512 mots de 4 bits nécessite :
– 512 lignes en sortie avec une structure linéaire
– 64 lignes croisées à 32 colonnes avec une structure
matricielle. (512 x 4 bits = 64 x 8 x 4 bits = 26x23x4 bits)
Avec l’adresse (001 001000) la ligne W8 sera activée et la 2ème
colonne (C1, C9, C17 et C25) de chacun des 4 multiplexeurs sera
activée
• Exemple 1
Une mémoire à structure linéaire a un bus d’adresse
de taille 2 bits. La table de vérité des quatre sorties
S0, S1, S2 et S3 en fonction des deux entrées A0 et A1
est ci-contre.
App4&5
12
13. Opérations sur la mémoire
lecture d’une information
1) Mise, dans le bus d’adresses, de l’adresse du mot mémoire qui
stocke l’information à lire.
2) Décodage de l’adresse et sélection du mot mémoire associé
3) Sélection du boîtier de la mémoire (CS=0).
4) Lancement de la commande de lecture (R/W=1)
5) Transfert de l’information du mot mémoire vers le tampon
d’E/S
6) Transfert de l’information du tampon d’E/S vers le bus de
données
13
14. Opérations sur la mémoire
écriture d’une information
1) Mise, dans le bus d’adresses, de l’adresse du mot où se fera
l’écriture
2) Décodage de l’adresse et sélection du mot mémoire
associé
3) Sélection du boîtier de la mémoire (CS=0).
4) Lancement de la commande d’écriture (R/W=0)
5) Mise, dans le bus de données, de l’information à écrire
6) Transfert de l’information du bus de données vers le
tampon d’E/S
7) Transfert de l’information du tampon d’E/S vers le mot
mémoire
14
15. Caractéristiques de la mémoire
• Capacité (en octet)
– nombre total de bits que contient la mémoire.
• Format des données
– largeur du mot mémorisable : nombre de bits par mot
mémoire
• Débit (octet/s):
– nombre maximum d'infos lues ou écrites par seconde
• Volatilité
– L'information stockée est volatile si elle risque d'être altérée
par un défaut d'alimentation électrique et non volatile dans
le cas contraire.
15
16. Caractéristiques de la mémoire
• Temps d’accès
– temps s'écoulant entre le lancement d'une opération de
lecture/écriture et son accomplissement
• Temps de cycle
– temps minimal entre deux accès (R or W) successifs
– temps de cycle = temps d’accès + temps (stabilisation des
signaux, synchronisation, … )
16
Chronogramme d’un cycle de lecture
18. Types de mémoire
mémoire vive
• RAM (Random Acces Memory : mémoire à accès aléatoire)
• Temps de cycle : très court
• Volatile
• Usage : stockage temporaire (programmes & données)
• Types :
o DRAM (Dynamic RAM)
Asynchrone
FPM (Fast Page Mode), EDO (Extended Data Out)
Synchrone
SDRAM (Synchronous DRAM),
DDR-SDRAM (Double Data Rate SDRAM)
o SRAM (Static RAM) 18
19. Types de mémoire
mémoire morte
• ROM (Read Only Memory) : mémoire à lecture seule
• Non volatile
• Programmation : écriture des informations.
• Usage : stockage permanent (programmes & données)
• Types :
o ROM
Programmable, une seule fois, par le constructeur
o PROM (Programmable ROM)
Programmable, une seule fois, par l’utilisateur
o UV-EPROM ou EPROM (Erasable Programmable ROM)
o EEPROM (Electrically EPROM)
o FLASH EPROM : variante d’EEPROM plus dense 19
20. Mémoires vives
DRAM
• Pb : disponibilité des données et programmes
en cours de traitement
• Sol : réduire le temps d’accès
• La DRAM sert à stocker les données et
programmes en cours de traitement avec un
temps d'accès 10 000 à 100 000 fois plus petit
que celui d’un disque dur.
• 1 bit = 1 transistor + 1 condensateur
• le condensateur stocke l’information et doit
être régulièrement rafraichi => augmentation
du temps d’accès.
• Usage : mémoire centrale (« Barrette RAM »)
20
21. Mémoires vives
DRAM asynchrone
• Asynchrone :
– propre horloge différente de celle du bus de la carte mère
– Temps de cycle irrégulier
• DRAM FPM : Fast Page Mode en 1987
– Accès multiples sur une ligne dont l’adresse est fixée : faire
varier les @ des colonnes sur cette ligne
– Temps d’accès : 70 à 80 nanosecondes
– Fréquence (nbr de transferts par seconde) : 25 à 33 Mhz
• DRAM EDO : Extended Data Out en 1995
– Hyper FPM : démarrer un nouveau cycle d'accès au moment
de la sortie de données d’un cycle.
– Temps d’accès : 50 à 60 nanosecondes
– Fréquence : de 33 à 66 MHz. 21
22. Mémoires vives
DRAM synchrone
• Synchrone :
• permet une lecture des données synchronisée avec le bus de
la carte-mère
• Temps de cycle régulier
• SDRAM : Synchronous DRAM en 1997
– Temps d’accès : 10 nanosecondes
– Fréquence : 150 Mhz
• DDR-SDRAM : Double Data Rate SDRAM en 2000
– basée sur la technologie SDRAM, permettant de doubler le
taux de transfert de la SDRAM à fréquence égale. 22
23. Mémoires vives
SRAM
• Pb : le rafraichissement du condensateur
de la mémoire DRAM ralenti le travail du
processeur
• Sol : mémoire sans condensateur
• Le bit mémoire d'une RAM statique est
composé de 4 à 6 transistors.
• Usage : mémoire cache à l’intérieur ou à
proximité du µP
23
24. Mémoires mortes
ROM
• ROM (Read Only Memory) : programmée par le fabricant et son
contenu ne peut plus être ni modifié, ni effacé par l'utilisateur.
• Structure :
– Point mémoire = diode
• Programmation :
– L'utilisateur doit fournir au constructeur un masque
indiquant les emplacements des diodes dans la matrice.
• Inconvénient
– Modification impossible (toute erreur est fatale).
• Usage
– BIOS, instructions de démarrage, …
24
25. Mémoires mortes
PROM
• PROM (Programmable ROM) : programmable une seule fois par
l'utilisateur grâce à un appareil appelé « programmateur de
ROM »
• Structure :
– Point mémoire = fusible ou jonction.
• Programmation :
– Placer des 1 en détruisant des fusibles avec du courant
– Placer des 0 en déconnectant des jonctions
• Inconvénient
– Modification impossible (toute erreur est fatale).
25
26. Mémoires mortes
EPROM
• EPROM (Erasable PROM) : mémoire reprogrammable
• Structure :
– Point mémoire = transistor FAMOS (Floating gate Avalanche
injection Metal Oxyde Silicium).
• Programmation :
– piéger des électrons dans la grille flottante en appliquant
une très forte tension entre Grille et Source
• Effacement :
– exposition d’une vingtaine de minutes à un rayonnement
ultraviolet
• Inconvénients :
– Impossible de sélectionner un groupe de cellules à effacer
– Impossible d’effacer la mémoire in-situ. 26
27. Mémoires mortes
EEPROM
• EEPROM (Electrically EPROM) : programmable et effaçable
électriquement
• Structure :
– Point mémoire = transistor SAMOS (S comme Stacked) dont
l’épaisseur entre la grille flottante et le silicium est très faible
• Programmation :
– piéger des électrons dans la grille flottante en appliquant
une très forte tension entre Grille et Source.
• Effacement :
– Libérer les électrons en appliquant une tension inverse
• Avantage
– Programmation et effacement in-situ et mot par mot
possibles. 27
28. Mémoires mortes
FLASH EPROM
• FLASH EPROM (Electrically EPROM) : variante d’EEPROM
• Structure :
– Point mémoire = transistor NOR ou NAND
• Programmation :
– piéger des électrons dans la grille flottante
• Effacement :
– Libérer les électrons dans la grille flottante
• Usage :
• Interne, porte-clés, cartouche amovible
• disque SSD (Solid-State drives)
28
29. Hiérarchie des mémoires
présentation
• Mémoire idéale = grande capacité et très faible temps d’accès
• Réalité :
– Grande capacité = très grand temps d’accès
– Très faible temps d’accès = très chères
• Constat : le processeur n’a jamais besoin de toutes les
informations au même moment.
• Solution :
– utiliser des mémoires de faible capacité et à très faible
temps d’accès pour stocker les infos dont le µP se sert le plus
– utiliser des mémoires de grande capacité et à grand temps
d’accès pour les informations dont le µP se sert le moins.
• Ainsi, plus on s’éloigne du microprocesseur et plus la capacité
et le temps d’accès des mémoires vont augmenter. 29
31. Hiérarchie des mémoires
commentaires
• Les registres sont situés au niveau du processeur et servent au
stockage des opérandes et des résultats intermédiaires.
• La mémoire cache est destinée à accélérer l’accès à la mémoire
DRAM en stockant les instructions et données les plus utilisées.
• La mémoire principale est l’organe principal de rangement des
informations. Elle contient les programmes et les données en
cours de traitement.
• La mémoire de masse est une mémoire périphérique de grande
capacité utilisée pour le stockage permanent ou la sauvegarde
des programmes et des données.
31