Présentation

Article

1 - HIÉRARCHIE MÉMOIRE

2 - FONCTIONNEMENT DES CACHES

3 - CACHES DES MULTIPROCESSEURS SYMÉTRIQUES

4 - TECHNIQUES POUR LIMITER L'IMPACT DES CACHES

  • 4.1 - Préchargement
  • 4.2 - Caches logiciels

5 - CACHES ET MÉMOIRES SECONDAIRES

6 - CACHES ET PROGRAMMES UTILISATEUR

7 - REMARQUES POUR CONCLURE

Article de référence | Réf : H1002 v1

Caches et mémoires secondaires
Hiérarchie mémoire : les caches

Auteur(s) : Daniel ETIEMBLE, François ANCEAU

Relu et validé le 08 mars 2022

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais English

RÉSUMÉ

Entre le ou les processeurs d'un ordinateur et les organes de stockage existe une hiérarchie de mémoires, dont les temps d'accès augmentent et les débits diminuent lorsqu'on s'éloigne des processeurs. Cet article décrit les principes et le fonctionnement de cette hiérarchie comprise entre un processeur et la mémoire principale, pour les architectures monoprocesseurs et les architectures parallèles multiprocesseurs et multicoeurs. Après avoir introduit les principes de base et les techniques d'amélioration des performances, les protocoles de cohérence sont introduits ainsi que les relations entre les caches et l'autre partie de la hiérarchie, entre la mémoire principale et les mémoires secondaires. Les principales optimisations logicielles tenant compte des propriétés des caches sont également introduites.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Daniel ETIEMBLE : Ingénieur INSA Lyon - Professeur à l'université Paris Sud

  • François ANCEAU : Ingénieur INPG Grenoble - Professeur émérite au CNAM

INTRODUCTION

L'objectif de ce dossier est l'étude de la hiérarchie de mémoires caches situées entre le ou les processeurs d'un ordinateur et la mémoire principale. Il existe une différence de performance énorme entre les vitesses de fonctionnement d'un processeur et, plus généralement, les temps d'accès et les débits de transferts entre éléments de mémorisation situés sur une puce électronique et les temps d'accès et débits entre puces différentes. Entre un processeur et sa mémoire principale, il existe une hiérarchie de caches, certains sur la puce du processeur, et d'autres sur des puces externes, qui jouent le rôle d'adaptateurs de débit et de temps d'accès car les débits diminuent et les temps d'accès augmentent lorsque l'on s'éloigne du processeur. L'autre partie de la hiérarchie mémoire, située entre la mémoire principale et les disques et autres unités de stockage, fait l'objet d'un autre dossier.

Ce dossier présente les principes de fonctionnement des caches et les techniques matérielles permettant d'améliorer les performances, que ce soit pour des systèmes bas de gamme monoprocesseur, des systèmes avec processeur exécutant plusieurs instructions par cycle ou des systèmes parallèles utilisant des processeurs multicœurs ou des clusters de multicœurs. Les différentes techniques permettant d'assurer la cohérence des caches sont notamment présentées, des protocoles centralisés ou décentralisés de base aux protocoles pour architectures hiérarchiques.

Les techniques pour limiter l'impact des caches et les relations entre le fonctionnement des caches et les mémoires secondaires, notamment les traductions d'adresse liées à la mémoire virtuelle, sont également abordées.

Si le dossier se focalise essentiellement sur les techniques matérielles d'implantation de la hiérarchie de caches, l'impact des caches sur les temps d'exécution des programmes est souligné via la présentation des techniques d'optimisation logicielles classiques prenant en compte l'existence des caches.

Cet article est réservé aux abonnés.
Il vous reste 94% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1002


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais English

5. Caches et mémoires secondaires

La partie de la hiérarchie mémoire entre la mémoire principale et les mémoires secondaires ne relève pas de ce dossier. Il y a cependant deux types de caches concernant ce niveau de la hiérarchie mémoire que nous présentons ici.

5.1 Mémoire virtuelle et TLB

La mémoire virtuelle consiste à considérer l'ensemble de la mémoire disponible (mémoire principale et mémoires secondaires) comme une seule mémoire accessible via une adresse appelée virtuelle ou logique qui est l'adresse utilisée par le processeur.

Comme le processeur ne peut effectivement accéder directement, ou plus exactement, via la hiérarchie de caches qu'à la mémoire principale, le mécanisme de mémoire virtuelle doit distinguer entre les accès à la mémoire principale lorsque les instructions ou données sont dans celle-ci et les accès aux mémoires secondaires, qui nécessitent préalablement des transferts entre mémoire principale et mémoires secondaires. L'unité de transfert est appelé page, la taille la plus couramment utilisée étant 4 Ko. Les accès à la mémoire principale se font via une adresse physique. Un aspect essentiel de la mémoire virtuelle est la traduction des adresses virtuelles en adresses physiques dans le cas où les données accédées sont en mémoire physique. Il est illustré par la figure 37. Le mécanisme général de traduction est complexe et est détaillé dans le dossier sur les mémoires virtuelles. Comme les adresses dans les pages sont les mêmes pour les pages virtuelles et les pages physiques, le mécanisme de traduction n'est nécessaire que lorsque l'on change de page. De plus, il est possible de mémoriser dans une mémoire cache particulière les dernières traductions. Ce cache particulier est appelé TLB (Translation Look-ahead Buffer). Il contient un nombre limité d'entrées (de l'ordre de 64) et utilise généralement l'associativité totale avec remplacement par LRU. Le format des entrées d'un TLB est donné sur la figure 38 :

  • valide indique si la page physique est présente ;

  • modifié si elle a été modifiée en écriture ;

  • référence sert pour calculer le LRU (Least...

Cet article est réservé aux abonnés.
Il vous reste 95% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Caches et mémoires secondaires
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - HEWLETT PACKARD -   Memory technology evolution : an overview of system memory technologies.  -  Technology brief, 9th edition (2010).

  • (2) - HENNESSY (J.-L.), PATTERSON (D.) -   Architecture des ordinateurs – Une approche quantitative.  -  Vuibert Informatique (2003).

  • (3) - SICOLO (J.E.) -   A multiported nonblocking cache for a superscalar uniprocessor.  -  MS Thesis, University of Illinois at Urbana Champaign (1992) http://impact.crhc.illinois.edu/ftp/report/ms-thesis-jim-sicolo.pdf.

  • (4) - ROTENBERG (E.), BENNETT (S.), SMITH (J.E.) -   Trace cache : a low latency approach to high bandwidth instruction fetching.  -  In Proceedings of the 29th International Symposium on Microarchitecture, p. 24-34, déc. 1996.

  • (5) - KIN (J.), GUPTA (M.), MANGIONE-SMITH (W.H.) -   The filter cache : an energy efficient memory structure.  -  In Proc. 43rd Hawaii International Conference on System Sciences (HICSS), p. 1-8, janv. 2010.

  • ...

Cet article est réservé aux abonnés.
Il vous reste 94% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS