Question Hyper Threading vs Overclocking


Quelle est la différence entre ces deux, et dans quelles circonstances voudrais-je les mettre en œuvre? Y a-t-il des circonstances où je ne voudrais que 1 et pas l'autre?

Selon Wikipedia, hyper-Threading est une technologie Intel propriétaire, alors que l'overclocking semble s'appliquer à tout processeur (Intel ou autre).

Cependant, ils semblent tous deux très similaires pour accélérer le temps de traitement sur la même machine, et je me demande s'ils sont synonymes ou mutuellement redondants.


4
2018-05-08 13:41


origine


Hyperthreading est juste le nom de marque d'Intel pour le multithreading simultané. Certains processeurs de la famille IBM Power et MIPS l'implémentent également. en.wikipedia.org/wiki/Simultaneous_multithreading - Dan Neely


Réponses:


Deux approches complètement distinctes pour augmenter les performances.

L'overclocking est le processus consistant à modifier les paramètres de la carte mère (ou des cartes graphiques) pour que l'horloge fonctionne plus rapidement que celle certifiée par le fournisseur. Peut augmenter les performances pour un ou plusieurs scénarios threadés. Il y a aussi des risques car un excès de chaleur peut être généré, ce qui peut endommager les circuits.

Hyperthreading est un moyen de présenter un noyau à l’OS comme s’il s’agissait de deux cœurs (voir Qu'est-ce que l'hyper-threading et comment ça marche??). Cela permet au système d'exploitation d'exécuter deux threads sur un seul cœur, quelque peu simultanément. En réalité, l’hyperviseur fait basculer le cœur entre les threads très rapidement. Cela peut augmenter les performances dans certains scénarios multithread. De plus, cette approche ne présente aucun risque, comme il en existe avec l'overclocking. mais comme noté une solution Intel uniquement.

Ils ne s'excluent pas mutuellement. Vous pouvez overclocker un CPU hyperthreaded.


8
2018-05-08 13:52



Cela ressemble beaucoup à multitâche, sauf sous le contrôle d'un programmateur matériel / micrologiciel, plutôt que sur le programmateur logiciel dont sont équipés presque tous les systèmes d'exploitation des 30 dernières années. Je suppose que le cœur du processeur dupliquer Certaines ressources, telles que les registres généraux et les registres de gestion de la mémoire, permettent aux commutateurs de tâches d'être plus rapides que lorsqu'ils sont exécutés par un planificateur de logiciels. Ou est-ce que je manque quelque chose? - Scott
Vous dites, "il n'y a aucun risque à cette approche ..." Je me sens obligé de souligner que Wikipédia dit: "En mai 2005, Colin Percival a démontré que sur le Pentium 4, un thread malveillant pouvait utiliser un attaque de synchronisation surveiller les modèles d'accès à la mémoire d'un autre thread avec lequel il partage un cache, permettant ainsi le vol d'informations cryptographiques.[ref] - Scott
@Scott j'ai dit like there is with overclocking ce qui signifie que le fournisseur a certifié la puce pour fonctionner avec HT activé. Une puce défectueuse doit être couverte par la garantie, contrairement à l'overclocking. - Brad Patton
Oui, je fendais les cheveux. - Scott
La commutation entre les threads est extrêmement coûteuse (besoin de restaurer l'état complet du registre, de vider tout le pipeline, etc.) en ce qui concerne les instructions individuelles, je trouve votre explication difficile à croire. D'après ce que je comprends de l'hyper-threading, c'est un moyen astucieux de permettre à un second thread d'utiliser les unités logiques inutilisées d'un noyau (unités arithmétiques inactives, etc.). Est-ce que quelqu'un sait qui comprend correctement? - BlueRaja - Danny Pflughoeft


Hyperthreading (HT) est plus de threads. L'overclocking est plus rapide.

L'overclocking est plus utile et pratique pour les applications de jeu que pour l'hyperthreading. HT est plus utile pour l'édition ou le rendu de fichiers multimédia par exemple, car il permet à plusieurs logiciels de s'exécuter à la même vitesse de traitement au lieu de se diviser.

L'overclocking est meilleur pour les jeux, car il s'agit d'une seule application par opposition à plusieurs, qui peut tirer parti des performances améliorées du processeur.


3
2018-05-08 13:51



Le "est une application en cours d'exécution" est complètement faux. Les jeux sont (généralement) très multithread, et garder à l'esprit que thread! = processus. - Bakuriu
@ Bakuriu, sauf pour le code graphique, qui est exécuté sur le GPU et non sur le processeur, est encore assez léger. C'est pourquoi les guides de systèmes de jeux de milieu de gamme recommandent généralement l'achat d'un processeur non-HT i5 quad-core à 200 $ au lieu de 300 i7 avec HT activé. Il est possible que le processeur 8core dans la PS4 et la XBox 720 (rumeurs seulement atm) puisse changer la situation dans quelques années. - Dan Neely
@ Bakuriu: Très peu de jeux PC sont multi-threadés. Certains jeux (notamment Source Engine) utiliseront un deuxième thread pour effectuer les tâches de rendu, mais même cela n’est pas courant. - BlueRaja - Danny Pflughoeft
@BlueRaja Je crois que tout jeu multijoueur aura au moins un fil d’écoute et de communication avec le serveur / les autres joueurs et un thread pour l’interaction de l’utilisateur (+ éventuellement les tâches de rendu ou l’IA exécutante des adversaires). De plus, le serveur de ces jeux utilise probablement un seul thread par client. - Bakuriu
Oui, j'aurais dû le mentionner. Tous les logiciels en réseau auront un thread d'écoute, mais nous ignorons généralement que parce qu'il passe une grande partie de son temps libre, vous constaterez qu'il n'y aura pratiquement aucune amélioration de la performance lorsqu'il sera exécuté sur un second cœur. - BlueRaja - Danny Pflughoeft