lundi 8 décembre 2008

Optimiser la mémoire cache L2






Par défaut,
Windows 2000/XP est optimisé pour un cache de 256
Ko
.


Le cache L2
est la mémoire tampon qui permet le stockage d'informations (instructions
et données) redondantes (qui se repétent) et l'accès plus
rapide à ces dernières.



Comme maintenant,
la plupart des ordinateurs ont un cache L2
plus grand que 256K (à vérifier dans votre BIOS), cela vaut la
peine de prendre le temps de changer la valeur du paramètre SecondLevelDataCache
pour l'ajuster à la taille du cache de votre système.
La
valeur SecondLevelDataCache enregistre la quantité de cache de second
niveau disponible pour le processeur. Si la Hal (couche d'abstraction matérielle)
récupère cette information à partir du bios alors elle
va positionner cette valeur à zéro, indiquant une taille de cache
par défaut de 256K.


Il est possible
d'améliorer les performances du système si vous disposez de plus
de 256 K de cache.


Pour cela,
suivez la procédure suivante :


  • Cliquez sur le bouton
    Démarrer et choisissez la commande
    Exécuter...



  • Dans la fenêtre qui apparaît,
    tapez Regedit et validez en cliquant sur
    le bouton
    OK



  • Dans la fenêtre de l'Editeur
    de Base de registres, ouvrez la branche

    HKEY_LOCAL_MACHINE
    \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management



  • Dans la partie droite
    de l'Editeur de Base de registres, double-cliquez sur la clé SecondLevelDataCache
    ou créée-la (
    Type : REG_DWORD - DWORD Value )




  • Affectez à cette
    clé la
    valeur de votre cache L2 en Ko (décimal)
    .




    Les valeurs possibles sont les suivantes :




    • 256
      K de cache de second niveau : 0x00000100
    • 512
      K de cache de second niveau : 0x00000200
    • 1
      Mo de cache de second niveau : 0x00000400
    • 2
      Mo de cache de second niveau : 0x00000800





  • Fermer la fenêtre de
    l'Editeur de Base de registres et redémarrez Windows.




  Complément
: Le cache L2





La mémoire
rapide
situé dans le processeur (cache
L1
) est de petite taille,
et la cache L1 ainsi que le processeur sont encore beaucoup plus rapides
que la mémoire RAM (jusqu'à 50 fois plus rapide). Lorsque
que les données ne sont pas dans la cache L1, le processeur doit
aller les chercher dans la mémoire RAM, il y a alors un ralentissement
notable. Le processeur doit alors attendre un long moment (par rapport
à sa vitesse) pour que la mémoire RAM lui rende l'information,
le processeur ne peut alors rien faire d'autre qu'attendre. Ainsi entre
la cache rapide L1 (et le processeur) et la mémoire lente RAM,
est insérée une deuxième cache, la
cache niveau 2 ou L2
.


Cette cache est fabriquée
à partir de mémoire rapide, mais relativement peu dispendieuse,
appelée mémoire statique ou SRAM et est approximativement
10 fois plus rapide que la mémoire RAM
standard
. On peut ainsi se permettre 256k et même 1 ou
2 megabytes de SRAM.


Le processeur travaille
presque toujours sans arrêt, il fera probablement quelque chose
qu'il a fait récemment (une boucle) et les données seront
dans la cache L1; ou il possédera la logique qui lui aura permit
de lire d'avance (prefetch) l'information située dans la cache
L1; cependant les ordinateurs exécutent des centaines de millions
d'instructions à la seconde! 1% de ratés dans la cache L1
signifie que pendant un million de fois par seconde le processeur devra
lire dans la mémoire RAM. Les ratés dans la cache L1 peuvent
atteindre 10 à 20%, ainsi la cache L2 apporte un aide précieux.
Lorsque le processeur ne trouve pas ce dont il a besoin dans la cache
L1, il le trouvera la plupart du temps dans la cache L2. Le fait que la
mémoire RAM soit plus lente que le processeur devient alors beaucoup
moins significatif.


Lorsqu'on entend parler
de cache, il s'agit la plupart du temps de la cache L2. La majorité
des ordinateurs personnels d'aujourd'hui possède les deux niveaux
de cache (L1 et L2).


Aucun commentaire: