28 votes

Que sont les threads, et que font-ils dans le processeur ?

Je regardais les statistiques de l'Intel. Pentium e5700 CPU.

Il possède 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 ? Quelle est l'utilité des threads pour le système dans son ensemble ?

24voto

Breakthrough Points 33693

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 être exécutés simultanément sur le processeur lui-même. Sans matériel supplémentaire ou spécial, ce nombre est égal au nombre de cœurs. Certains processeurs, cependant, ont plus de threads que de cœurs.

Certains processeurs Intel ont une fonction 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 programmer et d'exécuter deux fois plus de threads simultanément. Ainsi, dans le cas du processeur dont j'ai parlé plus haut, il y a quatre cœurs physiques, mais huit cœurs logiques (ce qui permet d'exécuter huit threads simultanément).

Chaque application individuelle exécutée dans le système d'exploitation est soit monofilaire, soit multifilaire (considérez chaque fil comme une "sous-application"). Les applications monofilaires ne requièrent qu'un seul fil d'exécution sur le processeur, tandis que les applications multi-filières ont de nombreux sous-fil d'exécution simultanés. Des cœurs supplémentaires, ou hyperthreading, permettent à un plus grand nombre de fils d'application de fonctionner simultanément.

Cela permet d'effectuer des opérations multifilières ( no Les applications monofilaires s'exécutent beaucoup plus rapidement, car plusieurs fils peuvent fonctionner simultanément sur le processeur.


Une dernière remarque : l'hyperthreading améliore les performances de l'ordinateur. un peu de des applications multithreads spécifiquement optimisées pour elle (puisqu'il n'y a toujours que la moitié du nombre de cœurs physiques par rapport au nombre de cœurs logiques). Dans certains cas, les applications peuvent fonctionner plus rapidement avec l'hyperthreading. désactivé (bien que de nombreuses applications faire d'en bénéficier). Indépendamment de l'hyperthreading, une augmentation du nombre de cœurs physiques aura pour effet de toujours bénéficient aux applications multithreads.

9voto

CenterOrbit Points 1981

Un "cœur" représente un sous-ensemble physique réel d'un processeur qui peut à lui seul gérer le traitement, tandis qu'un "fil" représente le nombre de processus réels que le processeur peut gérer en même temps. Intel a développé une technologie appelée "hyper-threading". Cette technique permet à un cœur physique (qui ne pourrait normalement gérer qu'un seul thread à la fois) de 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 que 2 applications à la fois, simplement parce que le processeur et le système d'exploitation travaillent si vite à "changer de thread" pour gérer les besoins de chaque application que vous avez ouverte. Vous obtiendrez simplement de meilleures performances avec plus de cœurs, car vous pouvez maintenant répartir tout le travail entre plusieurs processeurs.

Par exemple, mon ordinateur de travail est équipé d'un i7. L'i7 a 4 cœurs physiques, mais chaque cœur peut faire de l'"hyper-threading", ce qui permet à ce processeur de gérer 8 threads à la fois. Ainsi, si j'ouvre le gestionnaire de tâches, je verrai 8 cases pour l'échelle de performance du processeur.

En règle générale, il est préférable d'avoir plus de cœurs physiques que plus de threads. Ainsi, si vous comparez un processeur qui a 4 cœurs et 4 threads, il sera meilleur que 2 cœurs et 4 threads. Mais plus votre processeur peut gérer de threads, plus il sera performant en multitâche et, pour certaines applications très intensives (montage vidéo, CAO, FAO, compression, cryptage, etc.), il utilisera lui-même plus d'un cœur à la fois.

-1voto

marc g. Points 1

En cliquant sur les liens d'un article dans IE ou chrome, chaque fois que vous cliquez, vous créez un fil. plus vous cliquez sur les liens, plus il y a de fils. avec un processeur à 4 cœurs, vous avez jusqu'à 8 fils. vous pouvez ouvrir 8 liens avant de commencer à avoir un problème. sans tenir compte de votre connexion internet. donc chaque cœur couvre deux de ces liens (threads) que vous avez ouverts. c'est l'idée IMO. si cela a un sens pour quelqu'un.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X