AMSI_TH02_Dossier02_Cours__Fonctionnement de la memoire

Transcription

AMSI_TH02_Dossier02_Cours__Fonctionnement de la memoire
ère
Architecture Matérielle des Systèmes Informatiques
Architecture Matérielle des Systèmes informatiques.
S1S1
STS Informatique de Gestion, 1
année
BTS Informatique de Gestion
1ère année
THEME 2 :
L’ARCHITECTURE D’UN ORDINATEUR
Dossier 2
Le fonctionnement
de la mémoire vive de l’ordinateur.
Objectifs
Comprendre les mécanismes de gestion de la mémoire vive et la gestion de la
mémoire cache de second niveau.
Plan de la séquence
1 Généralités.
2. Fonctionnement de la mémoire.
3. Le contrôle de parité.
4. Comment le processeur accède à la mémoire.
4.1. Principe technique.
4.2. La lecture des données.
4.3. L’écriture des données.
T2D2. Le fonctionnement de la mémoire vive de l’ordinateur.
1
Architecture Matérielle des Systèmes Informatiques
ère
STS Informatique de Gestion, 1
année
1. Généralités.
Les bits sont stockés dans les composants de mémoire vive, sous forme de charges électriques
dans de minuscules condensateurs. Un condensateur chargé représente un 1 et un condensateur
non chargé représente un 0.
Les condensateurs ayant la fâcheuse habitude de se décharger naturellement, il faut entretenir la
charge périodiquement. Ce processus est appelé rafraîchissement de la mémoire. La mémoire de ce
type (nécessitant un rafraîchissement périodique) est appelée mémoire dynamique ou DRAM. La
mémoire centrale des PC est constituée de DRAM ou de SDRAM.
Les composants de mémoire dynamique se présentent sous la forme de puces de plastique noir
équipées de broches. Ils peuvent être insérés dans des supports ou soudés sur un circuit imprimé.
L'ordinateur manipule le plus souvent des mots composés de plusieurs bits. Les premiers PC
manipulaient des mots de 8 bits. D'autre part, 8 bits sont généralement employés pour coder un
caractère de texte. On a donc pris l'habitude de mesurer la capacité de mémoire d'un ordinateur en
octets (mots de 8 bits), kilo-octets et mégaoctets au lieu de bits, kilobits et mégabits. Cette façon de
faire ne reflète cependant qu'imparfaitement la réalité car les PC modernes manipulent le plus
souvent des mots de 64 bits.
2. Fonctionnement de la mémoire.
La mémoire dynamique est composée de minuscules
condensateurs qui retiennent des informations binaires
sous forme de charges électriques. Ces informations sont
regroupées en mots.
Les ordinateurs utilisant un processeur de type Pentium
utilisent des mots de 64 bits. Ces mots sont classés et
accessibles à l'aide d'une adresse. Ainsi, pour écrire un mot en mémoire, il faut envoyer du courant
dans les condensateurs correspondant à l'adresse choisie. Pour cela, une tension électrique est
d'abord envoyée sur une ligne commandant des transistors inclus dans les composants de mémoire.
Les transistors sont des éléments électroniques permettant, lorsqu'ils sont activés par un courant,
de fermer une ligne électrique. (On dit qu'une ligne est fermée lorsqu'elle laisse passer le courant.).
Une fois les transistors correspondant à l'adresse choisie fermés, un courant est envoyé sur les
lignes de données qui doivent prendre la valeur 1, ce qui a pour effet de charger les condensateurs.
Malheureusement, les condensateurs se déchargent spontanément. (Ils « fuient ».) C'est pourquoi,
en permanence, un circuit spécial appelé circuit de rafraîchissement lit le contenu de la mémoire
pour le réécrire aussitôt, entretenant ainsi la charge des condensateurs. C'est à cause de ce
processus d'écriture continue que l'on appelle ce type de mémoire dynamique ou DRAM. Bien sûr,
dès que l'on coupe l'alimentation de l'ordinateur, les condensateurs se déchargent et le contenu de
la mémoire est perdu. Lors de la mise sous tension, la mémoire ne contient que des zéros.
T2D2. Le fonctionnement de la mémoire vive de l’ordinateur.
2
ère
Architecture Matérielle des Systèmes Informatiques
STS Informatique de Gestion, 1
année
3. Le contrôle de parité.
Il existe des barrettes de mémoire de 32 bits ou 36 bits.
Une barrette de mémoire de 32 bits contient exactement
la même quantité de données qu'une barrette de 36 bits.
Les quatre bits supplémentaires ne servent qu'à
contrôler la validité des huit bits qui les précèdent (un
bit de parité par groupe de huit bits). Le principe
consiste à faire la somme des huit bits de données, puis
à donner au neuvième la valeur 1 si le résultat est pair,
et 0 si le résultat est impair. (On peut également faire le
contraire. On parlera de parité paire dans le premier cas, et de parité impaire dans le second.)
De cette façon, si un des bits change de valeur par accident, l'erreur sera repérable car le bit de
parité ne correspondra plus au résultat. Il peut sembler que la sécurité ainsi obtenue ne soit pas de
très haut niveau. En effet, si un deuxième bit change de valeur, la parité est de nouveau correcte.
Cependant, s'il y a une chance sur mille (par exemple) qu'une erreur se produise sur un bit, il y aura
une chance sur un million pour que deux bits soient erronés. La sécurité obtenue n'est donc pas
négligeable. Toutefois le bit de parité ne permet pas de retrouver le bit erroné.
Exercice : déterminez le bit de parité dans le cas d’une parité paire.
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Bit 8
Octet 1
1
0
0
0
1
1
1
0
Octet 2
0
0
0
1
1
1
1
1
Octet 3
0
1
0
1
0
1
0
1
Bit
parité
Exercice : déterminez le bit manquant dans le cas d’une parité paire.
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Bit 8
Bit
parité
1
1
1
0
0
1
0
1
1
1
1
1
Bit 1
Bit 2
Octet 1
1
0
Octet 2
0
1
0
1
Octet 3
0
1
0
1
T2D2. Le fonctionnement de la mémoire vive de l’ordinateur.
0
0
3
Architecture Matérielle des Systèmes Informatiques
ère
STS Informatique de Gestion, 1
année
4. Comment le processeur accède à la mémoire
4.1. Principe technique.
Les données que manipule le microprocesseur ne peuvent séjourner très longtemps à l'intérieur de
celui-ci. En effet, la capacité de sa mémoire cache est limitée. Les registres sont des zones de
mémoire interne du processeur pouvant contenir les données en cours de traitement. Cette
limitation impose de nombreux échanges de données entre le microprocesseur et un dispositif de
stockage extérieur constitué par la mémoire.
Par ailleurs, le microprocesseur doit également aller chercher dans la mémoire les instructions à
exécuter. Ces échanges pénalisent la vitesse de traitement et doivent donc être optimisés. Cela est
particulièrement vrai lorsque le microprocesseur est équipé d'un multiplieur de fréquence. Il
fonctionne alors deux ou trois fois plus vite sans que les échanges avec la mémoire soient
accélérés. Par exemple, un Pentium 4 voit sa fréquence interne passer à 2,4 GHz alors que les accès
en mémoire se font toujours à 133 MHz.
Pour résoudre ce problème, on utilise une technique appelée cache. Elle consiste à placer à
l'intérieur du microprocesseur une zone de mémoire dans laquelle sont copiés les éléments qui
seront nécessaires avant qu'ils ne soient demandés. Si le processeur a besoin du contenu d'une
adresse mémoire, il peut l'obtenir immédiatement à condition qu'il ait été copié préalablement
(pendant l'exécution des instructions précédentes) dans la mémoire cache. Toute l'efficacité de ce
système repose sur la capacité du contrôleur de cache à prédire les adresses mémoire auxquelles le
processeur voudra accéder.
Un autre phénomène vient ralentir encore l'accès à la mémoire. Indépendamment de la vitesse de
transmission des données, les composants de mémoire imposent un temps d'accès. C'est le temps
nécessaire pour que le contenu d'une adresse soit placé sur le bus pour être envoyé au
processeur. Or, le prix des mémoires est inversement proportionnel à leur temps d'accès. On utilise
souvent pour la mémoire centrale des composants de mémoire dynamique (SDRAM) ayant un
temps d'accès compris d’environ 10 ns (nanosecondes ou milliardièmes de seconde).
Le temps d'accès n'est pas la seule caractéristique en cause. Les mémoires ont également un temps
de charge qui s'ajoute au temps d'accès. De ce fait, la mémoire ne peut pas fournir les données assez
rapidement et le processeur est obligé d'observer un ou plusieurs temps d'attente. Un seul temps
d'attente augmente le délai de 50 %.
Pour éviter ce problème, on installe une mémoire cache de second niveau, constituée de mémoire
statique ayant un temps d'accès de 2 ns. Sur les PC équipés de ce type de mémoire, on peut
généralement installer 256Ko ou plus de cache. Les diagrammes suivants représentent le
fonctionnement du cache de second niveau.
T2D2. Le fonctionnement de la mémoire vive de l’ordinateur.
4
ère
Architecture Matérielle des Systèmes Informatiques
STS Informatique de Gestion, 1
année
4.2. La lecture des données.
Le processeur réclame le contenu d’une adresse mémoire
qui n’a pas été trouvé dans la mémoire cache de premier
niveau (à l’intérieur du microprocesseur).
Le contrôleur de cache vérifie si le contenu de l’adresse a
été copié dans la mémoire cache de second niveau.
Si ce n’est pas le cas, le contrôleur de cache va chercher le
contenu de l’adresse indiquée dans la mémoire vive, le
transmet au processeur et en place une copie dans la
mémoire cache.
Dès qu’il a un moment libre (pendant que le processeur
traite les données), le contrôleur de cache va chercher le
contenu des adresses suivantes dans la mémoire vive et la
copie dans la mémoire cache de second niveau. Cette
technique est appelée ............................................... .
Lorsque le processeur demande le contenu des adresses
suivantes, le contrôleur de cache le fournit
immédiatement.
T2D2. Le fonctionnement de la mémoire vive de l’ordinateur.
5
ère
Architecture Matérielle des Systèmes Informatiques
STS Informatique de Gestion, 1
année
Si le processeur demande le contenu d’une adresse
éloignée, le contrôleur de cache répète le processus.
Lorsque la mémoire cache de second niveau est pleine, les
donnés les plus anciennes sont effacées.
4.3. L’écriture des données.
Si le processeur veut écrire des données à une adresse mémoire, le contrôleur de cache peut agir de
deux façons différentes :
1. Les données peuvent être écrites dans la mémoire
cache et dans la mémoire vive. Cette technique, appelée .
........................................... , est la plus sûre car la mémoire
vive est mise à jour en permanence, mais c’est aussi la
plus lente.
2. Les données peuvent être écrites uniquement dans la
mémoire cache, ce qui est beaucoup plus rapide. C’est la
technique de ...........................................................................
Dès que le contrôleur cache n’est plus sollicité par le
processeur, il copie les données modifiées en mémoire
vive. Cette technique est donc plus rapide.
T2D2. Le fonctionnement de la mémoire vive de l’ordinateur.
6