Je regardais les statistiques du processeur Intel Pentium e5700 .
Il a deux cœurs et deux fils. Que font les threads pour le processeur? Existe-t-il une relation entre le nombre de cœurs et le nombre de threads? À quoi servent les threads pour le système dans son ensemble?
Réponses:
Le nombre de cœurs est le nombre physique de cœurs sur le processeur lui-même, tandis que le nombre de threads est le nombre de threads d'application individuels qui peuvent s'exécuter simultanément sur le processeur lui-même. Sans matériel supplémentaire ou spécial, cela équivaut au nombre de cœurs. Cependant, certains processeurs auront plus de threads que de cœurs.
Certains processeurs Intel ont une fonctionnalité appelée hyperthreading , qui permet à un système d'exploitation de voir le double du nombre de cœurs logiques par cœur physique. Cela permet au système d'exploitation de planifier et d'exécuter deux fois plus de threads simultanément.Par conséquent, dans le cas du processeur auquel je suis lié, il y a quatre cœurs physiques, mais huit logiques (vous pouvez donc exécuter huit threads simultanément).
Chaque application individuelle exécutée dans le système d'exploitation est monothread ou multithread (considérez chaque thread comme une "sous-application"). Les applications monothread nécessitent un seul thread pour s'exécuter sur le CPU, tandis que les applications multithread ont de nombreux sous-threads s'exécutant simultanément. Des cœurs supplémentaires, ou hyper-threading, permettent à plusieurs threads d'application de s'exécuter simultanément.
Cela permet aux applications multithreads (et non à un seul thread) de s'exécuter beaucoup plus rapidement, car plusieurs threads peuvent s'exécuter simultanément sur le processeur.
Juste une note finale, l'hyperthreading améliore les performances de certaines applications multithreads spécialement optimisées pour lui (car il n'y a toujours que la moitié du nombre de cœurs physiques car il y a logique). Dans certains cas différents, les applications peuvent courir plus vite avec hyperthreading désactivé (bien que de nombreuses applications font en bénéficier). Indépendamment de l'hyperthreading, une augmentation du nombre de cœurs physiques bénéficiera toujours aux applications multithread.
la source
Un «noyau» représente un sous-ensemble physique réel d'un processeur qui peut à lui seul gérer le traitement, tandis qu'un «thread» est le nombre de processus réels que le processeur peut gérer à la fois. Intel a développé une technologie qu'ils appellent «hyper-threading», cette technique permet à un cœur physique (qui ne pourrait normalement gérer qu'un seul fil à la fois) de pouvoir désormais gérer deux threads simultanément.
Un thread est une tâche que le processeur doit gérer, pour une explication simple, vous pouvez supposer que chaque application que vous ouvrez (comme la peinture, le bloc-notes, le lecteur multimédia) a son propre thread ... maintenant cela ne signifie pas que vous ne pouvez ouvrir 2 applications à la fois, tout simplement parce que le processeur et le système d'exploitation fonctionnent si rapidement à «changer de threads» pour répondre aux besoins de chaque application que vous avez ouverte. Vous bénéficierez simplement de meilleures performances avec plus de cœurs, car vous pouvez désormais distribuer tout le travail à davantage de processeurs principaux.
Par exemple, mon ordinateur de travail contient un i7. L'i7 possède 4 cœurs physiques, mais chaque cœur peut faire de l'hyper-threading qui permet à ce processeur de gérer 8 threads à la fois. Donc, si j'ouvre le gestionnaire de tâches, je verrai 8 cases pour l'échelle de performance du processeur.
Une règle générale est que plus de cœurs physiques sont meilleurs que plus de threads. Donc, si vous compariez un processeur qui avait 4 cœurs et 4 threads, ce serait mieux que 2 cœurs 4 threads. Mais plus votre processeur peut gérer de threads, mieux il fonctionnera en multitâche et pour certaines applications très intensives (montage vidéo, CAO, FAO, compression, chiffrement, etc.), en soi, utilisera plus d'un cœur à la fois.
la source
en cliquant sur les liens dans un article dans IE ou chrome, chaque fois que vous cliquez, vous créez un fil. plus vous cliquez sur des liens, plus il y a de fils. avoir un processeur 4 cœurs, vous avez jusqu'à 8 threads, vous pouvez ouvrir 8 liens avant de commencer à avoir un problème. sans tenir compte de votre connexion Internet. de sorte que chaque noyau couvre deux de ces liens (threads) que vous avez ouverts. c'est l'idée de l'OMI. si cela a du sens pour quiconque.
la source