Interpréter l’ordinateur comme un élément unique et indivisible est souvent la norme pour l’utilisateur moyen, mais en arrière-plan, on trouve une longue liste de systèmes et de ressources très complexes qui travaillent ensemble pour garantir des performances maximales. L’un des plus importants est la mémoire cache, présente dans les processeurs, les disques durs, les SSD et d’autres composants. Vous voulez savoir ce qu’est la mémoire cache et comment elle fonctionne ? Continuez à lire.

Mémoire cache : qu’est-ce que c’est et comment fonctionne-t-elle ?
Qu’est-ce que la mémoire cache ?

Vitesse !

Plus vite. Tout doit fonctionner plus vite, prendre moins de temps, anticiper l’utilisateur. Nos exigences n’ont cessé d’augmenter au fil des ans, et s’il y a un problème de performances, on jette davantage de matériel dans sa direction. MS-DOS 6.22 a débarqué dans les rayons entre avril et juin 1994, et à partir de ce moment, nous avons commencé à laisser derrière nous la fameuse base de 640 kilo-octets de RAM. Aujourd’hui, un ordinateur a besoin de 8 gigaoctets de mémoire comme minimum absolu, et 16 Go sont déjà recommandés pour presque tous les environnements.

Mémoire cache : qu’est-ce que c’est et comment fonctionne-t-elle ?
Tout cela équivaut à une extension de 256 Ko de RAM pour un vieux PC IBM. Que nous sommes loin !

Mais ajouter plus de cœurs ou de mémoire ne raconte pas toute l’histoire. Il y a d’autres acteurs très importants qui peuvent augmenter les performances de manière spectaculaire, ou laisser une machine à genoux en leur absence. Le cas de la mémoire cache est l’un des plus cités. Qu’est-ce que la mémoire cache et comment fonctionne-t-elle ?

Qu’est-ce que la mémoire cache ?

En termes simples, la mémoire cache est un type de mémoire temporaire qui stocke des données pour les fournir à l’utilisateur plus rapidement à l’avenir. Je suppose que vous l’avez vue en action : par exemple, si vous ouvrez un programme, le fermez et le rouvrez immédiatement, vous remarquerez que le deuxième chargement est beaucoup plus rapide grâce à l’intervention de la mémoire cache, et de la mémoire RAM en général. L’idée est de réduire les temps d’accès. Si vous lisez et exécutez constamment les mêmes fichiers, pourquoi les lire depuis le stockage ou une mémoire plus lente, quand une pincée de cache peut accélérer tout le processus ? Un autre aspect très intéressant est que la mémoire cache se présente comme une solution logicielle et/ou matérielle. Sans aller trop loin, la classique SuperFetch (désormais SysMain) utilise la RAM du système comme un énorme cache pour précharger les applications, et côté matériel, on a des choses comme le cache du processeur et le cache DRAM dans les SSD.

Cache du processeur

Mémoire cache : qu’est-ce que c’est et comment fonctionne-t-elle ?
La RAM est lente, le processeur ne l’est pas. La mémoire cache vient à la rescousse.

Le processeur se distingue par ses différents niveaux de mémoire cache. Une mémoire cache très grande a un excellent taux de réussite ou hit rate, mais paie le prix avec une latence supplémentaire. Les multiples niveaux de cache cherchent à compenser cela, en commençant par des caches petits mais extrêmement rapides, suivis de caches plus lents.

Mémoire cache : qu’est-ce que c’est et comment fonctionne-t-elle ?
Une façon simple de visualiser les niveaux de cache.

Cette configuration permet aux cœurs de traiter les données plus rapidement, et dans la mesure du possible, d’éviter le goulot d’étranglement de l’accès à la mémoire générale. Ce problème est bien plus ancien qu’on ne le pense : toutes les flèches pointent vers Sir Maurice Vincent Wilkes, scientifique britannique de l’université de Cambridge, comme inventeur du concept de mémoire cache en 1965, baptisée alors « mémoire esclave ».

Mémoire cache : qu’est-ce que c’est et comment fonctionne-t-elle ?
L’Intel Core i7-7700K de 2017 utilise trois niveaux de mémoire cache.

Un processeur relativement moderne comme l’Intel Core i7-10700F a trois niveaux de mémoire cache : L1 subdivisée en 8 x 32 kilo-octets pour les données et encore 8 x 32 kilo-octets pour les instructions, un cache L2 de 8 x 256 kilo-octets, et enfin un cache L3 partagé entre tous les cœurs, pour un total de 16 mégaoctets. Cependant, cela n’a pas toujours été le cas : les vieux 486 et Pentium n’offraient que le cache L1, et pour accéder à un cache L2, il fallait dépendre de la carte mère, avec des puces intégrées ou un slot d’extension.

Mémoire cache : qu’est-ce que c’est et comment fonctionne-t-elle ?
Classique Pentium MMX, avec le slot COAST (Cache-On-A-Stick) pour installer le cache L2 (« benryves » sur Reddit).

Cas historiques et actuels

À quel point la mémoire cache est-elle importante dans les processeurs ? Le Celeron original est un exemple frappant : Intel a décidé de le lancer sur le marché comme option bon marché en réduisant le cache L2, et le résultat a été un CPU anémique qu’il fallait overclocker jusqu’à la limite pour en tirer quelque chose de potable. Peu de temps après, les Celeron 300A « Mendocino » ont fait leurs débuts avec 128 Ko de cache L2 intégré. Ces 128 kilo-octets ont suffi à doubler les performances de la puce précédente et à transformer le Celeron 300A en l’un des meilleurs processeurs de l’histoire de l’overclocking.

Mémoire cache : qu’est-ce que c’est et comment fonctionne-t-elle ?
Celeron 300A, gloire absolue de l’overclocking (« Qurren », CC BY-SA 3.0).

Évaluer son impact sur les processeurs modernes est plus compliqué, mais pas impossible. En effet, les gens de Hardware Unboxed ont publié une excellente vidéo comparant l’augmentation du cache L3 sous un même nombre de cœurs et de threads. En substance, les processeurs Intel Core i9-10900K (10C/20T), Core i7-10700K (8C/16T) et Core i5-10600K (6C/12T) ont été forcés de travailler avec la même configuration que le Core i3-10105F (4C/8T). La différence de taille du cache L3 établit un certain avantage pour les puces supérieures, mais le bénéfice ne s’étend pas à tous les jeux.

(N.d.l.R. : vidéo en anglais, mais les tableaux sont l’essentiel)

Qu’est-ce que la mémoire cache : en résumé

La mémoire cache est un raccourci, un supplément qui nous aide à accéder plus rapidement et plus efficacement à toutes ces données utilisées fréquemment. En avoir plus est mieux, mais sa structure doit être correcte. Vous voulez en savoir plus sur la mémoire cache ? Le résumé de HWiNFO (qui sert aussi à mesurer la température et les tensions de votre PC) affichera toutes les informations de votre processeur, cette liste mise à jour révèle les modèles de SSD avec cache DRAM intégré, et si vous avez des doutes sur SuperFetch sur votre machine, vous pouvez toujours le désactiver. Bonne chance !