Argent prononcé, un mécanisme de stockage spécial à grande vitesse. Le cache peut être une section réservée de la mémoire principale ou un périphérique de stockage à grande vitesse indépendant. Deux types de mise en cache sont couramment utilisés dans les ordinateurs personnels: la mise en cache mémoire et la mise en cache disque.
Mise en cache de la mémoire
Un cache mémoire, parfois appelé cache mémoire ou cache RAM, est une partie de la mémoire constituée de RAM statique haute vitesse (SRAM) au lieu de la RAM dynamique (DRAM) plus lente et moins chère utilisée pour la mémoire principale. La mise en cache de la mémoire est efficace car la plupart des programmes accèdent aux mêmes données ou instructions à plusieurs reprises. En conservant autant de ces informations que possible dans la SRAM, l'ordinateur évite d'accéder à la DRAM plus lente.
Caches L1 et L2
Certains caches mémoire sont intégrés à l'architecture des microprocesseurs. Le processeur Intel G6500T, par exemple, contient une mémoire cache de 4 Mo. Ces caches internes sont souvent appelés caches de niveau 1 (L1). La plupart des PC modernes sont également équipés d'une mémoire cache externe, appelée caches de niveau 2 (L2). Ces caches se situent entre le CPU et la DRAM. Comme les caches L1, les caches L2 sont composés de SRAM mais ils sont beaucoup plus volumineux.
Au fur et à mesure que les systèmes deviennent plus complexes, les systèmes et processeurs haut de gamme peuvent inclure des couches supplémentaires de mise en cache, telles que L3 et supérieures.
Mise en cache du disque
La mise en cache disque fonctionne selon le même principe que la mise en cache mémoire, mais au lieu d'utiliser une SRAM haute vitesse, une cache disque utilise la mémoire principale conventionnelle. Les données les plus récemment consultées depuis le disque (ainsi que les secteurs adjacents) sont stockées dans une mémoire tampon. Lorsqu'un programme a besoin d'accéder aux données du disque, il vérifie d'abord le cache du disque pour voir si les données s'y trouvent. La mise en cache sur disque peut considérablement améliorer les performances des applications, car l'accès à un octet de données dans la RAM peut être des milliers de fois plus rapide que l'accès à un octet sur un disque dur, mais les disques SSD ont quelque peu amélioré l'écart de performances.
Mise en cache intelligente
Lorsque des données sont trouvées dans le cache, on parle de succès de cache, et l'efficacité d'un cache est jugée par son taux de succès. De nombreux systèmes de cache utilisent une technique connue sous le nom de mise en cache intelligente, dans laquelle le système peut reconnaître certains types de données fréquemment utilisées. Les stratégies pour déterminer quelles informations doivent être conservées dans la mémoire cache constituent certains des problèmes les plus intéressants en informatique.
Problèmes et problèmes de mise en cache
En général, les caches créent des problèmes en cas de divergence entre le cache et la mémoire principale. Cela peut se produire si la mémoire principale a été mise à jour et que le cache ne l'a pas été, de sorte que le cache ne reflétera pas les modifications récentes. La cohérence du cache devient donc un défi dans les systèmes plus complexes, et un crash informatique peut entraîner la perte de données qui n'ont pas été écrites dans la mémoire principale - en plus du risque de perdre des données stockées si un lecteur ne peut pas être récupéré.
Cache dans la navigation Web
Les caches jouent également un rôle important dans la navigation Web et l'expérience de développement Web, parfois appelés cache Web, cache http ou cache proxy. À l'instar des caches au niveau du processeur, les navigateurs Web peuvent stocker des données fréquemment consultées telles que des pages Web ou des images sur le disque dur, et les serveurs Web doivent également vider le cache afin que la version la plus récente d'un site Web puisse être affichée aux utilisateurs. La suppression du cache du navigateur peut accélérer les performances tout en garantissant à l'utilisateur la version la plus récente d'une page Web.