Qu’est-ce que l’hyper-threading pour un processeur et CPU

Lorsque vous devez acheter un nouveau processeur ou en faisant un tour dans le BIOS, vous avez pu apercevoir le mot hyper-threading.
Qu'est-ce que la technologie hyperthreading pour un processeur et CPU ?
Plus important encore, est-ce quelque chose dont vous devriez vous soucier ?

Pour répondre à ces questions brûlantes, nous devons faire un petit détour sur la façon dont les processeurs font leur travail.
Notamment les coeurs et cores et le mode de calcul du CPU.

Cet article vous donne toutes les explications autour de l'hyper-threading.

Qu'est-ce que l'hyper-threading pour un processeur et CPU

Introduction

La puissance de la CPU ne cesse d'augmenter et double régulièrement.
Pourtant un processeur ne sait faire qu'une seule chose à la fois.
Contrairement aux processeur de carte graphique, le GPU, qui peut effectuer des calculs en parallèle.
En d'autre terme, le processeur fait que des calculs en série.

Dans ces cas là, comment parvenir à augmenter la vitesse de calcul d'un CPU ?
Grâce aux coeurs (cores) et à la technologie hyper-threading.

Qu'est-ce que l'hyper-threading

Les coeurs du processeurs

Dans l'article sur le processeur, j'expliquais qu'un CPU pouvait avoir plusieurs coeurs :

C'est une des solutions pour augmenter la puissance des processeurs.
Un CPU a plusieurs coeurs, ce qui lui permet d'effectuer plusieurs calculs et travaux en parallèle.
Ainsi les différentes demandes faites au processeur sont réparties entre eux.
Aujourd'hui, les processeurs quad-core sont à peu près la configuration courante.

On parle alors de coeurs physiques car le processeur est réellement divisés en coeurs.

Le structure d'un processeur avec les cores, le cache L2 et L3

Les coeurs et processeurs logiques : hyper-threading

L'hyper-threading pousse encore plus cette possibilité d'effectuer plusieurs travaux à la fois.
Ils divisent un coeur physique en deux coeurs logiques.
Ainsi un coeur physique peut faire deux travaux à la fois.
Attention cela ne signifie pas qu'il ira deux fois plus vite mais cela apporte un gain de vitesse puisqu'il peut faire plusieurs tâches en même temps.

C'est une technologie très ancienne puisqu'Intel l'apporte autour de 2002 avec le Pentium 4.
Les Pentium 4 de l'époque ne comportaient qu'un seul cœur de processeur, de sorte qu'il ne pouvait vraiment effectuer qu'une seule tâche à la fois, même s'il était capable de basculer entre les tâches assez rapidement que cela ressemblait à du multitâche.
L'hyper-threading a tenté de compenser cela.

Ainsi de nos jours, un seul cœur de processeur physique avec hyper-threading apparaît comme deux processeurs logiques pour un système d'exploitation.
Le processeur est toujours un processeur unique, donc c'est un peu une triche. Alors que le système d'exploitation voit deux processeurs pour chaque cœur, le matériel du processeur réel ne dispose que d'un seul ensemble de ressources d'exécution pour chaque cœur.
Le processeur prétend avoir plus de cœurs qu'il n'en a et il utilise sa propre logique pour accélérer l'exécution du programme.
En d'autres termes, le système d'exploitation est amené à voir deux processeurs pour chaque cœur de processeur réel.

Ainsi le nombre de processeurs logiques est toujours le double de celui du nombre de coeur.
Le gestionnaire de tâches de Windows les affiche dans la partie performances.

Les coeurs et processeurs logiques : hyper-threading

L'équivalent chez AMD est : AMD SMT

Pourquoi faut-il se soucier de l'hyper-threading ?

On vient de le voir, l'hyper-threading apporte un gain de performances.
C'est donc une fonctionnalité importante.

Il y a une règle à suivre lorsque vous devez acheter un processeur.
Si vous devez choisir entre deux processeurs qui peuvent gérer le même nombre de threads, mais n’ont pas le même nombre de cœurs, optez pour le processeur qui a plus de cœurs physiques.
Plus un ordinateur a de processeurs ou de cœurs, plus il peut faire de choses à la fois, ce qui contribue à améliorer les performances de la plupart des tâches.

Si vous disposez d'un logiciel capable de générer suffisamment de threads pour utiliser également les threads hyper-threading, vous verrez un avantage significatif en optant pour le processeur avec hyperthreading. Simplement parce qu'aucune capacité de traitement n'est gaspillée et que le composant travaille presque à son plein potentiel autant de temps que possible.
Ainsi cela dépend donc de la manière dont les logiciels sont conçus.

  • Si vous effectuez un travail professionnel et lourd, l'hyperthreading est important
  • Si vous êtes un utilisateur grand public, ne vous inquiétez pas!
  • Si vous êtes un joueur, donnez la priorité à avoir plus de cœurs dans votre prochaine version par rapport à HT, mais obtenez HT en plus si le prix est correct.

Comment vérifier si l'hyper-threading est activé ?

Il vous suffit d'ouvrir le gestionnaire de tâches de Windows afin de vérifier le nombre de processeurs logiques.

Sinon le BIOS du PC vous permet d'activer ou désactiver l'hyper-threading.
En général, cela se trouve dans les options avancées (advanced).
Par exemple si dessus sur un BIOS MSI :

  • Accéder au BIOS du PC
  • Ouvrez les options avancées puis CPU
  • Cherchez l'hyper-threading pour l'activer ou le désactiver
  • Puis allez dans Save & exit pour enregistrer les modifications
Comment vérifier si l'hyper-threading est activé ?

Liens