La mémoire cache L1 est une mémoire tampon (buffer) directement implantée dans le microprocesseur et reprend les instructions et données les plus utilisées dynamiquement suivant les programmes exécutés. De faible capacité, le contenu est entièrement géré par le processeur (principalement depuis l'utilisation de structures RISC)
Le cache L1 est utilisé depuis le premier Intel Pentium (processeur CISC). A l'époque, sa capacité était de 8 KB pour les données et de 8 KB pour les instructions. L'évolution de la structure interne des processeurs l'a fait passer à 32 KB (16 + 16) pour le Pentium MMX et 128 KB (64 + 64) pour les processeurs actuels comme les Athlons 64.
Dans un programme simple, l'augmentation des performances est intéressante. La difficulté est lié à des instructions conditionnelles. Le processeur doit garder les instructions en faisant un choix d'une des directions possibles (prédiction de branchement). Si la partie de code chargée en cache L1 est fausse, le processeur doit recharger l'ensemble des bonnes instructions. C'est le même problème avec le cache L2.
L'optimalisation du cache d'instructions est particulièrement intéressante avec la structure pipeline des processeurs actuels. Les Pentium IV (architecture superpipeline - Netburst) n'utilisent plus directement cette méthode, mais une liste d'instructions prédécodées en RISC appelée "Instruction Trace Cache" permettant jusqu'à 12.000 instructions.
L'amélioration des performances par l'utilisation de ce cache est difficile à évaluer, quelques Bios permettent de configurer l'ordinateur pour qu'il soit désactivé.
Définitions associés: Superscalaire - Cache L3
Dernière mise à jour, le 26/01/2021Tous droits réservés: reproduction interdite sans l'accord écrit de matériel-informatique.be |
© les marques citées sont propriétés des constructeurs et éditeurs |