
Cet articlene cite pas suffisamment ses sources().
Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant lesréférences utiles à savérifiabilité et en les liant à la section « Notes et références ».
En pratique :Quelles sources sont attendues ?Comment ajouter mes sources ?Pour les articles homonymes, voirHTT.

Hyper-threading (officiellement appeléeHyper-Threading Technology (HTT) ouHT Technology (HT)) est la mise en œuvre par l'entrepriseIntel dusimultaneous multithreading (SMT) à deux voies dans sesmicroprocesseurs. Le premier modèle grand public de la gamme à en bénéficier fut lePentium 4 Northwood cadencé à 3,06 GHz. LeXeon Northwood en bénéficia auparavant.
Schématiquement, l’hyper-threading consiste à créer deux processeurs logiques sur une seule puce, chacun doté de ses propresregistres de données et de contrôle, et d’un contrôleur d’interruptions particulier. Ces deux unités partagent les éléments du cœur deprocesseur, lecache et lebus système. Ainsi, deuxsous-processus peuvent être traités simultanément par le même processeur. Cette techniquemultitâche permet d’utiliser au mieux les ressources du processeur en garantissant que des données lui soient envoyées en masse. Elle permet aussi d’améliorer les performances en cas dedéfauts de cache (cache misses).
Les avantages de l’hyper-threading sont les suivants :
Selon Intel, la première mise en œuvre n’utilisait que 5 % de surface supplémentaire sur le support physique par rapport à un processeur normal. Cette approche offrait un gain en performance variant entre 15 et 30 % selon les applications. Intel affirme que ce gain va jusqu’à 30 % par rapport à unPentium 4 sans cette technologie[1].
Toutefois, les performances varient sensiblement selon les applications. Dans certains cas (peu fréquents), l’exécution s’avère même plus lente quand l’hyper-threading est activé. Cette perte est causée par lesystème de replay (en) présent dans lePentium 4 qui met en attente certaines instructions qui ne remplissent pas les conditions nécessaires à leur exécution. Il empêche l’hyper-threading d’exécuter d’autres tâches.
Les performances peuvent également être affectées par des effets liés à lamémoire cache. Par exemple avec un processeur comportant 512 ko de cache et des processus opérant sur 400 ko de données, on peut distinguer deux cas :
Les défauts de cache dégradent fortement les performances sur les systèmes modernes et cela peut affecter les gains obtenus avec l’hyper-threading de manière significative.
En, leprogrammeur[2]Colin Percival a publié un document nomméCache Missing for Fun and Profit[3] où il démontre comment unthread malveillant, lancé avec des privilèges limités, pourrait en théorie accéder à des informations provenant d’un autrethread. Ce genre d’attaques, nomméesattaques par canaux auxiliaires, permettent d’obtenir des informations secrètes comme desclés de chiffrement.
Technologies deprocesseur | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Modèles | |||||||||||||
| Architecture |
| ||||||||||||
| Instruction | |||||||||||||
| Types |
| ||||||||||||
| Microarchitecture | |||||||||||||
| Parallélisme |
| ||||||||||||
| Circuiterie et unité |
| ||||||||||||
| Cadencement | |||||||||||||
| Gestion de l'alimentation | |||||||||||||
| Fabrication | |||||||||||||
| Articles liés | |||||||||||||