Hyper-Threading
L’Hyper-Threading est une fonctionnalité de processeur qui permet à un seul cœur de processeur d’exécuter simultanément plusieurs threads de processus. Un CPU compatible avec l’Hyper-Threading divise chacun de ses cœurs de processeur physiques en deux cœurs virtuels, ce qui augmente l’efficacité d’un ordinateur en lui permettant d’exécuter des applications plus exigeantes. L’Hyper-Threading a été développé par Intel et utilisé dans bon nombre de ses processeurs ; AMD utilise une technologie similaire dans ses processeurs, appelée Simultaneous Multithreading.
Chaque cœur de processeur d’un CPU comprend un ensemble d’unités d’exécution qui effectuent chacune une fonction de calcul distincte, comme une multiplication ou une addition. Sans Hyper-Threading, chacune ne peut exécuter qu’un seul thread de processus à la fois et, selon les calculs nécessaires, bon nombre de ces unités d’exécution restent inutilisées. L’Hyper-Threading permet à deux threads distincts de s’exécuter ensemble en associant deux threads qui nécessitent des tâches de calcul différentes. L’exécution de threads en parallèle de cette manière n’est pas aussi rapide que l’utilisation de deux cœurs physiques, mais elle reste plus efficace que l’exécution d’un seul thread à la fois.
Même si l’Hyper-Threading peut aider un ordinateur à fonctionner plus efficacement, il nécessite la prise en charge du système d’exploitation de l’ordinateur et d’autres logiciels. Tout d’abord, le système d’exploitation attribue à chaque cœur de processeur physique deux adresses de cœur virtuel. Il attribue ensuite les threads de manière à répartir les calculs entre les cœurs virtuels et à maximiser l’efficacité.
Pour qu’un programme puisse tirer parti de l’Hyper-Threading, il doit être écrit de manière à répartir ses tâches en threads distincts pouvant s’exécuter simultanément. Si un programme ne possède qu’un seul thread de processus à la fois, il ne peut pas envoyer un deuxième thread à l’autre cœur virtuel. Cependant, même si un ordinateur exécute une application monothread, il peut exécuter en même temps des threads de processus provenant d’autres applications, ce qui aide l’ordinateur à fonctionner plus rapidement lorsqu’il effectue du multitâche.
NOTE: L’Hyper-Threading est plus complexe sur le plan technique et nécessite davantage d’énergie qu’un processeur équivalent sans Hyper-Threading. Intel réserve généralement l’Hyper-Threading à ses processeurs haut de gamme.
Testez vos connaissances