Caches CPU : pour vivre heureux, vivons cachés

Magazine
Marque
GNU/Linux Magazine
Numéro
271
Mois de parution
septembre 2024
Spécialité(s)


Résumé

La mémoire cache est un composant majeur des processeurs et sa mauvaise utilisation peut entraîner une baisse importante des performances d’un programme. Nous allons voir dans cet article quelques astuces pour mesurer les performances liées aux caches et éviter certains écueils.


Avec l’augmentation de la puissance des processeurs, l’accès aux données stockées en mémoire devient de plus en plus un goulot d’étranglement. Plusieurs techniques sont mises en œuvre par les fabricants de processeurs pour accélérer cet accès et éviter de perdre des cycles CPU à attendre les données. La première d’entre elles est l’ajout de mémoires caches rapides. Le premier CPU Intel disposant d’une mémoire cache intégrée au processeur était le 486 (1989). Parmi les autres techniques, on peut citer l’exécution dans le désordre (« out-of-order execution »), introduite sur les CPU Intel avec le Pentium Pro (1995), qui permet de masquer en partie la latence mémoire, et les systèmes de prélecture (« cache prefetching ») qui ont été introduits chez Intel sur les Pentium 3/4 (2000/2001) et qui permettent d’anticiper les futurs accès à la mémoire.

1. Architecture des caches d’un CPU

Sur un processeur moderne, la mémoire cache est typiquement organisée…

La suite est réservée aux abonnés. Il vous reste 96% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Créer un émulateur avec l’API Libretro

Magazine
Marque
GNU/Linux Magazine
Numéro
270
Mois de parution
juillet 2024
Spécialité(s)
Résumé

L’émulation a le vent en poupe ces dernières années. Un intérêt sans doute renforcé par la bulle spéculative autour du retrogaming qui rend l’acquisition de vieilles machines ou de vieux jeux hors de prix. Nous allons voir dans cet article comment développer facilement un émulateur. Nous en profiterons même pour concevoir notre propre machine à émuler.

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture