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