CPU mémoires cache L2 et L3 optimisation ? - Win 10 - Windows & Software
Marsh Posté le 23-03-2016 à 20:49:59
Bonsoir,
ca c'est sans doute des "optimisations" pour la base de registre, pas sur que ca soit possible. Par contre les caches L2 et L3 des proc, meme pas en réves d'y accéder avec windows. Dans la pratique une parties des caches est utilisé pour le stokage des données pour le proc et l'autre les operations logique et/ou arithmétique
Marsh Posté le 24-03-2016 à 00:01:41
Ça existe encore, ce genre de bidouille sans fondement ?
Marsh Posté le 24-03-2016 à 09:20:09
C'est un vieux "truc" de l'air de Windows 2000.
Il n'y a plus lieu à faire cela.
Marsh Posté le 24-03-2016 à 09:26:45
et encore, je me demande meme si ce n'est pas une LU à demander à un os à mieux à gerer les caches L1, L2 et autre
Marsh Posté le 24-03-2016 à 10:00:50
https://support.microsoft.com/fr-fr/kb/183063
Cet article ne s'applique apparemment qu'à certaines versions de NT…
Il est indiqué que cette clé n'est (n'était) utilisée que pour les Pentium II, III et quelques autres. Je comprends que si CPUz sait déterminer la taille du cache, alors Windows aussi! Probablement pas utilisée pour les CPU un peu récents, c'est-à-dire si un pilote est disponible.
Voir aussi: https://technet.microsoft.com/en-us [...] 38581.aspx
(en bas de la page)
Zéro info sérieuse concernant l'autre clé Thirdtrucmachin.
Les infos connues par Windows 10 (8? 7?) sont affichées dans le Gestionnaire des tâches.
Marsh Posté le 24-03-2016 à 10:15:41
Ce que je retiens surtout de la page de chez Microsoft, au delà du fait que ça s'applique à Windows 2000 (16 ans qu'il est sorti...), c'est ça :
Citation : The default memory-management settings for your system are optimal in most situations and do not need to be changed. |
Marsh Posté le 24-03-2016 à 11:39:51
Le cache L1 est apparu dans les CPU avec le Pentium (1993), le cache L2 avec le Pentium pro (1995) et le cache L3 avec le P4 EE (2003).
Ça fait un moment que les architectures sont relativement stables et que l'OS est capable de gérer correctement ses expaces mémoire (cache ou RAM) correctement.
De plus les instruction du CPU utilisent ces niveaux de cache, à un niveau bien plus bas que l'OS (peu importe celui-ci).
Je me demande bien quels peuvent être les cas d'usage de la customisation (si elle est encore possible) des paramêtre d'utilisation des niveaux de cache du CPU...
Les opérations effectuées par l'OS sont bien plus sensible à la quantité de mémoire RAM exploitable et à sa vitesse qu'aux caches du CPU.
Marsh Posté le 24-03-2016 à 12:18:49
nex84 a écrit :
|
ca, je mettrait pas ma main au feu sur une tel affirmation. le cache L1 à 3 sont clairement bien plus rapide que la RAM, pour certain cache, ils sont même partagé enter les core.
passer d'un type de CPU a l'autre, il y a parfois la fréquence qui change (proportionnellement très peut) mais le cache est souvent augmenté.
si je prend les:
Core i7-4930K : 3.4 GHz L2:6*256 L3:12Mb
Core i7-4960X : 3.6 GHz L2:6*256 L3:15Mb
a peine 6% d'augmentation sur la fréquence, mais 25% sur le L3.
après, comme tout le monde je suis persuadé que l'OS sait parfaitement s'adapter à la quantité disponible.
Marsh Posté le 24-03-2016 à 12:33:28
Z_cool a écrit : |
Je suis d'accord que la vitesse des caches CPU est largement suppérieure à celle de la RAM.
Mais ce que je sous-entends, c'est que les opérations effectuées au niveau de l'OS manipule des données essentiellement en RAM, rien que par leur taille.
Les caches CPU ne sont là que comme buffer pour les instructions en cours (donc de petites données).
Le goulot d'étranglement est plutôt au niveau de la RAM.
Marsh Posté le 24-03-2016 à 18:36:18
nex84 a écrit : Mais ce que je sous-entends, c'est que les opérations effectuées au niveau de l'OS manipule des données essentiellement en RAM, rien que par leur taille. |
En effet, le goulot d'étranglement est au niveau de la RAM, d'où l'intérêt du cache! En l'absence de cache, le processeur tournerait 10 ou 20 fois moins vite, et passerait son temps à attendre.
Manipuler les données en RAM revient à manipuler les données dans les caches: c'est automatique. Les quelques lignes d'instructions «en cours» (dans le cache?) peuvent manipuler des méga-octets, et faire entrer et sortir autant de données des caches.
Et en pratique, le cache L2 est vite plein… Il est donc utile d'en connaitre la taille pour le vider et le remplir le moins souvent possible. En fait, la problématique est la même que lorsqu'on travaille avec de grosses quantités de données sur disque ou distantes.
Exemple: on a toujours besoin de trier des données (des fichiers, des index, des fonctions, etc.), or un tri nécessite de nombreuses lectures/écritures en mémoire à des emplacements relativement aléatoires. Il peut être intéressant de diviser les données en blocs de taille inférieure à celle du cache L2 (mais pas trop inférieure), de trier ces blocs un par un sans sortir du cache, et enfin fusionner les blocs triés.
https://fr.wikipedia.org/wiki/Algorithme_de_tri_externe
Pour les curieux:
http://lwn.net/Articles/250967/
https://vimeo.com/97337258 (regardez au moins les graphiques de performances)
Marsh Posté le 24-03-2016 à 22:20:08
Hello
Bon j'ai essayé les réglages du L2 L3 dans le registre sur mon xeon x5672 (L2-1024 et L3-12mo)et j'ai pas remarqué de différences
Je vais tester sur un autre PC avec un proc moins puissant voir si je remarque une différence
a+
Marsh Posté le 24-03-2016 à 23:16:58
minicasse a écrit : Hello |
Non, mais c'était sûr : relis ce qui a été dit au dessus, à partir de l'article de chez Microsoft !
Marsh Posté le 25-03-2016 à 09:43:40
C'est amusant comme certains tweaks perdurent au fil des ans
Toujours d'actualité (et pourtant ca date) car on retrouve certaines de ces "optimisations" encore maintenant
http://freepctech.com/pc/002/XP_MYTHS_001.shtml
Pour le SecondLevelDataCache, Microsoft ne l'utilise plus depuis Windows 2000 SP1
Marsh Posté le 25-03-2016 à 10:11:40
Pas mal comme lien, mais ça mériterai d'être mis à jour car pas mal de choses ont changées (nouveau mécanismes, gestion différente de la mémoire, ...)
Marsh Posté le 25-03-2016 à 10:48:42
nex84 a écrit :
|
J'en ai d'autres plus à jour (mais on retrouve une partie des memes), mais ce que je voulais mettre en avant c'est le fait d'une part que l'on retrouve ces pseudos optimisations encore actuellement dans nombre de programmes de tweaks, et que ces faux tweaks sont connus quand meme depuis un bon bout de temps
Marsh Posté le 25-03-2016 à 12:35:19
minicasse a écrit : Hello |
NON, on te dis que ça ne fera rien de plus, c'était pour les vieux Windows cette astuce mais aujourd'hui c'est fini, kaput, the-end ,its over.
Marsh Posté le 23-03-2016 à 20:03:11
Bonjour,
J'ai vu un site qui parle de l'optimisation du cache L2 et L3 pour windows
Il explique ceci:
Selon les processeurs, vous pouvez avoir 2 ou 3 niveaux (levels) de cache. Par défaut, Windows utilise un cache L2 (Level 2) de 256 kbytes, ce qui signifie que si votre processeur est capable d’utiliser plus d’espace (ce qui est généralement le cas et le sera plus le temps passera au vu de l’évolution continue des processeurs), Windows limite les capacités de votre processeur!
Et je ne vous parle même pas du cache L3, vu que Windows ne l’utilise pas, c’est comme si vous n’en avez pas, or cette 3ème mémoire cache est la plus grande des 3 niveaux caches d’un processeur!
Pour augmenter le cache L2 dans Windows:
Dans le menu démarrer, recherchez et ouvrez « regedit » (base de registre ) (Comme dans toute manipulation dans la base de registre, il est conseillé d’effectuer une sauvegarde de son ordinateur en cas de problème)
double cliquez sur HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Session Manager > Memory Management
et dans la fenêtre de droite, vous devez trouver une clé nommé « SecondLevelDataCache« , faites un clic droit dessus et cliquez sur « Modifier«
Cliquez sur « Décimale«
Et remplacez par la vrai valeur de votre processeur. Dans mon cas, CPU-Z m’indique 2×256, donc la valeur à mettre dans mon cas est 512.
Cliquez sur « Ok«
Pour activer le cache L3 dans Windows:
Dans une zone libre dans la fenêtre de droite, faites un clic droit et cliquez sur « Nouveau » > « Valeur DWORD 32Bits«
Renommez la nouvelle clé par « ThirdLevelDataCache » (sans les guillemets)
Clic droit sur cette nouvelle clé renommé et cliquez sur « Modifier »
Cliquez sur « Décimale«
Remplacez la valeur par celle de votre processeur indiqué par CPU-Z: dans mon cas, j’ai 3MBytes, je dois donc faire 3×1024, ce qui signifie que je dois mettre 3072 comme valeur.
Cliquez sur « Ok« .
Je voudrais savoir si c'est toujours d'actualité pour Windows 10 ??