Mémoire cache - Définition et Explications

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Fonctionnement

Le cache contient une copie des données originelles lorsqu'elles sont coûteuses (en termes de temps d'accès) à récupérer ou à calculer par rapport au temps d'accès au cache. Une fois les données stockées dans le cache, l'utilisation future de ces données peut être réalisée en accédant à la copie en cache plutôt qu'en récupérant ou recalculant les données, ce qui abaisse le temps (Le temps est un concept développé par l'être humain pour appréhender le...) d'accès moyen.

Le processus fonctionne ainsi :

  1. l'élément demandeur (microprocesseur) demande une information ;
  2. le cache vérifie s'il possède cette information. S'il la possède, il la retransmet à l'élément demandeur – on parle alors de succès de cache (cache hit en anglais). S'il ne la possède pas, il la demande à l'élément fournisseur (mémoire principale par exemple) – on parle alors de défaut de cache (cache miss);
  3. l'élément fournisseur traite la demande et renvoie la réponse au cache ;
  4. le cache la stocke pour utilisation ultérieure et la retransmet à l'élément demandeur au besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est...).

Si les mémoires cache permettent d'accroître les performances, c'est en partie grâce à deux principes qui ont été découverts suite à des études sur le comportement des programmes informatiques :

  1. le principe de localité spatiale qui indique que l'accès à une donnée (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent...) située à une adresse (Les adresses forment une notion importante en communication, elles permettent à une entité de...) X va probablement être suivi d'un accès à une zone tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou...) proche de X ;
  2. le principe de localité temporelle qui indique que l'accès à une zone mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir...) à un instant (L'instant désigne le plus petit élément constitutif du temps. L'instant n'est pas...) donné a de fortes chances de se reproduire dans la suite immédiate du programme.

Gestion d'un cache à niveau logiciel

Au-delà de ces systèmes matériels de gestion d'un cache, le terme de mémoire cache est aussi utilisé par abus de langage pour désigner tout mécanisme mis en œuvre dans un logiciel afin de permettre une réutilisation rapide de données déjà transférées auparavant.

Par exemple, tout système d'exploitation moderne possède, à l'interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface...) entre les systèmes de fichiers et les pilotes chargés du stockage de masse (Le terme masse est utilisé pour désigner deux grandeurs attachées à un...), une sous-entité dont le but est de garder en mémoire vive (La mémoire vive, mémoire système ou mémoire volatile, aussi appelée RAM de...) les données récemment lues ou écrites ; cela permet d'éviter les entrées/sorties inutiles avec le stockage de masse, car celles-ci sont généralement plus lentes que celles avec la mémoire vive.

Le principe est le suivant :

  • lorsqu'une demande d'écriture (respectivement : de lecture) est faite au système de fichiers (Un système de fichiers (file system ou filesystem en anglais) ou système de gestion de...), celui-ci demande au système de gestion de la mémoire de marquer la zone mémoire source (respectivement : destination) avec un identifiant (En informatique, on appelle identifiants (également appelé parfois en anglais login) les...) unique (la position des données sur le disque dur (Un disque dur est une mémoire de masse magnétique utilisée principalement dans les...) par exemple) ;
  • si une demande de lecture intervient par la suite, le système de fichiers n'effectue pas le transfert immédiatement, mais demande au système de gestion de la mémoire si les données sont par hasard (Dans le langage ordinaire, le mot hasard est utilisé pour exprimer un manque efficient, sinon...) déjà en mémoire. Si ce n'est pas le cas, ce n'est pas grave et le transfert commence comme si de rien n'était. Par contre, si la réponse est positive, alors un temps précieux a été gagné pour le transfert et le disque (Le mot disque est employé, aussi bien en géométrie que dans la vie courante, pour désigner une...) dur a été libéré d'un transfert inutile.

La cohérence est garantie si à tout transfert est associé un marquage des données en mémoire. Évidemment, un algorithme est chargé (basé sur des critères d'âge et de réutilisation des données) de choisir quelles sont les données susceptibles de rester dans le cache ou bien d'être supprimées.

Page générée en 0.072 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique