Architecture des mémoires

Comme nous l'avons vu dans l'architecture Von Neuman, la mémoire est un élément important de l'ordinateur. Une bonne partie des performances du système dépend de la mémoire, qui permet au système de stocker les programmes et les données nécessaires aux différentes tâches à accomplir.

La conception du système doit tenir compte des quatre éléments suivants :

  • La capacité de stockage.
  • Le coût.
  • La transparence pour l'utilisateur.
  • Les algorithmes nécessaires à la gestion de ce stockage.

Hiérarchie des mémoires

Nous pouvons décomposer les mémoires en différentes catégories :

  1. Mémoire interne (Mi), qui se réfère aux registres internes du CPU.
    Ce type de mémoire est utilisé pour les résultats temporaires lors des opérations de calculs en cours.
    Il n'y a pas de disparité de vitesse entre le CPU et la Mi.
    Les coûts élevés limitent la capacité.
  2. Mémoire cache (Mc), qui est l'espace de stockage entre le CPU et la mémoire primaire.
    L'adressage au sein de la Mc est de type association par contenu (par clé).
    La Mc se subdivise en :
    • Mémoire cache L1, qui se trouve dans le CPU.
    • Mémoire cache L2, qui se trouve sur la carte mère (donc d'un temps d'accès plus long que la Mc L1).
  3. Mémoire primaire (Mp, ou Main Memory), qui permet de stocker les programmes en cours d'exécution et les données traitées actuellement.
    Le CPU peut seulement accéder directement aux éléments stockés dans la Mp (ou dans les mémoires plus proches, Mc et Mi). Ce que nous nommons (parfois de manière inappropriée) la RAM se trouve au niveau Mp.
  4. Mémoire secondaire (Ms), utilisée pour stocker de manière plus durable les données et programmes (qui ne sont pas en cours d'exécution). Le disque dur est une mémoire secondaire.
  5. Mémoire de stockage de masse (Mm, ou Mass Storage memory), qui est un périphérique de stockage qui n'est pas constamment disponible. C'est un support externe qui permet de conserver de grandes quantités d'informations. Les bandes magnétiques, les disques compacts sont des Mm.

Remarque

Ce type de classement nous présente les différents types de mémoires de la manière suivante :

  • de la plus rapide à la plus lente.
  • du prix le plus élevé au coût le plus faible.
  • de la quantité la plus faible à la quantité la plus élevée.
  • du plus proche du processeur au plus éloigné.

Tous ces points sont à placer sur un même pied d'égalité, car ils sont dépendants les un des autres : la mémoire la plus rapide est la plus proche du processeur (pour éviter les pertes de temps des signaux sur les bus de données), et nécessite une mise au point et une fabrication plus difficile, elle est donc plus chère, ce qui explique que l'on en retrouve des quantités plus réduites dans la machine.

Table des matières Haut

Accès à la mémoire

Les données et les programmes ne sont pas déplacés dans la mémoire : en réalité, ils sont copiés par blocs, d'une mémoire d'un certain niveau vers une mémoire d'un niveau supérieur (plus rapide) quand la machine en a besoin.

La gestion des différents types de mémoire repose sur le principe de localité.

  • Localité dans le temps : si un élément est référencé en mémoire, il le sera encore probablement dans un laps de temps assez court.
  • Localité dans l'espace : si un élément est référencé en mémoire, il est probable que les éléments qui lui sont proches seront eux aussi bientôt référencés.

miss & hit

Le succès d'un accès mémoire (en lecture ou en écriture) s'appelle un HIT; un échec s'appelle un MISS.

Hit ratio : pourcentage de succès d'accès mémoire. En effet, lorsque la machine a besoin d'une information, celle ci ne se trouve pas forcément dans le bon niveau de mémoire. Il est alors nécessaire de recopier les blocs qui contiennent l'info, d'une mémoire lente vers une mémoire de niveau supérieur, jusqu'au moment où l'information se trouve à la disposition de la machine (au minimum dans la mémoire primaire).
Plus le hit ratio est important, plus le traitement sera rapide car l'ensemble des informations nécessaires se trouvait déjà dans une mémoire accessible au CPU.

Hit time : temps d'accès à l'information, auquel nous devons ajouter le temps nécessaire pour déterminer si l'opération est un hit ou un miss.

Miss penalty : temps d'accès auquel nous devons ajouter le temps de copie de l'information vers un niveau accessible au CPU.

Adressage de la mémoire

Comme nous avons vu que la mémoire gère l'information par blocs, l'adressage d'une info est composée du numéro du bloc (block-frame address), et du déplacement à effectuer dans ce bloc (block-offset). La taille du bloc-offset est le log2(taille du bloc).

Modes d'accès

Quand j'ai demandé ce qu'était la RAM, on m'a répondu ceci : "Random Access Mode, c'est à dire que quand tu coupes ta machine y'a plus rien dedans..."
Attention, accès aléatoire (random-access) et volatilité (les informations ne sont pas concervées en mémoires après la mise hors tension de la machine) sont deux choses qui ne sont pas liées !

Nous pouvons distinguer deux grandes catégories d'accès (aléatoire et séquentiel), et une combinaison des deux (semi-aléatoire) :

  • Random-access : chaque endroit de l'unité de mémoire (Mu) peut être atteint, et le temps d'accès à une information ne dépend pas de l'endroit où elle se situe. Un accès aléatoire nous permet un accès quasi direct à l'information.
  • Sequential-access : en accès séquentiel, il est nécessaire de parcourir le mémoire élément par élément jusqu'au moment ou l'information est atteinte. Ce type d'accès est plus lent que l'accès aléatoire, mais moins coûteux à mettre en œuvre.
  • Direct access serial device (ou semi-random-access) : combinaison des deux modes précédents.
    Le disque dur est un exemple de mémoire à accès semi-aléatoire, car il est possible d'accéder quasi directement à chaque piste mais il est nécessaire de lire séquentiellement les informations stockées sur la piste pour accéder à celle dont nous avons besoin.

Document créé le 01/05/2004, dernière modification le 07/04/2023
Source du document imprimé : https://www.gaudry.be/systeme-exploitation-memoire.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.