Abonnez-vous à Universalis pour 1 euro

MÉMOIRES NUMÉRIQUES

Article modifié le

Hiérarchie mémoire et système informatique réel

Au vu des critères de classification précédents, la mémoire numérique idéale possède une énorme capacité, un temps d'accès et de cycle quasi nul, une consommation énergétique réduite, et un coût très faible. Malheureusement, ces critères sont mutuellement incompatibles. Il n'existe pas encore de mémoire possédant simultanément toutes ces caractéristiques. Les mémoires de grande capacité sont lentes, celles qui sont rapides sont chères.

Les processeurs peuvent fonctionner aujourd'hui jusqu'à 4 GHz, tandis que la vitesse des mémoires plafonne à 800 MHz. Comme le temps d'accès à la mémoire conditionne les performances globales d'un système informatique, il est nécessaire de réduire autant qu'on peut le goulet d'étranglement que représentent les échanges entre le microprocesseur et la mémoire.

Système informatique et sa hiérarchie mémoire - crédits : Encyclopædia Universalis France

Système informatique et sa hiérarchie mémoire

Pour trouver une solution à ce problème, les concepteurs de systèmes informatiques ont eu recours à la notion de hiérarchie mémoire (fig. 8). Par exemple, dans un système réel tel qu'un ordinateur de bureau, plusieurs mémoires de types différents sont mises en jeu. Elles sont hiérarchisées en 4 niveaux.

Abonnez-vous à Universalis pour 1 euro

Ainsi, tout système informatique comprend généralement une carte mère sur laquelle vont venir se connecter tous les composants du système. Les mémoires de masse, représentées par le disque dur, le lecteur de cédérom, et la clé USB constituent la base de cette hiérarchie. Sur la carte mère se trouvent les circuits intégrés qui pilotent ces mémoires : ce sont les contrôleurs du disque dur, du cédérom et de la clé USB. On trouve aussi sur la carte mère une mémoire non volatile dite « mémoire CMOS » contenant les informations de configuration de l'ordinateur (setup). Ces dispositifs sont accessibles par le contrôleur général de périphériques via le « bus périphérique ». À côté de ce contrôleur et toujours sur la carte mère, se trouvent la mémoire principale ainsi qu'une mémoire non volatile contenant le logiciel de base (BIOS, basic input output system) pour la gestion des entrées/sorties du système. Le BIOS contient en fait le code binaire permettant au système de s'initialiser correctement. La mémoire principale, composée de barrettes mémoires enfichées sur la carte mère, est connectée sur le bus système ; elle est reliée à une mémoire cache L2, localisée également sur la carte mère. Le processeur est un circuit intégré indépendant enfiché sur la carte mère, qui contient des registres et une mémoire cache L1.

Les registres

Au sommet de la hiérarchie mémoire se trouvent les registres : ce sont des blocs de mémoire de taille très réduite (1 024 octets en moyenne) directement intégrés dans le processeur. Ils servent de variables intermédiaires pour les calculs et contiennent des données appelées à être utilisées immédiatement ou à très court terme. Les processeurs modernes, à jeu d'instructions réduit, fondent toute leur puissance sur le fait que chaque instruction de calcul (30 p. 100 des instructions d'un programme en moyenne) s'effectue en un cycle d'horloge et ne porte que sur les registres du processeur.

Pour des raisons de performance, les registres sont réalisés avec des points mémoires statiques, rapides mais volumineux en termes de surface occupée. Le temps d'accès aux registres est d'un cycle d'horloge. Ils fonctionnent donc à la même vitesse que le processeur.

Les mémoires caches

La mémoire cache, ou antémémoire, constitue un compromis efficace entre la vitesse du processeur et celle de la mémoire principale. En effet, le processeur fonctionne à des fréquences multiples du giga-hertz, alors que la mémoire principale ne fonctionne qu'à des fréquences beaucoup plus basses. La mémoire cache est un composant essentiel de la hiérarchie mémoire, puisqu'elle s'efforce de gérer de manière optimale l'asynchronisme entre le processeur et la mémoire principale.

La mémoire cache fonctionne elle aussi à la fréquence du processeur et contient la copie exacte d'une partie des instructions et des données contenues dans la mémoire principale. Le principe est de charger à l'avance et de manière optimisée les instructions et les données dont le processeur va avoir besoin. La mémoire cache exploite les principes de localité spatiale et temporelle des instructions et des données. La localité spatiale exprime le fait que si le processeur accède à une adresse particulière en mémoire, il existe une probabilité très forte qu'il ait besoin de consulter les adresses voisines dans les prochains cycles. La localité temporelle, quant à elle, fait référence au fait que si le processeur accède à une donnée située à une adresse particulière, il y a de fortes chances qu'il en ait encore besoin très prochainement. En général, il existe une mémoire cache pour les instructions et une autre pour les données du programme en cours d'exécution.

Abonnez-vous à Universalis pour 1 euro

Du point de vue du processeur, deux cas de figure peuvent se présenter : soit la mémoire cache contient l'instruction ou la donnée correspondant à l'adresse émise par le processeur (réussite), soit elle ne la contient pas (échec). Dans le premier cas, il suffit d'un cycle au processeur pour récupérer l'information. Tout se passe comme si la mémoire cache se trouvait dans le processeur, puisque ce dernier y accède en un cycle. Dans le second cas, la mémoire cache bloque le processeur et accède à la mémoire principale pour recopier l'information manquante. L'optimisation du remplissage du cache consiste à ne pas se contenter d'aller chercher la seule information demandée, mais aussi toutes les informations contiguës (celles dont les adresses sont voisines), par blocs de 4 ou 8 mots de 32 bits. En pratique, les taux de réussite dans la mémoire cache sont de l'ordre de 95 à 99 p. 100. Dans les systèmes informatiques actuels, cette notion de cache s'étend sur deux ou trois niveaux. La mémoire cache de niveau 1 (L1, pour Level 1) se trouve directement dans le processeur (elle est de 64 kilo-octets pour un Pentium IV) ; la mémoire cache de niveau 2 (L2) se trouve sur la carte mère (elle comporte de 512 à 1 024 kilo-octets). La mémoire cache est toujours réalisée avec des points mémoires statiques et le temps d'accès est de un à quelques dizaines de cycles d'horloge.

La mémoire principale

Suivant le schéma de hiérarchie mémoire, sous les mémoires caches se trouve la mémoire principale. Quand les mémoires caches ne contiennent pas l'information demandée par le processeur, il est nécessaire de consulter la mémoire principale. Le contraste de taille avec les registres et les mémoires caches est saisissant, puisque la capacité de stockage de la mémoire principale s'exprime non plus en kilo-octets mais en centaines de méga-octets. Un ordinateur portable contient en général 256, voire 512 méga-octets de mémoire principale. Un ordinateur de bureau ou une station de travail peut en contenir plusieurs giga-octets. La mémoire principale est toujours réalisée en utilisant la technologie des points mémoires dynamiques ; son temps d'accès est de quelques dizaines de cycles d'horloge. Dans un ordinateur, la mémoire principale se présente sous la forme de barrettes mémoires, petits circuits imprimés comprenant plusieurs circuits intégrés de mémoires dynamiques et venant s'enficher dans la carte mère. Depuis les années 1980, plusieurs générations de barrettes mémoires se sont succédé : la DRAM FPM (fast page mode, 1987) fonctionnant entre 30 et 50 MHz, les DRAM EDO (extended data out, 1995) puis BEDO (burst extended data out, 1996) fonctionnant à 66 MHz. Une avancée majeure a été l'introduction des SDRAM (synchronous DRAM, 1997) qui fonctionnent au rythme de l'horloge du système et non plus de manière asynchrone par rapport au processeur. La dernière génération est la DDR-SDRAM (double data rate SDRAM, 2000) qui permet d'échanger deux fois plus de mots mémoires par cycle d'horloge du système.

La mémoire de masse

Entre la mémoire principale et la mémoire de masse, on trouve parfois des mémoires dites d'appui. Celles-ci jouent en fait le rôle de mémoires caches pour les périphériques de gestion de la mémoire de masse. Comme une mémoire cache classique, la mémoire d'appui joue un rôle d'intermédiaire entre le contrôleur et la mémoire de masse. Elle contient une copie partielle de la mémoire de masse sélectionnée. Si la mémoire d'appui contient déjà les informations souhaitées, le contrôleur recopie directement les informations en mémoire principale. Si elle ne les contient pas, le système de contrôle du périphérique positionne la tête de lecture/écriture à l'emplacement souhaité sur le support de stockage, ce qui entraîne des déplacements mécaniques dont la durée est de l'ordre de quelques dizaines de millisecondes.

La mémoire de masse est la mémoire la plus lente d'un système informatique et la plus éloignée physiquement du processeur. Elle comprend essentiellement les disques durs et les lecteurs ou graveurs de cédérom. La capacité est cent fois supérieure à celle de la mémoire principale. Il n'est pas rare de rencontrer des disques durs d'une capacité de 500 giga-octets, voire de 1 téra-octet. Les cédéroms et les DVD ont respectivement une capacité maximale de 700 méga-octets et de 17 giga-octets.

Interaction des mémoires dans la hiérarchie mémoire

Pour bien comprendre l'importance de la hiérarchie mémoire, il faut imaginer le nombre impressionnant de transferts de données qui s'effectuent entre les quatre couches de la hiérarchie mémoire, à partir du moment où l'utilisateur décide de lancer un programme P situé sur le disque dur. En effet, dès que cette commande est prise en compte par le système d'exploitation, celui-ci ordonne d'abord au disque dur de transférer le code et les données du programme P dans la mémoire principale, par paquets de 512 ou 1 024 octets. Une fois P correctement chargé en mémoire, le système d'exploitation lui transfère le contrôle ; le processeur commence à exécuter les instructions de P. Comme les mémoires caches L1 et L2 ne contiennent pas encore les instructions et les données de P, chaque accès mémoire du processeur se traduit par un échec. Les caches vont alors rechercher les informations correspondantes en mémoire principale. Les caches L1 et L2 se remplissent donc peu à peu avec des instructions et des données valides. Si le code de P est essentiellement séquentiel et qu'une instruction exécutée par le processeur n'est plus jamais effectuée par la suite, les caches ralentissent l'exécution du programme. Généralement, les programmes sont conçus autour d'une boucle d'itération principale gérant l'interaction avec l'utilisateur. Une fois cette boucle complètement chargée dans le cache, le processeur peut fonctionner à plein régime, au rythme d'une instruction par cycle d'horloge. Cette interaction entre les dispositifs mémoires est à l'origine du temps nécessaire au lancement d'un programme dans un ordinateur. De ce fait, une application met un certain temps pour réagir de manière optimale aux sollicitations de l'utilisateur.

Accédez à l'intégralité de nos articles

  • Des contenus variés, complets et fiables
  • Accessible sur tous les écrans
  • Pas de publicité

Découvrez nos offres

Déjà abonné ? Se connecter

Écrit par

Classification

Médias

Microprocesseur : le Pentium. 4 - crédits : Intel .

Microprocesseur : le Pentium. 4

Mémoire numérique : fonctionnement - crédits : Encyclopædia Universalis France

Mémoire numérique : fonctionnement

Mémoires numériques : point mémoire statique - crédits : Encyclopædia Universalis France

Mémoires numériques : point mémoire statique

Autres références

  • AUTOMATISATION

    • Écrit par
    • 11 885 mots
    • 12 médias
    ...croître avec les progrès des moyens de production de la microélectronique. On peut ainsi disposer, sur une seule pastille de silicium, de registres de mémoire d'une capacité considérable, de sorte que des variables numériques codées en mots de 8 ou 16 bits et même 32 bits (c'est-à-dire avec précision)...
  • CIRCUITS INTÉGRÉS

    • Écrit par et
    • 8 998 mots
    • 20 médias
    ...suivi de très près par A.T.T. (American Telephone and Telegraph Company), fabrique les premiers circuits intégrés dépassant le million de transistors. Il s'agit de mémoires dynamiques de 1 mégabit dont l'usage massif a nécessité le développement de procédés spécifiques de fabrication. Ces mémoires possèdent,...
  • GRENATS

    • Écrit par et
    • 4 265 mots
    • 11 médias
    ...soient utilisés le plus souvent, les monocristaux de YIG sous forme d'une sphère (grâce à sa faible perte) permettent de réaliser les dispositifs spécifiques comme les filtres accordables. Mais l'application la plus intéressante des grenats est dans la réalisation des mémoires magnétiques à bulles.
  • INFORMATIQUE - Ordres de grandeur

    • Écrit par
    • 2 645 mots
    • 2 médias
    ...entre maintenant en concurrence avec celle des êtres vivants. La difficulté des comparaisons n'oblige pas au renoncement. Commençons par le plus facile : la mémoire. Si vous avez acheté en 2007 un ordinateur de bureau, il vous a été livré avec un disque dur dont la capacité est d'environ 100 gigaoctets....
  • Afficher les 12 références

Voir aussi