Comment fonctionne Hyper Threading dans les processeurs Intel Core i7?

Composants / Comment fonctionne Hyper Threading dans les processeurs Intel Core i7? 4 minutes de lecture

Vous avez entendu le terme Hyper-Threading de nombreuses fois. Il est censé être une technologie magique qui double la vitesse de votre processeur une fois activée. Les entreprises peuvent l'activer ou la désactiver et facturer beaucoup plus comme une prime.



Je voudrais dire que tout cela est complètement absurde et que cet article vise à vous apprendre à mieux comprendre ce qu'est l'Hyper-Threading. Cet article sera très convivial pour les débutants.

Préface

Dans les temps anciens, si Intel ou AMD devaient fabriquer un processeur plus rapide, ils augmentaient généralement le nombre potentiel de transistors en les rétrécissant et en les installant davantage dans le même espace et en essayant d'augmenter leurs fréquences (mesurées en MHz / GHz). Tous les processeurs n'avaient qu'un seul cœur. Les processeurs sont devenus 32 bits et pouvaient gérer jusqu'à 4 Go de RAM. Ils sont ensuite passés à des processeurs 64 bits capables de gérer des sauts et des limites de RAM de plus de 4 Go. Ensuite, il a été décidé d'utiliser plusieurs cœurs et de répartir les charges de travail sur ces multiples cœurs pour un calcul plus efficace. Tous les cœurs communiquent entre eux pour distribuer n'importe quelle tâche. Une telle tâche est considérée comme une tâche multi-thread.



Parties d'un processeur



Un processeur se compose des parties suivantes qui fonctionnent en harmonie. Comme mentionné ci-dessus, cela va être une simplification excessive. Ceci est simplement un cours intensif et ne prenez pas cette information comme la parole de l'Évangile. Ces pièces ne sont répertoriées dans aucun ordre particulier:



  • Scheduler (en fait au niveau du système d'exploitation)
  • Fetcher
  • Décodeur
  • Coeur
  • Fil
  • Cache
  • Contrôleur de mémoire et d'E / S
  • FPU (Unité à virgule flottante)
  • Registres

Les fonctions de ces pièces sont les suivantes

La mémoire et le contrôleur E / S gèrent l'entrée et la sortie des données vers et depuis la CPU. Les données sont transférées du disque dur ou du SSD vers la RAM, puis les données les plus importantes sont introduites dans le cache du CPU. Le cache a 3 niveaux. Pour par exemple. le Core i7 7700K possède une mémoire cache L3 de 8 Mo. Ce cache est partagé par l'ensemble du processeur à raison de 2 Mo par cœur. Les données d'ici sont récupérées par le cache L2 plus rapide. Chaque cœur possède son propre cache L2, soit 1 Mo au total et 256 Ko par cœur. Comme le cas du Core i7, il a Hyper-Threading. Chaque noyau a 2 threads, donc ce cache L2 est partagé par les deux threads. Le cache L1 au total est de 256 Ko à 32 Ko par thread. Ici, les données entrent alors dans les registres qui sont un total de 8 registres en mode 32 bits et 16 registres en mode 64 bits. Le système d'exploitation (système d'exploitation) planifie des processus ou des instructions sur le thread disponible. Comme il y a 8 threads dans un i7, il basculera vers et depuis les threads dans les cœurs. Les systèmes d'exploitation comme Windows ou Linux sont suffisamment intelligents pour savoir ce que sont les cœurs physiques et quels sont les cœurs logiques.

Comment fonctionne Hyper Threading?



Dans un processeur multicœur traditionnel, chaque cœur physique a ses propres ressources et chaque cœur se compose d'un seul thread qui a un accès indépendant à toutes les ressources. L'hyper-Threading implique 2 threads (ou dans de rares cas plus) partageant les mêmes ressources. Le planificateur peut basculer les tâches et les processus entre ces threads.

Dans un processeur multicœur traditionnel, le cœur peut «parquer» ou rester inactif si aucune donnée ou processus ne lui est attribué. Cet état est appelé famine et est correctement résolu par SMT ou Hyper-Threading.

Cœurs physiques vs logiques (et que sont les threads)

Si vous lisez la fiche technique de presque tous les Core i5, vous remarquerez qu'il a 4 cœurs physiques et 4 cœurs logiques ou 4 threads (les Coffee Lake i5 ont 6 cœurs et 6 threads). Tous les i7 jusqu'à 7700K sont 4 cœurs et 8 threads / cœurs logiques. Dans le contexte de l’architecture des processeurs Intel, les threads et les cœurs logiques sont la même chose. Ils n'ont pas changé la disposition de leur architecture depuis la 1ère génération de Nehalem jusqu'à aujourd'hui avec Coffee Lake, donc cette information tiendra. Ces informations ne seront pas suffisantes pour les anciens processeurs AMD, mais Ryzen a également changé une grande partie de leur disposition, et leurs processeurs sont maintenant similaires dans leur conception à ceux d'Intel.

Avantages de l'hyper threading

  • Hyper-Threading résout le problème de la «famine». Si un cœur ou un thread est libre, le planificateur peut lui transmettre les données au lieu de laisser le cœur inactif ou d'attendre que d'autres nouvelles données le traversent.
  • Des charges de travail beaucoup plus importantes et parallèles peuvent être effectuées avec une plus grande efficacité. Comme il y a plus de threads à paralléliser, les applications qui dépendent fortement de plusieurs threads peuvent améliorer considérablement leur travail (pas deux fois plus vite cependant).
  • Si vous jouez et avez une sorte de tâche importante en arrière-plan, le processeur n'aura pas de mal à fournir des images adéquates et à exécuter cette tâche en douceur car il peut basculer les ressources entre les threads.

Inconvénients de l'hyper threading

Ce qui suit ne présente pas beaucoup d'inconvénients, mais plutôt des inconvénients.

  • Hyper-Threading nécessite une implémentation à partir du niveau logiciel pour en tirer parti. Même si de plus en plus d'applications sont développées pour tirer parti de plusieurs threads, les applications qui ne profitent d'aucune technologie SMT (Simultaneous Multi-Threading) ou même de plusieurs cœurs physiques fonctionneront exactement de la même manière. Les performances de ces applications dépendent davantage de la vitesse d'horloge et de l'IPC d'un processeur.
  • L'hyper-threading peut amener le processeur à créer plus de chaleur. C'est pourquoi les i5 avaient l'habitude de cadencer beaucoup plus haut que les i7 car ils ne chauffaient pas autant qu'ils ont moins de threads.
  • Plusieurs threads partagent les mêmes ressources au sein d'un noyau. C'est pourquoi les performances ne doublent pas. C'est plutôt une méthode très intelligente pour maximiser l'efficacité et augmenter les performances là où cela est possible.

Conclusion

L'hyper-threading est une technologie ancienne, mais qui est là pour rester. Alors que les applications deviennent de plus en plus exigeantes et que le taux de mortalité de la loi de Moore augmente, la possibilité de paralléliser les charges de travail a contribué à améliorer considérablement les performances. Être capable d'exécuter des charges de travail partiellement parallèles vous permet d'augmenter votre productivité et d'accélérer votre travail sans bégayer. Et si vous cherchez à acheter la meilleure carte mère pour votre processeur i7 de 7e génération, jetez un œil à ce article.

#AperçuNomNVIDIA SLIAMD CrossFireVRM PhasesRVBachat
1 ASUS Formula 9 dix

Vérifiez le prix
2 MSI Arsenal Gaming Intel Z270 dix

Vérifiez le prix
3 MSI Performance Gaming Intel Z270 Onze

Vérifiez le prix
4 ASRock Gaming K6 Z270 10 + 2

Vérifiez le prix
5 Jeu GIGABYTE AORUS GA-Z270X 8 Onze

Vérifiez le prix
#1
Aperçu
NomASUS Formula 9
NVIDIA SLI
AMD CrossFire
VRM Phasesdix
RVB
achat

Vérifiez le prix
#2
Aperçu
NomMSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM Phasesdix
RVB
achat

Vérifiez le prix
#3
Aperçu
NomMSI Performance Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM PhasesOnze
RVB
achat

Vérifiez le prix
#4
Aperçu
NomASRock Gaming K6 Z270
NVIDIA SLI
AMD CrossFire
VRM Phases10 + 2
RVB
achat

Vérifiez le prix
#5
Aperçu
NomJeu GIGABYTE AORUS GA-Z270X 8
NVIDIA SLI
AMD CrossFire
VRM PhasesOnze
RVB
achat

Vérifiez le prix

Dernière mise à jour le 2021-01-05 à 22:02 / Liens d'affiliation / Images de l'API Amazon Product Advertising