Rôle de la mémoireOn appelle « mémoire » tout composant électronique capable de stocker temporairement des données. On distingue ainsi deux grandes catégories de mémoires :
* la mémoire centrale (appelée également mémoire interne) permettant de mémoriser temporairement les données lors de l'exécution des programmes. La mémoire centrale est réalisée à l'aide de micro-conducteurs, c'est-à-dire des circuits électroniques spécialisés rapides. La mémoire centrale correspond à ce que l'on appelle la mémoire vive.
* la mémoire de masse (appelée également mémoire physique ou mémoire externe) permettant de stocker des informations à long terme, y compris lors de l'arrêt de l'ordinateur. La mémoire de masse correspond aux dispositifs de stockage magnétiques, tels que le disque dur, aux dispositifs de stockage optique, correspondant par exemple aux CD-ROM ou aux DVD-ROM, ainsi qu'aux mémoires mortes.
Caractéristiques techniquesLes principales caractéristiques d'une mémoire sont les suivantes :
* La capacité, représentant le volume global d'informations (en bits) que la mémoire peut stocker ;
* Le temps d'accès, correspondant à l'intervalle de temps entre la demande de lecture/écriture et la disponibilité de la donnée ;
* Le temps de cycle, représentant l'intervalle de temps minimum entre deux accès successifs ;
* Le débit, définissant le volume d'information échangé par unité de temps, exprimé en bits par seconde ;
* La non volatilité caractérisant l'aptitude d'une mémoire à conserver les données lorsqu'elle n'est plus alimentée électriquement.
Ainsi, la mémoire idéale possède une grande capacité avec des temps d'accès et temps de cycle très restreints, un débit élevé et est non volatile.
Néanmoins les mémoires rapides sont également les plus onéreuses. C'est la raison pour laquelle des mémoire utilisant différentes technologiques sont utilisées dans un ordinateur, interfacées les unes avec les autres et organisées de façon hiérarchique.
[img]
Types de mémoiresMémoire viveLa mémoire vive, généralement appelée RAM (Random Access Memory, traduisez mémoire à accès direct), est la mémoire principale du système, c'est-à-dire qu'il s'agit d'un espace permettant de stocker de manière temporaire des données lors de l'exécution d'un programme.
En effet, contrairement au stockage de données sur une mémoire de masse telle que le disque dur, la mémoire vive est volatile, c'est-à-dire qu'elle permet uniquement de stocker des données tant qu'elle est alimentée électriquement. Ainsi, à chaque fois que l'ordinateur est éteint, toutes les données présentes en mémoire sont irrémédiablement effacées.
Mémoire morteLa mémoire morte, appelée ROM pour Read Only Memory (traduisez mémoire en lecture seule) est un type de mémoire permettant de conserver les informations qui y sont contenues même lorsque la mémoire n'est plus alimentée électriquement. A la base ce type de mémoire ne peut être accédée qu'en lecture. Toutefois il est désormais possible d'enregistrer des informations dans certaines mémoires de type ROM.
Mémoire flashLa mémoire flash est un compromis entre les mémoires de type RAM et les mémoires mortes. En effet, la mémoire Flash possède la non-volatilité des mémoires mortes tout en pouvant facilement être accessible en lecture ou en écriture. En contrepartie les temps d'accès des mémoires flash sont plus importants que ceux de la mémoire vive.
Types de mémoires vivesOn distingue généralement deux grandes catégories de mémoires vives :
* Les mémoires dynamiques (DRAM, Dynamic Random Access Module), peu coûteuses. Elles sont principalement utilisées pour la mémoire centrale de l'ordinateur ;
* Les mémoires statiques (SRAM, Static Random Access Module), rapides et onéreuses. Les SRAM sont notamment utilisées pour les mémoires cache du processeur ;
Fonctionnement de la mémoire viveLa mémoire vive est constituée de centaines de milliers de petits condensateurs emmagasinant des charges. Lorsqu'il est chargé, l'état logique du condensateur est égal à 1, dans le cas contraire il est à 0, ce qui signifie que chaque condensateur représente un bit de la mémoire.
Etant donné que les condensateurs se déchargent, il faut constamment les recharger (le terme exact est rafraîchir, en anglais refresh) à un intervalle de temps régulier appelé cycle de rafraîchissement. Les mémoires DRAM nécessitent par exemple des cycles de rafraîchissement est d'environ 15 nanosecondes (ns).
Chaque condensateur est couplé à un transistor (de type MOS) permettant de « récupérer » ou de modifier l'état du condensateur. Ces transistors sont rangés sous forme de tableau (matrice), c'est-à-dire que l'on accède à une case mémoire (aussi appelée point mémoire) par une ligne et une colonne.
[img]
Chaque point mémoire est donc caractérisé par une adresse, correspondant à un numéro de ligne (en anglais row) et un numéro de colonne (en anglais column). Or cet accès n'est pas instantané et s'effectue pendant un délai appelé temps de latence. Par conséquent l'accès à une donnée en mémoire dure un temps égal au temps de cycle auquel il faut ajouter le temps de latence.
Ainsi, pour une mémoire de type DRAM, le temps d'accès est de 60 nanosecondes (35ns de délai de cycle et 25 ns de temps de latence). Sur un ordinateur, le temps de cycle correspond à l'inverse de la fréquence de l'horloge, par exemple pour un ordinateur cadencé à 200 MHz, le temps de cycle est de 5 ns (1/(200*106)).
Par conséquent un ordinateur ayant une fréquence élevée et utilisant des mémoires dont le temps d'accès est beaucoup plus long que le temps de cycle du processeur doit effectuer des cycles d'attente (en anglais wait state) pour accèder à la mémoire. Dans le cas d'un ordinateur cadencé à 200 MHz utilisant des mémoires de types DRAM (dont le temps d'accès est de 60ns), il y a 11 cycles d'attente pour un cycle de transfert. Les performances de l'ordinateur sont d'autant diminuées qu'il y a de cycles d'attentes, il est donc conseillé d'utiliser des mémoires plus rapides.