Académique Documents
Professionnel Documents
Culture Documents
I. GÉNÉRALITÉS ET DÉFINITIONS
Une mémoire est un dispositif capable d’enregistrer, de conserver, et de
restituer les informations dans un ordinateur. Sa technologie peut être à semi-
conducteur, magnétique ou optique.
- Les registres situés dans l’UCT sont à accès rapide. Ils servent au
stockage des opérandes et des résultats intermédiaires.
- L’antémémoire (ou mémoire cache), rapide et de faible capacité, est une
mémoire tampon entre l’UCT et la MC
- La mémoire centrale (MC) est l’organe principal de stockage des
informations utilisées par le CPU. Elle est à semi-conducteurs.
- La mémoire d’appui sert d’intermédiaire à la MC et à la mémoire auxiliaire
(de masse). Elle augmente la vitesse d’échange des informations entre les
deux niveaux. (La mémoire d’appui n’existe que dans les super-
ordinateurs, pas dans les PC)
Hiérarchie mémoire
- Localité temporelle : plus un mot mémoire a été accédé récemment, plus il est
probable qu'il soit ré-accédé à nouveau,
- Localité spatiale : plus un mot mémoire est proche du dernier mot mémoire
accédé, plus il est probable qu'il soit accédé.
Les deux caractéristiques principales d’un mémoire sont la vitesse à laquelle elle
traite les informations, et sa capacité à les stocker. On a entre autres :
Remarque : Dans un registre à n positions et pour une base b, on ne peut représenter que
les entiers naturels N tels que : 0 ≤ N ≤ bn - 1 ; on parle alors d’un registre de largeur n et
ln c
de capacité c = bn – 1. Lorsque n est grand, on a c ≈ bn et n = logb c = . C’est le nombre
ln b
d’entiers représentables dans le registre.
Exemple :
1. Dans un registre de largeur 64 bits, combien d’entiers naturels peut-on représenter,
et quelle est le plus grand de ces nombres ?
Réponse : 264 entiers et le plus grand 264 – 1 ≈ 264
2. Quel est le plus grand entier naturel représentable sur 4 positions en hexadécimal
avec 4 digits ? Donnez sa représentation, et celle de l’entier qui le précède ?
Réponse : 164 – 1 = (65535)10 de représentation FFFF ; prédécesseur : FFFE
3. Quelle est la largeur en bits d’un registre dans lequel on peut représenter l’ensemble
des 1, 844674407 x 1019 premiers entiers naturels ?
Réponse : C = 2n ⟹ n = log2 C d’où n = 64.
Une mémoire peut être considérée comme une armoire de rangement à tiroirs
numérotés en binaire. Chaque tiroir représentant une case mémoire ne pouvant
contenir qu’une seule information. Chaque numéro est appelée adresse. Chaque
information stockée est donc accessible par son adresse. Une mémoire est donc
divisée physiquement en cellules et chaque cellule correspond à un mot-mémoire
dont la taille correspond au format des données de la mémoire.
Note :
Ces différentes structures n’influent ni sur la capacité de la
mémoire, ni sur la longueur des adresses ; mais plutôt sur la répartition des
bits d’adresse, car ces bits servent à adresser les cartes, les puces, et les
bits à l’intérieur des puces.
Accès séquentiel :
Pour accéder à une information, on passe par les précédentes.
Accès direct
Chaque information a une adresse propre, par laquelle on peut l’atteindre
(exemple : mémoire centrale)
Accès semi-séquentiel
Une mémoire vive est une mémoire volatile servant au stockage temporaire
de données. L’adjonction d’une pile peut la rendre non volatile. Il existe des RAM
statiques(SRAM) et des RAM dynamiques. Elles utilisent la technologie des semi-
conducteurs.
Le bit mémoire d’une RAM statique (SRAM) est composé d’une bascule à 4 ou 6
transistors contre un transistor pour la DRAM. En effet la RAM dynamique
mémorise une information sous forme d’une charge électrique stockée dans un
condensateur, couplé au substrat d’un MOS. L’inconvénient de cette dernière est la
présence du courant de fuite dans le condensateur, qui contribue à sa décharge
progressive et à la perte de l’information si on ne la régénère pas périodiquement
(la charge) : C’est le rafraîchissement (à peu près 18,2 fois par seconde).
Les SRAM sont utilisées pour la mémoire cache et les registres, alors que les
DRAM sont utilisées pour la MC.
Remarques:
- Les RAM dynamiques synchrones sont des DRAM synchronisées à une
horloge, ce sont :
Les SDRAM (synchronous DRAM), les DDR-SDRAM (Double Data Rate Synchronous
DRAM) permettent le transfert des données lors du front montant et du front
descendant, les RAMBUS, les VCM-RAM (Virtual Channel Memory-RAM).
- Les RAM dynamiques asynchrones sont les FPM et les EDO.
Remarques :
On peut donc classer les mémoires suivant plusieurs critères : types d’accès ;
volatilité ; technologie.
L’adjonction d’une petite pile à une RAM rend cette dernière non volatile :
c’est le cas de la ROM BIOS qui contient le programme d’amorce d’un système :
Le programme de chargement est contenu dans une mémoire flash et les
paramètres du système (type de disque, …) dans une NVRAM (Non Volatile RAM)
alimenté par une batterie au lithium (pile CMOS).
Le cycle CPU étant normalement beaucoup plus court que le cycle mémoire, on
arrive à des problèmes d’attente du CPU sur la MC, ce qui diminue le rendement de
l’ordinateur. Les dispositifs permettent de pallier cette situation : La mémoire
cache et la mémoire entrelacée (memory interleaving), la mémoire synchrone :
La mémoire entrelacée est un dispositif qui consiste à diviser la mémoire
centrale en blocs indépendants possédant chacun leurs propres registres
d’adresse et de mot. Ainsi le CPU peut lancer des opérations d’accès en
mémoire sans attendre la fin du cycle précédent à condition de le faire dans
un block différent. L’entrelacement consiste à placer des mots situés à des
adresses successives dans des blocs différents. On gagne ainsi du temps par
recouvrement des cycles mémoire.
La mémoire synchrone permet également au CPU d’engager des accès
consécutifs même si l’accès précédent n’est pas achevé.
La mémoire cache ou antémémoire, très rapide, située entre le processeur et
la mémoire centrale, contient les informations dont le processeur a besoin
régulièrement. Elle n’est pas accessible par adresse comme la MC, elle est
plutôt associative ; les informations y sont adressables par le contenu.
Chaque cellule d’une mémoire associative a deux champs correspondant à la
clé et à l’information qui lui est associée. Pour la cache la clé est l’adresse en
MC de l’instruction ou de la donnée et l’information associée est l’instruction
ou la donnée elle-même.
NB : La recherche par clé dans une mémoire associative n’est pas séquentielle,
mais elle se fait plutôt en parallèle sur toutes les cases de la mémoire : En un
accès on sait si l’information cherchée se trouve ou non dans la cache.
Exemple : adress information
e
Adresse 0011 1011 Information à cette adresse
0000 1010
0000 1001
Mémoire centrale