Dois-je désactiver l'hyperthreading dans un processeur Intel?

8

J'ai un ordinateur portable avec Intel i5 M430 2,27 GHz. Le processeur a DEUX cœurs RÉELS mais il a également une sorte de virtualisation, donc Windows le voit comme 4 cœurs.

Dans un CPU REAL dual core, un programme à un seul thread s'exécutera dans un seul core à 2,27 GHz. Droite?

Ma question est, dans mon processeur à 4 cœurs, le même programme fonctionne à une vitesse de 1,13 GHz? (2.27 / 2) Je veux dire, la fréquence de chaque cœur réel est divisée en deux afin de simuler un processeur à 4 cœurs?

J'ai besoin de savoir pour exécuter un programme gourmand en CPU à vitesse maximale. Si je lance deux instances de ce programme, je terminerai mon traitement de données deux fois plus vite, car j'ai deux vrais cœurs. Mais si je démarre 4 instances, je terminerai le traitement 4 fois plus rapidement ou est-ce que ce "2 cœurs virtuels supplémentaires" est une autre fonctionnalité intéressante d'Intel?


Mise à jour:

J'ai utilisé CPU Overload pour démarrer 2 et 3 threads très gourmands en CPU. Dans Resource Monitor, le graphique "CPU-Total" affiche seulement 50 et respectivement 75% d'utilisation.

Ultralisk
la source

Réponses:

21

Vous disposez d'un processeur doté de la technologie d'hyperthreading . Vous ne pouvez pas changer cela, mais ne vous inquiétez pas, vous n'aurez aucune perte de performances; en fait, cela augmente les performances de votre système.

Notez que l'horloge du processeur n'est pas égale aux performances du processeur. L'horloge n'est pas divisée par deux pour deux threads.

Mise à jour / conclusion: Comme déjà mentionné dans les commentaires, dans certains BIOS (la plupart?), Il est possible de désactiver l'hyperthreading. Mais cela n'apportera aucune amélioration des performances, car la gestion des threads Intels est suffisamment intelligente pour n'utiliser que la quantité nécessaire.

Michael K
la source
11
vous pouvez désactiver l'hyperthreading dans le bios, si vous en avez besoin. Cependant, l'hyperthreading présente un avantage en termes de performances dans la plupart des situations.
Journeyman Geek
2
Selon Intel, les performances sont augmentées jusqu'à 30% par hyperthreading. Je ne savais pas que vous pouvez le désactiver, la plupart des BIOS ne semblent pas avoir cette option.
Michael K
4
HT était extrêmement utile avec les processeurs monocœur, mais les processeurs multicœurs le trouvent moins utile en raison de la présence des autres cœurs. En outre, vous pouvez obtenir de meilleures performances à partir d'une seule application si HT est désactivé, car chaque cœur réel aura plus de ressources disponibles; la seule façon d'en être certain est avec des tests empiriques.
Ignacio Vazquez-Abrams
2
HT ne divise pas par deux les cycles CPU consacrés à un thread donné car c'est une technologie qui permet au noyau CPU physique de gérer plus d'un thread par cycle. En utilisant une sorte d'intelligence qui détermine quelle partie du noyau va être utilisée par un thread donné, HT exécutera 2 threads en un seul cycle sur un seul noyau sans interférer avec un autre.
music2myear
4
@Altar En guise de remarque, lorsque le processeur n'est pas utilisé suffisamment dur pour nécessiter l'utilisation de la ressource supplémentaire potentielle fournie par l'hyperthreading, Windows 7 "parquera" ce noyau hyperthreadé, libérant probablement toutes les ressources pour autoriser les cœurs réels pour travailler efficacement. Je peux voir cela se produire sur mon quad core i7 dans le programme Resource Monitor car les cœurs # 1, # 3, # 4 et # 7 sont "parqués" et affichent une utilisation CPU de 0% tandis que les cœurs # 0, # 2, # 5 et # 6 sont en cours d'exécution.
Mokubai
3

Hyper Threading (HT) d'Intel est conçu pour permettre à deux threads de s'exécuter sur un seul cœur en même temps. Ainsi, puisque vous avez un processeur dual core avec HT, vous pouvez exécuter quatre threads à la fois. Généralement, la vitesse d'horloge du CPU est fixe et ne varie pas en fonction du nombre de threads exécutés en même temps. Cependant, Intel a récemment introduit une fonction appelée Turbo Boost qui permet au processeur de fonctionner à une vitesse d'horloge plus élevée si tous les cœurs ne sont pas utilisés. Votre processeur intègre Turbo Boost, il fonctionnera donc à 2,26 Ghz si les deux cœurs sont fortement utilisés et à 2,53 Ghz si un seul cœur est fortement utilisé. Tout est géré automatiquement et la différence de vitesse d'horloge n'est que d'environ 10%, alors ne vous en faites pas trop. Vous ferez mieux de vous assurer que tout le reste est en cours d'arrêt, libérant ainsi des ressources pour votre processus principal.

Andy
la source
J'ai utilisé «CPU Overload» pour démarrer 1 thread très consommateur de CPU. Dans le moniteur de ressources, le graphique (la ligne bleue qui représente la fréquence maximale) ne saute pas à 110%.
Ultralisk