Mémoire cache - Définition

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

Introduction

Une mémoire cache ou antémémoire est, en informatique, une mémoire qui enregistre temporairement des copies de données provenant d'une autre source de donnée comme les mémoires, afin de diminuer le temps d'accès (en lecture ou en écriture) d'un matériel informatique (en général, un processeur) à ces données. La mémoire cache est plus rapide et plus proche du matériel informatique qui demande la donnée, mais plus petite que la mémoire pour laquelle elle sert d'intermédiaire. Des mécanismes mettant en œuvre des mémoires caches peuvent être implémentés entre tous producteurs et consommateurs de données fonctionnant de façon asynchrone, c'est notamment le cas entre le processeur et la mémoire vive, mais aussi par exemple entre cette même mémoire et les réseaux informatiques ou les disques durs.

Les données mises en cache peuvent être par exemple un programme, un bloc d'image à traiter, etc... La mémoire source des données peut être par exemple un disque dur, la mémoire centrale, etc...

La mémoire cache est souvent très coûteuse car afin d'être la plus rapide possible, les concepteurs d'architecture informatique choisissent des technologies haut de gamme. Les plus connues des mémoires caches sont celles dont le fonctionnement est associé à celui des microprocesseurs. En effet, la taille et la performance de ces caches, qui peuvent être externes ou internes, peuvent très fortement influencer la vitesse de traitement des programmes. Dans le cas des caches internes, la place utilisée par les transistors dans le wafer conditionne le coût de fabrication des processeurs. Dans ce dernier cas, la mémoire cache est particulièrement utile si l'algorithme à exécuter implique des accès répétitifs à de petites zones de mémoires (un bout de programme qui se répète, un travail sur une sous-partie d'un fichier son, etc...) ou si le processeur est capable de prédire ses besoins futurs en données pour remplir la mémoire cache en parallèle d'un calcul, de sorte qu'elle contiendra au moment venu une copie locale des données à accès beaucoup plus rapide.

Dénomination

Mémoire cache est la même expression que celle utilisée en anglais, à savoir cache memory, cette appellation vient elle-même de mémoire cachée, principe inventé à Grenoble dans les années 1960. L'Académie française propose plutôt le terme antémémoire. La différence entre mémoire cache et mémoire tampon réside dans le fait que la mémoire cache duplique l'information, tandis que le tampon exprime plutôt l'idée d'une salle d'attente, sans impliquer nécessairement une duplication. Le cache buffer (tampon de cache) du disque ou disk cache (cache de disque) est à la fois un tampon où transite l'information et une mémoire cache qui recopie sous forme électronique les données stockées dans le disque sous forme magnétique.

Divers niveaux de mémoire cache

On trouve une zone de cache :

  • dans les disques durs ;
  • dans les serveurs proxy (dont les squids) ;
  • dans les serveurs de pages dynamiques ;
  • des mémoires gérées par les base de données
  • dans ou à proximité des microprocesseurs.

Dans ce dernier cas, on différencie :

  • cache de premier niveau (L1), plus rapide et plus petit (cache de données pouvant être séparé du cache d'instructions) ;
  • cache de second niveau (L2), moins rapide et plus gros ;
  • cache de troisième niveau (L3), encore moins rapide et encore plus gros.

Ces derniers caches peuvent être situés dans ou hors du microprocesseur.

Page générée en 0.087 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise